{"openapi":"3.0.0","info":{"title":"hetras Hotel API Version 0","version":"v0","x-logo":{"url":"https://twitter.com/hetras/profile_image?size=original"},"x-origin":[{"format":"swagger","url":"https://developer.hetras.com/swagger/spec/HotelAPIv0.json","version":"2.0"}],"x-providerName":"hetras-certification.net","x-serviceName":"hotel"},"paths":{"/api/hotel/v0/hotels":{"get":{"deprecated":false,"description":"Load the details about all the hotels your application has access to.","operationId":"Hotels_GetHotels","parameters":[{"description":"Application identifier","in":"header","name":"App-Id","required":true,"x-data-threescale-name":"app_ids","schema":{"type":"string"}},{"description":"Application key.","in":"header","name":"App-Key","required":true,"x-data-threescale-name":"app_keys","schema":{"type":"string"}}],"responses":{"200":{"description":"A list of hotels.","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Hotel"},"type":"array"}},"text/json":{"schema":{"items":{"$ref":"#/components/schemas/Hotel"},"type":"array"}}}},"204":{"description":"You don´t have access to any hotels."},"401":{"description":"You provided wrong credentials, or you reached your API limit."},"403":{"description":"The application does not have access to the requested resource."},"404":{"description":"Not Found. The server has not found anything matching the Request-URI."},"500":{"description":"We caught an unexpected error on our side. Please report with providing the Hetras-Tracking-Id from the response headers and we will check the logfiles."},"503":{"description":"The server is currently unavailable. Please try later."}},"summary":"Get a list of all the hotels of a chain your application has access to.","tags":["Hotels"]}},"/api/hotel/v0/hotels/{hotelId}":{"get":{"deprecated":false,"description":"Load the details about the specified hotel.","operationId":"Hotels_GetHotel","parameters":[{"description":"Application identifier","in":"header","name":"App-Id","required":true,"x-data-threescale-name":"app_ids","schema":{"type":"string"}},{"description":"Application key.","in":"header","name":"App-Key","required":true,"x-data-threescale-name":"app_keys","schema":{"type":"string"}},{"in":"path","name":"hotelId","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"The details about the hotel.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Hotel"}},"text/json":{"schema":{"$ref":"#/components/schemas/Hotel"}}}},"401":{"description":"You provided wrong credentials, or you reached your API limit."},"403":{"description":"The application does not have access to the requested resource."},"404":{"description":"Not Found. The server has not found anything matching the Request-URI."},"500":{"description":"We caught an unexpected error on our side. Please report with providing the Hetras-Tracking-Id from the response headers and we will check the logfiles."},"503":{"description":"The server is currently unavailable. Please try later."}},"summary":"Get the details of the hotel with the speccified hotel id.","tags":["Hotels"]}},"/api/hotel/v0/hotels/{hotelId}/codes":{"get":{"deprecated":false,"description":"With this call you can find codes for a hotel by type or code. By default and without any filter criteria\r\n            defined it will return you all available codes.","operationId":"Codes_GetCodes","parameters":[{"description":"Application identifier","in":"header","name":"App-Id","required":true,"x-data-threescale-name":"app_ids","schema":{"type":"string"}},{"description":"Application key.","in":"header","name":"App-Key","required":true,"x-data-threescale-name":"app_keys","schema":{"type":"string"}},{"description":"The hotel id you are trying to find codes for.","in":"path","name":"hotelId","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"Return all results matching the specified code. A code is unique in combination with the type\r\n            which means when you query for a code you could get multiple results each for a different type","in":"query","name":"code","required":false,"schema":{"type":"string"}},{"description":"Return all codes for the specified type","in":"query","name":"type","required":false,"schema":{"type":"string","enum":["GuestRequest","RequestDietary","VIPStatus","ReasonForRateChange","Regrets","MarketSegments","SourceOfBusiness","LoyaltyProgram","CancellationReason","AccountType","AccountRank","VIPLevel","Title","ContactFunction","Territory","CorrespondenceType","ExternalProgramType","RevenueBucket","AdditionalRevenueBucket","AdditionalStatisticsBuckets","MealPeriod","BillingCycle","ReminderCycle","MajorMarketSegments","DocumentType","ActivityType","ReservationLabels"]}}],"responses":{"200":{"description":"A list of codes for a requested hotel matching the filter criteria.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CodesListResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/CodesListResponse"}}}},"204":{"description":"There are no codes found for the given filtering criteria."},"401":{"description":"You provided wrong credentials, or you reached your API limit."},"403":{"description":"The application does not have access to the requested resource."},"404":{"description":"Not Found. The server has not found anything matching the Request-URI."},"422":{"description":"The request failed to validate."},"500":{"description":"We caught an unexpected error on our side. Please report with providing the Hetras-Tracking-Id from the response headers and we will check the logfiles."},"503":{"description":"The server is currently unavailable. Please try later."}},"summary":"Get a list of codes for the specified hotel either filtered by type or code.","tags":["Codes"]}},"/api/hotel/v0/hotels/{hotelId}/codes/{id}":{"get":{"deprecated":false,"description":"Read the details about a specific code available for the defined hotel.","operationId":"Codes_GetCode","parameters":[{"description":"Application identifier","in":"header","name":"App-Id","required":true,"x-data-threescale-name":"app_ids","schema":{"type":"string"}},{"description":"Application key.","in":"header","name":"App-Key","required":true,"x-data-threescale-name":"app_keys","schema":{"type":"string"}},{"description":"The hotel id the code available for.","in":"path","name":"hotelId","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"The code identifier you want to see details for.","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Details for the given code and hotel.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CodeFullEntry"}},"text/json":{"schema":{"$ref":"#/components/schemas/CodeFullEntry"}}}},"401":{"description":"You provided wrong credentials, or you reached your API limit."},"403":{"description":"The application does not have access to the requested resource."},"404":{"description":"Not Found. The server has not found anything matching the Request-URI or the requested rateplan could not be found."},"422":{"description":"The request failed to validate."},"500":{"description":"We caught an unexpected error on our side. Please report with providing the Hetras-Tracking-Id from the response headers and we will check the logfiles."},"503":{"description":"The server is currently unavailable. Please try later."}},"summary":"Get all the details for a specific code available for the hotel.","tags":["Codes"]}},"/api/hotel/v0/hotels/{hotelId}/rateplans":{"get":{"deprecated":false,"description":"With this call you can find rateplans for a hotel by different filters. By default and without any filter criteria\r\n            defined it will return you all active rateplans.","operationId":"RatePlans_GetRateplans","parameters":[{"description":"Application identifier","in":"header","name":"App-Id","required":true,"x-data-threescale-name":"app_ids","schema":{"type":"string"}},{"description":"Application key.","in":"header","name":"App-Key","required":true,"x-data-threescale-name":"app_keys","schema":{"type":"string"}},{"description":"The hotel id you are trying to find rateplans for.","in":"path","name":"hotelId","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"Specify which rateplans to return. If you do not specify a value you will by default get active\r\n            rateplans.","in":"query","name":"sellingStatus","required":false,"schema":{"type":"string","enum":["Active","Inactive","All"]}},{"description":"Return all rateplans having commisionable status","in":"query","name":"commissionable","required":false,"schema":{"type":"boolean"}},{"description":"Return all rateplans belonging to the specified rateplan group","in":"query","name":"group","required":false,"schema":{"type":"string"}},{"description":"Return all rateplans having the specified rateplan as base rateplan","in":"query","name":"baseRateplan","required":false,"schema":{"type":"string"}},{"description":"Return all rateplans that are sold through at least one channel out of the specified channel group","in":"query","name":"channelGroup","required":false,"schema":{"type":"string"}},{"description":"Return all rateplans sold through the specified channel","in":"query","name":"channelCode","required":false,"schema":{"type":"string"}},{"description":"Return all rateplans having one of the specified values as a market code","in":"query","name":"marketCodes","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"description":"Return all rateplans by which at least one of the specified room types are sold","in":"query","name":"roomTypes","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"description":"Return all rateplans having at least one of the specified services included","in":"query","name":"includedServices","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"description":"Amount of items to skip.","in":"query","name":"skip","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Amount of items to select.","in":"query","name":"top","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Return total number of items for a given filter criteria.","in":"query","name":"inlinecount","required":false,"schema":{"type":"string","enum":["None","AllPages"]}}],"responses":{"200":{"description":"A list of rateplans for a requested hotel matching the filter criteria.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateplansListResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/RateplansListResponse"}}}},"204":{"description":"There are no rateplans found for the given filtering and pagination criteria."},"401":{"description":"You provided wrong credentials, or you reached your API limit."},"403":{"description":"The application does not have access to the requested resource."},"404":{"description":"Not Found. The server has not found anything matching the Request-URI."},"422":{"description":"The request failed to validate."},"500":{"description":"We caught an unexpected error on our side. Please report with providing the Hetras-Tracking-Id from the response headers and we will check the logfiles."},"503":{"description":"The server is currently unavailable. Please try later."}},"summary":"Get a list of rateplans for the specified hotel id matching the filter criteria.","tags":["RatePlans"]}},"/api/hotel/v0/hotels/{hotelId}/rateplans/$count":{"get":{"deprecated":false,"operationId":"RatePlans_GetRateplansCount","parameters":[{"description":"Application identifier","in":"header","name":"App-Id","required":true,"x-data-threescale-name":"app_ids","schema":{"type":"string"}},{"description":"Application key.","in":"header","name":"App-Key","required":true,"x-data-threescale-name":"app_keys","schema":{"type":"string"}},{"description":"The hotel you are counting the rateplans for.","in":"path","name":"hotelId","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"Specify which rateplans to return. If you do not specify a value you will by default get active\r\n            rateplans.","in":"query","name":"sellingStatus","required":false,"schema":{"type":"string","enum":["Active","Inactive","All"]}},{"description":"Return all rateplans having commisionable status","in":"query","name":"commissionable","required":false,"schema":{"type":"boolean"}},{"description":"Return all rateplans belonging to the specified rateplan group","in":"query","name":"group","required":false,"schema":{"type":"string"}},{"description":"Return all rateplans having the specified rateplan as base rateplan","in":"query","name":"baseRateplan","required":false,"schema":{"type":"string"}},{"description":"Return all rateplans that are sold through at least one channel out of the specified channel group","in":"query","name":"channelGroup","required":false,"schema":{"type":"string"}},{"description":"Return all rateplans sold through the specified channel","in":"query","name":"channelCode","required":false,"schema":{"type":"string"}},{"description":"Return all rateplans having one of the specified values as a market code","in":"query","name":"marketCodes","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"description":"Return all rateplans by which at least one of the specified room types are sold","in":"query","name":"roomTypes","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"description":"Return all rateplans having at least one of the specified services included","in":"query","name":"includedServices","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The rateplans count in the hotel matching the given filter criteria.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TotalCountResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/TotalCountResponse"}}}},"401":{"description":"You provided wrong credentials, or you reached your API limit."},"403":{"description":"The application does not have access to the requested resource."},"404":{"description":"Not Found. The server has not found anything matching the Request-URI."},"422":{"description":"The request failed to validate."},"500":{"description":"We caught an unexpected error on our side. Please report with providing the Hetras-Tracking-Id from the response headers and we will check the logfiles."},"503":{"description":"The server is currently unavailable. Please try later."}},"summary":"Get the count of all rateplans in the hotel matching the given filter criteria.","tags":["RatePlans"]}},"/api/hotel/v0/hotels/{hotelId}/rateplans/batch/$rates":{"put":{"deprecated":false,"description":"Currently this call only allows to set the base price for non-derived rateplans if the rateplan\r\n            is active and already loaded for the specified time period.\r\n            <br /><br />\r\n            A request example:<br /><pre>\r\n            [\r\n              {\r\n                \"rateplan\": \"STDN01\", \"from\": \"2018-01-01\", \"to\": \"2018-01-30\", \"base_price\": 120.00\r\n              }\r\n            ]\r\n            </pre><br />\r\n            For more details on how the API responds to errors please check our documentation on \r\n            <a href=\"https://developer.hetras.com/docs/errors/\" onfocus=\"this.blur()\">Error Handling</a>.<br />","operationId":"RatePlans_BatchUpdateRates","parameters":[{"description":"Application identifier","in":"header","name":"App-Id","required":true,"x-data-threescale-name":"app_ids","schema":{"type":"string"}},{"description":"Application key.","in":"header","name":"App-Key","required":true,"x-data-threescale-name":"app_keys","schema":{"type":"string"}},{"description":"The hotel id the rateplan belongs to.","in":"path","name":"hotelId","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/RatesBatchUpdateRequestItem"},"type":"array"}},"text/json":{"schema":{"items":{"$ref":"#/components/schemas/RatesBatchUpdateRequestItem"},"type":"array"}}},"required":true},"responses":{"200":{"description":"The update was successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Object"}},"text/json":{"schema":{"$ref":"#/components/schemas/Object"}}}},"400":{"description":"Bad request. Request body erroneous."},"401":{"description":"You provided wrong credentials, or you reached your API limit."},"403":{"description":"The application does not have access to the requested resource."},"404":{"description":"Not Found. The server has not found anything matching the Request-URI."},"422":{"description":"The request failed to validate."},"500":{"description":"We caught an unexpected error on our side. Please report with providing the Hetras-Tracking-Id from the response headers and we will check the logfiles."},"503":{"description":"The server is currently unavailable. Please try later."}},"summary":"Update a list of base rateplans for a given period and a given base price for single occupancy.","tags":["RatePlans"]}},"/api/hotel/v0/hotels/{hotelId}/rateplans/{rateplanCode}":{"get":{"deprecated":false,"description":"Read the details about a specific rateplan for the defined hotel.","operationId":"RatePlans_GetRateplan","parameters":[{"description":"Application identifier","in":"header","name":"App-Id","required":true,"x-data-threescale-name":"app_ids","schema":{"type":"string"}},{"description":"Application key.","in":"header","name":"App-Key","required":true,"x-data-threescale-name":"app_keys","schema":{"type":"string"}},{"description":"The hotel id the rateplan belongs to.","in":"path","name":"hotelId","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"The code of the rateplan you want to see details for.","in":"path","name":"rateplanCode","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Rateplan details for the given rateplan and hotel.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtendedRateplanEntry"}},"text/json":{"schema":{"$ref":"#/components/schemas/ExtendedRateplanEntry"}}}},"401":{"description":"You provided wrong credentials, or you reached your API limit."},"403":{"description":"The application does not have access to the requested resource."},"404":{"description":"Not Found. The server has not found anything matching the Request-URI or the requested rateplan could not be found."},"422":{"description":"The request failed to validate."},"500":{"description":"We caught an unexpected error on our side. Please report with providing the Hetras-Tracking-Id from the response headers and we will check the logfiles."},"503":{"description":"The server is currently unavailable. Please try later."}},"summary":"Get all the details for a specific rateplan in the hotel.","tags":["RatePlans"]}},"/api/hotel/v0/hotels/{hotelId}/rateplans/{rateplanCode}/rates":{"get":{"deprecated":false,"description":"With this call you can read the daily rates setup including the cancellation policy and minimum guarantee per day for the\r\n            specified rateplan. You can specify a timeperiod to read the daily rates for. The rateplan needs to be active for at least\r\n            one business day in the defined time period and have rates loaded.","operationId":"RatePlans_GetRates","parameters":[{"description":"Application identifier","in":"header","name":"App-Id","required":true,"x-data-threescale-name":"app_ids","schema":{"type":"string"}},{"description":"Application key.","in":"header","name":"App-Key","required":true,"x-data-threescale-name":"app_keys","schema":{"type":"string"}},{"description":"The hotel id the rateplan belongs to.","in":"path","name":"hotelId","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"The code of the rateplan you want to see details for.","in":"path","name":"rateplanCode","required":true,"schema":{"type":"string"}},{"description":"You can expand the supplements per room type on demand. By default they are not shown.","in":"query","name":"expand","required":false,"schema":{"type":"string","enum":["RoomTypeSupplements"]}},{"description":"Defines the last business day you would like to get rates for. The maximum time span between <i>from</i>´and <i>to</i>\r\n            is limited to 365 days.","in":"query","name":"from","required":true,"schema":{"type":"string","format":"date-time"}},{"description":"Defines the first business day you would like to get rates for.","in":"query","name":"to","required":true,"schema":{"type":"string","format":"date-time"}},{"description":"Amount of items to skip.","in":"query","name":"skip","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Amount of items to select.","in":"query","name":"top","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Return total number of items for a given filter criteria.","in":"query","name":"inlinecount","required":false,"schema":{"type":"string","enum":["None","AllPages"]}}],"responses":{"200":{"description":"List of daily rates within the specified time preiod.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RatesResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/RatesResponse"}}}},"204":{"description":"The rateplan does not have any active date or is not loaded within the defined time period."},"401":{"description":"You provided wrong credentials, or you reached your API limit."},"403":{"description":"The application does not have access to the requested resource."},"404":{"description":"Not Found. The server has not found anything matching the Request-URI or the requested rateplan could not be found."},"422":{"description":"The request failed to validate."},"500":{"description":"We caught an unexpected error on our side. Please report with providing the Hetras-Tracking-Id from the response headers and we will check the logfiles."},"503":{"description":"The server is currently unavailable. Please try later."}},"summary":"Get the setup of the daily rates for a specific rateplan and a defined timeperiod.","tags":["RatePlans"]},"patch":{"deprecated":false,"description":"The hetras API is using this <a href=\"https://developer.hetras.com/docs/patch\" onfocus=\"this.blur()\" target=\"_blank\">Patch Specification</a>\r\n            to partially update an existing resource. Currently this call only allows to set the base price for non-derived rateplans if the rateplan\r\n            is active and already loaded for the specified time period.\r\n            <br /><br />\r\n            A request example:<br /><pre>\r\n            [\r\n              {\r\n                \"op\": \"replace\", \"path\": \"/base_price\", \"value\": 120.00\r\n              }\r\n            ]\r\n            </pre><br />\r\n            For more details on how the API responds to errors please check our documentation on \r\n            <a href=\"https://developer.hetras.com/docs/errors/\" onfocus=\"this.blur()\">Error Handling</a>.<br />","operationId":"RatePlans_PatchRates","parameters":[{"description":"Application identifier","in":"header","name":"App-Id","required":true,"x-data-threescale-name":"app_ids","schema":{"type":"string"}},{"description":"Application key.","in":"header","name":"App-Key","required":true,"x-data-threescale-name":"app_keys","schema":{"type":"string"}},{"description":"The hotel id the rateplan belongs to.","in":"path","name":"hotelId","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"The code of the rateplan you want to update the daily rate details for.","in":"path","name":"rateplanCode","required":true,"schema":{"type":"string"}},{"description":"Defines the last business day you would like to get rates for. The maximum time span between <i>from</i>´and <i>to</i>\r\n            is limited to 365 days.","in":"query","name":"from","required":true,"schema":{"type":"string","format":"date-time"}},{"description":"Defines the first business day you would like to get rates for.","in":"query","name":"to","required":true,"schema":{"type":"string","format":"date-time"}}],"requestBody":{"$ref":"#/components/requestBodies/JsonPatchDocument_RatePatchRequest_"},"responses":{"200":{"description":"The update was successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Object"}},"text/json":{"schema":{"$ref":"#/components/schemas/Object"}}}},"400":{"description":"Bad request. Request body erroneous."},"401":{"description":"You provided wrong credentials, or you reached your API limit."},"403":{"description":"The application does not have access to the requested resource."},"404":{"description":"Not Found. The server has not found anything matching the Request-URI."},"422":{"description":"The request failed to validate."},"500":{"description":"We caught an unexpected error on our side. Please report with providing the Hetras-Tracking-Id from the response headers and we will check the logfiles."},"503":{"description":"The server is currently unavailable. Please try later."}},"summary":"Partially update a rate of the specified rateplan for the defined time period.","tags":["RatePlans"]}},"/api/hotel/v0/hotels/{hotelId}/rateplans/{rateplanCode}/rates/$count":{"get":{"deprecated":false,"operationId":"RatePlans_GetRatesCount","parameters":[{"description":"Application identifier","in":"header","name":"App-Id","required":true,"x-data-threescale-name":"app_ids","schema":{"type":"string"}},{"description":"Application key.","in":"header","name":"App-Key","required":true,"x-data-threescale-name":"app_keys","schema":{"type":"string"}},{"description":"The hotel id the rateplan belongs to.","in":"path","name":"hotelId","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"The code of the rateplan you want to count daily rates for.","in":"path","name":"rateplanCode","required":true,"schema":{"type":"string"}},{"description":"Defines the last business day you would like to get rates for. The maximum time span between <i>from</i>´and <i>to</i>\r\n            is limited to 365 days.","in":"query","name":"from","required":true,"schema":{"type":"string","format":"date-time"}},{"description":"Defines the first business day you would like to get rates for.","in":"query","name":"to","required":true,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"The count of daily rates for the specified time period.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TotalCountResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/TotalCountResponse"}}}},"401":{"description":"You provided wrong credentials, or you reached your API limit."},"403":{"description":"The application does not have access to the requested resource."},"404":{"description":"Not Found. The server has not found anything matching the Request-URI or the requested room could not be found."},"422":{"description":"The request failed to validate."},"500":{"description":"We caught an unexpected error on our side. Please report with providing the Hetras-Tracking-Id from the response headers and we will check the logfiles."},"503":{"description":"The server is currently unavailable. Please try later."}},"summary":"Get the count of all active and loaded daily rates for the defined rateplan in a specified time period.","tags":["RatePlans"]}},"/api/hotel/v0/hotels/{hotelId}/rateplans/{rateplanCode}/rates/{businessDay}":{"get":{"deprecated":false,"description":"Read the setup of the daily rate for the defined rateplan for that specific business day.","operationId":"RatePlans_GetRate","parameters":[{"description":"Application identifier","in":"header","name":"App-Id","required":true,"x-data-threescale-name":"app_ids","schema":{"type":"string"}},{"description":"Application key.","in":"header","name":"App-Key","required":true,"x-data-threescale-name":"app_keys","schema":{"type":"string"}},{"description":"The hotel id the rateplan belongs to.","in":"path","name":"hotelId","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"The code of the rateplan you want to see details for.","in":"path","name":"rateplanCode","required":true,"schema":{"type":"string"}},{"description":"The business day you want to get the rate setup for.","in":"path","name":"businessDay","required":true,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"Daily rate with room type supplements for the specified rateplan and business day.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/RateResponse"}}}},"401":{"description":"You provided wrong credentials, or you reached your API limit."},"403":{"description":"The application does not have access to the requested resource."},"404":{"description":"Not Found. The server has not found anything matching the Request-URI or the requested\r\n            rateplan could not be found or the rate is inactive on this business day."},"422":{"description":"The request failed to validate."},"500":{"description":"We caught an unexpected error on our side. Please report with providing the Hetras-Tracking-Id from the response headers and we will check the logfiles."},"503":{"description":"The server is currently unavailable. Please try later."}},"summary":"Get the setup of a daily rate for a specific business day and rateplan.","tags":["RatePlans"]},"patch":{"deprecated":false,"description":"The hetras API is using this <a href=\"https://developer.hetras.com/docs/patch\" onfocus=\"this.blur()\" target=\"_blank\">Patch Specification</a>\r\n            to partially update an existing resource. Currently this call only allows to set the base price for non-derived rateplans if the rateplan\r\n            is active and already loaded for the specified business day.\r\n            <br /><br />\r\n            A request example:<br /><pre>\r\n            [\r\n              {\r\n                \"op\": \"replace\", \"path\": \"/base_price\", \"value\": 120.00\r\n              }\r\n            ]\r\n            </pre><br />\r\n            For more details on how the API responds to errors please check our documentation on \r\n            <a href=\"https://developer.hetras.com/docs/errors/\" onfocus=\"this.blur()\">Error Handling</a>.<br />","operationId":"RatePlans_PatchRate","parameters":[{"description":"Application identifier","in":"header","name":"App-Id","required":true,"x-data-threescale-name":"app_ids","schema":{"type":"string"}},{"description":"Application key.","in":"header","name":"App-Key","required":true,"x-data-threescale-name":"app_keys","schema":{"type":"string"}},{"description":"The hotel id the rateplan belongs to.","in":"path","name":"hotelId","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"The code of the rateplan you want to update the daily rate details for.","in":"path","name":"rateplanCode","required":true,"schema":{"type":"string"}},{"description":"The business day of the daily rate you want to update.","in":"path","name":"businessDay","required":true,"schema":{"type":"string","format":"date-time"}}],"requestBody":{"$ref":"#/components/requestBodies/JsonPatchDocument_RatePatchRequest_"},"responses":{"200":{"description":"The update was successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Object"}},"text/json":{"schema":{"$ref":"#/components/schemas/Object"}}}},"400":{"description":"Bad request. Request body erroneous."},"401":{"description":"You provided wrong credentials, or you reached your API limit."},"403":{"description":"The application does not have access to the requested resource."},"404":{"description":"Not Found. The server has not found anything matching the Request-URI."},"422":{"description":"The request failed to validate."},"500":{"description":"We caught an unexpected error on our side. Please report with providing the Hetras-Tracking-Id from the response headers and we will check the logfiles."},"503":{"description":"The server is currently unavailable. Please try later."}},"summary":"Partially update a rate of the specified rateplan for a defined business day.","tags":["RatePlans"]}},"/api/hotel/v0/hotels/{hotelId}/room_types":{"get":{"deprecated":false,"description":"With this call you can load the details about a all available room types for the specified hotel.","operationId":"RoomTypes_GetRoomTypes","parameters":[{"description":"Application identifier","in":"header","name":"App-Id","required":true,"x-data-threescale-name":"app_ids","schema":{"type":"string"}},{"description":"Application key.","in":"header","name":"App-Key","required":true,"x-data-threescale-name":"app_keys","schema":{"type":"string"}},{"description":"The hotel id the room type belongs to.","in":"path","name":"hotelId","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"A list of room types for the given hotel.","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/RoomType"},"type":"array"}},"text/json":{"schema":{"items":{"$ref":"#/components/schemas/RoomType"},"type":"array"}}}},"401":{"description":"You provided wrong credentials, or you reached your API limit."},"403":{"description":"The application does not have access to the requested resource."},"404":{"description":"Not Found. The server has not found anything matching the Request-URI or the requested room could not be found."},"500":{"description":"We caught an unexpected error on our side. Please report with providing the Hetras-Tracking-Id from the response headers and we will check the logfiles."},"503":{"description":"The server is currently unavailable. Please try later."}},"summary":"Get a list with the details of all room types for for the specified hotel id.","tags":["RoomTypes"]}},"/api/hotel/v0/hotels/{hotelId}/room_types/{code}":{"get":{"deprecated":false,"description":"With this call you can load the details about a specific room type in the hotel.","operationId":"RoomTypes_GetRoomType","parameters":[{"description":"Application identifier","in":"header","name":"App-Id","required":true,"x-data-threescale-name":"app_ids","schema":{"type":"string"}},{"description":"Application key.","in":"header","name":"App-Key","required":true,"x-data-threescale-name":"app_keys","schema":{"type":"string"}},{"description":"The hotel id the room type belongs to.","in":"path","name":"hotelId","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"The code of the room type you want to see details for.","in":"path","name":"code","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Room type details for the given room and hotel.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoomType"}},"text/json":{"schema":{"$ref":"#/components/schemas/RoomType"}}}},"401":{"description":"You provided wrong credentials, or you reached your API limit."},"403":{"description":"The application does not have access to the requested resource."},"404":{"description":"Not Found. The server has not found anything matching the Request-URI or the requested room could not be found."},"500":{"description":"We caught an unexpected error on our side. Please report with providing the Hetras-Tracking-Id from the response headers and we will check the logfiles."},"503":{"description":"The server is currently unavailable. Please try later."}},"summary":"Get all the details for a specific room type in the hotel.","tags":["RoomTypes"]}},"/api/hotel/v0/hotels/{hotelId}/rooms":{"get":{"deprecated":false,"description":"Find all rooms for the hotel that match the specified filter criteria. The filtering will be done based on the current state of\r\n            the rooms.","operationId":"Rooms_GetRooms","parameters":[{"description":"Application identifier","in":"header","name":"App-Id","required":true,"x-data-threescale-name":"app_ids","schema":{"type":"string"}},{"description":"Application key.","in":"header","name":"App-Key","required":true,"x-data-threescale-name":"app_keys","schema":{"type":"string"}},{"description":"The hotel you are trying to find rooms for.","in":"path","name":"hotelId","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"Return results only for rooms that have the given frontdesk ocuppancy status.","in":"query","name":"occupancy","required":false,"schema":{"type":"string","enum":["Occupied","Vacant"]}},{"description":"Return results only for rooms that have the given room condition status.","in":"query","name":"conditions","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"enum":["CleanNotInspected","Clean","Dirty"],"type":"string"}}},{"description":"Return results only for rooms that have the given maintenance status.","in":"query","name":"maintenances","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"enum":["NotSet","None","OutOfInventory","OutOfOrder","OutOfService"],"type":"string"}}},{"description":"Return result only for rooms for the given room types. Allows to pass a comma-separated list of room types.","in":"query","name":"roomTypes","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"description":"Return result only for rooms having all of the given amenities. You can provide a comma seperated list of \r\n            amenity codes.","in":"query","name":"amenities","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"description":"Return result only for rooms having at least one of the specified views. You can provide a comma seperated list of \r\n            view codes.","in":"query","name":"views","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"description":"Return result only for rooms having at least one of the specified locations. You can provide a comma seperated list of \r\n            location codes.","in":"query","name":"locations","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"description":"Amount of items to skip.","in":"query","name":"skip","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Amount of items to select.","in":"query","name":"top","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Return total number of items for a given filter criteria.","in":"query","name":"inlinecount","required":false,"schema":{"type":"string","enum":["None","AllPages"]}}],"responses":{"200":{"description":"A list of rooms for the hotel based on the set filter criteria.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoomListResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/RoomListResponse"}}}},"204":{"description":"There are no rooms found for the given filtering and pagination criteria."},"401":{"description":"You provided wrong credentials, or you reached your API limit."},"403":{"description":"The application does not have access to the requested resource."},"404":{"description":"Not Found. The server has not found anything matching the Request-URI or the requested room could not be found."},"422":{"description":"The request failed to validate."},"500":{"description":"We caught an unexpected error on our side. Please report with providing the Hetras-Tracking-Id from the response headers and we will check the logfiles."},"503":{"description":"The server is currently unavailable. Please try later."}},"summary":"Get a list of rooms using the provided filtering and pagination criteria.","tags":["Rooms"]}},"/api/hotel/v0/hotels/{hotelId}/rooms/$count":{"get":{"deprecated":false,"operationId":"Rooms_GetRoomsCount","parameters":[{"description":"Application identifier","in":"header","name":"App-Id","required":true,"x-data-threescale-name":"app_ids","schema":{"type":"string"}},{"description":"Application key.","in":"header","name":"App-Key","required":true,"x-data-threescale-name":"app_keys","schema":{"type":"string"}},{"description":"The hotel you are counting the rooms for.","in":"path","name":"hotelId","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"Return results only for rooms that have the given frontdesk ocuppancy status.","in":"query","name":"occupancy","required":false,"schema":{"type":"string","enum":["Occupied","Vacant"]}},{"description":"Return results only for rooms that have the given room condition status.","in":"query","name":"conditions","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"enum":["CleanNotInspected","Clean","Dirty"],"type":"string"}}},{"description":"Return results only for rooms that have the given maintenance status.","in":"query","name":"maintenances","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"enum":["NotSet","None","OutOfInventory","OutOfOrder","OutOfService"],"type":"string"}}},{"description":"Return result only for rooms for the given room types. Allows to pass a comma-separated list of room types.","in":"query","name":"roomTypes","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"description":"Return result only for rooms having all of the given amenities. You can provide a comma seperated list of \r\n            amenity codes.","in":"query","name":"amenities","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"description":"Return result only for rooms having at least one of the specified views. You can provide a comma seperated list of \r\n            view codes.","in":"query","name":"views","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"description":"Return result only for rooms having at least one of the specified locations. You can provide a comma seperated list of \r\n            location codes.","in":"query","name":"locations","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"The room count in the hotel matching the given filter criteria.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TotalCountResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/TotalCountResponse"}}}},"401":{"description":"You provided wrong credentials, or you reached your API limit."},"403":{"description":"The application does not have access to the requested resource."},"404":{"description":"Not Found. The server has not found anything matching the Request-URI or the requested room could not be found."},"422":{"description":"The request failed to validate."},"500":{"description":"We caught an unexpected error on our side. Please report with providing the Hetras-Tracking-Id from the response headers and we will check the logfiles."},"503":{"description":"The server is currently unavailable. Please try later."}},"summary":"Get the count of all rooms in the hotel matching the given filter criteria.","tags":["Rooms"]}},"/api/hotel/v0/hotels/{hotelId}/rooms/available":{"get":{"deprecated":false,"operationId":"Rooms_GetAvailableRooms","parameters":[{"description":"Application identifier","in":"header","name":"App-Id","required":true,"x-data-threescale-name":"app_ids","schema":{"type":"string"}},{"description":"Application key.","in":"header","name":"App-Key","required":true,"x-data-threescale-name":"app_keys","schema":{"type":"string"}},{"description":"The hotel you are looking for available rooms.","in":"path","name":"hotelId","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"Rooms returned will not be assigned to a reservation or be under maintenance between this date\r\n            and the specified to date. Still there could be departing reservations or ending maintenances\r\n            for this date.","in":"query","name":"from","required":true,"schema":{"type":"string","format":"date-time"}},{"description":"Rooms returned will not be assigned to a reservation or be under maintenance between the specified\r\n            from date and this date. Still there could be arriving reservations or beginning maintenances\r\n            for this date.","in":"query","name":"to","required":true,"schema":{"type":"string","format":"date-time"}},{"description":"Specifies number of adults the returned rooms will have to be able to house. The default value is 1.","in":"query","name":"adults","required":false,"schema":{"type":"string","format":"byte"}},{"description":"Should rooms that are set OutOfService in the defined time period be returned as available. By default\r\n            they are not.","in":"query","name":"includeOutOfService","required":false,"schema":{"type":"boolean"}},{"description":"Return result only for rooms for the given room types. Allows to pass a comma-separated list of room types.","in":"query","name":"roomTypes","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"description":"Return result only for rooms having all of the given amenities. You can provide a comma seperated list of \r\n            amenity codes.","in":"query","name":"amenities","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"description":"Return result only for rooms having at least one of the specified views. You can provide a comma seperated list of \r\n            view codes.","in":"query","name":"views","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"description":"Return result only for rooms having at least one of the specified locations. You can provide a comma seperated list of \r\n            location codes.","in":"query","name":"locations","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"description":"Amount of items to skip.","in":"query","name":"skip","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Amount of items to select.","in":"query","name":"top","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Return total number of items for a given filter criteria.","in":"query","name":"inlinecount","required":false,"schema":{"type":"string","enum":["None","AllPages"]}}],"responses":{"200":{"description":"A list of available rooms in the specified time period.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoomListResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/RoomListResponse"}}}},"204":{"description":"There are no available rooms found for the given criteria."},"401":{"description":"You provided wrong credentials, or you reached your API limit."},"403":{"description":"The application does not have access to the requested resource."},"404":{"description":"Not Found. The server has not found anything matching the Request-URI or the requested room could not be found."},"422":{"description":"The request failed to validate."},"500":{"description":"We caught an unexpected error on our side. Please report with providing the Hetras-Tracking-Id from the response headers and we will check the logfiles."},"503":{"description":"The server is currently unavailable. Please try later."}},"summary":"Request available rooms using a given criteria.","tags":["Rooms"]}},"/api/hotel/v0/hotels/{hotelId}/rooms/{roomNumber}":{"get":{"deprecated":false,"description":"With this call you can load the details about a specific room in the hotel. It will show you the current status of the room.","operationId":"Rooms_GetRoom","parameters":[{"description":"Application identifier","in":"header","name":"App-Id","required":true,"x-data-threescale-name":"app_ids","schema":{"type":"string"}},{"description":"Application key.","in":"header","name":"App-Key","required":true,"x-data-threescale-name":"app_keys","schema":{"type":"string"}},{"description":"The hotel id the room belongs to.","in":"path","name":"hotelId","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"The room number you want to see details for.","in":"path","name":"roomNumber","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Room details for the given room and hotel.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Room"}},"text/json":{"schema":{"$ref":"#/components/schemas/Room"}}}},"401":{"description":"You provided wrong credentials, or you reached your API limit."},"403":{"description":"The application does not have access to the requested resource."},"404":{"description":"Not Found. The server has not found anything matching the Request-URI or the requested room could not be found."},"500":{"description":"We caught an unexpected error on our side. Please report with providing the Hetras-Tracking-Id from the response headers and we will check the logfiles."},"503":{"description":"The server is currently unavailable. Please try later."}},"summary":"Get all the details for a specific room in the hotel.","tags":["Rooms"]},"patch":{"deprecated":false,"description":"The hetras API is using this <a href=\"https://developer.hetras.com/docs/patch\" onfocus=\"this.blur()\" target=\"_blank\">Patch Specification</a>\r\n            to partially update an existing resource. Currently this call only allows to modify condition and housekeeping occupancy status of the room.\r\n            <br /><br />\r\n            A request example:<br /><pre>\r\n            [\r\n              {\r\n                \"op\": \"replace\", \"path\": \"/status/condition\", \"value\": \"CleanNotInspected\"\r\n              }, {\r\n                \"op\": \"replace\", \"path\": \"/status/housekeeping_occupancy\", \"value\": \"Vacant\"\r\n              }\r\n            ]\r\n            </pre><br />\r\n            For more details on how the API responds to errors please check our documentation on \r\n            <a href=\"https://developer.hetras.com/docs/errors/\" onfocus=\"this.blur()\">Error Handling</a>.<br />","operationId":"Rooms_PatchRoom","parameters":[{"description":"Application identifier","in":"header","name":"App-Id","required":true,"x-data-threescale-name":"app_ids","schema":{"type":"string"}},{"description":"Application key.","in":"header","name":"App-Key","required":true,"x-data-threescale-name":"app_keys","schema":{"type":"string"}},{"description":"The hotel id the room belongs to.","in":"path","name":"hotelId","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"The room number of the room you would like to update.","in":"path","name":"roomNumber","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonPatchDocument_RoomPatchRequest_"}},"text/json":{"schema":{"$ref":"#/components/schemas/JsonPatchDocument_RoomPatchRequest_"}}},"description":"A set of JSON Patch operations.","required":true},"responses":{"200":{"description":"The update was successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Object"}},"text/json":{"schema":{"$ref":"#/components/schemas/Object"}}}},"400":{"description":"Bad request. Request body erroneous."},"401":{"description":"You provided wrong credentials, or you reached your API limit."},"403":{"description":"The application does not have access to the requested resource."},"404":{"description":"Not Found. The server has not found anything matching the Request-URI."},"422":{"description":"The request failed to validate."},"500":{"description":"We caught an unexpected error on our side. Please report with providing the Hetras-Tracking-Id from the response headers and we will check the logfiles."},"503":{"description":"The server is currently unavailable. Please try later."}},"summary":"Partially updates a room.","tags":["Rooms"]}},"/api/hotel/v0/hotels/{hotelId}/yieldable_rateplans/{rateplanCode}/$rates":{"put":{"deprecated":false,"description":"Saves Yieldable Rate Prices for existing Yieldable Rateplan. The rateplan has been created before and with this End Point we \r\n            create or update the rate prices. If the Yieldable rateplan prices exist it updates them with the new price if not it creates new price entries.<br />\r\n            For more details on how the API responds to errors please check our documentation on \r\n            <a href=\"https://developer.hetras.com/docs/errors/\" onfocus=\"this.blur()\">Error Handling</a>.","operationId":"YieldableRates_SavePrices","parameters":[{"description":"Application identifier","in":"header","name":"App-Id","required":true,"x-data-threescale-name":"app_ids","schema":{"type":"string"}},{"description":"Application key.","in":"header","name":"App-Key","required":true,"x-data-threescale-name":"app_keys","schema":{"type":"string"}},{"description":"Specifies the hotelId which identifies Hotel for which the operation will be performed.","in":"path","name":"hotelId","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"Specifies the rateplanCode for which the operation will be performed.","in":"path","name":"rateplanCode","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/YieldableRateTimeSlice"},"type":"array"}},"text/json":{"schema":{"items":{"$ref":"#/components/schemas/YieldableRateTimeSlice"},"type":"array"}}},"description":"Specifies the the Yieldable rateplan and prices details to be created or updated.","required":true},"responses":{"200":{"description":"Saving the Yieldable rateplan prices was successful. You will get back the confirmation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Object"}},"text/json":{"schema":{"$ref":"#/components/schemas/Object"}}}},"400":{"description":"Bad request. Request body erroneous."},"401":{"description":"You provided wrong credentials, or you reached your API limit."},"403":{"description":"The application does not have access to the requested resource."},"404":{"description":"Not Found. The server has not found anything matching the Request-URI."},"422":{"description":"The request failed to validate."},"500":{"description":"We caught an unexpected error on our side. Please report with providing the Hetras-Tracking-Id from the response headers and we will check the logfiles."},"503":{"description":"The server is currently unavailable. Please try later."}},"summary":"Saves Yieldable Rate Prices for existing Yieldable Rateplan.","tags":["YieldableRates"]}}},"servers":[{"url":"https://api.hetras-certification.net"}],"components":{"requestBodies":{"JsonPatchDocument_RatePatchRequest_":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonPatchDocument_RatePatchRequest_"}},"text/json":{"schema":{"$ref":"#/components/schemas/JsonPatchDocument_RatePatchRequest_"}}},"description":"A set of JSON Patch operations.","required":true}},"schemas":{"AccessControlInfo":{"properties":{"channel_codes":{"description":"List of codes of distribution channels","items":{"type":"string"},"type":"array"},"channel_group":{"description":"Code of the distribution channel group","type":"string"}},"type":"object"},"CodeBaseEntry":{"properties":{"_links":{"additionalProperties":{"$ref":"#/components/schemas/LinkObject"},"description":"Collection of links to related resources","type":"object"},"code":{"description":"The code value. This value you will see in reservations as market code and in other\r\n            resources like the revenue buckets in transactions","type":"string"},"default":{"description":"This attribute tells you if this code is the default code for the specific type or not.\r\n            Not all the types of codes need to have a default code","type":"boolean"},"id":{"description":"The id of the code","type":"string"},"name":{"description":"The name of the code that usually is more human readable","type":"string"},"type":{"description":"The type or category of the code","enum":["GuestRequest","RequestDietary","VIPStatus","ReasonForRateChange","Regrets","MarketSegments","SourceOfBusiness","LoyaltyProgram","CancellationReason","AccountType","AccountRank","VIPLevel","Title","ContactFunction","Territory","CorrespondenceType","ExternalProgramType","RevenueBucket","AdditionalRevenueBucket","AdditionalStatisticsBuckets","MealPeriod","BillingCycle","ReminderCycle","MajorMarketSegments","DocumentType","ActivityType","ReservationLabels"],"type":"string"}},"type":"object"},"CodeFullEntry":{"properties":{"_links":{"additionalProperties":{"$ref":"#/components/schemas/LinkObject"},"description":"Collection of links to related resources","type":"object"},"code":{"description":"The code value. This value you will see in reservations as market code and in other\r\n            resources like the revenue buckets in transactions","type":"string"},"comment":{"description":"The comment for this code","type":"string"},"default":{"description":"This attribute tells you if this code is the default code for the specific type or not.\r\n            Not all the types of codes need to have a default code","type":"boolean"},"id":{"description":"The id of the code","type":"string"},"name":{"description":"The name of the code that usually is more human readable","type":"string"},"parent":{"$ref":"#/components/schemas/CodeBaseEntry"},"type":{"description":"The type or category of the code","enum":["GuestRequest","RequestDietary","VIPStatus","ReasonForRateChange","Regrets","MarketSegments","SourceOfBusiness","LoyaltyProgram","CancellationReason","AccountType","AccountRank","VIPLevel","Title","ContactFunction","Territory","CorrespondenceType","ExternalProgramType","RevenueBucket","AdditionalRevenueBucket","AdditionalStatisticsBuckets","MealPeriod","BillingCycle","ReminderCycle","MajorMarketSegments","DocumentType","ActivityType","ReservationLabels"],"type":"string"}},"type":"object"},"CodesListRequest":{"properties":{"code":{"description":"Return all results matching the specified code. A code is unique in combination with the type\r\n            which means when you query for a code you could get multiple results each for a different type","type":"string"},"type":{"description":"Return all codes for the specified type","enum":["GuestRequest","RequestDietary","VIPStatus","ReasonForRateChange","Regrets","MarketSegments","SourceOfBusiness","LoyaltyProgram","CancellationReason","AccountType","AccountRank","VIPLevel","Title","ContactFunction","Territory","CorrespondenceType","ExternalProgramType","RevenueBucket","AdditionalRevenueBucket","AdditionalStatisticsBuckets","MealPeriod","BillingCycle","ReminderCycle","MajorMarketSegments","DocumentType","ActivityType","ReservationLabels"],"type":"string"}},"type":"object"},"CodesListResponse":{"properties":{"codes":{"description":"The list of codes matching the defined filter criteria","items":{"$ref":"#/components/schemas/CodeBaseEntry"},"type":"array"}},"type":"object"},"DatePeriod":{"properties":{"from":{"description":"Start Date for this time period","format":"date-time","type":"string"},"to":{"description":"End Date for this time period","format":"date-time","type":"string"}},"type":"object"},"Derivation":{"properties":{"adjustment":{"description":"Mode for the calculation of the daily rates adjustment","enum":["Amount","Percentage"],"type":"string"},"base_rateplan":{"$ref":"#/components/schemas/RelatedRateplan"}},"type":"object"},"EmbeddedReservation":{"description":"Basic data about a reservation","properties":{"_links":{"additionalProperties":{"$ref":"#/components/schemas/LinkObject"},"description":"Collection of links to related resources","type":"object"},"arrival_date":{"description":"The arrival date of the guests","format":"date-time","type":"string"},"confirmation_id":{"description":"he confirmation id for the booking which the guest can use to check in on the kiosk, add the \r\n            booking to the mobile app etc. It is used as identifier for all reservations done with the \r\n            same booking request","type":"string"},"departure_date":{"description":"The departure date of the guests","format":"date-time","type":"string"},"reservation_number":{"description":"The reservation number of the reservation","format":"int32","type":"integer"},"reservation_status":{"description":"The current status of this reservation","enum":["Tentative","Waitlisted","OnRequest","NonGuaranteed","Guaranteed","InHouse","CheckedOut","NoShow","Denied","Cancelled","Released","Walked","Expired","WalkIn","Registered"],"type":"string"}},"required":["confirmation_id","reservation_number","reservation_status","arrival_date","departure_date"],"type":"object"},"EmbeddedRoomType":{"description":"Basic data for a room type. To get the full details please follow the self link\r\n            from the links collection","properties":{"_links":{"additionalProperties":{"$ref":"#/components/schemas/LinkObject"},"description":"Collection of links to related resources","type":"object"},"code":{"description":"Code of the room type","type":"string"},"description":{"description":"Description of the room type","type":"string"},"name":{"description":"Name of the room type","type":"string"}},"type":"object"},"EmbeddedRoomTypeSimple":{"description":"Contains only a basic information about a room type. No cross-links available as well.","properties":{"code":{"description":"Code of the room type","type":"string"},"description":{"description":"Description of the room type","type":"string"},"name":{"description":"Name of the room type","type":"string"}},"type":"object"},"EmbeddedRoomWithStatus":{"properties":{"_links":{"additionalProperties":{"$ref":"#/components/schemas/LinkObject"},"description":"Collection of links to related resources","type":"object"},"created":{"description":"Timestamp the room was created","format":"date-time","type":"string"},"description":{"description":"Description of the room","type":"string"},"name":{"description":"Name of the room","type":"string"},"number":{"description":"Number of the room","type":"string"},"room_type":{"$ref":"#/components/schemas/EmbeddedRoomType"},"status":{"$ref":"#/components/schemas/RoomStatus"},"updated":{"description":"Timestamp of when the room was changed the last time","format":"date-time","type":"string"}},"type":"object"},"ExtendedRateplanEntry":{"properties":{"_links":{"additionalProperties":{"$ref":"#/components/schemas/LinkObject"},"description":"Collection of links to related resources","type":"object"},"access_control":{"description":"List of distribution channel groups and channels the rateplan is sold through","items":{"$ref":"#/components/schemas/AccessControlInfo"},"type":"array"},"active":{"description":"Defines if the rateplan has been ended and is expired","type":"boolean"},"active_periods":{"description":"List of active periods. Arrival and departure day for reservations based on this rateplan need to\r\n            fit into one of these time periods","items":{"$ref":"#/components/schemas/DatePeriod"},"type":"array"},"booking_periods":{"description":"List of booking periods. During these time periods the rateplan is sold","items":{"$ref":"#/components/schemas/DatePeriod"},"type":"array"},"code":{"description":"Code of the rateplan","type":"string"},"commissionable":{"description":"Defines if this rateplan is setup with a commission","type":"boolean"},"created":{"description":"Timestamp the rateplan was created","format":"date-time","type":"string"},"day_use":{"description":"Defines if this rateplan is used for day use reservations","type":"boolean"},"derivation":{"$ref":"#/components/schemas/Derivation"},"derived_rateplans":{"description":"Details about all the derived rateplans if any","items":{"$ref":"#/components/schemas/RelatedRateplan"},"type":"array"},"description":{"description":"Description of the rateplan","type":"string"},"folio_name":{"description":"Text defining how the room charges for this rateplan are shown on the folio and\r\n            invoice for the guest","type":"string"},"group":{"$ref":"#/components/schemas/RateplanGroup"},"included_services":{"description":"List of codes for the included services sold with this rateplan","items":{"type":"string"},"type":"array"},"is_yieldable":{"description":"Gives the information if this rateplan is Yieldable rateplan","type":"boolean"},"market_code":{"description":"The code of the market segment the rate plan is linked to","type":"string"},"name":{"description":"Name of the rateplan","type":"string"},"noshow_policy":{"description":"The code of the noshow policy for this rateplan","type":"string"},"restrictions":{"$ref":"#/components/schemas/Restrictions"},"room_types":{"description":"List of all room types sold through this rateplan","items":{"$ref":"#/components/schemas/EmbeddedRoomType"},"type":"array"},"suspended":{"description":"Defines if a rateplan is suspended and no new reservations can be created for this\r\n            rateplan at the moment","type":"boolean"},"taxes_included":{"description":"Defines if the daily rates include VAT or not","type":"boolean"},"updated":{"description":"Timestamp of when the rateplan was changed the last time","format":"date-time","type":"string"},"visibility":{"description":"Defines if this rateplan is visible to the public or only for specific customers","enum":["Public","Negotiated"],"type":"string"}},"type":"object"},"GetAvailableRoomsRequest":{"properties":{"adults":{"description":"Specifies number of adults the returned rooms will have to be able to house. The default value is 1.","format":"byte","type":"string"},"amenities":{"description":"Return result only for rooms having all of the given amenities. You can provide a comma seperated list of \r\n            amenity codes.","items":{"type":"string"},"type":"array"},"from":{"description":"Rooms returned will not be assigned to a reservation or be under maintenance between this date\r\n            and the specified to date. Still there could be departing reservations or ending maintenances\r\n            for this date.","format":"date-time","type":"string"},"includeOutOfService":{"description":"Should rooms that are set OutOfService in the defined time period be returned as available. By default\r\n            they are not.","type":"boolean"},"locations":{"description":"Return result only for rooms having at least one of the specified locations. You can provide a comma seperated list of \r\n            location codes.","items":{"type":"string"},"type":"array"},"roomTypes":{"description":"Return result only for rooms for the given room types. Allows to pass a comma-separated list of room types.","items":{"type":"string"},"type":"array"},"to":{"description":"Rooms returned will not be assigned to a reservation or be under maintenance between the specified\r\n            from date and this date. Still there could be arriving reservations or beginning maintenances\r\n            for this date.","format":"date-time","type":"string"},"views":{"description":"Return result only for rooms having at least one of the specified views. You can provide a comma seperated list of \r\n            view codes.","items":{"type":"string"},"type":"array"}},"required":["from","to"],"type":"object"},"GetRatesRequest":{"properties":{"Expand":{"description":"You can expand the supplements per room type on demand. By default they are not shown.","enum":["RoomTypeSupplements"],"type":"string"},"From":{"description":"Defines the last business day you would like to get rates for. The maximum time span between <i>from</i>´and <i>to</i>\r\n            is limited to 365 days.","format":"date-time","type":"string"},"To":{"description":"Defines the first business day you would like to get rates for.","format":"date-time","type":"string"}},"required":["From","To"],"type":"object"},"GetRoomListRequest":{"properties":{"amenities":{"description":"Return result only for rooms having all of the given amenities. You can provide a comma seperated list of \r\n            amenity codes.","items":{"type":"string"},"type":"array"},"conditions":{"description":"Return results only for rooms that have the given room condition status.","items":{"enum":["CleanNotInspected","Clean","Dirty"],"type":"string"},"type":"array"},"locations":{"description":"Return result only for rooms having at least one of the specified locations. You can provide a comma seperated list of \r\n            location codes.","items":{"type":"string"},"type":"array"},"maintenances":{"description":"Return results only for rooms that have the given maintenance status.","items":{"enum":["NotSet","None","OutOfInventory","OutOfOrder","OutOfService"],"type":"string"},"type":"array"},"occupancy":{"description":"Return results only for rooms that have the given frontdesk ocuppancy status.","enum":["Occupied","Vacant"],"type":"string"},"roomTypes":{"description":"Return result only for rooms for the given room types. Allows to pass a comma-separated list of room types.","items":{"type":"string"},"type":"array"},"views":{"description":"Return result only for rooms having at least one of the specified views. You can provide a comma seperated list of \r\n            view codes.","items":{"type":"string"},"type":"array"}},"type":"object"},"Hotel":{"properties":{"city":{"description":"The city the hotel is located in","type":"string"},"code":{"description":"The code of the hotel","type":"string"},"country":{"description":"The country the hotel is located. The country code is in ISO 3166-1 alpha-2 format\r\n            (see: <a href=\"http://www.iso.org/iso/country_codes/iso_3166_code_lists/country_names_and_code_elements.htm\" onfocus=\"this.blur()\" target=\"_blank\">http://www.iso.org/iso/country_codes/iso_3166_code_lists/country_names_and_code_elements.htm</a>)","type":"string"},"created":{"description":"Timestamp the hotel was created","format":"date-time","type":"string"},"current_business_day":{"description":"Return the current business day of the hotel in the ISO-8601 format \"YYYY-MM-DD\"","format":"date-time","type":"string"},"desc":{"description":"The descriptive text for the the hotel","type":"string"},"email":{"description":"The email address of the hotel","type":"string"},"fax":{"description":"The fax number of the hotel","type":"string"},"hotel_id":{"description":"The id of the hotel","format":"int32","type":"integer"},"latitude":{"description":"The latitude for the geolocation of the hotel. This allows you to show the hotel on a map","format":"double","type":"number"},"longitude":{"description":"The longitude for the geolocation of the hotel. This allows you to show the hotel on a map","format":"double","type":"number"},"name":{"description":"The name of the hotel","type":"string"},"phone":{"description":"The main phone number to call the hotel","type":"string"},"postal_code":{"description":"The postal code of the hotel","type":"string"},"state":{"description":"The state the hotel is located in","type":"string"},"street":{"description":"The street address of the hotel","type":"string"},"updated":{"description":"Timestamp of when the hotel was changed the last time","format":"date-time","type":"string"},"url":{"description":"The homepage URL of the hotel","type":"string"},"utc_offset":{"description":"The current time offset of the hotel to UTC. This is taking into account daylight saving times and shows the offset for the time the request is handled. The response\r\n            will be in the format of \"UTC±hh:mm\". If there is no offset to UTC it will be shown as \"UTC+00:00\"","type":"string"}},"type":"object"},"LinkObject":{"description":"A Link Object represents a hyperlink from the containing resource to a URI.","properties":{"deprecation":{"description":"<para>The \"deprecation\" property is OPTIONAL.</para>\r\n<para> </para>\r\n<para>Its presence indicates that the link is to be deprecated (i.e.\r\n            removed) at a future date.  Its value is a URL that SHOULD provide\r\n            further information about the deprecation.\r\n            A client SHOULD provide some notification (for example, by logging a\r\n            warning message) whenever it traverses over a link that has this\r\n            property.  The notification SHOULD include the deprecation property's\r\n            value so that a client maintainer can easily find information about\r\n            the deprecation.</para>","type":"string"},"href":{"description":"<para>The \"href\" property is REQUIRED.</para>\r\n<para> </para>\r\n<para>Its value is either a URI [RFC3986] or a URI Template [RFC6570].\r\n            If the value is a URI Template then the Link Object SHOULD have a\r\n            \"templated\" attribute whose value is true.</para>","type":"string"},"hreflang":{"description":"<para>The \"hreflang\" property is OPTIONAL.</para>\r\n<para> </para>\r\n<para>Its value is a string and is intended for indicating the language of\r\n            the target resource (as defined by [RFC5988]).</para>","type":"string"},"name":{"description":"<para>The \"name\" property is OPTIONAL.</para>\r\n<para> </para>\r\n<para>Its value MAY be used as a secondary key for selecting Link Objects\r\n            which share the same relation type.</para>","type":"string"},"profile":{"description":"<para>The \"profile\" property is OPTIONAL.</para>\r\n<para> </para>\r\n<para>Its value is a string which is a URI that hints about the profile.</para>","type":"string"},"templated":{"description":"<para>The \"templated\" property is OPTIONAL.</para>\r\n<para> </para>\r\n<para>Its value is boolean and SHOULD be true when the Link Object's \"href\"\r\n            property is a URI Template.\r\n            Its value SHOULD be considered false if it is undefined or any other\r\n            value than true.</para>","type":"boolean"},"title":{"description":"<para>The \"title\" property is OPTIONAL.</para>\r\n<para> </para>\r\n<para>Its value is a string and is intended for labelling the link with a\r\n            human-readable identifier (as defined by [RFC5988]).</para>","type":"string"},"type":{"description":"<para>The \"type\" property is OPTIONAL.</para>\r\n<para> </para>\r\n<para>Its value is a string used as a hint to indicate the media type\r\n            expected when dereferencing the target resource.</para>","type":"string"}},"required":["href"],"type":"object"},"ListRateplanEntry":{"properties":{"_links":{"additionalProperties":{"$ref":"#/components/schemas/LinkObject"},"description":"Collection of links to related resources","type":"object"},"access_control":{"description":"List of distribution channel groups and channels the rateplan is sold through","items":{"$ref":"#/components/schemas/AccessControlInfo"},"type":"array"},"active":{"description":"Defines if the rateplan has been ended and is expired","type":"boolean"},"active_periods":{"description":"List of active periods. Arrival and departure day for reservations based on this rateplan need to\r\n            fit into one of these time periods","items":{"$ref":"#/components/schemas/DatePeriod"},"type":"array"},"base_rateplan":{"description":"Code of the base rateplan if this rateplan is derived","type":"string"},"booking_periods":{"description":"List of booking periods. During these time periods the rateplan is sold","items":{"$ref":"#/components/schemas/DatePeriod"},"type":"array"},"code":{"description":"Code of the rateplan","type":"string"},"commissionable":{"description":"Defines if this rateplan is setup with a commission","type":"boolean"},"created":{"description":"Timestamp the rateplan was created","format":"date-time","type":"string"},"day_use":{"description":"Defines if this rateplan is used for day use reservations","type":"boolean"},"derived_rateplans":{"description":"List of codes for all derived rateplans if any","items":{"type":"string"},"type":"array"},"description":{"description":"Description of the rateplan","type":"string"},"group":{"description":"Code of the rateplan group","type":"string"},"included_services":{"description":"List of codes for the included services sold with this rateplan","items":{"type":"string"},"type":"array"},"is_yieldable":{"description":"Gives the information if this rateplan is Yieldable rateplan","type":"boolean"},"market_code":{"description":"The code of the market segment the rate plan is linked to","type":"string"},"name":{"description":"Name of the rateplan","type":"string"},"room_types":{"description":"List of all room types sold through this rateplan","items":{"$ref":"#/components/schemas/EmbeddedRoomTypeSimple"},"type":"array"},"suspended":{"description":"Defines if a rateplan is suspended and no new reservations can be created for this\r\n            rateplan at the moment","type":"boolean"},"updated":{"description":"Timestamp of when the rateplan was changed the last time","format":"date-time","type":"string"},"visibility":{"description":"Defines if this rateplan is visible to the public or only for specific customers","enum":["Public","Negotiated"],"type":"string"}},"type":"object"},"Object":{"properties":{},"type":"object"},"PagedDataRequest":{"properties":{"inlinecount":{"description":"Return total number of items for a given filter criteria.","enum":["None","AllPages"],"type":"string"},"skip":{"description":"Amount of items to skip.","format":"int32","type":"integer"},"top":{"description":"Amount of items to select.","format":"int32","type":"integer"}},"type":"object"},"Policy":{"properties":{"description":{"description":"The description of the policy","type":"string"},"name":{"description":"The name of the policy","type":"string"}},"type":"object"},"PriceDerivation":{"properties":{"adjustment":{"description":"Mode for the calculation of the daily rates adjustment","enum":["Amount","Percentage"],"type":"string"},"value":{"description":"The value the rate of the base rateplan is adjusted by based on the calculation mode","format":"double","type":"number"}},"type":"object"},"RateResponse":{"properties":{"_links":{"additionalProperties":{"$ref":"#/components/schemas/LinkObject"},"description":"Collection of links to related resources","type":"object"},"base_price":{"description":"The price for this business day for the default room type and occupancy of one adult. The price is\r\n            only available for base rateplans. Please be aware that it might be the case that the default room\r\n            type is not sold by the rateplan. Nevertheless the supplements will always be added to the price for \r\n            the default room type and one adult","format":"double","type":"number"},"business_day":{"description":"The business day","format":"date-time","type":"string"},"cancellation_policy":{"$ref":"#/components/schemas/Policy"},"derivation":{"$ref":"#/components/schemas/PriceDerivation"},"minimum_guarantee_type":{"description":"The minimum guarantee","enum":["PM4Hold","PM6Hold","GuaranteeToCreditCard","GuaranteeToGuestAccount","GuaranteeByTravelAgent","GuaranteeByCompany","Deposit","Voucher","Prepayment","NonGuaranteed","Tentative","Waitlist"],"type":"string"},"per_person_surcharge":{"description":"The surcharge per additional adult staying in the room. It is only available on base rateplans","format":"double","type":"number"},"room_type_supplements":{"description":"List of supplements added to the price per room type","items":{"$ref":"#/components/schemas/RoomTypeSupplement"},"type":"array"}},"type":"object"},"RateplanGroup":{"properties":{"code":{"description":"Code of the rateplan group","type":"string"},"name":{"description":"Name of the rateplan group","type":"string"}},"type":"object"},"RateplansListRequest":{"properties":{"baseRateplan":{"description":"Return all rateplans having the specified rateplan as base rateplan","type":"string"},"channelCode":{"description":"Return all rateplans sold through the specified channel","type":"string"},"channelGroup":{"description":"Return all rateplans that are sold through at least one channel out of the specified channel group","type":"string"},"commissionable":{"description":"Return all rateplans having commisionable status","type":"boolean"},"group":{"description":"Return all rateplans belonging to the specified rateplan group","type":"string"},"includedServices":{"description":"Return all rateplans having at least one of the specified services included","items":{"type":"string"},"type":"array"},"marketCodes":{"description":"Return all rateplans having one of the specified values as a market code","items":{"type":"string"},"type":"array"},"roomTypes":{"description":"Return all rateplans by which at least one of the specified room types are sold","items":{"type":"string"},"type":"array"},"sellingStatus":{"description":"Specify which rateplans to return. If you do not specify a value you will by default get active\r\n            rateplans.","enum":["Active","Inactive","All"],"type":"string"}},"type":"object"},"RateplansListResponse":{"properties":{"_count":{"description":"The number of items matching your request in total for all pages.","format":"int32","type":"integer"},"_links":{"additionalProperties":{"$ref":"#/components/schemas/LinkObject"},"description":"Collection of links to related resources","type":"object"},"rateplans":{"description":"List of rateplans","items":{"$ref":"#/components/schemas/ListRateplanEntry"},"type":"array"}},"type":"object"},"RatesBatchUpdateRequestItem":{"description":"A rateplan update entry, for a given range and a given price.","properties":{"base_price":{"description":"The price of the rateplan for the default room type and single occupancy.","format":"double","type":"number"},"from":{"description":"Defines the first business day you would like to update rates. The maximum time span between <i>from</i>´and <i>to</i>\r\n            is limited to 365 days.","format":"date-time","type":"string"},"rateplan":{"description":"The rateplan code to be updated. NOTE: this must be a base rateplan and not a derived one.","type":"string"},"to":{"description":"Defines the last business day you would like to update rates. This can be same as {Hetras.PublicApi.Models.Hotels.Rateplans.Rates.RatesBatchUpdateRequestItem.To} if the update is for a single date.","format":"date-time","type":"string"}},"required":["base_price","rateplan","from","to"],"type":"object"},"RatesRequest":{"properties":{"From":{"description":"Defines the last business day you would like to get rates for. The maximum time span between <i>from</i>´and <i>to</i>\r\n            is limited to 365 days.","format":"date-time","type":"string"},"To":{"description":"Defines the first business day you would like to get rates for.","format":"date-time","type":"string"}},"required":["From","To"],"type":"object"},"RatesResponse":{"properties":{"_count":{"description":"The number of items matching your request in total for all pages.","format":"int32","type":"integer"},"_links":{"additionalProperties":{"$ref":"#/components/schemas/LinkObject"},"description":"Collection of links to related resources","type":"object"},"rates":{"description":"The list of rates, cancellation policy and minimum guarantee per business day.","items":{"$ref":"#/components/schemas/RateResponse"},"type":"array"}},"type":"object"},"RelatedRateplan":{"properties":{"_links":{"additionalProperties":{"$ref":"#/components/schemas/LinkObject"},"description":"Collection of links to related resources","type":"object"},"code":{"description":"Code of the rateplan","type":"string"},"name":{"description":"Name of the rateplan","type":"string"}},"type":"object"},"Restrictions":{"properties":{"leadtime_to_book":{"description":"Days this rateplan needs to be booked in advance. This value is mutual exclusive to the\r\n            <i>max_advance_booking</i> and if no limit is set it is omitted","format":"int32","type":"integer"},"max_advance_booking":{"description":"Days this rateplan can be booked in advance. This value is mutual exclusive to the\r\n            <i>leadtime_to_book</i> and if no limit is set it is omitted","format":"int32","type":"integer"}},"type":"object"},"Room":{"description":"Represents a room for a property.","properties":{"amenities":{"description":"List of amenities for the room","items":{"$ref":"#/components/schemas/SimpleAttribute"},"type":"array"},"beddings":{"description":"Provides information about available beds in the room","items":{"$ref":"#/components/schemas/RoomBedding"},"type":"array"},"created":{"description":"Timestamp the room was created","format":"date-time","type":"string"},"description":{"description":"Description of the room","type":"string"},"expected_occupancy":{"description":"The common amount of persons for the room","format":"int32","type":"integer"},"extra_bed_allowed":{"description":"Is there an extra bed allowed in the room","type":"boolean"},"floor":{"description":"Floor of the room","format":"int32","type":"integer"},"locations":{"description":"List of locations for the room","items":{"$ref":"#/components/schemas/SimpleAttribute"},"type":"array"},"max_persons":{"description":"Maximum number of allowed persons in the room","format":"int32","type":"integer"},"min_persons":{"description":"Minimum number of allowed persons in the room","format":"int32","type":"integer"},"name":{"description":"Name of the room","type":"string"},"number":{"description":"Number of the room","type":"string"},"reservations":{"description":"Current reservation(s) for the room. It shows reservations due to arrive today and the one still inhouse.\r\n            If there is a day-use reservation assigned for today it can show you up to 3 reservations. One that will\r\n            depart today, the day-use reservqation for today and the one due to arrive","items":{"$ref":"#/components/schemas/EmbeddedReservation"},"type":"array"},"room_type":{"$ref":"#/components/schemas/EmbeddedRoomType"},"status":{"$ref":"#/components/schemas/RoomStatus"},"updated":{"description":"Timestamp of when the room was changed the last time","format":"date-time","type":"string"},"views":{"description":"List of views for the room","items":{"$ref":"#/components/schemas/SimpleAttribute"},"type":"array"}},"required":["number","room_type","status","min_persons","max_persons","expected_occupancy","floor"],"type":"object"},"RoomBedding":{"description":"Information about room bedding","properties":{"count":{"description":"Number of available beds of the specified type","format":"int32","type":"integer"},"type":{"description":"The type of bed","enum":["NotDefined","Double","Futon","King","MurphyBed","Queen","SofaBed","TatamiMats","Twin","Single"],"type":"string"}},"type":"object"},"RoomListResponse":{"properties":{"_count":{"description":"The number of items matching your request in total for all pages.","format":"int32","type":"integer"},"_links":{"additionalProperties":{"$ref":"#/components/schemas/LinkObject"},"description":"Collection of links to related resources","type":"object"},"rooms":{"description":"List of rooms","items":{"$ref":"#/components/schemas/EmbeddedRoomWithStatus"},"type":"array"}},"type":"object"},"RoomMaintenance":{"properties":{"from":{"description":"Start date of the current maintenance work","type":"string"},"reason":{"description":"A description about the reason for the ongoing maintenance work","type":"string"},"to":{"description":"End date of the current maintenance work","type":"string"},"value":{"description":"Maintenance Status","enum":["NotSet","None","OutOfInventory","OutOfOrder","OutOfService"],"type":"string"}},"type":"object"},"RoomStatus":{"description":"Represents current room status data.","properties":{"condition":{"description":"Room Condition status","enum":["CleanNotInspected","Clean","Dirty"],"type":"string"},"frontdesk_occupancy":{"description":"The frontdesk occupancy is set by reservation checkin and checkout. It can differ from the\r\n            housekeeping occupancy","enum":["Occupied","Vacant"],"type":"string"},"housekeeping_occupancy":{"description":"The housekeeping occupancy status is defined by the housekeeping staff. Usually it matches the\r\n            frontdesk occupancy, but sometimes the reservation is still inhouse, but it looks like there is no\r\n            guest in the room anymore. Then the statuses can differ.","enum":["Occupied","Vacant"],"type":"string"},"maintenance":{"$ref":"#/components/schemas/RoomMaintenance"}},"type":"object"},"RoomType":{"description":"Represent a room type for a property","properties":{"amenities":{"description":"List of amenities for the room type","items":{"$ref":"#/components/schemas/SimpleAttribute"},"type":"array"},"bedding_type":{"description":"The type of bed for the room type","enum":["NotDefined","Double","Futon","King","MurphyBed","Queen","SofaBed","TatamiMats","Twin","Single"],"type":"string"},"code":{"description":"Code of the room type","type":"string"},"created":{"description":"Timestamp the room type was created","format":"date-time","type":"string"},"default":{"description":"Specifies if the room type is the default room type of the hotel","type":"boolean"},"description":{"description":"Description of the room type","type":"string"},"expected_occupancy":{"description":"The common amount of persons for the room","format":"int32","type":"integer"},"facilities":{"description":"List of facilities for the room type","items":{"$ref":"#/components/schemas/SimpleAttribute"},"type":"array"},"max_persons":{"description":"Maximum number of allowed persons for that room type","format":"int32","type":"integer"},"min_persons":{"description":"Minimum number of allowed persons for that room type","format":"int32","type":"integer"},"name":{"description":"Name of the room type","type":"string"},"updated":{"description":"Timestamp of when the room type was changed the last time","format":"date-time","type":"string"},"views":{"description":"List of views for the room type","items":{"$ref":"#/components/schemas/SimpleAttribute"},"type":"array"}},"type":"object"},"RoomTypeSupplement":{"properties":{"_links":{"additionalProperties":{"$ref":"#/components/schemas/LinkObject"},"description":"Collection of links to related resources","type":"object"},"code":{"description":"The code of the room type","type":"string"},"default":{"description":"Specifies if the room type is the default room type of the hotel","type":"boolean"},"supplements":{"description":"The supplements per adults in the room. The per person surcharge will be added on top","items":{"$ref":"#/components/schemas/Supplement"},"type":"array"}},"type":"object"},"SimpleAttribute":{"description":"Represents a simple attribute","properties":{"code":{"description":"The code of the attribute","type":"string"},"name":{"description":"The name of the attribute","type":"string"}},"type":"object"},"Supplement":{"properties":{"adjustment":{"description":"Mode for the calculation of the supplement value","enum":["Amount","Percentage"],"type":"string"},"adults":{"description":"The number of adults per room","format":"int32","type":"integer"},"supplement":{"description":"The amount or percentage that will be added for this room type and number of adults per room","format":"double","type":"number"}},"type":"object"},"TotalCountResponse":{"properties":{"_count":{"description":"Returns the total count for all items matching the query parameters. If none is matching it will return 0.","format":"int64","type":"integer"}},"required":["_count"],"type":"object"},"YieldableRateTimeSlice":{"properties":{"date":{"format":"date-time","type":"string"},"number_of_persons":{"description":"Number of persons for which the rate price is saved","format":"int32","type":"integer"},"rate_value":{"description":"Rate value amount, which should be unique for the combination of rateplan, date, room type and numer of persons","format":"double","type":"number"},"room_type":{"description":"Room Type code for which the rate price is saved","type":"string"}},"required":["room_type","number_of_persons","rate_value"],"type":"object"},"JsonPatchDocument_RatePatchRequest_":{"items":{"$ref":"#/components/schemas/Operation_RatePatchRequest_"},"properties":{},"type":"array"},"JsonPatchDocument_RoomPatchRequest_":{"items":{"$ref":"#/components/schemas/Operation_RoomPatchRequest_"},"properties":{},"type":"array"},"Operation_RatePatchRequest_":{"properties":{"from":{"type":"string"},"op":{"type":"string"},"path":{"type":"string"},"value":{"$ref":"#/components/schemas/Object"}},"type":"object"},"Operation_RoomPatchRequest_":{"properties":{"from":{"type":"string"},"op":{"type":"string"},"path":{"type":"string"},"value":{"$ref":"#/components/schemas/Object"}},"type":"object"}}}}