{
  "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# Settings API\nAccount self-management for a managing entity: profile, managers, webhooks, applications,\nsocial networks, online presence, customization, and entity administration.\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" : "Customization",
    "description" : "Manage configuration templates you can assign to our Web Components such as look-and-feel, integrations with 3rd parties and more.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#settings/tag/customization"
    }
  }, {
    "name" : "Revolut",
    "description" : "Manage Revolut payout destinations for a managing entity.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#settings/tag/revolut"
    }
  }, {
    "name" : "Managing Entity",
    "description" : "Manage the top-level business entities (companies, hotels, applications, agencies, etc.) that own properties, handle payments, and control team access through managers."
  }, {
    "name" : "Bank Account",
    "description" : "Manage bank accounts for payout on a managing entity.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#settings/tag/bank-account"
    }
  }, {
    "name" : "Assets",
    "description" : "Manage the brand imagery for a managing entity — logo and profile picture.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#settings/tag/assets"
    }
  }, {
    "name" : "Agency",
    "description" : "Designate another platform entity as the managing agency for your account to entitle it to a commission.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#settings/tag/agency"
    }
  }, {
    "name" : "Manager",
    "description" : "Invite and manage users who co-manage your account.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#settings/tag/manager"
    }
  }, {
    "name" : "Managing Entity",
    "description" : "Managing entities are the parent entities of property, affiliate and payment accounts.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#settings/tag/managing-entity"
    }
  }, {
    "name" : "Notification",
    "description" : "The Notifications API is a way for us to stay in touch with your user, property or affiliate account.",
    "externalDocs" : {
      "description" : "Try it in Scalar",
      "url" : "https://api.wink.travel/scalar#settings/tag/notification"
    }
  } ],
  "paths" : {
    "/api/managing-entity/{managingEntityIdentifier}/customization/{customizationIdentifier}" : {
      "get" : {
        "tags" : [ "Customization" ],
        "summary" : "Show",
        "description" : "Loads a single customization template by its identifier.",
        "operationId" : "show-application-configuration",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "The managing entity that owns this customization",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "customizationIdentifier",
          "in" : "path",
          "description" : "The customization template identifier 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 customization template matching the given identifier",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CustomizationLightweight_ManagingEntity"
                },
                "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"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "Customization" ],
        "summary" : "Update",
        "description" : "Replaces the stored customization template identified by its identifier with the supplied values.",
        "operationId" : "update-customization",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "The managing entity that owns this customization",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "customizationIdentifier",
          "in" : "path",
          "description" : "The customization template identifier 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 customization template definition including look-and-feel settings, third-party integration keys and booking engine configuration options",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertCustomizationRequest_ManagingEntity"
              }
            }
          },
          "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" : "Customization template successfully updated",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CustomizationLightweight_ManagingEntity"
                },
                "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"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Customization" ],
        "summary" : "Delete",
        "description" : "Removes the customization template identified by its identifier from the managing entity.",
        "operationId" : "remove-customization",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "The managing entity that owns this customization",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "customizationIdentifier",
          "in" : "path",
          "description" : "The customization template identifier 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" : "Customization template successfully deleted; returns the removed record",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CustomizationLightweight_ManagingEntity"
                },
                "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"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/customization" : {
      "get" : {
        "tags" : [ "Customization" ],
        "summary" : "Show primary",
        "description" : "Loads the managing entity's default customization template, failing when none is designated primary.",
        "operationId" : "show-primary-application-configuration",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Retrieve the primary customization for this 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" : "The primary customization template for the managing entity",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CustomizationLightweight_ManagingEntity"
                },
                "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"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "post" : {
        "tags" : [ "Customization" ],
        "summary" : "Create",
        "description" : "Persists a new customization template for the managing entity and returns the created record.",
        "operationId" : "create-customization",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "The managing entity for which to create a customization",
          "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" : "Customization template definition including look-and-feel settings, third-party integration keys and booking engine configuration options",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertCustomizationRequest_ManagingEntity"
              }
            }
          },
          "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" : "Customization template successfully created",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CustomizationLightweight_ManagingEntity"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}" : {
      "get" : {
        "tags" : [ "Managing Entity" ],
        "summary" : "Show",
        "description" : "Retrieve a single managing entity by its identifier. Requires read access to that entity.",
        "operationId" : "show-managing-entity",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "UUID of the managing entity to retrieve.",
          "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" : "The managing entity matching the given identifier.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ManagingEntityLightweight_Authenticated_Entity"
                },
                "example" : {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "currencyCode" : "THB",
                  "id" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences, Bangkok",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "ownerType" : "COMPANY",
                  "status" : "ACTIVE",
                  "type" : "HOTEL",
                  "uniqueId" : "siam-residences-bkk",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Managing Entity" ],
        "summary" : "Delete Managing Entity",
        "description" : "Delete a managing entity by identifier",
        "operationId" : "remove-managing-entity",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "UUID of the managing entity to delete.",
          "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" : "The managing entity that was deleted.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ManagingEntityLightweight_Authenticated_Entity"
                },
                "example" : {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "currencyCode" : "THB",
                  "id" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences, Bangkok",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "ownerType" : "COMPANY",
                  "status" : "ACTIVE",
                  "type" : "HOTEL",
                  "uniqueId" : "siam-residences-bkk",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/message/{messageIdentifier}" : {
      "get" : {
        "tags" : [ "Notification" ],
        "summary" : "Show one for account",
        "description" : "Retrieve a single notification belonging to the given managing entity by its identifier.",
        "operationId" : "show-notification",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Managing entity identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "messageIdentifier",
          "in" : "path",
          "description" : "Message identifier to be retrieved",
          "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" : "Notification retrieved successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/NotificationLightweight_Authenticated_Entity"
                },
                "example" : {
                  "body" : "Your booking at The Siam Residences for January 14-16, 2026 has been confirmed.",
                  "createdDate" : "2026-01-14T09:30:00",
                  "ctaUrl" : "https://app.wink.travel/bookings/WNK4ZQ7P",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "managingEntityIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "markedAsRemoved" : false,
                  "messageTemplateId" : "welcome-email-2024",
                  "name" : "The Siam Residences, Bangkok",
                  "notifyViaEmail" : false,
                  "priority" : "MEDIUM",
                  "read" : false,
                  "recipientType" : "ACCOUNT",
                  "subject" : "Your Booking Confirmation",
                  "type" : "MESSAGE",
                  "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Notification" ],
        "summary" : "Delete for account",
        "description" : "Permanently remove a notification belonging to the given managing entity by its identifier.",
        "operationId" : "remove-notification",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Managing entity identifier",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "messageIdentifier",
          "in" : "path",
          "description" : "Message identifier to be removed",
          "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" : "Notification deleted successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/NotificationLightweight_Authenticated_Entity"
                },
                "example" : {
                  "body" : "Your booking at The Siam Residences for January 14-16, 2026 has been confirmed.",
                  "createdDate" : "2026-01-14T09:30:00",
                  "ctaUrl" : "https://app.wink.travel/bookings/WNK4ZQ7P",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "managingEntityIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "markedAsRemoved" : false,
                  "messageTemplateId" : "welcome-email-2024",
                  "name" : "The Siam Residences, Bangkok",
                  "notifyViaEmail" : false,
                  "priority" : "MEDIUM",
                  "read" : false,
                  "recipientType" : "ACCOUNT",
                  "subject" : "Your Booking Confirmation",
                  "type" : "MESSAGE",
                  "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
                  "version" : 3
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/message/list" : {
      "get" : {
        "tags" : [ "Notification" ],
        "summary" : "Show for account",
        "description" : "List the notifications addressed to a given managing entity, newest first.",
        "operationId" : "show-notifications",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Show all messages for this 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" : "Notifications retrieved successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/NotificationLightweight_Authenticated_Entity"
                  }
                },
                "example" : [ {
                  "body" : "Your booking at The Siam Residences for January 14-16, 2026 has been confirmed.",
                  "createdDate" : "2026-01-14T09:30:00",
                  "ctaUrl" : "https://app.wink.travel/bookings/WNK4ZQ7P",
                  "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
                  "lastUpdate" : "2026-02-03T16:45:12",
                  "managingEntityIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "markedAsRemoved" : false,
                  "messageTemplateId" : "welcome-email-2024",
                  "name" : "The Siam Residences, Bangkok",
                  "notifyViaEmail" : false,
                  "priority" : "MEDIUM",
                  "read" : false,
                  "recipientType" : "ACCOUNT",
                  "subject" : "Your Booking Confirmation",
                  "type" : "MESSAGE",
                  "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
                  "version" : 3
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/message/count" : {
      "get" : {
        "tags" : [ "Notification" ],
        "summary" : "Unread count for account",
        "description" : "Return how many of the given managing entity's notifications are unread.",
        "operationId" : "show-unread-message-count",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "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" : "Unread count retrieved successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CountResponse_Authenticated_Entity"
                },
                "example" : {
                  "count" : 1543,
                  "success" : true
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/customization/list" : {
      "get" : {
        "tags" : [ "Customization" ],
        "summary" : "List",
        "description" : "Returns every customization template owned by the given managing entity.",
        "operationId" : "show-application-configurations-by-owner",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "Retrieve customizations owned by this 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 customization templates owned by the managing entity",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/CustomizationLightweight_ManagingEntity"
                  }
                },
                "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"
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/name" : {
      "get" : {
        "tags" : [ "Managing Entity" ],
        "summary" : "Name check",
        "description" : "Verifies that the name is unique.",
        "operationId" : "is-name-unique",
        "parameters" : [ {
          "name" : "geoNameId",
          "in" : "query",
          "description" : "GeoNames ID of the city to scope the uniqueness check to.",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "example" : 1609350
        }, {
          "name" : "name",
          "in" : "query",
          "description" : "Managing entity name to check for uniqueness.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "The Siam Residences"
        }, {
          "name" : "managingEntityIdentifier",
          "in" : "query",
          "description" : "UUID of an existing managing entity to exclude from the uniqueness check (so the entity can keep its own name).",
          "required" : false,
          "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" : "Result indicating whether the name is unique within the given city context.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UniqueResult_Authenticated_Entity"
                },
                "example" : {
                  "unique" : true
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/list" : {
      "get" : {
        "tags" : [ "Managing Entity" ],
        "summary" : "List",
        "description" : "List every managing entity you own, optionally narrowed to a single entity type via the `type` query parameter.",
        "operationId" : "show-accessible-managing-entities",
        "parameters" : [ {
          "name" : "type",
          "in" : "query",
          "description" : "Filter on managing entities of a specific type",
          "required" : false,
          "schema" : {
            "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" ]
          }
        }, {
          "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 managing entities owned by the authenticated user, optionally filtered by type.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ManagingEntityLightweight_Authenticated_Entity"
                  }
                },
                "example" : [ {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "currencyCode" : "THB",
                  "id" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences, Bangkok",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "ownerType" : "COMPANY",
                  "status" : "ACTIVE",
                  "type" : "HOTEL",
                  "uniqueId" : "siam-residences-bkk",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/list/all" : {
      "get" : {
        "tags" : [ "Managing Entity" ],
        "summary" : "Show all",
        "description" : "List every managing entity the authenticated user is associated with, across all roles (owner, manager, etc.), unfiltered.",
        "operationId" : "show-managing-entities",
        "parameters" : [ {
          "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 managing entities the authenticated user is associated with.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ManagingEntityLightweight_Authenticated_Entity"
                  }
                },
                "example" : [ {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "currencyCode" : "THB",
                  "id" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences, Bangkok",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "ownerType" : "COMPANY",
                  "status" : "ACTIVE",
                  "type" : "HOTEL",
                  "uniqueId" : "siam-residences-bkk",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/manager/invite/{managingEntityIdentifier}/accept" : {
      "get" : {
        "tags" : [ "Manager" ],
        "summary" : "Accept Invite",
        "description" : "Accepts the invite to manager a property or account.",
        "operationId" : "accept-manager-invite",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "UUID of the managing entity for which to accept the manager invitation.",
          "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" : "Managing entity the user has now joined as a manager.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ManagingEntityLightweight_Supplier"
                },
                "example" : {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "currencyCode" : "THB",
                  "id" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences, Bangkok",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "ownerType" : "COMPANY",
                  "status" : "ACTIVE",
                  "type" : "HOTEL",
                  "uniqueId" : "siam-residences-bkk",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/manager/invite/list" : {
      "get" : {
        "tags" : [ "Manager" ],
        "summary" : "My invites",
        "description" : "List the pending manager invitations addressed to the authenticated user across all accounts.",
        "operationId" : "show-manager-invite-list",
        "parameters" : [ {
          "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 manager invitations for the authenticated user.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ManagerInvite_ManagingEntity"
                  }
                },
                "example" : [ {
                  "id" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "imageIdentifier" : "https://res.cloudinary.com/wink/image/upload/v1/property/the-siam-residences.jpg",
                  "name" : "The Siam Residences"
                } ]
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity" : {
      "post" : {
        "tags" : [ "Managing Entity" ],
        "summary" : "Register",
        "description" : "Registers a new managing entity (property group, affiliate account, or payment facilitator) for the authenticated user, capturing complete onboarding details. The caller's IP address is recorded for audit purposes.",
        "operationId" : "register-managing-entity",
        "parameters" : [ {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Complete onboarding details for the new managing entity including company name, address, contact information, and account type",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CreateManagingEntityRequest_ManagingEntity"
              }
            }
          },
          "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" : "Managing entity successfully created and returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ManagingEntityLightweight_ManagingEntity"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/revolut-payout-account" : {
      "post" : {
        "tags" : [ "Revolut" ],
        "summary" : "Add Revolut payout",
        "description" : "Add a Revolut revtag payout destination to an existing managing entity. The Revolut counterparty is created eagerly; if the revtag/name is invalid, the request fails.",
        "operationId" : "add-revolut-payout-account",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "UUID of the managing entity to add the Revolut payout destination to.",
          "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" : "Revolut payout destination details including the revtag and account holder name used to create the Revolut counterparty",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertRevolutPayoutAccountRequest_ManagingEntity"
              }
            }
          },
          "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" : "Managing entity with the new Revolut payout destination added.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ManagingEntityLightweight_ManagingEntity"
                },
                "example" : {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "currencyCode" : "THB",
                  "id" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences, Bangkok",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "ownerType" : "COMPANY",
                  "status" : "ACTIVE",
                  "type" : "HOTEL",
                  "uniqueId" : "siam-residences-bkk",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/bank-account" : {
      "post" : {
        "tags" : [ "Bank Account" ],
        "summary" : "Add bank account",
        "description" : "Add a bank account to an existing managing entity.",
        "operationId" : "add-bank-account",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "UUID of the managing entity to add the bank account to.",
          "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" : "Bank account details including account holder name, IBAN and currency for payout",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertBankAccountRequest_ManagingEntity"
              }
            }
          },
          "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" : "Managing entity with the new bank account added.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ManagingEntityLightweight_ManagingEntity"
                },
                "example" : {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "currencyCode" : "THB",
                  "id" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences, Bangkok",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "ownerType" : "COMPANY",
                  "status" : "ACTIVE",
                  "type" : "HOTEL",
                  "uniqueId" : "siam-residences-bkk",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/winklinks" : {
      "post" : {
        "tags" : [ "Managing Entity" ],
        "summary" : "Register (minimal)",
        "description" : "Registers a new managing entity from the minimal WinkLinks onboarding payload, which requires only the information collected during the Wink Links invitation flow. Use this endpoint for simplified, accelerated onboarding. The caller's IP address is recorded for audit purposes.",
        "operationId" : "register-managing-entity-from-wink-links",
        "parameters" : [ {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Minimal WinkLinks onboarding payload with only the fields collected during the Wink Links invitation flow",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CreateManagingEntityFromWinkLinksRequest_ManagingEntity"
              }
            }
          },
          "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" : "Managing entity successfully created and returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ManagingEntityLightweight_ManagingEntity"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity-url-name-check" : {
      "post" : {
        "tags" : [ "Managing Entity" ],
        "summary" : "Verify URL name",
        "description" : "Check whether a URL slug (url-name) is available before assigning it to a managing entity. Pass an identifier to exclude the entity that already owns the slug.",
        "operationId" : "is-url-name-unique",
        "parameters" : [ {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "URL slug to check for availability, optionally excluding the entity that currently owns it",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UniqueRequest_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" : "Result indicating whether the URL slug is unique.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UniqueResult_Authenticated_Entity"
                },
                "example" : {
                  "unique" : true
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity-unique-id-check" : {
      "post" : {
        "tags" : [ "Managing Entity" ],
        "summary" : "Verify unique ID",
        "description" : "Check whether a human-friendly unique ID is available (unique) for a managing entity. Pass an identifier to exclude the current owner of that ID.",
        "operationId" : "is-unique-id-unique",
        "parameters" : [ {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Unique ID to check for availability, optionally excluding the entity that currently owns it",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UniqueRequest_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" : "Result indicating whether the unique ID is available.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UniqueResult_Authenticated_Entity"
                },
                "example" : {
                  "unique" : true
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity-name-check" : {
      "post" : {
        "tags" : [ "Managing Entity" ],
        "summary" : "Verify name",
        "description" : "Check whether a managing-entity display name is available (unique). Optionally exclude an existing entity by identifier so it can keep its own name.",
        "operationId" : "is-managing-entity-name-unique",
        "parameters" : [ {
          "name" : "Wink-Version",
          "in" : "header",
          "schema" : {
            "type" : "string",
            "default" : "2.0.0",
            "enum" : [ "2.0" ]
          }
        } ],
        "requestBody" : {
          "description" : "Name to check for uniqueness, optionally scoped to an existing entity identifier",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UniqueRequest_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" : "Result indicating whether the display name is unique.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UniqueResult_Authenticated_Entity"
                },
                "example" : {
                  "unique" : true
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/revolut-payout-account/{revolutPayoutAccountIdentifier}" : {
      "put" : {
        "tags" : [ "Revolut" ],
        "summary" : "Update Revolut payout",
        "description" : "Update an existing Revolut revtag payout destination. Re-creates the Revolut counterparty eagerly to validate the new revtag/name. Supports optimistic concurrency via the If-Match header; a stale version is rejected with 409.",
        "operationId" : "upsert-revolut-payout-account",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "UUID of the managing entity whose Revolut payout destination to update.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "revolutPayoutAccountIdentifier",
          "in" : "path",
          "description" : "UUID of the Revolut payout destination to update.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The managing entity'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 Revolut payout destination details including the revtag and account holder name",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertRevolutPayoutAccountRequest_ManagingEntity"
              }
            }
          },
          "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" : "Managing entity with the Revolut payout destination updated.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ManagingEntityLightweight_ManagingEntity"
                },
                "example" : {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "currencyCode" : "THB",
                  "id" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences, Bangkok",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "ownerType" : "COMPANY",
                  "status" : "ACTIVE",
                  "type" : "HOTEL",
                  "uniqueId" : "siam-residences-bkk",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Revolut" ],
        "summary" : "Remove Revolut payout",
        "description" : "Remove an existing Revolut revtag payout destination from a managing entity.",
        "operationId" : "remove-revolut-payout-account",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "UUID of the managing entity from which to remove the Revolut payout destination.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "revolutPayoutAccountIdentifier",
          "in" : "path",
          "description" : "UUID of the Revolut payout destination to remove.",
          "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" : "Managing entity with the specified Revolut payout destination removed.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ManagingEntityLightweight_ManagingEntity"
                },
                "example" : {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "currencyCode" : "THB",
                  "id" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences, Bangkok",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "ownerType" : "COMPANY",
                  "status" : "ACTIVE",
                  "type" : "HOTEL",
                  "uniqueId" : "siam-residences-bkk",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/bank-account/{bankAccountIdentifier}" : {
      "put" : {
        "tags" : [ "Bank Account" ],
        "summary" : "Update bank account",
        "description" : "Update an existing bank account for a managing entity. Supports optimistic concurrency via the If-Match header; a stale version is rejected with 409.",
        "operationId" : "upsert-bank-account",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "UUID of the managing entity whose bank account to update.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "bankAccountIdentifier",
          "in" : "path",
          "description" : "UUID of the bank account to update.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The managing entity'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 bank account details including account holder name, IBAN and currency for payout",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertBankAccountRequest_ManagingEntity"
              }
            }
          },
          "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" : "Managing entity with the bank account updated.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ManagingEntityLightweight_ManagingEntity"
                },
                "example" : {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "currencyCode" : "THB",
                  "id" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences, Bangkok",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "ownerType" : "COMPANY",
                  "status" : "ACTIVE",
                  "type" : "HOTEL",
                  "uniqueId" : "siam-residences-bkk",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "Bank Account" ],
        "summary" : "Remove bank account",
        "description" : "Remove an existing bank account from a managing entity.",
        "operationId" : "remove-bank-account",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "UUID of the managing entity from which to remove the bank account.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "bankAccountIdentifier",
          "in" : "path",
          "description" : "UUID of the bank account to remove.",
          "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" : "Managing entity with the specified bank account removed.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ManagingEntityLightweight_ManagingEntity"
                },
                "example" : {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "currencyCode" : "THB",
                  "id" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences, Bangkok",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "ownerType" : "COMPANY",
                  "status" : "ACTIVE",
                  "type" : "HOTEL",
                  "uniqueId" : "siam-residences-bkk",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/url-name" : {
      "patch" : {
        "tags" : [ "Managing Entity" ],
        "summary" : "Update Url slug",
        "description" : "Updates managing entity url slug. Supports optimistic concurrency via the If-Match header; a stale version is rejected with 409.",
        "operationId" : "update-url-name",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "UUID of the managing entity whose URL slug to update.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The managing entity'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" : "New URL slug for the managing entity",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ChangeUrlNameRequest_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" : "Managing entity updated with the new URL slug.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ManagingEntityLightweight_Authenticated_Entity"
                },
                "example" : {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "currencyCode" : "THB",
                  "id" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences, Bangkok",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "ownerType" : "COMPANY",
                  "status" : "ACTIVE",
                  "type" : "HOTEL",
                  "uniqueId" : "siam-residences-bkk",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/unique-id" : {
      "patch" : {
        "tags" : [ "Managing Entity" ],
        "summary" : "Update Unique ID",
        "description" : "Updates managing entity unique ID. Supports optimistic concurrency via the If-Match header; a stale version is rejected with 409.",
        "operationId" : "update-unique-id",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "UUID of the managing entity whose unique ID to update.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The managing entity'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" : "New unique ID to assign to the managing entity",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ChangeUniqueIdRequest_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" : "Managing entity updated with the new unique ID.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ManagingEntityLightweight_Authenticated_Entity"
                },
                "example" : {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "currencyCode" : "THB",
                  "id" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences, Bangkok",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "ownerType" : "COMPANY",
                  "status" : "ACTIVE",
                  "type" : "HOTEL",
                  "uniqueId" : "siam-residences-bkk",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/status" : {
      "patch" : {
        "tags" : [ "Managing Entity" ],
        "summary" : "Status",
        "description" : "Update the managing entity's lifecycle status (e.g. activate, deactivate, suspend). Returns the updated entity.",
        "operationId" : "update-managing-entity-status",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "UUID of the managing entity whose status is being updated.",
          "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" : "New lifecycle status to apply to the managing entity",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpdateManagingEntityStatusRequest_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" : "Managing entity updated with the new lifecycle status.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ManagingEntityLightweight_Authenticated_Entity"
                },
                "example" : {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "currencyCode" : "THB",
                  "id" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences, Bangkok",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "ownerType" : "COMPANY",
                  "status" : "ACTIVE",
                  "type" : "HOTEL",
                  "uniqueId" : "siam-residences-bkk",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/profile" : {
      "patch" : {
        "tags" : [ "Managing Entity" ],
        "summary" : "Update info",
        "description" : "Update the managing entity's display name and description. Returns the updated entity once the change is applied. Supports optimistic concurrency via the If-Match header; a stale version is rejected with 409.",
        "operationId" : "update-profile",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "UUID of the managing entity to update.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The managing entity'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 display name and description for the managing entity",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpdateManagingEntityInformationRequest_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" : "Managing entity updated with new display name and description.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ManagingEntityLightweight_Authenticated_Entity"
                },
                "example" : {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "currencyCode" : "THB",
                  "id" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences, Bangkok",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "ownerType" : "COMPANY",
                  "status" : "ACTIVE",
                  "type" : "HOTEL",
                  "uniqueId" : "siam-residences-bkk",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/profile-picture" : {
      "delete" : {
        "tags" : [ "Assets" ],
        "summary" : "Remove Profile Picture",
        "description" : "Removes the profile picture from a managing entity and deletes the asset from Cloudinary.",
        "operationId" : "remove-profile-picture",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "UUID of the managing entity from which to remove the profile picture.",
          "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" ]
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Managing entity with the profile picture removed.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ManagingEntityLightweight_Authenticated_Entity"
                },
                "example" : {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "currencyCode" : "THB",
                  "id" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences, Bangkok",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "ownerType" : "COMPANY",
                  "status" : "ACTIVE",
                  "type" : "HOTEL",
                  "uniqueId" : "siam-residences-bkk",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Assets" ],
        "summary" : "Update Profile Picture",
        "description" : "Updates managing entity profile picture. Supports optimistic concurrency via the If-Match header; a stale version is rejected with 409.",
        "operationId" : "update-profile-picture",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "UUID of the managing entity whose profile picture to update.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The managing entity'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" : "Image details including the Cloudinary public ID, format, dimensions and alt text for the profile picture",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertImageRequest_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" : "Managing entity updated with the new profile picture.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ManagingEntityLightweight_Authenticated_Entity"
                },
                "example" : {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "currencyCode" : "THB",
                  "id" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences, Bangkok",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "ownerType" : "COMPANY",
                  "status" : "ACTIVE",
                  "type" : "HOTEL",
                  "uniqueId" : "siam-residences-bkk",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/online-presence" : {
      "patch" : {
        "tags" : [ "Managing Entity" ],
        "summary" : "Online presence",
        "description" : "Updates affiliate account online presence. Supports optimistic concurrency via the If-Match header; a stale version is rejected with 409.",
        "operationId" : "update-company-online-presence",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "UUID of the managing entity whose online presence to update.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The managing entity'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 social media and website links for the managing entity",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpdateOnlinePresenceRequest_ManagingEntity"
              }
            }
          },
          "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" : "Managing entity updated with the new online presence links.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ManagingEntityLightweight_ManagingEntity"
                },
                "example" : {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "currencyCode" : "THB",
                  "id" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences, Bangkok",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "ownerType" : "COMPANY",
                  "status" : "ACTIVE",
                  "type" : "HOTEL",
                  "uniqueId" : "siam-residences-bkk",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/manager/{managerUserIdentifier}/grants" : {
      "patch" : {
        "tags" : [ "Manager" ],
        "summary" : "Update access",
        "description" : "Replace an existing manager's per-section grants to widen or narrow their access. The account owner is exempt — change that via ownership transfer. Supports optimistic concurrency via the If-Match header; a stale version is rejected with 409.",
        "operationId" : "update-manager-grants",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "UUID of the managing entity whose manager's grants to update.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "managerUserIdentifier",
          "in" : "path",
          "description" : "UUID of the manager whose access grants to replace.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The managing entity'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 set of per-section access grants that will fully replace the manager's existing grants",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpdateManagerGrantsRequest_ManagingEntity"
              }
            }
          },
          "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" : "Managing entity with the manager's access grants updated.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ManagingEntityLightweight_ManagingEntity"
                },
                "example" : {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "currencyCode" : "THB",
                  "id" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences, Bangkok",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "ownerType" : "COMPANY",
                  "status" : "ACTIVE",
                  "type" : "HOTEL",
                  "uniqueId" : "siam-residences-bkk",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/manager/invite" : {
      "patch" : {
        "tags" : [ "Manager" ],
        "summary" : "Invite",
        "description" : "Send a user an invitation to co-manage this account.",
        "operationId" : "invite-manager",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "UUID of the managing entity to invite the user to co-manage.",
          "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" : "Manager invitation details including the email address of the user to invite and the per-section access grants to assign",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/InviteManagerRequest_ManagingEntity"
              }
            }
          },
          "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" : "Managing entity with the pending manager invitation added.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ManagingEntityLightweight_ManagingEntity"
                },
                "example" : {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "currencyCode" : "THB",
                  "id" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences, Bangkok",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "ownerType" : "COMPANY",
                  "status" : "ACTIVE",
                  "type" : "HOTEL",
                  "uniqueId" : "siam-residences-bkk",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/manager/agency" : {
      "delete" : {
        "tags" : [ "Agency" ],
        "summary" : "Remove agency",
        "description" : "Clear the managing agency from this account, ending its commission entitlement.",
        "operationId" : "remove-manager-agency",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "UUID of the managing entity from which to remove the managing agency.",
          "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" : "Managing entity with the managing agency removed.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ManagingEntityLightweight_ManagingEntity"
                },
                "example" : {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "currencyCode" : "THB",
                  "id" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences, Bangkok",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "ownerType" : "COMPANY",
                  "status" : "ACTIVE",
                  "type" : "HOTEL",
                  "uniqueId" : "siam-residences-bkk",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Agency" ],
        "summary" : "Set agency",
        "description" : "Designate another platform entity as the managing agency for this account. This grants no access to the account but entitles the agency to a commission. Supports optimistic concurrency via the If-Match header; a stale version is rejected with 409.",
        "operationId" : "update-manager-agency",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "UUID of the managing entity to assign an agency to.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The managing entity'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" : "Agency designation details including the identifier of the managing entity to assign as the managing agency",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpdateManagedByAgencyRequest_ManagingEntity"
              }
            }
          },
          "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" : "Managing entity updated with the new managing agency.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ManagingEntityLightweight_ManagingEntity"
                },
                "example" : {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "currencyCode" : "THB",
                  "id" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences, Bangkok",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "ownerType" : "COMPANY",
                  "status" : "ACTIVE",
                  "type" : "HOTEL",
                  "uniqueId" : "siam-residences-bkk",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/logo" : {
      "delete" : {
        "tags" : [ "Assets" ],
        "summary" : "Remove Logo",
        "description" : "Removes the logo from a managing entity and deletes the asset from Cloudinary.",
        "operationId" : "remove-logo",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "UUID of the managing entity from which to remove the logo.",
          "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" ]
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request — missing or invalid request parameter or body",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized — authentication is required or the session has expired",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden — authenticated but lacking the required permission or scope",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found — the requested resource does not exist",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "405" : {
            "description" : "Method Not Allowed — the HTTP verb is not supported on this endpoint",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "415" : {
            "description" : "Unsupported Media Type — use application/json",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error — an unexpected failure occurred on the server",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable — a downstream dependency is unreachable",
            "content" : {
              "application/problem+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProblemDetail"
                }
              }
            }
          },
          "200" : {
            "description" : "Managing entity with the logo removed.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ManagingEntityLightweight_Authenticated_Entity"
                },
                "example" : {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "currencyCode" : "THB",
                  "id" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences, Bangkok",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "ownerType" : "COMPANY",
                  "status" : "ACTIVE",
                  "type" : "HOTEL",
                  "uniqueId" : "siam-residences-bkk",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "Assets" ],
        "summary" : "Update Logo",
        "description" : "Updates managing entity logo. Supports optimistic concurrency via the If-Match header; a stale version is rejected with 409.",
        "operationId" : "update-logo",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "UUID of the managing entity whose logo to update.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The managing entity'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" : "Image details including the Cloudinary public ID, format, dimensions and alt text for the logo",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpsertImageRequest_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" : "Managing entity updated with the new logo.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ManagingEntityLightweight_Authenticated_Entity"
                },
                "example" : {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "currencyCode" : "THB",
                  "id" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences, Bangkok",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "ownerType" : "COMPANY",
                  "status" : "ACTIVE",
                  "type" : "HOTEL",
                  "uniqueId" : "siam-residences-bkk",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/address" : {
      "patch" : {
        "tags" : [ "Managing Entity" ],
        "summary" : "Update Address",
        "description" : "Updates managing entity address. Supports optimistic concurrency via the If-Match header; a stale version is rejected with 409.",
        "operationId" : "update-managing-entity-address",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "UUID of the managing entity whose address to update.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The managing entity'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" : "New address to associate with the managing entity",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SimpleAddress_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" : "Managing entity updated with the new address.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ManagingEntityLightweight_Authenticated_Entity"
                },
                "example" : {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "currencyCode" : "THB",
                  "id" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences, Bangkok",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "ownerType" : "COMPANY",
                  "status" : "ACTIVE",
                  "type" : "HOTEL",
                  "uniqueId" : "siam-residences-bkk",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/owner" : {
      "patch" : {
        "tags" : [ "Managing Entity" ],
        "summary" : "Set Owner",
        "description" : "Updates entity owner. Supports optimistic concurrency via the If-Match header; a stale version is rejected with 409.",
        "operationId" : "update-managing-entity-owner",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "UUID of the managing entity whose owner to update.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The managing entity'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" : "New owner user identifier for the managing entity",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpdateManagingEntityOwnerRequest_ManagingEntity"
              }
            }
          },
          "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" : "Managing entity updated with the new owner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ManagingEntityLightweight_ManagingEntity"
                },
                "example" : {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "currencyCode" : "THB",
                  "id" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences, Bangkok",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "ownerType" : "COMPANY",
                  "status" : "ACTIVE",
                  "type" : "HOTEL",
                  "uniqueId" : "siam-residences-bkk",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/fix/city" : {
      "patch" : {
        "tags" : [ "Managing Entity" ],
        "summary" : "Add City",
        "description" : "Add city record profile.",
        "operationId" : "fix-city",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "UUID of the managing entity whose city 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" : "GeoName city to associate with the managing entity",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SetCityRequest_ManagingEntity"
              }
            }
          },
          "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" : "Managing entity updated with the new city.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ManagingEntityLightweight_ManagingEntity"
                },
                "example" : {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "currencyCode" : "THB",
                  "id" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences, Bangkok",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "ownerType" : "COMPANY",
                  "status" : "ACTIVE",
                  "type" : "HOTEL",
                  "uniqueId" : "siam-residences-bkk",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/change-name" : {
      "patch" : {
        "tags" : [ "Managing Entity" ],
        "summary" : "Change Name",
        "description" : "Gives owners a way to change the name of their account. Supports optimistic concurrency via the If-Match header; a stale version is rejected with 409.",
        "operationId" : "change-name",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "UUID of the managing entity whose name to change.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The managing entity'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" : "New name for the managing entity",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ChangeManagingEntityNameRequest_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" : "Managing entity updated with the new name.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ManagingEntityLightweight_Authenticated_Entity"
                },
                "example" : {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "currencyCode" : "THB",
                  "id" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences, Bangkok",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "ownerType" : "COMPANY",
                  "status" : "ACTIVE",
                  "type" : "HOTEL",
                  "uniqueId" : "siam-residences-bkk",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/account-representative" : {
      "patch" : {
        "tags" : [ "Managing Entity" ],
        "summary" : "Set Representative",
        "description" : "Updates managing entity account representative. Supports optimistic concurrency via the If-Match header; a stale version is rejected with 409.",
        "operationId" : "update-managing-entity-account-representative",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "UUID of the managing entity whose account representative to update.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "If-Match",
          "in" : "header",
          "description" : "The managing entity'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" : "New account representative contact details",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpdateAccountRepresentativeRequest_ManagingEntity"
              }
            }
          },
          "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" : "Managing entity updated with the new account representative contact details.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ManagingEntityLightweight_ManagingEntity"
                },
                "example" : {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "currencyCode" : "THB",
                  "id" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences, Bangkok",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "ownerType" : "COMPANY",
                  "status" : "ACTIVE",
                  "type" : "HOTEL",
                  "uniqueId" : "siam-residences-bkk",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/managing-entity/{managingEntityIdentifier}/manager/{email}" : {
      "delete" : {
        "tags" : [ "Manager" ],
        "summary" : "Remove",
        "description" : "Revoke a manager's access to this account, identified by their email address.",
        "operationId" : "remove-company-user",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "UUID of the managing entity from which to remove the manager.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        }, {
          "name" : "email",
          "in" : "path",
          "description" : "Email address of the manager to revoke.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "email"
          },
          "example" : "reservations@thesiamresidences.com"
        }, {
          "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" : "Managing entity with the specified manager removed.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ManagingEntityLightweight_ManagingEntity"
                },
                "example" : {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "currencyCode" : "THB",
                  "id" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences, Bangkok",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "ownerType" : "COMPANY",
                  "status" : "ACTIVE",
                  "type" : "HOTEL",
                  "uniqueId" : "siam-residences-bkk",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
                }
              }
            }
          }
        },
        "security" : [ {
          "oauth2ClientCredentials" : [ ]
        } ]
      }
    },
    "/api/manager/invite/{managingEntityIdentifier}/reject" : {
      "delete" : {
        "tags" : [ "Manager" ],
        "summary" : "Reject Invite",
        "description" : "Remove manager by specified identifier",
        "operationId" : "reject-invite",
        "parameters" : [ {
          "name" : "managingEntityIdentifier",
          "in" : "path",
          "description" : "UUID of the managing entity for which to reject the manager invitation.",
          "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" : "Managing entity with the invitation removed.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ManagingEntityLightweight_Supplier"
                },
                "example" : {
                  "accountEmail" : "reservations@thesiamresidences.com",
                  "currencyCode" : "THB",
                  "id" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "name" : "The Siam Residences, Bangkok",
                  "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
                  "ownerType" : "COMPANY",
                  "status" : "ACTIVE",
                  "type" : "HOTEL",
                  "uniqueId" : "siam-residences-bkk",
                  "urlName" : "the-siam-residences-bangkok",
                  "userIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
                }
              }
            }
          }
        },
        "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"
          }
        }
      },
      "UpsertRevolutPayoutAccountRequest_ManagingEntity" : {
        "type" : "object",
        "description" : "Request to create or update a Revolut revtag payout destination for a managing entity.",
        "example" : {
          "accountHolderName" : "Alexandra Beaumont",
          "currencyCode" : "THB",
          "profileType" : "PERSONAL",
          "revtag" : "siamresidences"
        },
        "properties" : {
          "accountHolderName" : {
            "type" : "string",
            "description" : "Recipient's name; must match the Revolut profile name.",
            "example" : "Alexandra Beaumont",
            "minLength" : 1
          },
          "currencyCode" : {
            "type" : "string",
            "description" : "ISO 4217 currency code for the payout.",
            "example" : "THB",
            "minLength" : 1,
            "pattern" : "^[A-Z]{3}$"
          },
          "profileType" : {
            "type" : "string",
            "description" : "Whether the recipient's Revolut profile is personal or business.",
            "enum" : [ "personal", "business" ],
            "example" : "PERSONAL"
          },
          "revtag" : {
            "type" : "string",
            "description" : "Revtag of the recipient (with or without leading '@').",
            "example" : "siamresidences",
            "minLength" : 1
          }
        },
        "required" : [ "accountHolderName", "currencyCode", "profileType", "revtag" ]
      },
      "BankAccount_ManagingEntity" : {
        "type" : "object",
        "description" : "Managing entities use bank accounts to get paid.",
        "example" : {
          "accountHolderName" : "The Siam Residences",
          "accountNumber" : "DE89370400440532013000",
          "address" : {
            "address1" : "234 Near da beach",
            "address2" : "Pebble #5001",
            "city" : "Bangkok",
            "country" : "United States",
            "countryCode" : "TH",
            "county" : "Alameda county",
            "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
            "postalCode" : "90210",
            "state" : "CA"
          },
          "countryCode" : "TH",
          "currencyCode" : "USD",
          "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
          "revolutCounterpartyId" : "rpcid_bxn8f2eKgWqxP9T7mL",
          "routingNumber" : "021000021",
          "swiftCode" : "BKKATHBK"
        },
        "properties" : {
          "accountHolderName" : {
            "type" : "string",
            "description" : "Name of the bank account holder.",
            "example" : "The Siam Residences",
            "minLength" : 1
          },
          "accountNumber" : {
            "type" : "string",
            "description" : "Bank account number or IBAN. In all EU countries, this is the IBAN; in other countries, the routing number also applies.",
            "example" : "DE89370400440532013000",
            "minLength" : 1
          },
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress_ManagingEntity",
            "description" : "Recipient bank account address. Optional; recommended by Revolut and required by some payout corridors."
          },
          "countryCode" : {
            "type" : "string",
            "description" : "ISO 3166-1 alpha-2 country code (e.g. US, GB, TH, JP).",
            "example" : "TH",
            "minLength" : 1,
            "pattern" : "^[A-Z]{2}$"
          },
          "currencyCode" : {
            "type" : "string",
            "description" : "ISO 4217 currency code (e.g. USD, EUR, THB).",
            "example" : "USD",
            "minLength" : 1,
            "pattern" : "^[A-Z]{3}$"
          },
          "identifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique bank account identifier",
            "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "minLength" : 1
          },
          "revolutCounterpartyId" : {
            "type" : [ "string", "null" ],
            "description" : "Revolut counterparty ID assigned after the first successful payout is initiated. Null until first Revolut payout.",
            "example" : "rpcid_bxn8f2eKgWqxP9T7mL"
          },
          "routingNumber" : {
            "type" : "string",
            "description" : "Bank account routing number (US), sort code (UK/HK), or Zengin code (JP).",
            "example" : "021000021"
          },
          "swiftCode" : {
            "type" : "string",
            "description" : "Bank SWIFT code (BIC), uniquely identifying the bank and branch.",
            "example" : "BKKATHBK"
          }
        },
        "required" : [ "accountHolderName", "accountNumber", "countryCode", "currencyCode", "identifier" ]
      },
      "CountryLightweight_ManagingEntity" : {
        "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"
          }
        }
      },
      "GeoJsonPoint_ManagingEntity" : {
        "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_ManagingEntity" : {
        "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_ManagingEntity",
            "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_ManagingEntity",
            "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_ManagingEntity",
            "description" : "Country sub division",
            "example" : "NY"
          },
          "subSubCountry" : {
            "$ref" : "#/components/schemas/SubSubCountryLightweight_ManagingEntity",
            "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]$"
          }
        }
      },
      "ManagedByEntityRules_ManagingEntity" : {
        "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_ManagingEntity" : {
        "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_ManagingEntity",
            "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" ]
      },
      "ManagingEntityLightweight_ManagingEntity" : {
        "type" : "object",
        "description" : "Lightweight projection of a managing entity, used by consumers outside the managing-entity module.",
        "example" : {
          "accountEmail" : "reservations@thesiamresidences.com",
          "currencyCode" : "THB",
          "id" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
          "name" : "The Siam Residences, Bangkok",
          "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
          "ownerType" : "COMPANY",
          "status" : "ACTIVE",
          "type" : "HOTEL",
          "uniqueId" : "siam-residences-bkk",
          "urlName" : "the-siam-residences-bangkok",
          "userIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        },
        "properties" : {
          "accountEmail" : {
            "type" : "string",
            "format" : "email",
            "description" : "Primary email address for account communications, KYC documents, and compliance notices.",
            "example" : "reservations@thesiamresidences.com",
            "minLength" : 1
          },
          "accountPhoneNumber" : {
            "type" : "string",
            "description" : "Primary phone number for KYC verification and account support.",
            "example" : "+66 2 126 8866"
          },
          "accounts" : {
            "type" : "array",
            "deprecated" : true,
            "items" : {
              "$ref" : "#/components/schemas/ManagingEntityAccount_ManagingEntity"
            }
          },
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress_ManagingEntity",
            "description" : "Account address. Usually the business address."
          },
          "bankAccounts" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/BankAccount_ManagingEntity",
              "description" : "Bank accounts used for payouts."
            }
          },
          "city" : {
            "$ref" : "#/components/schemas/GeoNameLightweight_ManagingEntity",
            "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" : "ISO 4217 primary currency code for accounting and payouts.",
            "example" : "THB",
            "minLength" : 1
          },
          "description" : {
            "type" : "string",
            "description" : "Short description reflecting the entity's brand and positioning."
          },
          "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/registered name if different from display name.",
            "example" : "The Siam Residences"
          },
          "logo" : {
            "$ref" : "#/components/schemas/SimpleMultimedia_ManagingEntity",
            "description" : "Entity logo."
          },
          "managedBy" : {
            "$ref" : "#/components/schemas/ManagedByEntity_ManagingEntity",
            "description" : "If another company entity is managing this property on behalf of it, specified here."
          },
          "managers" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ManagingEntityManager_ManagingEntity",
              "description" : "Users who can manage this entity and all sub-entities."
            }
          },
          "marketingOptinAllowed" : {
            "type" : "boolean",
            "description" : "Whether the managing entity has consented to have their logo and images used for Wink marketing."
          },
          "name" : {
            "type" : "string",
            "description" : "Display name of the managing entity.",
            "example" : "The Siam Residences",
            "minLength" : 1
          },
          "onlinePresence" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/OnlinePresence_ManagingEntity",
              "description" : "Online presence of account."
            }
          },
          "owner" : {
            "$ref" : "#/components/schemas/ManagingEntityManager_ManagingEntity"
          },
          "ownerIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "UUID of the application/owner that provisioned this record (typically Wink).",
            "example" : "9c2e7f1a-4b8d-4e3c-a5f6-2d9b1e0c7a43",
            "minLength" : 1
          },
          "ownerType" : {
            "type" : "string",
            "description" : "Owner type: INDIVIDUAL (sole proprietor) or COMPANY (corporate entity).",
            "enum" : [ "COMPANY", "INDIVIDUAL" ]
          },
          "placeId" : {
            "type" : "string",
            "description" : "Optional Google placeId for properties with a Google Business account."
          },
          "profilePicture" : {
            "$ref" : "#/components/schemas/SimpleMultimedia_ManagingEntity",
            "description" : "Custom profile picture."
          },
          "revolutPayoutAccounts" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/RevolutPayoutAccount_ManagingEntity",
              "description" : "Revolut revtag payout destinations."
            }
          },
          "status" : {
            "type" : "string",
            "description" : "Status of entity.",
            "enum" : [ "PENDING_APPROVAL", "ACTIVE", "INACTIVE", "UNDER_REVIEW", "SUSPENDED", "REJECTED", "REMOVED" ]
          },
          "travelAgent" : {
            "$ref" : "#/components/schemas/TravelAgent_ManagingEntity",
            "description" : "Travel agent details."
          },
          "type" : {
            "type" : "string",
            "description" : "Entity type: HOTEL, APPLICATION, TRAVEL_AGENT, INFLUENCER, CORPORATE, DESTINATION, CHANNEL_MANAGER, 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" ]
          },
          "uniqueId" : {
            "type" : "string",
            "description" : "Human-friendly unique identifier (shorter than UUID, used in some public contexts).",
            "minLength" : 1
          },
          "url" : {
            "type" : "string",
            "format" : "uri",
            "description" : "Primary website or social media URL representing the entity.",
            "example" : "https://www.thesiamresidences.com"
          },
          "urlName" : {
            "type" : "string",
            "description" : "URL-friendly slug (kebab-case) uniquely identifying the entity in public profiles and links.",
            "minLength" : 1
          },
          "userIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "UUID of the user who created/owns this managing entity.",
            "example" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
            "minLength" : 1
          },
          "verified" : {
            "type" : "boolean"
          },
          "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" : [ "accountEmail", "city", "currencyCode", "name", "ownerIdentifier", "ownerType", "status", "type", "uniqueId", "urlName", "userIdentifier" ]
      },
      "ManagingEntityManager_ManagingEntity" : {
        "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_ManagingEntity",
            "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_ManagingEntity",
              "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_ManagingEntity" : {
        "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" ]
      },
      "OnlinePresence_ManagingEntity" : {
        "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" ]
      },
      "RevolutPayoutAccount_ManagingEntity" : {
        "type" : "object",
        "description" : "A Revolut payout destination for a managing entity, identified by revtag (Revolut username).",
        "example" : {
          "accountHolderName" : "The Siam Residences",
          "currencyCode" : "USD",
          "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
          "revolutCounterpartyId" : "rpcid_bxn8f2eKgWqxP9T7mL",
          "revtag" : "siamresidences"
        },
        "properties" : {
          "accountHolderName" : {
            "type" : "string",
            "description" : "Full legal name of the Revolut account holder (must match the Revolut profile name exactly).",
            "example" : "The Siam Residences",
            "minLength" : 1
          },
          "currencyCode" : {
            "type" : "string",
            "description" : "ISO 4217 currency code for payouts to this account (e.g. EUR, USD, GBP).",
            "example" : "USD",
            "minLength" : 1,
            "pattern" : "^[A-Z]{3}$"
          },
          "identifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this payout destination.",
            "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "minLength" : 1
          },
          "profileType" : {
            "type" : "string",
            "description" : "Revolut profile type: PERSONAL (individual account) or BUSINESS (business/enterprise account).",
            "enum" : [ "personal", "business" ]
          },
          "revolutCounterpartyId" : {
            "type" : [ "string", "null" ],
            "description" : "Cached Revolut counterparty ID (assigned after first successful payout). Null only during initial creation before counterparty is established.",
            "example" : "rpcid_bxn8f2eKgWqxP9T7mL"
          },
          "revtag" : {
            "type" : "string",
            "description" : "Revolut username/tag (without the leading '@' symbol).",
            "example" : "siamresidences",
            "minLength" : 1
          }
        },
        "required" : [ "accountHolderName", "currencyCode", "identifier", "profileType", "revtag" ]
      },
      "SectionGrant_ManagingEntity" : {
        "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" ]
      },
      "SimpleAddress_ManagingEntity" : {
        "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_ManagingEntity" : {
        "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_ManagingEntity" : {
        "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_ManagingEntity"
            }
          },
          "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_ManagingEntity"
            }
          },
          "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" ]
      },
      "SubCountryLightweight_ManagingEntity" : {
        "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_ManagingEntity" : {
        "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"
          }
        }
      },
      "ManagingEntityAccount_ManagingEntity" : {
        "type" : "object",
        "description" : "A sub-account of a managing entity, representing one of its functional roles (affiliate, property, or payment).",
        "example" : {
          "identifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
          "type" : "PROPERTY"
        },
        "properties" : {
          "identifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Entity ID should be the same as parent but can be different.",
            "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
            "minLength" : 1
          },
          "type" : {
            "type" : "string",
            "description" : "Type of entity (e.g. PROPERTY, AFFILIATE, PAYMENT).",
            "enum" : [ "AFFILIATE", "PROPERTY", "PAYMENT" ],
            "example" : "PROPERTY"
          }
        },
        "required" : [ "identifier", "type" ]
      },
      "TravelAgent_ManagingEntity" : {
        "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" ]
      },
      "Child_ManagingEntity" : {
        "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" ]
      },
      "CustomizationThemeColors_ManagingEntity" : {
        "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"
          }
        }
      },
      "RoomConfiguration_ManagingEntity" : {
        "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_ManagingEntity"
            }
          },
          "quantity" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1,
            "description" : "Number of identical rooms with this configuration",
            "example" : 2,
            "minimum" : 1
          }
        },
        "required" : [ "adults" ]
      },
      "TrackingPixelParameter_ManagingEntity" : {
        "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_ManagingEntity" : {
        "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_ManagingEntity"
            }
          }
        },
        "required" : [ "eventType" ]
      },
      "TrackingPixel_ManagingEntity" : {
        "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_ManagingEntity"
            }
          },
          "type" : {
            "type" : "string",
            "description" : "Type of tracking pixel delivery mechanism",
            "enum" : [ "JAVASCRIPT", "IMAGE" ],
            "example" : "JAVASCRIPT"
          }
        },
        "required" : [ "consentCategory", "identifier", "name", "provider", "type" ]
      },
      "UpsertCustomizationRequest_ManagingEntity" : {
        "type" : "object",
        "description" : "Request payload for creating or updating a booking engine customization configuration",
        "example" : {
          "appendToPageTitle" : "Hotels with Benefits",
          "cardDesign" : "DEFAULT",
          "cardLayout" : "VERTICAL",
          "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",
          "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,
          "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",
          "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,
          "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"
          },
          "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",
            "pattern" : "^(G-[A-Z0-9]+)?$"
          },
          "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.",
            "example" : "GTM-XXXXX",
            "pattern" : "^(GTM-[A-Z0-9]+)?$"
          },
          "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"
          },
          "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_ManagingEntity"
            }
          },
          "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
          },
          "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_ManagingEntity",
            "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"
          },
          "themeColors" : {
            "$ref" : "#/components/schemas/CustomizationThemeColors_ManagingEntity",
            "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_ManagingEntity"
            }
          },
          "useDays" : {
            "type" : "boolean",
            "description" : "if true, we use numberOfAdvanceDays / numberOfStayDays properties - false, we use startDate / endDate",
            "example" : true
          },
          "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" : [ "name" ]
      },
      "CustomizationLightweight_ManagingEntity" : {
        "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_ManagingEntity"
          },
          "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_ManagingEntity"
            }
          },
          "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_ManagingEntity",
            "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_ManagingEntity",
            "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_ManagingEntity"
            }
          },
          "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" ]
      },
      "UpsertBankAccountRequest_ManagingEntity" : {
        "type" : "object",
        "description" : "Request to create or update a bank account payout destination for a managing entity.",
        "example" : {
          "accountHolderName" : "The Siam Residences",
          "accountNumber" : "DE89370400440532013000",
          "address" : {
            "address1" : "234 Near da beach",
            "address2" : "Pebble #5001",
            "city" : "Bangkok",
            "country" : "United States",
            "countryCode" : "TH",
            "county" : "Alameda county",
            "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
            "postalCode" : "90210",
            "state" : "CA"
          },
          "countryCode" : "TH",
          "currencyCode" : "USD",
          "routingNumber" : "021000021",
          "swiftCode" : "BKKATHBK"
        },
        "properties" : {
          "accountHolderName" : {
            "type" : "string",
            "description" : "Name of the bank account holder (must match the registered account name).",
            "example" : "The Siam Residences",
            "minLength" : 1
          },
          "accountNumber" : {
            "type" : "string",
            "description" : "Bank account number or IBAN. In EU countries, use the IBAN; in other countries, pair with the routing number.",
            "example" : "DE89370400440532013000",
            "minLength" : 1
          },
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress_ManagingEntity",
            "description" : "Recipient bank account address (optional but recommended by Revolut for some payout corridors)."
          },
          "countryCode" : {
            "type" : "string",
            "description" : "ISO 3166-1 alpha-2 country code (e.g. US, GB, TH, JP).",
            "example" : "TH",
            "minLength" : 1,
            "pattern" : "^[A-Z]{2}$"
          },
          "currencyCode" : {
            "type" : "string",
            "description" : "ISO 4217 currency code (e.g. USD, EUR, THB).",
            "example" : "USD",
            "minLength" : 1,
            "pattern" : "^[A-Z]{3}$"
          },
          "routingNumber" : {
            "type" : "string",
            "description" : "Bank account routing number (US), sort code (UK/HK), or Zengin code (JP).",
            "example" : "021000021"
          },
          "swiftCode" : {
            "type" : "string",
            "description" : "Bank SWIFT code (BIC), uniquely identifying the bank and its branch.",
            "example" : "BKKATHBK"
          }
        },
        "required" : [ "accountHolderName", "accountNumber", "countryCode", "currencyCode" ]
      },
      "CreateManagingEntityRequest_ManagingEntity" : {
        "type" : "object",
        "description" : "Request to create a new managing entity with full account details, including KYC contacts, entity type, and location.",
        "example" : {
          "accountEmail" : "reservations@thesiamresidences.com",
          "accountPhoneNumber" : "+66 2 126 8866",
          "address" : {
            "address1" : "234 Near da beach",
            "address2" : "Pebble #5001",
            "city" : "Bangkok",
            "country" : "United States",
            "countryCode" : "TH",
            "county" : "Alameda county",
            "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
            "postalCode" : "90210",
            "state" : "CA"
          },
          "cityGeoNameId" : "1609350",
          "currencyCode" : "THB",
          "description" : "A luxury boutique resort nestled in the heart of Bangkok, offering refined hospitality and curated experiences.",
          "legalName" : "The Siam Residences",
          "marketingOptinAllowed" : false,
          "name" : "The Siam Residences",
          "ownerType" : "COMPANY",
          "placeId" : "ChIJtzKJpKNXwBQRX3CrSmPP4gk",
          "travelAgent" : {
            "selfAcquires" : false,
            "selfDisburses" : false
          },
          "type" : "HOTEL",
          "url" : "https://www.thesiamresidences.com",
          "urlName" : "the-siam-residences-bangkok"
        },
        "properties" : {
          "accountEmail" : {
            "type" : "string",
            "format" : "email",
            "description" : "Primary account email for KYC documents and account-related communications.",
            "example" : "reservations@thesiamresidences.com",
            "minLength" : 1
          },
          "accountPhoneNumber" : {
            "type" : "string",
            "description" : "Primary phone number for account contact and KYC verification.",
            "example" : "+66 2 126 8866",
            "minLength" : 1,
            "pattern" : "^\\+?[1-9]\\d{1,14}$"
          },
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress_ManagingEntity",
            "description" : "Registered business address (required if no Google placeId provided)."
          },
          "cityGeoNameId" : {
            "type" : "string",
            "description" : "GeoNames ID of the primary city/location for this entity.",
            "example" : "1609350"
          },
          "currencyCode" : {
            "type" : "string",
            "description" : "ISO 4217 currency code (3-char, e.g. USD, GBP, THB) for account primary currency.",
            "example" : "THB",
            "minLength" : 1,
            "pattern" : "^[A-Z]{3}$"
          },
          "description" : {
            "type" : "string",
            "description" : "Short description of the entity, reflecting its business or brand positioning.",
            "example" : "A luxury boutique resort nestled in the heart of Bangkok, offering refined hospitality and curated experiences.",
            "minLength" : 1
          },
          "legalName" : {
            "type" : "string",
            "description" : "Legal/registered name of the entity if different from display name.",
            "example" : "The Siam Residences"
          },
          "marketingOptinAllowed" : {
            "type" : "boolean",
            "description" : "Whether the managing entity consents to have their logo and images used for Wink marketing (with proper attribution).",
            "example" : false
          },
          "name" : {
            "type" : "string",
            "description" : "Display name of the managing entity (company, hotel, agency, etc.)",
            "example" : "The Siam Residences",
            "minLength" : 1
          },
          "ownerType" : {
            "type" : "string",
            "description" : "Owner type: INDIVIDUAL or COMPANY.",
            "enum" : [ "COMPANY", "INDIVIDUAL" ],
            "example" : "COMPANY"
          },
          "placeId" : {
            "type" : "string",
            "description" : "Google Places ID for the entity's physical location (required if not providing address).",
            "example" : "ChIJtzKJpKNXwBQRX3CrSmPP4gk"
          },
          "travelAgent" : {
            "$ref" : "#/components/schemas/TravelAgent_ManagingEntity",
            "description" : "Travel agent-specific details (required when type is TRAVEL_AGENT)."
          },
          "type" : {
            "type" : "string",
            "description" : "Entity type: HOTEL, APPLICATION, TRAVEL_AGENT, INFLUENCER, etc.",
            "enum" : [ "APPLICATION", "HOTEL", "CORPORATE", "TRAVEL_AGENT", "INFLUENCER", "BLOGGER", "DESTINATION", "CHANNEL_MANAGER", "PROPERTY_MANAGEMENT_SYSTEM", "CENTRAL_RESERVATION_SYSTEM", "MANAGEMENT_COMPANY", "CHAIN", "BRAND", "EVENT_ORGANIZER", "OTHER" ],
            "example" : "HOTEL"
          },
          "url" : {
            "type" : "string",
            "format" : "uri",
            "description" : "Primary website or social-media URL representing the entity.",
            "example" : "https://www.thesiamresidences.com"
          },
          "urlName" : {
            "type" : "string",
            "description" : "URL-friendly slug for the entity (e.g. in public profiles or linking).",
            "example" : "the-siam-residences-bangkok",
            "pattern" : "^[a-z0-9][a-z0-9-]*[a-z0-9]$"
          }
        },
        "required" : [ "accountEmail", "accountPhoneNumber", "cityGeoNameId", "currencyCode", "description", "name", "ownerType", "placeId", "type", "urlName" ]
      },
      "CreateManagingEntityFromWinkLinksRequest_ManagingEntity" : {
        "type" : "object",
        "description" : "Request to create a new managing entity via the Wink Links onboarding flow, with a simplified field set.",
        "example" : {
          "cityGeoNameId" : "1609350",
          "description" : "A luxury boutique resort nestled in the heart of Bangkok, offering refined hospitality and curated experiences.",
          "name" : "The Siam Residences",
          "ownerType" : "COMPANY",
          "type" : "HOTEL",
          "urlName" : "the-siam-residences-bangkok"
        },
        "properties" : {
          "cityGeoNameId" : {
            "type" : "string",
            "description" : "GeoNames ID of the primary city/location for this entity.",
            "example" : "1609350"
          },
          "description" : {
            "type" : "string",
            "description" : "Short description of the entity, reflecting its business or brand positioning.",
            "example" : "A luxury boutique resort nestled in the heart of Bangkok, offering refined hospitality and curated experiences.",
            "minLength" : 1
          },
          "name" : {
            "type" : "string",
            "description" : "Display name of the managing entity (company, hotel, agency, etc.)",
            "example" : "The Siam Residences",
            "minLength" : 1
          },
          "ownerType" : {
            "type" : "string",
            "description" : "Whether it's an individual or company entity we are dealing with.",
            "enum" : [ "COMPANY", "INDIVIDUAL" ],
            "example" : "COMPANY"
          },
          "type" : {
            "type" : "string",
            "description" : "Type of entity",
            "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" : "URL-friendly slug for the entity (e.g. in public profiles or linking).",
            "example" : "the-siam-residences-bangkok",
            "pattern" : "^[a-z0-9][a-z0-9-]*[a-z0-9]$"
          }
        },
        "required" : [ "cityGeoNameId", "description", "name", "ownerType", "type" ]
      },
      "UniqueRequest_Authenticated_Entity" : {
        "type" : "object",
        "example" : {
          "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
          "name" : "My unique name"
        },
        "properties" : {
          "identifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "An optional accompanying identifier so it doesn't check itself on an update",
            "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51"
          },
          "name" : {
            "type" : "string",
            "description" : "The name we want to check uniqueness for",
            "example" : "My unique name",
            "minLength" : 1
          }
        },
        "required" : [ "name" ]
      },
      "UniqueResult_Authenticated_Entity" : {
        "type" : "object",
        "description" : "Result indicating whether a value is unique within the platform",
        "example" : {
          "unique" : true
        },
        "properties" : {
          "unique" : {
            "type" : "boolean",
            "description" : "True if the checked value is unique; false if it already exists",
            "example" : true
          }
        },
        "required" : [ "unique" ]
      },
      "ChangeUrlNameRequest_Authenticated_Entity" : {
        "type" : "object",
        "description" : "Request to update the URL-friendly slug (urlName) of a managing entity and all its child records.",
        "example" : {
          "urlName" : "my-company"
        },
        "properties" : {
          "urlName" : {
            "type" : "string",
            "description" : "Unique url name",
            "example" : "my-company",
            "minLength" : 1,
            "pattern" : "^[a-z0-9][a-z0-9-]*[a-z0-9]$"
          }
        },
        "required" : [ "urlName" ]
      },
      "BankAccount_Authenticated_Entity" : {
        "type" : "object",
        "description" : "Managing entities use bank accounts to get paid.",
        "example" : {
          "accountHolderName" : "The Siam Residences",
          "accountNumber" : "DE89370400440532013000",
          "address" : {
            "address1" : "234 Near da beach",
            "address2" : "Pebble #5001",
            "city" : "Bangkok",
            "country" : "United States",
            "countryCode" : "TH",
            "county" : "Alameda county",
            "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
            "postalCode" : "90210",
            "state" : "CA"
          },
          "countryCode" : "TH",
          "currencyCode" : "USD",
          "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
          "revolutCounterpartyId" : "rpcid_bxn8f2eKgWqxP9T7mL",
          "routingNumber" : "021000021",
          "swiftCode" : "BKKATHBK"
        },
        "properties" : {
          "accountHolderName" : {
            "type" : "string",
            "description" : "Name of the bank account holder.",
            "example" : "The Siam Residences",
            "minLength" : 1
          },
          "accountNumber" : {
            "type" : "string",
            "description" : "Bank account number or IBAN. In all EU countries, this is the IBAN; in other countries, the routing number also applies.",
            "example" : "DE89370400440532013000",
            "minLength" : 1
          },
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress_Authenticated_Entity",
            "description" : "Recipient bank account address. Optional; recommended by Revolut and required by some payout corridors."
          },
          "countryCode" : {
            "type" : "string",
            "description" : "ISO 3166-1 alpha-2 country code (e.g. US, GB, TH, JP).",
            "example" : "TH",
            "minLength" : 1,
            "pattern" : "^[A-Z]{2}$"
          },
          "currencyCode" : {
            "type" : "string",
            "description" : "ISO 4217 currency code (e.g. USD, EUR, THB).",
            "example" : "USD",
            "minLength" : 1,
            "pattern" : "^[A-Z]{3}$"
          },
          "identifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique bank account identifier",
            "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "minLength" : 1
          },
          "revolutCounterpartyId" : {
            "type" : [ "string", "null" ],
            "description" : "Revolut counterparty ID assigned after the first successful payout is initiated. Null until first Revolut payout.",
            "example" : "rpcid_bxn8f2eKgWqxP9T7mL"
          },
          "routingNumber" : {
            "type" : "string",
            "description" : "Bank account routing number (US), sort code (UK/HK), or Zengin code (JP).",
            "example" : "021000021"
          },
          "swiftCode" : {
            "type" : "string",
            "description" : "Bank SWIFT code (BIC), uniquely identifying the bank and branch.",
            "example" : "BKKATHBK"
          }
        },
        "required" : [ "accountHolderName", "accountNumber", "countryCode", "currencyCode", "identifier" ]
      },
      "CountryLightweight_Authenticated_Entity" : {
        "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"
          }
        }
      },
      "GeoJsonPoint_Authenticated_Entity" : {
        "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_Authenticated_Entity" : {
        "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_Authenticated_Entity",
            "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_Authenticated_Entity",
            "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_Authenticated_Entity",
            "description" : "Country sub division",
            "example" : "NY"
          },
          "subSubCountry" : {
            "$ref" : "#/components/schemas/SubSubCountryLightweight_Authenticated_Entity",
            "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]$"
          }
        }
      },
      "ManagedByEntityRules_Authenticated_Entity" : {
        "description" : "Optional expiry rules controlling how long a managed-by relationship is valid, based on date or remaining booking quota."
      },
      "ManagedByEntity_Authenticated_Entity" : {
        "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"
        },
        "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_Authenticated_Entity",
            "description" : "Optional rules for expiration date etc when agency is no longer managing this entity."
          }
        },
        "required" : [ "commissionInPercent", "identifier", "name" ]
      },
      "ManagingEntityLightweight_Authenticated_Entity" : {
        "type" : "object",
        "description" : "Lightweight projection of a managing entity, used by consumers outside the managing-entity module.",
        "example" : {
          "accountEmail" : "reservations@thesiamresidences.com",
          "currencyCode" : "THB",
          "id" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
          "name" : "The Siam Residences, Bangkok",
          "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
          "ownerType" : "COMPANY",
          "status" : "ACTIVE",
          "type" : "HOTEL",
          "uniqueId" : "siam-residences-bkk",
          "urlName" : "the-siam-residences-bangkok",
          "userIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        },
        "properties" : {
          "accountEmail" : {
            "type" : "string",
            "format" : "email",
            "description" : "Primary email address for account communications, KYC documents, and compliance notices.",
            "example" : "reservations@thesiamresidences.com",
            "minLength" : 1
          },
          "accountPhoneNumber" : {
            "type" : "string",
            "description" : "Primary phone number for KYC verification and account support.",
            "example" : "+66 2 126 8866"
          },
          "accounts" : {
            "type" : "array",
            "deprecated" : true,
            "items" : {
              "$ref" : "#/components/schemas/ManagingEntityAccount_Authenticated_Entity"
            }
          },
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress_Authenticated_Entity",
            "description" : "Account address. Usually the business address."
          },
          "bankAccounts" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/BankAccount_Authenticated_Entity",
              "description" : "Bank accounts used for payouts."
            }
          },
          "city" : {
            "$ref" : "#/components/schemas/GeoNameLightweight_Authenticated_Entity",
            "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" : "ISO 4217 primary currency code for accounting and payouts.",
            "example" : "THB",
            "minLength" : 1
          },
          "description" : {
            "type" : "string",
            "description" : "Short description reflecting the entity's brand and positioning."
          },
          "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/registered name if different from display name.",
            "example" : "The Siam Residences"
          },
          "logo" : {
            "$ref" : "#/components/schemas/SimpleMultimedia_Authenticated_Entity",
            "description" : "Entity logo."
          },
          "managedBy" : {
            "$ref" : "#/components/schemas/ManagedByEntity_Authenticated_Entity",
            "description" : "If another company entity is managing this property on behalf of it, specified here."
          },
          "managers" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ManagingEntityManager_Authenticated_Entity",
              "description" : "Users who can manage this entity and all sub-entities."
            }
          },
          "marketingOptinAllowed" : {
            "type" : "boolean",
            "description" : "Whether the managing entity has consented to have their logo and images used for Wink marketing."
          },
          "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 account."
            }
          },
          "owner" : {
            "$ref" : "#/components/schemas/ManagingEntityManager_Authenticated_Entity"
          },
          "ownerIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "UUID of the application/owner that provisioned this record (typically Wink).",
            "example" : "9c2e7f1a-4b8d-4e3c-a5f6-2d9b1e0c7a43",
            "minLength" : 1
          },
          "ownerType" : {
            "type" : "string",
            "description" : "Owner type: INDIVIDUAL (sole proprietor) or COMPANY (corporate entity).",
            "enum" : [ "COMPANY", "INDIVIDUAL" ]
          },
          "placeId" : {
            "type" : "string",
            "description" : "Optional Google placeId for properties with a Google Business account."
          },
          "profilePicture" : {
            "$ref" : "#/components/schemas/SimpleMultimedia_Authenticated_Entity",
            "description" : "Custom profile picture."
          },
          "revolutPayoutAccounts" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/RevolutPayoutAccount_Authenticated_Entity",
              "description" : "Revolut revtag payout destinations."
            }
          },
          "status" : {
            "type" : "string",
            "description" : "Status of entity.",
            "enum" : [ "PENDING_APPROVAL", "ACTIVE", "INACTIVE", "UNDER_REVIEW", "SUSPENDED", "REJECTED", "REMOVED" ]
          },
          "travelAgent" : {
            "$ref" : "#/components/schemas/TravelAgent_Authenticated_Entity",
            "description" : "Travel agent details."
          },
          "type" : {
            "type" : "string",
            "description" : "Entity type: HOTEL, APPLICATION, TRAVEL_AGENT, INFLUENCER, CORPORATE, DESTINATION, CHANNEL_MANAGER, 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" ]
          },
          "uniqueId" : {
            "type" : "string",
            "description" : "Human-friendly unique identifier (shorter than UUID, used in some public contexts).",
            "minLength" : 1
          },
          "url" : {
            "type" : "string",
            "format" : "uri",
            "description" : "Primary website or social media URL representing the entity.",
            "example" : "https://www.thesiamresidences.com"
          },
          "urlName" : {
            "type" : "string",
            "description" : "URL-friendly slug (kebab-case) uniquely identifying the entity in public profiles and links.",
            "minLength" : 1
          },
          "userIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "UUID of the user who created/owns this managing entity.",
            "example" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
            "minLength" : 1
          },
          "verified" : {
            "type" : "boolean"
          },
          "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" : [ "accountEmail", "city", "currencyCode", "name", "ownerIdentifier", "ownerType", "status", "type", "uniqueId", "urlName", "userIdentifier" ]
      },
      "ManagingEntityManager_Authenticated_Entity" : {
        "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_Authenticated_Entity",
            "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_Authenticated_Entity",
              "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_Authenticated_Entity" : {
        "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" ]
      },
      "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" ]
      },
      "RevolutPayoutAccount_Authenticated_Entity" : {
        "type" : "object",
        "description" : "A Revolut payout destination for a managing entity, identified by revtag (Revolut username).",
        "example" : {
          "accountHolderName" : "The Siam Residences",
          "currencyCode" : "USD",
          "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
          "revolutCounterpartyId" : "rpcid_bxn8f2eKgWqxP9T7mL",
          "revtag" : "siamresidences"
        },
        "properties" : {
          "accountHolderName" : {
            "type" : "string",
            "description" : "Full legal name of the Revolut account holder (must match the Revolut profile name exactly).",
            "example" : "The Siam Residences",
            "minLength" : 1
          },
          "currencyCode" : {
            "type" : "string",
            "description" : "ISO 4217 currency code for payouts to this account (e.g. EUR, USD, GBP).",
            "example" : "USD",
            "minLength" : 1,
            "pattern" : "^[A-Z]{3}$"
          },
          "identifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this payout destination.",
            "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "minLength" : 1
          },
          "profileType" : {
            "type" : "string",
            "description" : "Revolut profile type: PERSONAL (individual account) or BUSINESS (business/enterprise account).",
            "enum" : [ "personal", "business" ]
          },
          "revolutCounterpartyId" : {
            "type" : [ "string", "null" ],
            "description" : "Cached Revolut counterparty ID (assigned after first successful payout). Null only during initial creation before counterparty is established.",
            "example" : "rpcid_bxn8f2eKgWqxP9T7mL"
          },
          "revtag" : {
            "type" : "string",
            "description" : "Revolut username/tag (without the leading '@' symbol).",
            "example" : "siamresidences",
            "minLength" : 1
          }
        },
        "required" : [ "accountHolderName", "currencyCode", "identifier", "profileType", "revtag" ]
      },
      "SectionGrant_Authenticated_Entity" : {
        "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" ]
      },
      "SimpleAddress_Authenticated_Entity" : {
        "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_Authenticated_Entity" : {
        "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" : {
          "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" ]
      },
      "SimpleMultimedia_Authenticated_Entity" : {
        "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_Authenticated_Entity"
            }
          },
          "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_Authenticated_Entity"
            }
          },
          "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" ]
      },
      "SubCountryLightweight_Authenticated_Entity" : {
        "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_Authenticated_Entity" : {
        "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"
          }
        }
      },
      "ManagingEntityAccount_Authenticated_Entity" : {
        "type" : "object",
        "description" : "A sub-account of a managing entity, representing one of its functional roles (affiliate, property, or payment).",
        "example" : {
          "identifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
          "type" : "PROPERTY"
        },
        "properties" : {
          "identifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Entity ID should be the same as parent but can be different.",
            "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
            "minLength" : 1
          },
          "type" : {
            "type" : "string",
            "description" : "Type of entity (e.g. PROPERTY, AFFILIATE, PAYMENT).",
            "enum" : [ "AFFILIATE", "PROPERTY", "PAYMENT" ],
            "example" : "PROPERTY"
          }
        },
        "required" : [ "identifier", "type" ]
      },
      "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" ]
      },
      "ChangeUniqueIdRequest_Authenticated_Entity" : {
        "type" : "object",
        "description" : "Request to update the short uniqueId used to identify a managing entity in public contexts.",
        "example" : {
          "uniqueId" : "abc12"
        },
        "properties" : {
          "uniqueId" : {
            "type" : "string",
            "description" : "Unique ID",
            "example" : "abc12",
            "minLength" : 1,
            "pattern" : "^[A-Za-z0-9._~-]{5}$"
          }
        },
        "required" : [ "uniqueId" ]
      },
      "UpdateManagingEntityStatusRequest_Authenticated_Entity" : {
        "type" : "object",
        "description" : "Request to change the lifecycle status of a managing entity, with an optional reason for audit/compliance purposes.",
        "example" : {
          "reason" : "Account under compliance review",
          "status" : "ACTIVE"
        },
        "properties" : {
          "reason" : {
            "type" : "string",
            "description" : "Reason for the status change (e.g. for SUSPENDED: account review, compliance, etc.).",
            "example" : "Account under compliance review"
          },
          "status" : {
            "type" : "string",
            "description" : "New lifecycle status for the managing entity (e.g. ACTIVE, SUSPENDED, INACTIVE).",
            "enum" : [ "PENDING_APPROVAL", "ACTIVE", "INACTIVE", "UNDER_REVIEW", "SUSPENDED", "REJECTED", "REMOVED" ],
            "example" : "ACTIVE"
          }
        },
        "required" : [ "status" ]
      },
      "UpdateManagingEntityInformationRequest_Authenticated_Entity" : {
        "type" : "object",
        "description" : "Request to update a managing entity's display name, legal name, and description.",
        "example" : {
          "description" : "Luxury residential tower offering exclusive Bangkok accommodations and premium hospitality services",
          "legalName" : "Legal AffiliateAccount 1",
          "name" : "Affiliate Account 1"
        },
        "properties" : {
          "description" : {
            "type" : "string",
            "description" : "Short description of entity",
            "example" : "Luxury residential tower offering exclusive Bangkok accommodations and premium hospitality services",
            "minLength" : 1
          },
          "legalName" : {
            "type" : "string",
            "description" : "Legal name of entity if other than name",
            "example" : "Legal AffiliateAccount 1"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of account",
            "example" : "Affiliate Account 1",
            "minLength" : 1
          }
        },
        "required" : [ "description", "name" ]
      },
      "UpsertImageRequest_Authenticated_Entity" : {
        "type" : "object",
        "example" : {
          "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
          }
        },
        "properties" : {
          "image" : {
            "$ref" : "#/components/schemas/SimpleMultimedia_Authenticated_Entity",
            "description" : "Customize account with a custom image / profile picture."
          }
        }
      },
      "UpdateOnlinePresenceRequest_ManagingEntity" : {
        "type" : "object",
        "description" : "Request to replace the full list of social/online presence entries for a managing entity.",
        "example" : {
          "onlinePresence" : [ {
            "audienceSize" : 5,
            "audiences" : [ "EVERYONE" ],
            "disabled" : false,
            "identifier" : "@siamresidences",
            "sort" : 5,
            "type" : "INSTAGRAM"
          } ]
        },
        "properties" : {
          "onlinePresence" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/OnlinePresence_ManagingEntity",
              "description" : "Online presence of account."
            }
          }
        }
      },
      "UpdateManagerGrantsRequest_ManagingEntity" : {
        "type" : "object",
        "description" : "Request to replace the full set of per-section access grants for an existing non-owner manager on an account.",
        "example" : {
          "sectionGrants" : [ {
            "level" : "WRITE",
            "section" : "BOOKING"
          } ]
        },
        "properties" : {
          "sectionGrants" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/SectionGrant_ManagingEntity",
              "description" : "The full set of per-section grants the manager should hold after this change (account-scoped sections or ALL). Replaces any existing grants. Must not be empty."
            },
            "minItems" : 1
          }
        },
        "required" : [ "sectionGrants" ]
      },
      "InviteManagerRequest_ManagingEntity" : {
        "type" : "object",
        "description" : "Request to invite an existing user as a manager/team member on a managing entity, optionally with per-section access grants.",
        "example" : {
          "email" : "reservations@thesiamresidences.com",
          "sectionGrants" : [ {
            "level" : "WRITE",
            "section" : "BOOKING"
          } ]
        },
        "properties" : {
          "email" : {
            "type" : "string",
            "format" : "email",
            "description" : "Email address of the existing user account to invite as a manager.",
            "example" : "reservations@thesiamresidences.com",
            "minLength" : 1
          },
          "sectionGrants" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/SectionGrant_ManagingEntity",
              "description" : "Per-section access the invitee will hold once they accept (account-scoped sections only). Empty defaults to ALL:WRITE."
            }
          }
        },
        "required" : [ "email" ]
      },
      "UpdateManagedByAgencyRequest_ManagingEntity" : {
        "type" : "object",
        "description" : "Request to assign or update the managing agency relationship and commission terms for a managing entity.",
        "example" : {
          "commissionInPercent" : 0.01,
          "managingEntityIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
          "rules" : {
            "expires" : "2026-01-15",
            "numBookings" : 5
          }
        },
        "properties" : {
          "commissionInPercent" : {
            "type" : "number",
            "description" : "Agency commission",
            "example" : 0.01
          },
          "managingEntityIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Existing user account managingEntityIdentifier to make manager",
            "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
            "minLength" : 1
          },
          "rules" : {
            "$ref" : "#/components/schemas/ManagedByEntityRules_ManagingEntity",
            "description" : "Optional rules for expiration date etc when agency is no longer managing this entity."
          }
        },
        "required" : [ "commissionInPercent", "managingEntityIdentifier" ]
      },
      "UpdateManagingEntityOwnerRequest_ManagingEntity" : {
        "type" : "object",
        "description" : "Request to transfer ownership of a managing entity to another existing team member.",
        "example" : {
          "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84"
        },
        "properties" : {
          "userIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "UUID of the user to make the new account owner.",
            "example" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
            "minLength" : 1
          }
        },
        "required" : [ "userIdentifier" ]
      },
      "SetCityRequest_ManagingEntity" : {
        "type" : "object",
        "description" : "Request body for updating the city associated with a managing entity.",
        "example" : {
          "geoNameId" : "1609350"
        },
        "properties" : {
          "geoNameId" : {
            "type" : "string",
            "description" : "GeoNames identifier for the city to associate with the managing entity.",
            "example" : "1609350",
            "minLength" : 1
          }
        },
        "required" : [ "geoNameId" ]
      },
      "ChangeManagingEntityNameRequest_Authenticated_Entity" : {
        "type" : "object",
        "description" : "Request to update the trade and/or legal name of a managing entity.",
        "example" : {
          "legalName" : "Getaway Resorts",
          "tradeName" : "Happy Resorts"
        },
        "properties" : {
          "legalName" : {
            "type" : "string",
            "description" : "Hotel chain name if property is part of that chain.",
            "example" : "Getaway Resorts"
          },
          "tradeName" : {
            "type" : "string",
            "description" : "Doing business as name.",
            "example" : "Happy Resorts",
            "minLength" : 1
          }
        },
        "required" : [ "tradeName" ]
      },
      "UpdateAccountRepresentativeRequest_ManagingEntity" : {
        "type" : "object",
        "description" : "Request to update the primary account representative contact details (email and phone) for a managing entity.",
        "example" : {
          "accountEmail" : "reservations@thesiamresidences.com",
          "accountPhoneNumber" : "+66 2 126 8866"
        },
        "properties" : {
          "accountEmail" : {
            "type" : "string",
            "format" : "email",
            "description" : "Primary email address for the managing entity's account representative.",
            "example" : "reservations@thesiamresidences.com",
            "minLength" : 1
          },
          "accountPhoneNumber" : {
            "type" : "string",
            "description" : "Phone number for the account representative.",
            "example" : "+66 2 126 8866",
            "minLength" : 1,
            "pattern" : "^\\+?[1-9]\\d{1,14}$"
          }
        },
        "required" : [ "accountEmail", "accountPhoneNumber" ]
      },
      "NotificationLightweight_Authenticated_Entity" : {
        "type" : "object",
        "description" : "Lightweight projection of a notification used for listing and display purposes",
        "example" : {
          "body" : "Your booking at The Siam Residences for January 14-16, 2026 has been confirmed.",
          "createdDate" : "2026-01-14T09:30:00",
          "ctaUrl" : "https://app.wink.travel/bookings/WNK4ZQ7P",
          "id" : "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
          "lastUpdate" : "2026-02-03T16:45:12",
          "managingEntityIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
          "markedAsRemoved" : false,
          "messageTemplateId" : "welcome-email-2024",
          "name" : "The Siam Residences, Bangkok",
          "notifyViaEmail" : false,
          "priority" : "MEDIUM",
          "read" : false,
          "recipientType" : "ACCOUNT",
          "subject" : "Your Booking Confirmation",
          "type" : "MESSAGE",
          "userIdentifier" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
          "version" : 3
        },
        "properties" : {
          "body" : {
            "type" : "string",
            "description" : "Body of message",
            "example" : "Your booking at The Siam Residences for January 14-16, 2026 has been confirmed.",
            "minLength" : 1
          },
          "createdDate" : {
            "type" : [ "string", "null" ],
            "format" : "date-time",
            "description" : "Datetime this record was first created",
            "example" : "2026-01-14T09:30:00",
            "readOnly" : true
          },
          "ctaUrl" : {
            "type" : "string",
            "format" : "uri",
            "description" : "Call-to-action URL path to a related feature",
            "example" : "https://app.wink.travel/bookings/WNK4ZQ7P"
          },
          "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
          },
          "managingEntityIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Managing entity identifier",
            "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
          },
          "markedAsRemoved" : {
            "type" : "boolean",
            "description" : "Whether this notification has been soft-deleted",
            "example" : false
          },
          "messageTemplateId" : {
            "type" : "string",
            "description" : "Message template identifier",
            "example" : "welcome-email-2024",
            "minLength" : 1
          },
          "name" : {
            "type" : "string",
            "description" : "Owner name",
            "example" : "The Siam Residences, Bangkok"
          },
          "notifyViaEmail" : {
            "type" : "boolean",
            "description" : "Whether to also deliver this notification via email",
            "example" : false
          },
          "priority" : {
            "type" : "string",
            "description" : "Importance of message",
            "enum" : [ "HIGH", "MEDIUM", "LOW" ],
            "example" : "MEDIUM"
          },
          "read" : {
            "type" : "boolean",
            "description" : "Whether the recipient has read this notification",
            "example" : false
          },
          "recipientType" : {
            "type" : "string",
            "description" : "Recipient type",
            "enum" : [ "USER", "ACCOUNT" ],
            "example" : "ACCOUNT"
          },
          "subject" : {
            "type" : "string",
            "description" : "Subject of message",
            "example" : "Your Booking Confirmation",
            "minLength" : 1
          },
          "type" : {
            "type" : "string",
            "description" : "Message type",
            "enum" : [ "ALERT", "MESSAGE", "FEATURE" ],
            "example" : "MESSAGE"
          },
          "userIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Owner 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" : [ "body", "markedAsRemoved", "messageTemplateId", "notifyViaEmail", "priority", "read", "recipientType", "subject", "type", "userIdentifier" ]
      },
      "CountResponse_Authenticated_Entity" : {
        "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" ]
      },
      "BankAccount_Supplier" : {
        "type" : "object",
        "description" : "Managing entities use bank accounts to get paid.",
        "example" : {
          "accountHolderName" : "The Siam Residences",
          "accountNumber" : "DE89370400440532013000",
          "address" : {
            "address1" : "234 Near da beach",
            "address2" : "Pebble #5001",
            "city" : "Bangkok",
            "country" : "United States",
            "countryCode" : "TH",
            "county" : "Alameda county",
            "fullAddress" : "11 At home, Suite 3C, New York City, NY 10010, United States",
            "postalCode" : "90210",
            "state" : "CA"
          },
          "countryCode" : "TH",
          "currencyCode" : "USD",
          "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
          "revolutCounterpartyId" : "rpcid_bxn8f2eKgWqxP9T7mL",
          "routingNumber" : "021000021",
          "swiftCode" : "BKKATHBK"
        },
        "properties" : {
          "accountHolderName" : {
            "type" : "string",
            "description" : "Name of the bank account holder.",
            "example" : "The Siam Residences",
            "minLength" : 1
          },
          "accountNumber" : {
            "type" : "string",
            "description" : "Bank account number or IBAN. In all EU countries, this is the IBAN; in other countries, the routing number also applies.",
            "example" : "DE89370400440532013000",
            "minLength" : 1
          },
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress_Supplier",
            "description" : "Recipient bank account address. Optional; recommended by Revolut and required by some payout corridors."
          },
          "countryCode" : {
            "type" : "string",
            "description" : "ISO 3166-1 alpha-2 country code (e.g. US, GB, TH, JP).",
            "example" : "TH",
            "minLength" : 1,
            "pattern" : "^[A-Z]{2}$"
          },
          "currencyCode" : {
            "type" : "string",
            "description" : "ISO 4217 currency code (e.g. USD, EUR, THB).",
            "example" : "USD",
            "minLength" : 1,
            "pattern" : "^[A-Z]{3}$"
          },
          "identifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique bank account identifier",
            "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "minLength" : 1
          },
          "revolutCounterpartyId" : {
            "type" : [ "string", "null" ],
            "description" : "Revolut counterparty ID assigned after the first successful payout is initiated. Null until first Revolut payout.",
            "example" : "rpcid_bxn8f2eKgWqxP9T7mL"
          },
          "routingNumber" : {
            "type" : "string",
            "description" : "Bank account routing number (US), sort code (UK/HK), or Zengin code (JP).",
            "example" : "021000021"
          },
          "swiftCode" : {
            "type" : "string",
            "description" : "Bank SWIFT code (BIC), uniquely identifying the bank and branch.",
            "example" : "BKKATHBK"
          }
        },
        "required" : [ "accountHolderName", "accountNumber", "countryCode", "currencyCode", "identifier" ]
      },
      "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"
          }
        }
      },
      "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]$"
          }
        }
      },
      "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" ]
      },
      "ManagingEntityLightweight_Supplier" : {
        "type" : "object",
        "description" : "Lightweight projection of a managing entity, used by consumers outside the managing-entity module.",
        "example" : {
          "accountEmail" : "reservations@thesiamresidences.com",
          "currencyCode" : "THB",
          "id" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
          "name" : "The Siam Residences, Bangkok",
          "ownerIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
          "ownerType" : "COMPANY",
          "status" : "ACTIVE",
          "type" : "HOTEL",
          "uniqueId" : "siam-residences-bkk",
          "urlName" : "the-siam-residences-bangkok",
          "userIdentifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69"
        },
        "properties" : {
          "accountEmail" : {
            "type" : "string",
            "format" : "email",
            "description" : "Primary email address for account communications, KYC documents, and compliance notices.",
            "example" : "reservations@thesiamresidences.com",
            "minLength" : 1
          },
          "accountPhoneNumber" : {
            "type" : "string",
            "description" : "Primary phone number for KYC verification and account support.",
            "example" : "+66 2 126 8866"
          },
          "accounts" : {
            "type" : "array",
            "deprecated" : true,
            "items" : {
              "$ref" : "#/components/schemas/ManagingEntityAccount_Supplier"
            }
          },
          "address" : {
            "$ref" : "#/components/schemas/SimpleAddress_Supplier",
            "description" : "Account address. Usually the business address."
          },
          "bankAccounts" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/BankAccount_Supplier",
              "description" : "Bank accounts used for payouts."
            }
          },
          "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" : "ISO 4217 primary currency code for accounting and payouts.",
            "example" : "THB",
            "minLength" : 1
          },
          "description" : {
            "type" : "string",
            "description" : "Short description reflecting the entity's brand and positioning."
          },
          "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/registered name if different from display name.",
            "example" : "The Siam Residences"
          },
          "logo" : {
            "$ref" : "#/components/schemas/SimpleMultimedia_Supplier",
            "description" : "Entity logo."
          },
          "managedBy" : {
            "$ref" : "#/components/schemas/ManagedByEntity_Supplier",
            "description" : "If another company entity is managing this property on behalf of it, specified here."
          },
          "managers" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ManagingEntityManager_Supplier",
              "description" : "Users who can manage this entity and all sub-entities."
            }
          },
          "marketingOptinAllowed" : {
            "type" : "boolean",
            "description" : "Whether the managing entity has consented to have their logo and images used for Wink marketing."
          },
          "name" : {
            "type" : "string",
            "description" : "Display name of the managing entity.",
            "example" : "The Siam Residences",
            "minLength" : 1
          },
          "onlinePresence" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/OnlinePresence_Supplier",
              "description" : "Online presence of account."
            }
          },
          "owner" : {
            "$ref" : "#/components/schemas/ManagingEntityManager_Supplier"
          },
          "ownerIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "UUID of the application/owner that provisioned this record (typically Wink).",
            "example" : "9c2e7f1a-4b8d-4e3c-a5f6-2d9b1e0c7a43",
            "minLength" : 1
          },
          "ownerType" : {
            "type" : "string",
            "description" : "Owner type: INDIVIDUAL (sole proprietor) or COMPANY (corporate entity).",
            "enum" : [ "COMPANY", "INDIVIDUAL" ]
          },
          "placeId" : {
            "type" : "string",
            "description" : "Optional Google placeId for properties with a Google Business account."
          },
          "profilePicture" : {
            "$ref" : "#/components/schemas/SimpleMultimedia_Supplier",
            "description" : "Custom profile picture."
          },
          "revolutPayoutAccounts" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/RevolutPayoutAccount_Supplier",
              "description" : "Revolut revtag payout destinations."
            }
          },
          "status" : {
            "type" : "string",
            "description" : "Status of entity.",
            "enum" : [ "PENDING_APPROVAL", "ACTIVE", "INACTIVE", "UNDER_REVIEW", "SUSPENDED", "REJECTED", "REMOVED" ]
          },
          "travelAgent" : {
            "$ref" : "#/components/schemas/TravelAgent_Supplier",
            "description" : "Travel agent details."
          },
          "type" : {
            "type" : "string",
            "description" : "Entity type: HOTEL, APPLICATION, TRAVEL_AGENT, INFLUENCER, CORPORATE, DESTINATION, CHANNEL_MANAGER, 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" ]
          },
          "uniqueId" : {
            "type" : "string",
            "description" : "Human-friendly unique identifier (shorter than UUID, used in some public contexts).",
            "minLength" : 1
          },
          "url" : {
            "type" : "string",
            "format" : "uri",
            "description" : "Primary website or social media URL representing the entity.",
            "example" : "https://www.thesiamresidences.com"
          },
          "urlName" : {
            "type" : "string",
            "description" : "URL-friendly slug (kebab-case) uniquely identifying the entity in public profiles and links.",
            "minLength" : 1
          },
          "userIdentifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "UUID of the user who created/owns this managing entity.",
            "example" : "c3a9f2e1-8b4d-4c7a-a1e2-5f0b6d9e2c84",
            "minLength" : 1
          },
          "verified" : {
            "type" : "boolean"
          },
          "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" : [ "accountEmail", "city", "currencyCode", "name", "ownerIdentifier", "ownerType", "status", "type", "uniqueId", "urlName", "userIdentifier" ]
      },
      "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" ]
      },
      "OnlinePresence_Supplier" : {
        "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" ]
      },
      "RevolutPayoutAccount_Supplier" : {
        "type" : "object",
        "description" : "A Revolut payout destination for a managing entity, identified by revtag (Revolut username).",
        "example" : {
          "accountHolderName" : "The Siam Residences",
          "currencyCode" : "USD",
          "identifier" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
          "revolutCounterpartyId" : "rpcid_bxn8f2eKgWqxP9T7mL",
          "revtag" : "siamresidences"
        },
        "properties" : {
          "accountHolderName" : {
            "type" : "string",
            "description" : "Full legal name of the Revolut account holder (must match the Revolut profile name exactly).",
            "example" : "The Siam Residences",
            "minLength" : 1
          },
          "currencyCode" : {
            "type" : "string",
            "description" : "ISO 4217 currency code for payouts to this account (e.g. EUR, USD, GBP).",
            "example" : "USD",
            "minLength" : 1,
            "pattern" : "^[A-Z]{3}$"
          },
          "identifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Unique identifier for this payout destination.",
            "example" : "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
            "minLength" : 1
          },
          "profileType" : {
            "type" : "string",
            "description" : "Revolut profile type: PERSONAL (individual account) or BUSINESS (business/enterprise account).",
            "enum" : [ "personal", "business" ]
          },
          "revolutCounterpartyId" : {
            "type" : [ "string", "null" ],
            "description" : "Cached Revolut counterparty ID (assigned after first successful payout). Null only during initial creation before counterparty is established.",
            "example" : "rpcid_bxn8f2eKgWqxP9T7mL"
          },
          "revtag" : {
            "type" : "string",
            "description" : "Revolut username/tag (without the leading '@' symbol).",
            "example" : "siamresidences",
            "minLength" : 1
          }
        },
        "required" : [ "accountHolderName", "currencyCode", "identifier", "profileType", "revtag" ]
      },
      "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" ]
      },
      "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"
          }
        }
      },
      "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" ]
      },
      "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"
          }
        }
      },
      "ManagingEntityAccount_Supplier" : {
        "type" : "object",
        "description" : "A sub-account of a managing entity, representing one of its functional roles (affiliate, property, or payment).",
        "example" : {
          "identifier" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
          "type" : "PROPERTY"
        },
        "properties" : {
          "identifier" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "Entity ID should be the same as parent but can be different.",
            "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
            "minLength" : 1
          },
          "type" : {
            "type" : "string",
            "description" : "Type of entity (e.g. PROPERTY, AFFILIATE, PAYMENT).",
            "enum" : [ "AFFILIATE", "PROPERTY", "PAYMENT" ],
            "example" : "PROPERTY"
          }
        },
        "required" : [ "identifier", "type" ]
      },
      "TravelAgent_Supplier" : {
        "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" ]
      },
      "ManagerInvite_ManagingEntity" : {
        "type" : "object",
        "description" : "Lightweight summary of a managing entity included in a manager invitation, giving the invitee context about the account they are being asked to join.",
        "example" : {
          "id" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
          "imageIdentifier" : "https://res.cloudinary.com/wink/image/upload/v1/property/the-siam-residences.jpg",
          "name" : "The Siam Residences"
        },
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "UUID of the managing entity the user has been invited to manage.",
            "example" : "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
            "minLength" : 1
          },
          "imageIdentifier" : {
            "type" : "string",
            "format" : "uri",
            "description" : "Cloudinary image identifier for the managing entity's logo or profile picture.",
            "example" : "https://res.cloudinary.com/wink/image/upload/v1/property/the-siam-residences.jpg"
          },
          "name" : {
            "type" : "string",
            "description" : "Display name of the managing entity.",
            "example" : "The Siam Residences",
            "minLength" : 1
          }
        },
        "required" : [ "id", "name" ]
      }
    },
    "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" : {
              "account.read" : "View your account settings.",
              "account.write" : "Create and update your account settings.",
              "account.remove" : "Delete your account settings."
            }
          }
        }
      }
    }
  }
}