{"openapi":"3.0.0","info":{"title":"hetras Booking 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/BookingAPIv0.json","version":"2.0"}],"x-providerName":"hetras-certification.net","x-serviceName":"booking"},"paths":{"/api/booking/v0/addons":{"get":{"deprecated":false,"description":"With the addons request you can get a list of offers for addon services available for a specific rate, room type\r\n            and guest stay details.The channel code will define which rates will be returned based on the access control \r\n            configuration for related rates.","operationId":"Addons_Get","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 hotel id to request offers for.","in":"query","name":"hotelId","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"Date from when the addon service will be booked to the reservation in the ISO-8601 format \"YYYY-MM-DD\".","in":"query","name":"arrivalDate","required":true,"schema":{"type":"string","format":"date-time"}},{"description":"Date until when the addon service will be booked to the reservation in the ISO-8601 format \"YYYY-MM-DD\".\r\n            This is usually the departure date of the reservation.","in":"query","name":"departureDate","required":true,"schema":{"type":"string","format":"date-time"}},{"description":"Channel Code the rate plan needs to be configured for.","in":"query","name":"channelCode","required":true,"schema":{"type":"string"}},{"description":"Number of adults per room.","in":"query","name":"adults","required":true,"schema":{"type":"string","format":"byte","minimum":1,"maximum":255}},{"description":"Number of rooms.","in":"query","name":"rooms","required":true,"schema":{"type":"string","format":"byte","minimum":1,"maximum":255}},{"description":"Only return offers for the specified room type code.","in":"query","name":"roomType","required":true,"schema":{"type":"string"}},{"description":"Only return offers for the specified rate plan code.","in":"query","name":"ratePlanCode","required":true,"schema":{"type":"string"}},{"description":"Expand the rates breakdown if required.","in":"query","name":"expand","required":false,"schema":{"type":"string","enum":["None","Breakdown"]}}],"responses":{"200":{"description":"All addon offers for the requested stay details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Addons"}},"text/json":{"schema":{"$ref":"#/components/schemas/Addons"}}}},"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. Either a mandatory parameter was missing or no offers for \r\n            the requested stay details"},"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 offers for addon services for the specified guest stay details.","tags":["Addons"]}},"/api/booking/v0/availability":{"get":{"deprecated":false,"description":"Read past occupancy and future availability for a specific hotel. You can also request the breakdown per room type.","operationId":"Availability_Get","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 hotel id to request the availability for.","in":"query","name":"hotelId","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"Defines the first business day you would like to get availability numbers for.","in":"query","name":"from","required":true,"schema":{"type":"string","format":"date-time"}},{"description":"Defines the last business day you would like to get availability numbers for. The maximum time span between <i>from</i>´and <i>to</i>\r\n            is limited to 365 days.","in":"query","name":"to","required":true,"schema":{"type":"string","format":"date-time"}},{"description":"You can expand the room types breakdown per business day for the availibility numbers if need be.","in":"query","name":"expand","required":false,"schema":{"type":"string","enum":["RoomTypes"]}},{"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":"Returns a list of availabilities per business day.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvailabilityResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/AvailabilityResponse"}}}},"400":{"description":"Bad request. Request parameters syntactically 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."},"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."}},"summary":"Gets the availability and occupancy for a specific hotel and timespan.","tags":["Availability"]}},"/api/booking/v0/blocks":{"get":{"deprecated":false,"description":"With this endpoint you can request a list of blocks for the hotel chain. Currently we only support to optionally\r\n            filter by the group code linked to the block. Additional filters will be available soon.","operationId":"Blocks_GetBlocksAsync","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":"Only return blocks for this specific hotel.","in":"query","name":"hotelId","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Filter the blocks by the specified group code","in":"query","name":"groupCode","required":false,"schema":{"type":"string"}},{"description":"Return all blocks where the block's last_departure is greater than specified date.","in":"query","name":"from","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"Return all blocks where the block's last_departure is less than specified date.","in":"query","name":"to","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"Return all blocks where the block status is one of the specified values.","in":"query","name":"status","required":false,"schema":{"type":"string","enum":["Cancelled","Tentative","Definite"]}},{"description":"Return all blocks that have related the specified comma-separated rate plans.","in":"query","name":"ratePlanCodes","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"description":"If true it will include also details of block count per each room type.","in":"query","name":"countDetails","required":false,"schema":{"type":"boolean"}},{"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"]}}],"requestBody":{"$ref":"#/components/requestBodies/CancellationToken"},"responses":{"200":{"description":"Returns a list of blocks matching the provided filter criteria.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Object"}},"text/json":{"schema":{"$ref":"#/components/schemas/Object"}}}},"204":{"description":"There are no blocks matching your filter criteria."},"400":{"description":"Bad request. Request parameters syntactically 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."},"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":"Gets a list of blocks.","tags":["Blocks"]}},"/api/booking/v0/blocks/$count":{"get":{"deprecated":false,"operationId":"Blocks_GetBlocksCountAsync","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":"Only return blocks for this specific hotel.","in":"query","name":"hotelId","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Filter the blocks by the specified group code","in":"query","name":"groupCode","required":false,"schema":{"type":"string"}},{"description":"Return all blocks where the block's last_departure is greater than specified date.","in":"query","name":"from","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"Return all blocks where the block's last_departure is less than specified date.","in":"query","name":"to","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"Return all blocks where the block status is one of the specified values.","in":"query","name":"status","required":false,"schema":{"type":"string","enum":["Cancelled","Tentative","Definite"]}},{"description":"Return all blocks that have related the specified comma-separated rate plans.","in":"query","name":"ratePlanCodes","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"description":"If true it will include also details of block count per each room type.","in":"query","name":"countDetails","required":false,"schema":{"type":"boolean"}}],"requestBody":{"$ref":"#/components/requestBodies/CancellationToken"},"responses":{"200":{"description":"The total blocks count for a 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."},"500":{"description":"We couldn't return the representation due to an internal server error."},"503":{"description":"The server is currently unavailable. Please try later."}},"summary":"Get total blocks count that match the given filter criteria.","tags":["Blocks"]}},"/api/booking/v0/blocks/{blockCode}":{"get":{"deprecated":false,"description":"Read all informationen about a block including the numbers of blocked rooms per room type and business day.","operationId":"Blocks_GetSingleBlockAsync","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 block code. The block code is composed of the hotel code, a dash and the block code \r\n            as shown in the hetras UI.","in":"path","name":"blockCode","required":true,"schema":{"type":"string"}}],"requestBody":{"$ref":"#/components/requestBodies/CancellationToken"},"responses":{"200":{"description":"Returns you all details for the specific block.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Object"}},"text/json":{"schema":{"$ref":"#/components/schemas/Object"}}}},"400":{"description":"Bad request. Request parameters syntactically 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."},"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":"Gets the details for a specific block.","tags":["Blocks"]}},"/api/booking/v0/bookings":{"get":{"deprecated":false,"description":"Here you can easily find bookings matching various criteria. The booking you are looking for has to fullfill all the specified criteria\r\n            at the same time. So if you specify a customer name and a channel code you will get all bookings where the firstname or lastname of a guest or a \r\n            contact contains the specified value and that have been done through the defined channel.\r\n            A booking can consist of multiple reservations, so even if you are looking for a specific reservation which is part of a multi-room booking you will get\r\n            all reservations for this booking returned.","operationId":"Bookings_GetBookings","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":"Only return bookings for this specific hotel.","in":"query","name":"hotelId","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Return bookings for this cancellation id.","in":"query","name":"cancellationId","required":false,"schema":{"type":"string"}},{"description":"Return bookings matching this reservation number. Please note that reservation numbers are only unique within a hotel. If you\r\n            don´t specify a hotel filter at the same time you could get back multiple bookings from different hotels.","in":"query","name":"reservationNumber","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Return all bookings where the first or lastname of one of the guests or the contact contains the specified value. The search is executed case insensitive\r\n            and also stripping of any whitespaces.","in":"query","name":"customerName","required":false,"schema":{"type":"string"}},{"description":"Return all bookings where the primary email address of one of the guests or the contact contains the specified value. The search is executed case insensitive\r\n            and also stripping of any whitespaces.","in":"query","name":"customerEmail","required":false,"schema":{"type":"string"}},{"description":"Return all bookings the id of one of the guests or the contact matches the specified value.","in":"query","name":"customerId","required":false,"schema":{"type":"string"}},{"description":"Return all bookings having the specified room number assigned.","in":"query","name":"roomNumber","required":false,"schema":{"type":"string"}},{"description":"Return all bookings exactly matching the specified external id. This filter is case sensitive.","in":"query","name":"externalId","required":false,"schema":{"type":"string"}},{"description":"Return all bookings where the name of the linked company or travel agent profile contains the specified value. The search is executed case insensitive\r\n            and also stripping of any whitespaces.","in":"query","name":"companyName","required":false,"schema":{"type":"string"}},{"description":"Return all bookings the id of the company or travel agent profile matches the specified value.","in":"query","name":"companyId","required":false,"schema":{"type":"string"}},{"description":"Return all bookings where the primary email address of the company or the travel agent profile contains the specified value. The search is executed case insensitive\r\n            and also stripping of any whitespaces.","in":"query","name":"companyEmail","required":false,"schema":{"type":"string"}},{"description":"Return all bookings where the block code matches the specified value.","in":"query","name":"blockCode","required":false,"schema":{"type":"string"}},{"description":"Return all bookings where the reservation status is one of the specified values.","in":"query","name":"reservationStatuses","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"enum":["Tentative","Waitlisted","OnRequest","NonGuaranteed","Guaranteed","InHouse","CheckedOut","NoShow","Denied","Cancelled","Released","Walked","Expired","WalkIn","Registered"],"type":"string"}}},{"description":"Return all bookings where the market code is one of the specified values.","in":"query","name":"marketCodes","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"description":"Return all bookings where the channel code is one of the specified values.","in":"query","name":"channelCodes","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"description":"Return all bookings where the subchannel code is one of the specified values.","in":"query","name":"subChannelCodes","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"description":"Return all bookings where the room type is one of the specified values.","in":"query","name":"roomTypes","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"description":"Return all bookings where the rate plan code is one of the specified values.","in":"query","name":"ratePlanCodes","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"description":"Return all reservations with at least one of the specified labels.","in":"query","name":"labels","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"description":"Start date for the selected date filter. If you select arrival date as date filter the bookings returned will have at least\r\n            one reservation arriving on the specified date or later.","in":"query","name":"from","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"End date for the selected date filter. If you select arrival date as date filter the bookings returned will have at least\r\n            one reservation arriving on the specified date or earlier.","in":"query","name":"to","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"Select a date field you want to filter bookings by. Only one filter at a time can be applied. The to and from dates\r\n            will then define the time range.","in":"query","name":"dateFilter","required":false,"schema":{"type":"string","enum":["ArrivalDate","DepartureDate","StayDate","CreationDate","ModificationDate"]}},{"description":"To be able to request reservations without personal data based on GDPR.","in":"query","name":"exclude","required":false,"schema":{"type":"string","enum":["Customers"]}},{"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 reservations for the requested hotel identifier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingListResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/BookingListResponse"}}}},"204":{"description":"There are no bookings matching your filter 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":"Find bookings matching the given filter criteria.","tags":["Bookings"]},"post":{"deprecated":false,"description":"Create a new booking as defined in the requests payload. You can get more information about the payload if you check out the\r\n            documentation for the reservation request model.<br />\r\n            Please also have a look at the <a href=\"https://developer.hetras.com/docs/tutorials\" onfocus=\"this.blur()\">Tutorials</a>.<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":"Bookings_CreateBooking","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":"Whether to send a confirmation email to the primary guest","in":"query","name":"sendConfirmation","required":false,"schema":{"type":"boolean"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Reservation"}},"text/json":{"schema":{"$ref":"#/components/schemas/Reservation"}}},"description":"Specifies the details of the booking to be created.","required":true},"responses":{"201":{"description":"The creation of the booking was successful. You will get back the confirmation id and maybe warnings, if\r\n            e.g. the prepayment could not be captured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReservationConfirmation"}},"text/json":{"schema":{"$ref":"#/components/schemas/ReservationConfirmation"}}}},"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":"Create a new booking.","tags":["Bookings"]}},"/api/booking/v0/bookings/$count":{"get":{"deprecated":false,"description":"Get the count of all bookings matching your criteria. The bookings have to fullfill all the specified criteria\r\n            at the same time. So if you specify a customer name and a channel code you will get the count for all bookings where the firstname or lastname \r\n            of a guest or a contact contains the specified value and that have been done through the defined channel.","operationId":"Bookings_GetBookingsCount","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":"Only return bookings for this specific hotel.","in":"query","name":"hotelId","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Return bookings for this cancellation id.","in":"query","name":"cancellationId","required":false,"schema":{"type":"string"}},{"description":"Return bookings matching this reservation number. Please note that reservation numbers are only unique within a hotel. If you\r\n            don´t specify a hotel filter at the same time you could get back multiple bookings from different hotels.","in":"query","name":"reservationNumber","required":false,"schema":{"type":"integer","format":"int32"}},{"description":"Return all bookings where the first or lastname of one of the guests or the contact contains the specified value. The search is executed case insensitive\r\n            and also stripping of any whitespaces.","in":"query","name":"customerName","required":false,"schema":{"type":"string"}},{"description":"Return all bookings where the primary email address of one of the guests or the contact contains the specified value. The search is executed case insensitive\r\n            and also stripping of any whitespaces.","in":"query","name":"customerEmail","required":false,"schema":{"type":"string"}},{"description":"Return all bookings the id of one of the guests or the contact matches the specified value.","in":"query","name":"customerId","required":false,"schema":{"type":"string"}},{"description":"Return all bookings having the specified room number assigned.","in":"query","name":"roomNumber","required":false,"schema":{"type":"string"}},{"description":"Return all bookings exactly matching the specified external id. This filter is case sensitive.","in":"query","name":"externalId","required":false,"schema":{"type":"string"}},{"description":"Return all bookings where the name of the linked company or travel agent profile contains the specified value. The search is executed case insensitive\r\n            and also stripping of any whitespaces.","in":"query","name":"companyName","required":false,"schema":{"type":"string"}},{"description":"Return all bookings the id of the company or travel agent profile matches the specified value.","in":"query","name":"companyId","required":false,"schema":{"type":"string"}},{"description":"Return all bookings where the primary email address of the company or the travel agent profile contains the specified value. The search is executed case insensitive\r\n            and also stripping of any whitespaces.","in":"query","name":"companyEmail","required":false,"schema":{"type":"string"}},{"description":"Return all bookings where the block code matches the specified value.","in":"query","name":"blockCode","required":false,"schema":{"type":"string"}},{"description":"Return all bookings where the reservation status is one of the specified values.","in":"query","name":"reservationStatuses","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"enum":["Tentative","Waitlisted","OnRequest","NonGuaranteed","Guaranteed","InHouse","CheckedOut","NoShow","Denied","Cancelled","Released","Walked","Expired","WalkIn","Registered"],"type":"string"}}},{"description":"Return all bookings where the market code is one of the specified values.","in":"query","name":"marketCodes","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"description":"Return all bookings where the channel code is one of the specified values.","in":"query","name":"channelCodes","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"description":"Return all bookings where the subchannel code is one of the specified values.","in":"query","name":"subChannelCodes","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"description":"Return all bookings where the room type is one of the specified values.","in":"query","name":"roomTypes","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"description":"Return all bookings where the rate plan code is one of the specified values.","in":"query","name":"ratePlanCodes","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"description":"Return all reservations with at least one of the specified labels.","in":"query","name":"labels","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"description":"Start date for the selected date filter. If you select arrival date as date filter the bookings returned will have at least\r\n            one reservation arriving on the specified date or later.","in":"query","name":"from","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"End date for the selected date filter. If you select arrival date as date filter the bookings returned will have at least\r\n            one reservation arriving on the specified date or earlier.","in":"query","name":"to","required":false,"schema":{"type":"string","format":"date-time"}},{"description":"Select a date field you want to filter bookings by. Only one filter at a time can be applied. The to and from dates\r\n            will then define the time range.","in":"query","name":"dateFilter","required":false,"schema":{"type":"string","enum":["ArrivalDate","DepartureDate","StayDate","CreationDate","ModificationDate"]}},{"description":"To be able to request reservations without personal data based on GDPR.","in":"query","name":"exclude","required":false,"schema":{"type":"string","enum":["Customers"]}}],"responses":{"200":{"description":"The total booking count for a 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."},"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 total count of bookings matchung the given filter criteria.","tags":["Bookings"]}},"/api/booking/v0/bookings/{confirmationId}":{"get":{"deprecated":false,"description":"A booking groups all reservations done in one single request and can be identified by the confirmation id.\r\n            Guests usually use the confirmation id to check in at the kiosk, on the website or mobile device. In hetras\r\n            all reservations of one booking share the room type, rate plan and number of guests per room.","operationId":"Bookings_GetBooking","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 confirmation id for the booking to load.","in":"path","name":"confirmationId","required":true,"schema":{"type":"string"}},{"description":"Specifies the expand type.","in":"query","name":"expand","required":false,"schema":{"type":"string","enum":["None","RoomRates"]}},{"description":"Specifies the exclude type.","in":"query","name":"exclude","required":false,"schema":{"type":"string","enum":["None","Customers"]}}],"responses":{"200":{"description":"Returns a list of all reservations for that booking.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReservationsResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/ReservationsResponse"}}}},"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":"Load all reservations for one booking by confirmation id.","tags":["Bookings"]}},"/api/booking/v0/bookings/{confirmationId}/reservations/{reservationNumber}":{"get":{"deprecated":false,"description":"With this request you can load one specific reservation done with one booking request.","operationId":"Bookings_GetReservation","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 confirmation id for the booking the reservation was made.","in":"path","name":"confirmationId","required":true,"schema":{"type":"string"}},{"description":"Specifies the reservation number for the reservation to load.","in":"path","name":"reservationNumber","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"Specifies the expand type.","in":"query","name":"expand","required":false,"schema":{"type":"string","enum":["None","RoomRates"]}},{"description":"Specifies the exclude type.","in":"query","name":"exclude","required":false,"schema":{"type":"string","enum":["None","Customers"]}}],"responses":{"200":{"description":"Returns the details of the reservation specified.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReservationResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/ReservationResponse"}}}},"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":"Load a specific reservation from a booking.","tags":["Bookings"]},"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 allows to update the following fields:\r\n            external_id, market_code, channel_code, subchannel_code, guarantee_type, comment, addon_services, labels, guests, contact and company.\r\n            <br /><br />\r\n            A request example:<br /><pre>\r\n            [\r\n              {\r\n                \"op\": \"replace\", \"path\": \"/addon_services\", \"value\": [\"BREAKFAST\", \"PARKING\"]\r\n              },\r\n              {\r\n                \"op\": \"add\", \"path\": \"/labels/-\", \"value\": \"MOBILE\"\r\n              },\r\n              {\r\n                \"op\": \"replace\", \"path\": \"/guests/SHOW-1234\", \"value\": { \"customer_id\": \"SHOW-1234\", \"primary\": false }\r\n              },\r\n              {\r\n                \"op\": \"add\", \"path\": \"/guests/-\", \"value\": { \"customer_id\": \"SHOW-5678\", \"primary\": true }\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>.","operationId":"Bookings_Patch","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 confirmation id for the booking the reservation was made.","in":"path","name":"confirmationId","required":true,"schema":{"type":"string"}},{"description":"Specifies the reservation number for the reservation that has to be updated.","in":"path","name":"reservationNumber","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonPatchDocument_ReservationPatchableModel_"}},"text/json":{"schema":{"$ref":"#/components/schemas/JsonPatchDocument_ReservationPatchableModel_"}}},"description":"A set of JSON Patch operations","required":true},"responses":{"200":{"description":"The update was successful. Reponse would contain a referer to the updated reservation.","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 reservation.","tags":["Bookings"]}},"/api/booking/v0/bookings/{confirmationId}/reservations/{reservationNumber}/assign_room":{"post":{"deprecated":false,"description":"By default this API call assigns a random room, which has the proper room type, is not already assigned\r\n            to another reservation or has any maintenance status set for the stay period of the underlying reservation. If the\r\n            arrival date for the underlying reservation is the current business day dirty rooms are excluded by default. For reservation\r\n            arriving on any latter day the room condition is not taken into account.<br />\r\n            By specifiying the room selection criteria in the request body you can influence which room will be assigned. See the request model\r\n            for further details.<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":"Bookings_PostRoomAssignment","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 confirmation id for the booking the reservation was made.","in":"path","name":"confirmationId","required":true,"schema":{"type":"string"}},{"description":"Specifies the reservation number for the reservation the room should be assigned to.","in":"path","name":"reservationNumber","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignRoomCriteria"}},"text/json":{"schema":{"$ref":"#/components/schemas/AssignRoomCriteria"}}},"description":"Specifies the criteria for the room selection."},"responses":{"200":{"description":"The room assignment was successful. The Reponse would contain the room number assigned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignRoomResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/AssignRoomResponse"}}}},"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. The reason could be no available rooms or a mismatch of room types etc."},"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":"Assign a room to a reservation.","tags":["Bookings"]}},"/api/booking/v0/bookings/{confirmationId}/reservations/{reservationNumber}/cancel":{"post":{"deprecated":false,"description":"This request will cancel one specific reservation. It will show up in the hetras UI in the Cancellation and NoShow\r\n            processing screen and it will be up to the hotel staff to either charge or waive the cancellation fee.<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":"Bookings_CancelReservation","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 confirmation id for the booking the reservation was made.","in":"path","name":"confirmationId","required":true,"schema":{"type":"string"}},{"description":"Specifies the reservation number for the reservation to cancel.","in":"path","name":"reservationNumber","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"Whether to send a confirmation email to the primary guest","in":"query","name":"sendConfirmation","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Returns the cancellation id and the cancellation fee that will be charged to the folio of the reservation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CancellationResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/CancellationResponse"}}}},"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."},"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":"Cancel one reservation.","tags":["Bookings"]}},"/api/booking/v0/bookings/{confirmationId}/reservations/{reservationNumber}/check_in":{"post":{"deprecated":false,"description":"With this call you can set a reservation to the status inhouse. It allows only single room reservations to be checked in.\r\n            The reservation must have assigned a vacant and clean room.<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":"Bookings_CheckIn","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 confirmation id for the booking the reservation was made.","in":"path","name":"confirmationId","required":true,"schema":{"type":"string"}},{"description":"Specifies the reservation number for the reservation to be checked in.","in":"path","name":"reservationNumber","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckInDetails"}},"text/json":{"schema":{"$ref":"#/components/schemas/CheckInDetails"}}},"description":"Specifies checkIn details, for example Client Identity.","required":true},"responses":{"200":{"description":"The check in was successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BaseResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/BaseResponse"}}}},"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. The reason could be wrong room or reservation status, wrong start date of reservation etc."},"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":"Performs a check in operation for a reservation.","tags":["Bookings"]}},"/api/booking/v0/bookings/{confirmationId}/reservations/{reservationNumber}/check_out":{"post":{"deprecated":false,"description":"With this call you can set a reservation to the checkout status. It allows only single room reservations to be checked out.\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":"Bookings_CheckOut","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 confirmation id for the booking the reservation was made.","in":"path","name":"confirmationId","required":true,"schema":{"type":"string"}},{"description":"Specifies the reservation number for the reservation to be checked out.","in":"path","name":"reservationNumber","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"The check out was successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BaseResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/BaseResponse"}}}},"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. The reason could be wrong reservation status, such as it was already checked out."},"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":"Performs a check out operation for a reservation.","tags":["Bookings"]}},"/api/booking/v0/bookings/{confirmationId}/reservations/{reservationNumber}/payment_token":{"put":{"deprecated":false,"description":"TBD.<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":"Bookings_PaymentToken","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 confirmation id for the booking the reservation was made.","in":"path","name":"confirmationId","required":true,"schema":{"type":"string"}},{"description":"Specifies the reservation number for the reservation to be checked in.","in":"path","name":"reservationNumber","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthorizationRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/AuthorizationRequest"}}},"required":true},"responses":{"200":{"description":"The payment token was added successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BaseResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/BaseResponse"}}}},"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. The reason could be wrong room or reservation status, wrong start date of reservation etc."},"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":"Post a payment token for a reservation.","tags":["Bookings"]}},"/api/booking/v0/bookings/{confirmationId}/reservations/{reservationNumber}/pre_authorize":{"post":{"deprecated":false,"description":"With this call you can trigger a terminal authorization prompt for a reservation guest. \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":"Bookings_TerminalAuthorization","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 confirmation id for the booking the reservation was made.","in":"path","name":"confirmationId","required":true,"schema":{"type":"string"}},{"description":"Specifies the reservation number for the reservation to be checked in.","in":"path","name":"reservationNumber","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TerminalAuthorizationRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/TerminalAuthorizationRequest"}}},"description":"Specifies authorization details, such as amount and client identity.","required":true},"responses":{"200":{"description":"The operation was successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BaseResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/BaseResponse"}}}},"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. The reason could be wrong room or reservation status, wrong start date of reservation etc."},"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":"Performs a chip and pin credit card authorization for a reservation.","tags":["Bookings"]}},"/api/booking/v0/daily_rates":{"get":{"deprecated":false,"description":"With the rates request you can get a list of different daily rates. You will have to at least \r\n            specify the hotel, the channel code, and a calendar range. The channel code will define which rates will be \r\n            returned based on the access control configuration for the rates. Additionally rate plan codes may be specified in\r\n            the request in order to limit only those rates of the given plans, if they are not specified, it will return all the public rate plans.\r\n            If requested the caller may specify whether he wants policies or not.","operationId":"DailyRates_GetDailyRates","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":"Define the hotel id to request the availability for.","in":"query","name":"hotelId","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"Define the first business day you would like to get availability numbers for. The day should not be in the past.","in":"query","name":"from","required":true,"schema":{"type":"string","format":"date-time"}},{"description":"Define the last business day you would like to get rates for (inclusive). The maximum time span between <i>'From'</i> and <i>'To'</i>\r\n            is limited to 365 days. This can't be less than the 'From' date.","in":"query","name":"to","required":true,"schema":{"type":"string","format":"date-time"}},{"description":"Define the channel code in order to look up the rates for.","in":"query","name":"channelCode","required":true,"schema":{"type":"string"}},{"description":"Define the sections you want to expand and get informed about rates for.","in":"query","name":"expand","required":false,"style":"form","explode":false,"schema":{"type":"array","items":{"enum":["None","Policies","RatePlans"],"type":"string"}}},{"description":"Define the codes of rate plans to show in the response. A list of comma ',' separated rate plan codes.","in":"query","name":"ratePlanCodes","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":"Different rates for the requested stay details grouped by room type.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DailyRatesResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/DailyRatesResponse"}}}},"204":{"description":"When there are no data to return."},"400":{"description":"The request failed to validate. One of the missing request parameters was missing or their value was wrong."},"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. This code will not be returned when there are no data to return for (please see 204)."},"409":{"description":"When an error occurs which prevent the API to return a response and is normally cause by bad input."},"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 daily rates given a hotel Id, a channel code and a date range.","tags":["DailyRates"]}},"/api/booking/v0/rates":{"get":{"deprecated":false,"description":"With the rates request you can get a list of different rate offers per room type. You will have to at least \r\n            specify the hotel, the arrival and departure date, number of adults per room and the channel code. The channel code\r\n            will define which rates will be returned based on the access control configuration for the rates.","operationId":"Rates_Get","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 hotel id to request offers for.","in":"query","name":"hotelId","required":true,"schema":{"type":"integer","format":"int32"}},{"description":"Date of arrival for the guest in the ISO-8601 format \"YYYY-MM-DD\".","in":"query","name":"arrivalDate","required":true,"schema":{"type":"string","format":"date-time"}},{"description":"Date of departure for the guest in the ISO-8601 format \"YYYY-MM-DD\".","in":"query","name":"departureDate","required":true,"schema":{"type":"string","format":"date-time"}},{"description":"Channel Code the rate plan needs to be configured for.","in":"query","name":"channelCode","required":true,"schema":{"type":"string"}},{"description":"Number of adults per room.","in":"query","name":"adults","required":true,"schema":{"type":"string","format":"byte","minimum":1}},{"description":"Number of rooms (default is 1).","in":"query","name":"rooms","required":false,"schema":{"type":"string","format":"byte","minimum":1}},{"description":"Only return offers with rates for the specified room type code.","in":"query","name":"roomType","required":false,"schema":{"type":"string"}},{"description":"Only return offers for the specified room type code.","in":"query","name":"ratePlanCode","required":false,"schema":{"type":"string"}},{"description":"Only return offers for the specified group code.","in":"query","name":"groupCode","required":false,"schema":{"type":"string"}},{"description":"Expand the rates breakdown if required.","in":"query","name":"expand","required":false,"schema":{"type":"string","enum":["None","Breakdown"]}}],"responses":{"200":{"description":"Different rates for the requested stay details grouped by room type.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Rates"}},"text/json":{"schema":{"$ref":"#/components/schemas/Rates"}}}},"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. It is also used if there are no rates available for the specified guest stay details."},"422":{"description":"The request failed to validate. Either a mandatory parameter was missing or no offers for \r\n            the requested stay details"},"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 room offers for the specified guest stay details.","tags":["Rates"]}}},"servers":[{"url":"https://api.hetras-certification.net"}],"components":{"requestBodies":{"CancellationToken":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CancellationToken"}}},"required":true}},"schemas":{"AcceptedGuaranteeTypes":{"properties":{"accepted":{"description":"In this list you find all the accepted guarantee types for this offer. They are sorted in ascending\r\n            order.","items":{"enum":["PM4Hold","PM6Hold","GuaranteeToCreditCard","GuaranteeToGuestAccount","GuaranteeByTravelAgent","GuaranteeByCompany","Deposit","Voucher","Prepayment","NonGuaranteed","Tentative","Waitlist"],"type":"string"},"type":"array"},"minimum":{"description":"Based on the rateplan a reservation does need to have a minimum guarantee. When you create a new booking you\r\n            can always use a higher guarantee type starting from the minimum. If you do not specify a guarantee when creating\r\n            a new booking using this offer this guarantee type will be used by default. See \r\n            https://developer.hetras.com/docs/tutorials#payment for information about guarantee types and payment details","enum":["PM4Hold","PM6Hold","GuaranteeToCreditCard","GuaranteeToGuestAccount","GuaranteeByTravelAgent","GuaranteeByCompany","Deposit","Voucher","Prepayment","NonGuaranteed","Tentative","Waitlist"],"type":"string"}},"type":"object"},"AddonOffer":{"properties":{"breakdown":{"description":"In this collection you will get an entry with price information for every day the addon service will be charged\r\n            to the folio of the reservation if the addon service is booked.","items":{"$ref":"#/components/schemas/AddonOfferBreakdown"},"type":"array"},"code":{"description":"The code of the addon service","type":"string"},"description":{"description":"The description of the addon service","type":"string"},"frequency":{"description":"The frequency this addon service will be charged to the reservation. This field is a string that can be displayed,\r\n            but is not supposed to be used for computation","type":"string"},"name":{"description":"The name of the addon service","type":"string"},"rate_mode":{"description":"The price for an addon service can be per person or per room. All the prices in an offer are already calculated\r\n            for all rooms and number of persons per room. Based on this attribute you will be able to know how to calculate\r\n            the price per person and room, per room or per person depending on your needs.","enum":["PerRoom","PerPerson"],"type":"string"},"total_stay":{"$ref":"#/components/schemas/AddonOfferRate"}},"type":"object"},"AddonOfferBreakdown":{"properties":{"business_day":{"description":"The business day the price for the addon service will be posted to the folio of the reservation","format":"date-time","type":"string"},"currency":{"description":"The currency the addon service will be charged in.","type":"string"},"included_tax":{"description":"The amount of taxes already included in the gross rate of the addon service also calculated for all rooms and\r\n            all persons.","format":"double","type":"number"},"rate":{"description":"The gross rate of the addon service. It is the price calculated for all rooms and all persons.","format":"double","type":"number"}},"type":"object"},"AddonOfferRate":{"properties":{"currency":{"description":"The currency the addon service will be charged in.","type":"string"},"included_tax":{"description":"The amount of taxes already included in the gross rate of the addon service also calculated for all rooms and\r\n            all persons.","format":"double","type":"number"},"rate":{"description":"The gross rate of the addon service. It is the price calculated for all rooms and all persons.","format":"double","type":"number"}},"type":"object"},"AddonRate":{"properties":{"business_day":{"description":"The business day the addon service should be charged","format":"date-time","type":"string"},"code":{"description":"The code of the addon service to be booked","type":"string"},"rate":{"description":"Total gross amount for the service","format":"double","type":"number"}},"type":"object"},"Addons":{"properties":{"addon_services":{"description":"A collection of offers for addon services.","items":{"$ref":"#/components/schemas/AddonOffer"},"type":"array"},"adults":{"description":"The number of adults per room the addon offers are requested for. The rates will then already reflects this.","format":"int32","type":"integer"},"arrival_date":{"description":"The arrival date of the reservation the addon offers are supposed to be booked on.","format":"date-time","type":"string"},"departure_date":{"description":"The departure date of the reservation the addon offers are supposed to be booked on.","format":"date-time","type":"string"},"hotel_id":{"description":"The id of the hotel the addon offers will be valid for","format":"int32","type":"integer"},"hotel_name":{"description":"The name of the hotel the addon offers will be valid for","type":"string"},"rate_plan":{"$ref":"#/components/schemas/RatePlan"},"room":{"$ref":"#/components/schemas/ReservationRoom"},"rooms":{"description":"The number of rooms the addon offers are requested for. The rates will then already reflects this.","format":"int32","type":"integer"}},"type":"object"},"AssignRoomCriteria":{"description":"Represents a set of criteria for assigning a room","properties":{"amenities":{"description":"Ensure the assigned room will have all the amenities specified. You can provide a comma seperated list of amenity codes.","items":{"type":"string"},"type":"array"},"condition":{"description":"Here you can define to limit the list of assignable rooms based on their current condition. This is only applicable if the underlying reservation\r\n            is due to arrive on the current business day. If not set by default only clean rooms will be assigned.","enum":["CleanNotInspected","Clean","Dirty","Any"],"type":"string"},"include_out_of_service":{"description":"Sometimes you might want to assign rooms which are out of service (small repair needed) if no other rooms are available anymore. If you set\r\n            include_out_of_service to true even those rooms will be considered. The default is false.","type":"boolean"},"locations":{"description":"Ensure the assigned room will have at least one of the specified locations. You can provide a comma seperated list of location codes.","items":{"type":"string"},"type":"array"},"respect_guest_preferences":{"description":"Defines if the preferences for locations, amenities and views of the primary guest should be taken into account. All defined preferences in the guest\r\n            profile override any of the criteria defined in the request body. The default is false.","type":"boolean"},"room_number":{"description":"If you define a specific room number this room will be assigned if not assigned to another reservation, has proper room type and is not OutOfOrder \r\n            or OutOfInventory for the stay duration of the underlying reservaton. If set all other filter criteria will be ignored.","type":"string"},"views":{"description":"Ensure the assigned room will have at least one of the specified views. You can provide a comma seperated list of view codes.","items":{"type":"string"},"type":"array"}},"type":"object"},"AssignRoomResponse":{"description":"Defines the response for room assignment operation","properties":{"_warnings":{"description":"Warnings that came up when your request was processed. Your request will still be processed successfull when\r\n            you see such warnings in your response","items":{"type":"string"},"type":"array"},"room_number":{"description":"The room number assigned","type":"string"}},"type":"object"},"AuthorizationDetails":{"properties":{"amount":{"description":"AuthorizedAmount","format":"double","type":"number"},"expiry_date":{"description":"Authorization ExpiryDate","format":"date-time","type":"string"},"merchant_reference":{"description":"Merchant Reference","maxLength":50,"minLength":0,"type":"string"},"reference":{"description":"Authorization Reference","maxLength":255,"minLength":0,"type":"string"},"shopper_reference":{"description":"Shopper Reference","maxLength":50,"minLength":0,"type":"string"}},"required":["reference","merchant_reference","shopper_reference"],"type":"object"},"AuthorizationRequest":{"properties":{"authorization":{"$ref":"#/components/schemas/AuthorizationDetails"},"no_authorization_required":{"description":"Whether hetras should skip authorization using the provided token when no authorization details are supplied.\r\n            Optional flag, defaults to false.","type":"boolean"},"payment_token":{"description":"The token you get from the payment service provider","maxLength":255,"minLength":0,"type":"string"}},"required":["payment_token"],"type":"object"},"AvailabilityDetail":{"properties":{"_links":{"additionalProperties":{"$ref":"#/components/schemas/LinkObject"},"description":"Collection of links to related resources","type":"object"},"available":{"description":"The number of rooms that were originally available to sell. This is the the house count reduced by rooms set\r\n            to OutOfOrder but increased by the set overbooking","format":"int32","type":"integer"},"blocked":{"$ref":"#/components/schemas/Blocked"},"day_use":{"description":"The number of day use reservations","format":"int32","type":"integer"},"house_count":{"description":"The total count of physical rooms reduced by the number of rooms set to OutOfInventory","format":"int32","type":"integer"},"maintenance":{"$ref":"#/components/schemas/Maintenance"},"overbooking":{"description":"The manually set overbooking","format":"int32","type":"integer"},"room_count":{"description":"The total count of physical rooms","format":"int32","type":"integer"},"sold":{"description":"The count of rooms sold. It sums up the rooms sold through individual reservations plus rooms blocked definitely","format":"int32","type":"integer"},"to_sell":{"description":"The number of rooms still available to sell. It is available reduced by the already sold rooms","format":"int32","type":"integer"}},"type":"object"},"AvailabilityResponse":{"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"},"daily_availabilities":{"description":"The list of availability numbers per business day","items":{"$ref":"#/components/schemas/DailyAvailability"},"type":"array"},"hotel":{"$ref":"#/components/schemas/EmbeddedHotel"}},"type":"object"},"BaseResponse":{"properties":{"_warnings":{"description":"Warnings that came up when your request was processed. Your request will still be processed successfull when\r\n            you see such warnings in your response","items":{"type":"string"},"type":"array"}},"type":"object"},"BlockInfo":{"properties":{"_links":{"additionalProperties":{"$ref":"#/components/schemas/LinkObject"},"description":"Collection of links to related resources","type":"object"},"code":{"description":"The code is composed of the hotel code a dash and the block code shown in the hetras UI. An \r\n            example block code on the API for a block with code TRAVEL1 defined for the hotel with code ABC would \r\n            be ABC-TRAVEL1","type":"string"},"name":{"description":"The name of the block","type":"string"}},"type":"object"},"BlockListRequest":{"properties":{"countDetails":{"description":"If true it will include also details of block count per each room type.","type":"boolean"},"from":{"description":"Return all blocks where the block's last_departure is greater than specified date.","format":"date-time","type":"string"},"groupCode":{"description":"Filter the blocks by the specified group code","type":"string"},"hotelId":{"description":"Only return blocks for this specific hotel.","format":"int32","type":"integer"},"ratePlanCodes":{"description":"Return all blocks that have related the specified comma-separated rate plans.","items":{"type":"string"},"type":"array"},"status":{"description":"Return all blocks where the block status is one of the specified values.","enum":["Cancelled","Tentative","Definite"],"type":"string"},"to":{"description":"Return all blocks where the block's last_departure is less than specified date.","format":"date-time","type":"string"}},"type":"object"},"Blocked":{"properties":{"definite":{"description":"Number of rooms blocked defintely","format":"int32","type":"integer"},"remaining":{"description":"Number of definitely blocked rooms not picked up","format":"int32","type":"integer"},"tentative":{"description":"Number of rooms blocked tentatively","format":"int32","type":"integer"}},"type":"object"},"BookingListItem":{"properties":{"_links":{"additionalProperties":{"$ref":"#/components/schemas/LinkObject"},"description":"Collection of links to related resources","type":"object"},"confirmation_id":{"description":"The 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 same\r\n            booking request.","type":"string"},"created":{"description":"Timestamp the booking was created","format":"date-time","type":"string"},"reservations":{"description":"Collection of reservations made with on booking request.","items":{"$ref":"#/components/schemas/BookingListReservationItem"},"type":"array"},"updated":{"description":"Timestamp of when the booking was changed the last time","format":"date-time","type":"string"}},"type":"object"},"BookingListRequest":{"properties":{"blockCode":{"description":"Return all bookings where the block code matches the specified value.","type":"string"},"cancellationId":{"description":"Return bookings for this cancellation id.","type":"string"},"channelCodes":{"description":"Return all bookings where the channel code is one of the specified values.","items":{"type":"string"},"type":"array"},"companyEmail":{"description":"Return all bookings where the primary email address of the company or the travel agent profile contains the specified value. The search is executed case insensitive\r\n            and also stripping of any whitespaces.","type":"string"},"companyId":{"description":"Return all bookings the id of the company or travel agent profile matches the specified value.","type":"string"},"companyName":{"description":"Return all bookings where the name of the linked company or travel agent profile contains the specified value. The search is executed case insensitive\r\n            and also stripping of any whitespaces.","type":"string"},"customerEmail":{"description":"Return all bookings where the primary email address of one of the guests or the contact contains the specified value. The search is executed case insensitive\r\n            and also stripping of any whitespaces.","type":"string"},"customerId":{"description":"Return all bookings the id of one of the guests or the contact matches the specified value.","type":"string"},"customerName":{"description":"Return all bookings where the first or lastname of one of the guests or the contact contains the specified value. The search is executed case insensitive\r\n            and also stripping of any whitespaces.","type":"string"},"dateFilter":{"description":"Select a date field you want to filter bookings by. Only one filter at a time can be applied. The to and from dates\r\n            will then define the time range.","enum":["ArrivalDate","DepartureDate","StayDate","CreationDate","ModificationDate"],"type":"string"},"exclude":{"description":"To be able to request reservations without personal data based on GDPR.","enum":["Customers"],"type":"string"},"externalId":{"description":"Return all bookings exactly matching the specified external id. This filter is case sensitive.","type":"string"},"from":{"description":"Start date for the selected date filter. If you select arrival date as date filter the bookings returned will have at least\r\n            one reservation arriving on the specified date or later.","format":"date-time","type":"string"},"hotelId":{"description":"Only return bookings for this specific hotel.","format":"int32","type":"integer"},"labels":{"description":"Return all reservations with at least one of the specified labels.","items":{"type":"string"},"type":"array"},"marketCodes":{"description":"Return all bookings where the market code is one of the specified values.","items":{"type":"string"},"type":"array"},"ratePlanCodes":{"description":"Return all bookings where the rate plan code is one of the specified values.","items":{"type":"string"},"type":"array"},"reservationNumber":{"description":"Return bookings matching this reservation number. Please note that reservation numbers are only unique within a hotel. If you\r\n            don´t specify a hotel filter at the same time you could get back multiple bookings from different hotels.","format":"int32","type":"integer"},"reservationStatuses":{"description":"Return all bookings where the reservation status is one of the specified values.","items":{"enum":["Tentative","Waitlisted","OnRequest","NonGuaranteed","Guaranteed","InHouse","CheckedOut","NoShow","Denied","Cancelled","Released","Walked","Expired","WalkIn","Registered"],"type":"string"},"type":"array"},"roomNumber":{"description":"Return all bookings having the specified room number assigned.","type":"string"},"roomTypes":{"description":"Return all bookings where the room type is one of the specified values.","items":{"type":"string"},"type":"array"},"subChannelCodes":{"description":"Return all bookings where the subchannel code is one of the specified values.","items":{"type":"string"},"type":"array"},"to":{"description":"End date for the selected date filter. If you select arrival date as date filter the bookings returned will have at least\r\n            one reservation arriving on the specified date or earlier.","format":"date-time","type":"string"}},"type":"object"},"BookingListReservationItem":{"properties":{"_links":{"additionalProperties":{"$ref":"#/components/schemas/LinkObject"},"description":"Collection of links to related resources","type":"object"},"adults":{"description":"The number of adults per room","format":"int32","type":"integer"},"arrival_date":{"description":"The arrival date of the guests","format":"date-time","type":"string"},"balance":{"description":"The balance for all folios of this reservartion. It is calculated by all already charged room and service rates plus manual charges \r\n            or charges from other systems like POS minus all payments. A negative balance indicates the reservation is overpaid, a positive balance \r\n            that the guest owes the hotel money","format":"double","type":"number"},"block_code":{"description":"If this reservation is a pick-up from a block you will see the appropriate block code here","type":"string"},"cancellation_id":{"description":"The cancellation id if the reservation has been cancelled","type":"string"},"channel_code":{"description":"The code of the channel that was used when the booking has been created. It is also known as source. \r\n            Possible values can be OTA, GDS or DIRECT, but it is configurable per hotel","type":"string"},"companies":{"$ref":"#/components/schemas/CompaniesInfo"},"created":{"description":"Timestamp the reservation was created","format":"date-time","type":"string"},"customers":{"$ref":"#/components/schemas/CustomersInfo"},"departure_date":{"description":"The departure date of the guests","format":"date-time","type":"string"},"external_id":{"description":"The external id for this reservation is the unique identifier from the system that created the booking in hetras. It could be the id of an\r\n            OTA like Expedia or booking.com or one of the GDS systems like Amadeus or Galileo","type":"string"},"hotel":{"$ref":"#/components/schemas/HotelInfo"},"labels":{"description":"The labels attached to this reservation.","items":{"type":"string"},"type":"array"},"market_code":{"description":"The code of the market segment the rate plan for this reservation is linked to","type":"string"},"rate_plan":{"$ref":"#/components/schemas/RatePlan"},"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"},"room":{"$ref":"#/components/schemas/RoomInfo"},"rooms":{"description":"The number of rooms this reservation is valid for. After a multi-room booking is done there will be \r\n            one reservation in hetras for this booking for all rooms. The hotel staff then will split this reservation into\r\n            one reservation per room to be able to check in the guests","format":"int32","type":"integer"},"subchannel_code":{"description":"The code of the subchannel that was used when the booking has been created. Possible values can be \r\n            BOOKING, EXPEDIA or WALKIN, but it is configurable per hotel","type":"string"},"updated":{"description":"Timestamp of when the reservation was changed the last time","format":"date-time","type":"string"}},"type":"object"},"BookingListResponse":{"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"},"bookings":{"description":"Collection of bookings that match the defined filter criteria.","items":{"$ref":"#/components/schemas/BookingListItem"},"type":"array"}},"type":"object"},"CancellationPolicy":{"properties":{"description":{"description":"Description of the cancellation policy suitable for displaying to customers","type":"string"},"fee":{"description":"The fee a guest has to pay when cancelling the reservation","format":"double","type":"number"},"fee_date":{"description":"The date and time in UTC from when the fee has to be paid in case of cancellation","format":"date-time","type":"string"}},"type":"object"},"CancellationResponse":{"description":"Result of cancel operation","properties":{"_warnings":{"description":"Warnings that came up when your request was processed. Your request will still be processed successfull when\r\n            you see such warnings in your response","items":{"type":"string"},"type":"array"},"balance":{"description":"The current balance on the reservations folio without the cancellation fee","format":"double","type":"number"},"cancellation_fee":{"description":"The fee that might be charged to the folio of the reservation. The cancelled reservation will\r\n            show up in the cancellation and no show processing screen and the hotel staff will either charge\r\n            the fee or waive it.","format":"double","type":"number"},"cancellation_id":{"description":"The id of the successful cancellation. With this id the hotel staff will be able to find the reservation","type":"string"}},"type":"object"},"CancellationToken":{"properties":{"CanBeCanceled":{"readOnly":true,"type":"boolean"},"IsCancellationRequested":{"readOnly":true,"type":"boolean"},"WaitHandle":{"$ref":"#/components/schemas/WaitHandle"}},"type":"object"},"Card":{"properties":{"id":{"type":"string"}},"type":"object"},"CheckInDetails":{"properties":{"client_identity":{"description":"Client identity","type":"string"}},"type":"object"},"CompaniesInfo":{"properties":{"company":{"$ref":"#/components/schemas/Company"},"travel_agent":{"$ref":"#/components/schemas/Company"}},"type":"object"},"Company":{"properties":{"company_id":{"description":"The id of a company profile. The id is build out of the Supplier Code a dash and the profile id\r\n            shown in the hetras UI. An example id on the API for a profile with id 12345 on the level of supplier ABC \r\n            would be ABC-12345","type":"string"}},"type":"object"},"Contact":{"properties":{"customer_id":{"description":"The id of a customer profile. The id is build out of the Supplier Code a dash and the profile id\r\n            shown in the hetras UI. An example id on the API for a profile with id 12345 on the level of supplier ABC \r\n            would be ABC-12345","type":"string"}},"type":"object"},"ContactResponse":{"properties":{"_links":{"additionalProperties":{"$ref":"#/components/schemas/LinkObject"},"description":"Collection of links to related resources","type":"object"},"customer_id":{"description":"The id of a customer profile. The id is build out of the Supplier Code a dash and the profile id\r\n            shown in the hetras UI. An example id on the API for a profile with id 12345 on the level of supplier ABC \r\n            would be ABC-12345","type":"string"}},"type":"object"},"Customer":{"properties":{"consent_subscribe":{"description":"The list of consents which the customer is subscribing","items":{"type":"string"},"type":"array"},"consent_unsubscribe":{"description":"The list of consents which the customer is unsubscribing","items":{"type":"string"},"type":"array"},"customer_id":{"description":"The id of a customer profile. The id is build out of the Supplier Code a dash and the profile id\r\n            shown in the hetras UI. An example id on the API for a profile with id 12345 on the level of supplier ABC \r\n            would be ABC-12345","type":"string"},"email":{"description":"The primary email address of the guest","type":"string"},"first_name":{"description":"First name of the guest","type":"string"},"gender":{"description":"Gender","enum":["Unspecified","Male","Female"],"type":"string"},"last_name":{"description":"Last name of the guest","type":"string"},"mailing_address":{"$ref":"#/components/schemas/MailingAddress"},"nationality":{"description":"The nationality of the guest in ISO 3166-1 alpha-2 format\r\n            (see: http://www.iso.org/iso/country_codes/iso_3166_code_lists/country_names_and_code_elements.htm)","type":"string"},"phone":{"description":"The primary phone number of the guest","type":"string"},"primary":{"description":"Defines if the guest is the primary guest of the reservation","type":"boolean"},"title":{"description":"Title of the guest. Needs to be taken from the available titles defined in the codes","type":"string"}},"type":"object"},"CustomerResponse":{"properties":{"_links":{"additionalProperties":{"$ref":"#/components/schemas/LinkObject"},"description":"Collection of links to related resources","type":"object"},"customer_id":{"description":"The id of a customer profile. The id is build out of the Supplier Code a dash and the profile id\r\n            shown in the hetras UI. An example id on the API for a profile with id 12345 on the level of supplier ABC \r\n            would be ABC-12345","type":"string"},"email":{"description":"The primary email address of the guest","type":"string"},"first_name":{"description":"First name of the guest","type":"string"},"gender":{"description":"Gender","enum":["Unspecified","Male","Female"],"type":"string"},"last_name":{"description":"Last name of the guest","type":"string"},"mailing_address":{"$ref":"#/components/schemas/MailingAddress"},"nationality":{"description":"The nationality of the guest in ISO 3166-1 alpha-2 format\r\n            (see: http://www.iso.org/iso/country_codes/iso_3166_code_lists/country_names_and_code_elements.htm)","type":"string"},"phone":{"description":"The primary phone number of the guest","type":"string"},"primary":{"description":"Defines if the guest is the primary guest of the reservation","type":"boolean"},"subscribed_consents":{"description":"Gets or sets the list of consents subscribed by customer","items":{"type":"string"},"type":"array"},"title":{"description":"Title of the guest. Needs to be taken from the available titles defined in the codes","type":"string"}},"type":"object"},"CustomersInfo":{"properties":{"contact":{"$ref":"#/components/schemas/CustomerResponse"},"guests":{"description":"A list of guest details for this reservation","items":{"$ref":"#/components/schemas/CustomerResponse"},"type":"array"}},"type":"object"},"DailyAvailability":{"properties":{"business_day":{"description":"The business day the following availability numbers are shown for","format":"date-time","type":"string"},"house_level":{"$ref":"#/components/schemas/AvailabilityDetail"},"room_types":{"description":"The availability numbers for all room types if the expand parameter is set appropriately","items":{"$ref":"#/components/schemas/RoomAvailabilityDetail"},"type":"array"}},"type":"object"},"DailyCalendarRate":{"properties":{"business_day":{"format":"date-time","type":"string"},"offers":{"items":{"$ref":"#/components/schemas/DailyRateOffer"},"type":"array"}},"type":"object"},"DailyRate":{"properties":{"addon_services":{"description":"List of addon services with additional price information.","items":{"$ref":"#/components/schemas/ServiceRate"},"type":"array"},"date":{"description":"Date the room rate will be charged to the folio","format":"date-time","type":"string"},"excluded_tax":{"description":"The amount of extra taxes also calculated for all rooms and all persons per room.","format":"double","type":"number"},"included_services":{"description":"List of codes for all services already included in the gross rate","items":{"type":"string"},"type":"array"},"included_tax":{"description":"The amount of taxes already included in the gross nightly rate also calculated for all rooms and\r\n            all persons per room.","format":"double","type":"number"},"rate":{"description":"The gross room rate. It is the price calculated for all rooms and all persons per room.","format":"double","type":"number"},"room_type":{"description":"Code of the room type which is booked for that day","type":"string"}},"type":"object"},"DailyRateCancellationPolicy":{"properties":{"_links":{"additionalProperties":{"$ref":"#/components/schemas/LinkObject"},"description":"Collection of links to related resources","type":"object"},"code":{"type":"string"}},"type":"object"},"DailyRateHotel":{"properties":{"_links":{"additionalProperties":{"$ref":"#/components/schemas/LinkObject"},"description":"Collection of links to related resources","type":"object"},"code":{"type":"string"},"id":{"format":"int32","type":"integer"},"name":{"type":"string"}},"type":"object"},"DailyRateNoShowPolicy":{"properties":{"_links":{"additionalProperties":{"$ref":"#/components/schemas/LinkObject"},"description":"Collection of links to related resources","type":"object"},"code":{"type":"string"}},"type":"object"},"DailyRateOffer":{"properties":{"cancellation_policy_code":{"type":"string"},"guarantee_type_code":{"type":"string"},"noshow_policy_code":{"type":"string"},"rateplan_code":{"type":"string"},"room_type_details":{"items":{"$ref":"#/components/schemas/DailyRateRoomOffer"},"type":"array"}},"type":"object"},"DailyRatePlan":{"properties":{"_links":{"additionalProperties":{"$ref":"#/components/schemas/LinkObject"},"description":"Collection of links to related resources","type":"object"},"code":{"type":"string"},"currency":{"description":"Three letter ISO code.","type":"string"},"name":{"type":"string"}},"type":"object"},"DailyRateRoomOffer":{"properties":{"available_rooms_count":{"format":"int32","type":"integer"},"is_available":{"type":"boolean"},"rates":{"items":{"$ref":"#/components/schemas/DailyRoomRate"},"type":"array"},"restrictions":{"$ref":"#/components/schemas/Restrictions"},"room_type_code":{"type":"string"},"unavailable_reason":{"description":"If there is an issue and this room offer is unavailable (IsAvailable=false) this message may be not empty.","type":"string"}},"type":"object"},"DailyRatesResponse":{"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"},"daily_rates":{"items":{"$ref":"#/components/schemas/DailyCalendarRate"},"type":"array"},"hotel":{"$ref":"#/components/schemas/DailyRateHotel"},"policies":{"$ref":"#/components/schemas/Policies"},"rateplans":{"items":{"$ref":"#/components/schemas/DailyRatePlan"},"type":"array"},"room_types":{"items":{"$ref":"#/components/schemas/RoomType"},"type":"array"}},"type":"object"},"DailyRoomRate":{"properties":{"adults":{"format":"int32","type":"integer"},"rate":{"format":"double","type":"number"}},"type":"object"},"DepositPolicy":{"properties":{"amount":{"description":"Deposit amount that has to be paid","format":"double","type":"number"},"description":{"description":"Description of the deposit policy suitable for displaying to customers","type":"string"},"due_date":{"description":"Date the deposit amount has to be paid latest","format":"date-time","type":"string"}},"type":"object"},"EmbeddedHotel":{"properties":{"code":{"description":"The code of the hotel","type":"string"},"id":{"description":"The id of the hotel","format":"int32","type":"integer"},"name":{"description":"The name of the hotel","type":"string"}},"type":"object"},"EmbeddedRoom":{"description":"Represents a short version of room information. To get the full version\r\n            please follow the self link from the links collection","properties":{"_links":{"additionalProperties":{"$ref":"#/components/schemas/LinkObject"},"description":"Collection of links to related resources","type":"object"},"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"}},"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"},"GeneralPolicy":{"properties":{"description":{"description":"Description of the general policy suitable for displaying to customers","type":"string"},"name":{"description":"Name of the general policy","type":"string"}},"type":"object"},"GetAddonsRequest":{"properties":{"adults":{"description":"Number of adults per room.","format":"byte","maximum":255,"minimum":1,"type":"string"},"arrivalDate":{"description":"Date from when the addon service will be booked to the reservation in the ISO-8601 format \"YYYY-MM-DD\".","format":"date-time","type":"string"},"channelCode":{"description":"Channel Code the rate plan needs to be configured for.","type":"string"},"departureDate":{"description":"Date until when the addon service will be booked to the reservation in the ISO-8601 format \"YYYY-MM-DD\".\r\n            This is usually the departure date of the reservation.","format":"date-time","type":"string"},"expand":{"description":"Expand the rates breakdown if required.","enum":["None","Breakdown"],"type":"string"},"hotelId":{"description":"Specifies the hotel id to request offers for.","format":"int32","type":"integer"},"ratePlanCode":{"description":"Only return offers for the specified rate plan code.","type":"string"},"roomType":{"description":"Only return offers for the specified room type code.","type":"string"},"rooms":{"description":"Number of rooms.","format":"byte","maximum":255,"minimum":1,"type":"string"}},"required":["hotelId","arrivalDate","departureDate","channelCode","adults","rooms","roomType","ratePlanCode"],"type":"object"},"GetAvailabilityRequest":{"properties":{"expand":{"description":"You can expand the room types breakdown per business day for the availibility numbers if need be.","enum":["RoomTypes"],"type":"string"},"from":{"description":"Defines the first business day you would like to get availability numbers for.","format":"date-time","type":"string"},"hotelId":{"description":"Specifies the hotel id to request the availability for.","format":"int32","type":"integer"},"to":{"description":"Defines the last business day you would like to get availability numbers 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"}},"required":["hotelId","from","to"],"type":"object"},"GetCardsResponse":{"properties":{"cards":{"items":{"$ref":"#/components/schemas/Card"},"type":"array"}},"type":"object"},"GetDailyRatesRequest":{"properties":{"channelCode":{"description":"Define the channel code in order to look up the rates for.","type":"string"},"expand":{"description":"Define the sections you want to expand and get informed about rates for.","items":{"enum":["None","Policies","RatePlans"],"type":"string"},"type":"array"},"from":{"description":"Define the first business day you would like to get availability numbers for. The day should not be in the past.","format":"date-time","type":"string"},"hotelId":{"description":"Define the hotel id to request the availability for.","format":"int32","type":"integer"},"ratePlanCodes":{"description":"Define the codes of rate plans to show in the response. A list of comma ',' separated rate plan codes.","items":{"type":"string"},"type":"array"},"to":{"description":"Define the last business day you would like to get rates for (inclusive). The maximum time span between <i>'From'</i> and <i>'To'</i>\r\n            is limited to 365 days. This can't be less than the 'From' date.","format":"date-time","type":"string"}},"required":["hotelId","from","to","channelCode"],"type":"object"},"Guarantee":{"properties":{"guarantee_type":{"description":"One of the accepted guarantee types from the offer you selected out of the rates response","enum":["PM4Hold","PM6Hold","GuaranteeToCreditCard","GuaranteeToGuestAccount","GuaranteeByTravelAgent","GuaranteeByCompany","Deposit","Voucher","Prepayment","NonGuaranteed","Tentative","Waitlist"],"type":"string"},"token":{"$ref":"#/components/schemas/Token"}},"type":"object"},"GuaranteeResponse":{"properties":{"guarantee_type":{"description":"The guarantee type of the reservation","enum":["PM4Hold","PM6Hold","GuaranteeToCreditCard","GuaranteeToGuestAccount","GuaranteeByTravelAgent","GuaranteeByCompany","Deposit","Voucher","Prepayment","NonGuaranteed","Tentative","Waitlist"],"type":"string"},"valid_token":{"description":"Tells you if there is a token for a valid creadit card on the reservation that can be used to\r\n            capture the reservations amount or to guarantee for the reservation","type":"boolean"}},"type":"object"},"GuaranteeTypes":{"properties":{"accepted":{"items":{"enum":["PM4Hold","PM6Hold","GuaranteeByCompany","GuaranteeByTravelAgent","GuaranteeToGuestAccount","GuaranteeToCreditCard","Deposit","Prepayment","NonGuaranteed"],"type":"string"},"type":"array"},"code":{"type":"string"}},"type":"object"},"HotelInfo":{"properties":{"code":{"description":"Hotel Code which is also called property or component code","type":"string"},"id":{"description":"Hotel Identifier","format":"int32","type":"integer"}},"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"},"MailingAddress":{"properties":{"address":{"description":"The address details like street, number, and other in free format","type":"string"},"address_type":{"description":"One of the values from the enumeration of allowed address types","enum":["Home","Business","Billing","Other"],"type":"string"},"city":{"description":"The city name for this address","type":"string"},"country":{"description":"The country code for this address 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"},"postal_code":{"description":"The postal code for this address","type":"string"}},"type":"object"},"Maintenance":{"properties":{"out_of_inventory":{"description":"Number of rooms set to OutOfInventory","format":"int32","type":"integer"},"out_of_order":{"description":"Number of rooms set to OutOfOrder","format":"int32","type":"integer"},"out_of_service":{"description":"Number of rooms set to OutOfService","format":"int32","type":"integer"}},"type":"object"},"NoShowPolicy":{"properties":{"description":{"description":"Description of the noshow policy suitable for displaying to customers","type":"string"},"fee":{"description":"The fee that will be charged to the reservations folio in case the guest does not show up","format":"double","type":"number"}},"type":"object"},"Object":{"properties":{},"type":"object"},"Offer":{"properties":{"_links":{"additionalProperties":{"$ref":"#/components/schemas/LinkObject"},"description":"Link to request addon offers for this stay","type":"object"},"adults":{"description":"Number of adults the offer is calculated for","format":"int32","type":"integer"},"available_rooms":{"description":"Number of currently available rooms for that specific offer","format":"int32","type":"integer"},"breakdown":{"description":"In this collection you will get an entry with price information for every day.","items":{"$ref":"#/components/schemas/RoomOfferDailyRate"},"type":"array"},"cancellation_policies":{"description":"List of cancellation policies defined for that rate","items":{"$ref":"#/components/schemas/CancellationPolicy"},"type":"array"},"currency":{"description":"The amounts of this offer are always in this currency","type":"string"},"deposit_policies":{"description":"List of Deposit policies defined for that rate","items":{"$ref":"#/components/schemas/DepositPolicy"},"type":"array"},"general_policies":{"description":"List of general policies defined for that rate","items":{"$ref":"#/components/schemas/GeneralPolicy"},"type":"array"},"guarantee_types":{"$ref":"#/components/schemas/AcceptedGuaranteeTypes"},"included_services":{"description":"A list of  of services included already in the rate for this offer","items":{"type":"string"},"type":"array"},"noshow_policy":{"$ref":"#/components/schemas/NoShowPolicy"},"rate_plan_code":{"description":"The code of the rate plan for this offer","type":"string"},"total_stay":{"$ref":"#/components/schemas/Rate"}},"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"},"Policies":{"properties":{"cancellation_policies":{"items":{"$ref":"#/components/schemas/DailyRateCancellationPolicy"},"type":"array"},"guarantee_types":{"items":{"$ref":"#/components/schemas/GuaranteeTypes"},"type":"array"},"noshow_policies":{"items":{"$ref":"#/components/schemas/DailyRateNoShowPolicy"},"type":"array"}},"type":"object"},"PreCheckInRequest":{"description":"With this request you can execute a precheckin on a reservation","properties":{"device_id":{"description":"The device id that will be put on the reservation","type":"string"}},"required":["device_id"],"type":"object"},"Rate":{"properties":{"addon_services":{"description":"List of addon services with additional price information.","items":{"$ref":"#/components/schemas/ServiceRate"},"type":"array"},"excluded_tax":{"description":"The amount of extra taxes also calculated for all rooms and all persons per room.","format":"double","type":"number"},"included_services":{"description":"List of codes for all services already included in the gross rate","items":{"type":"string"},"type":"array"},"included_tax":{"description":"The amount of taxes already included in the gross nightly rate also calculated for all rooms and\r\n            all persons per room.","format":"double","type":"number"},"rate":{"description":"The gross room rate. It is the price calculated for all rooms and all persons per room.","format":"double","type":"number"}},"type":"object"},"RatePlan":{"properties":{"code":{"description":"Code of the rate plan","type":"string"},"description":{"description":"Description of the rate plan suitable for being displayed to customers","type":"string"},"name":{"description":"Name of the rate plan","type":"string"}},"type":"object"},"Rates":{"properties":{"arrival_date":{"description":"The arrival date of the guest for this rate offer","format":"date-time","type":"string"},"departure_date":{"description":"The departure date of the guest for this rate offer","format":"date-time","type":"string"},"hotel_id":{"description":"The id of the hotel the rate offers will be valid for","format":"int32","type":"integer"},"hotel_name":{"description":"The name of the hotel the rate offers will be valid for","type":"string"},"rate_plans":{"description":"List of rate plans details for rates you can find offers in the room_offers","items":{"$ref":"#/components/schemas/RatePlan"},"type":"array"},"room_offers":{"description":"List of room types with available rate offers ordered from ascending","items":{"$ref":"#/components/schemas/RoomOffer"},"type":"array"},"rooms":{"description":"List of room type details for room types you can find offers in the room_offers","items":{"$ref":"#/components/schemas/ReservationRoom"},"type":"array"},"services":{"description":"List of service details for included services in offers you can find in the room_offers","items":{"$ref":"#/components/schemas/Service"},"type":"array"}},"type":"object"},"RatesRequest":{"properties":{"adults":{"description":"Number of adults per room.","format":"byte","minimum":1,"type":"string"},"arrivalDate":{"description":"Date of arrival for the guest in the ISO-8601 format \"YYYY-MM-DD\".","format":"date-time","type":"string"},"channelCode":{"description":"Channel Code the rate plan needs to be configured for.","type":"string"},"departureDate":{"description":"Date of departure for the guest in the ISO-8601 format \"YYYY-MM-DD\".","format":"date-time","type":"string"},"expand":{"description":"Expand the rates breakdown if required.","enum":["None","Breakdown"],"type":"string"},"groupCode":{"description":"Only return offers for the specified group code.","type":"string"},"hotelId":{"description":"Specifies the hotel id to request offers for.","format":"int32","type":"integer"},"ratePlanCode":{"description":"Only return offers for the specified room type code.","type":"string"},"roomType":{"description":"Only return offers with rates for the specified room type code.","type":"string"},"rooms":{"description":"Number of rooms (default is 1).","format":"byte","minimum":1,"type":"string"}},"required":["hotelId","arrivalDate","departureDate","channelCode","adults"],"type":"object"},"Reservation":{"properties":{"addons":{"description":"A list of addon service codes that should be booked for all reservations of this booking","items":{"type":"string"},"type":"array"},"adults":{"description":"The number of adults per room","format":"int32","type":"integer"},"arrival_date":{"description":"The arrival date of the guests","format":"date-time","type":"string"},"channel_code":{"description":"The channel code for this reservation. You can find available channels in the codes for the hotel.","type":"string"},"comment":{"description":"The comment you want to add for this reservation","type":"string"},"company":{"$ref":"#/components/schemas/Company"},"contact":{"$ref":"#/components/schemas/Contact"},"departure_date":{"description":"The departure date of the guests","format":"date-time","type":"string"},"external_id":{"description":"The external id for this reservation. You can put here your own id used by you or the external system\r\n            you integrate hetras with","type":"string"},"group_code":{"description":"The group code based on which the reservation will be created.","type":"string"},"guarantee":{"$ref":"#/components/schemas/Guarantee"},"guests":{"description":"A list of guests with some basic guest details","items":{"$ref":"#/components/schemas/Customer"},"type":"array"},"hotel_id":{"description":"The id of the hotel this reservation is valid for","format":"int32","type":"integer"},"payment_method":{"description":"The payment method for this reservation","enum":["None","Cash","CreditCard","WireTransfer","ChargeToCompany","Check","Voucher","DebitCard","Token","Miscellaneous","DigitalPayment"],"type":"string"},"prepay_discount":{"description":"If you create a booking for a rateplan requiring prepayment this amount will be deducted from the booking value before\r\n            the prepayment will be taken. This feature is useful when the booker redeems a gift voucher and you want to \r\n            only capture the remaining amount from the guest´s credit card","format":"double","type":"number"},"rate_plan":{"description":"The rate plan code this reservation is related to","type":"string"},"room_type":{"description":"The room type code this reservation is related to","type":"string"},"rooms":{"description":"The number of rooms this reservation is for. After a multi-room booking is done there will be \r\n            one reservation in hetras for all rooms. The hotel staff then will split this reservation into\r\n            one reservation per room to be able to check in the guests","format":"int32","type":"integer"},"travel_agent":{"$ref":"#/components/schemas/Company"}},"required":["hotel_id"],"type":"object"},"ReservationConfirmation":{"properties":{"_warnings":{"description":"Warnings that came up when your request was processed. Your request will still be processed successfull when\r\n            you see such warnings in your response","items":{"type":"string"},"type":"array"},"confirmation_id":{"description":"The confirmation id for the newly created booking which the guest can use to check in on the kiosk, add the\r\n            booking to the mobile app etc.","type":"string"},"reservation_id":{"description":"The reservation number of the newly created reservation","format":"int32","type":"integer"}},"type":"object"},"ReservationDetails":{"properties":{"addon_rates":{"description":"A breakdown of addon services with their prices for every stay day","items":{"$ref":"#/components/schemas/AddonRate"},"type":"array"},"adults":{"description":"The number of adults per room","format":"int32","type":"integer"},"arrival_date":{"description":"The arrival date of the guests","format":"date-time","type":"string"},"channel_code":{"description":"The channel code for this reservation. You can find available channels in the codes for the hotel.","type":"string"},"comment":{"description":"The comment you want to add for this reservation","type":"string"},"company":{"$ref":"#/components/schemas/Company"},"contact":{"$ref":"#/components/schemas/Contact"},"departure_date":{"description":"The departure date of the guests","format":"date-time","type":"string"},"external_id":{"description":"The external id for this reservation. You can put here your own id used by you or the external system\r\n            you integrate hetras with","type":"string"},"group_code":{"description":"The group code based on which the reservation will be created.","type":"string"},"guarantee":{"$ref":"#/components/schemas/Guarantee"},"guests":{"description":"A list of guests with some basic guest details","items":{"$ref":"#/components/schemas/Customer"},"type":"array"},"hotel_id":{"description":"The id of the hotel this reservation is valid for","format":"int32","type":"integer"},"payment_method":{"description":"The payment method for this reservation","enum":["None","Cash","CreditCard","WireTransfer","ChargeToCompany","Check","Voucher","DebitCard","Token","Miscellaneous","DigitalPayment"],"type":"string"},"prepay_discount":{"description":"If you create a booking for a rateplan requiring prepayment this amount will be deducted from the booking value before\r\n            the prepayment will be taken. This feature is useful when the booker redeems a gift voucher and you want to \r\n            only capture the remaining amount from the guest´s credit card","format":"double","type":"number"},"room_rates":{"description":"A breakdown of room rates specified for every stay day","items":{"$ref":"#/components/schemas/RoomRate"},"type":"array"},"rooms":{"description":"The number of rooms this reservation is for. After a multi-room booking is done there will be \r\n            one reservation in hetras for all rooms. The hotel staff then will split this reservation into\r\n            one reservation per room to be able to check in the guests","format":"int32","type":"integer"},"travel_agent":{"$ref":"#/components/schemas/Company"}},"required":["hotel_id"],"type":"object"},"ReservationRequestParameters":{"properties":{"sendConfirmation":{"description":"Whether to send a confirmation email to the primary guest","type":"boolean"}},"type":"object"},"ReservationResponse":{"properties":{"_warnings":{"description":"Warnings that came up when your request was processed. Your request will still be processed successfull when\r\n            you see such warnings in your response","items":{"type":"string"},"type":"array"},"addon_services":{"description":"A list of addon service codes that are currently booked on the reservation. Services which are charged\r\n            once per stay are only visible before and on the day they are booked for.","items":{"type":"string"},"type":"array"},"adults":{"description":"The number of adults per room","format":"int32","type":"integer"},"arrival_date":{"description":"The arrival date of the guests","format":"date-time","type":"string"},"balance":{"description":"The balance for all folios of this reservartion. It is calculated by all already charged room and service\r\n            rates plus manual charges or charges from other systems like POS minus all payments. A negative balance\r\n            indicates the reservation is overpaid, a positive balance that the guest owes the hotel money","format":"double","type":"number"},"block":{"$ref":"#/components/schemas/BlockInfo"},"cancellation_id":{"description":"Given the reservation was cancelled, this field contains the cancellation id","type":"string"},"cancellation_policies":{"description":"The cancellation policies that were applicable on the date the booking was done","items":{"$ref":"#/components/schemas/CancellationPolicy"},"type":"array"},"channel_code":{"description":"The code of the channel that was used when the booking has been created. It is also known as source. \r\n            Possible values can be OTA, GDS or DIRECT, but it is configurable per hotel","type":"string"},"checkin_time":{"description":"The real checkin time of the guests. It will be set after the checkin has been performed","format":"date-time","type":"string"},"checkout_time":{"description":"The real checkout time of the guests. It will be set after the checkout has been performed","format":"date-time","type":"string"},"comment":{"description":"The comment for this reservation","type":"string"},"company":{"$ref":"#/components/schemas/Company"},"confirmation_id":{"description":"The 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 same\r\n            booking request","type":"string"},"contact":{"$ref":"#/components/schemas/ContactResponse"},"created":{"description":"Timestamp the reservation was created","format":"date-time","type":"string"},"currency":{"description":"The currency all amounts of this reservation will be shown in","type":"string"},"departure_date":{"description":"The departure date of the guests","format":"date-time","type":"string"},"external_id":{"description":"The external id for this reservation is the unique identifier from the system that created the booking in hetras. It could be the id of an\r\n            OTA like Expedia or booking.com or one of the GDS systems like Amadeus or Galileo","type":"string"},"general_policies":{"description":"The general policies that were applicable on the date the booking was done","items":{"$ref":"#/components/schemas/GeneralPolicy"},"type":"array"},"guarantee":{"$ref":"#/components/schemas/GuaranteeResponse"},"guests":{"description":"A list of guest details for this reservation","items":{"$ref":"#/components/schemas/CustomerResponse"},"type":"array"},"hotel_id":{"description":"The id of the hotel this reservation is valid for","format":"int32","type":"integer"},"labels":{"description":"A list of labels that are attached to the reservation.","items":{"type":"string"},"type":"array"},"market_code":{"description":"The code of the market segment the rate plan for this reservation is linked to","type":"string"},"noshow_policy":{"$ref":"#/components/schemas/NoShowPolicy"},"payment_method":{"description":"The payment method for this reservation","enum":["None","Cash","CreditCard","WireTransfer","ChargeToCompany","Check","Voucher","DebitCard","Token","Miscellaneous","DigitalPayment"],"type":"string"},"rate_plan":{"$ref":"#/components/schemas/RatePlan"},"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"},"room":{"$ref":"#/components/schemas/EmbeddedRoom"},"room_rates":{"description":"The breakdown for all daily room rates and service charges for this reservation","items":{"$ref":"#/components/schemas/DailyRate"},"type":"array"},"rooms":{"description":"The number of rooms this reservation is valid for. After a multi-room booking is done there will be \r\n            one reservation in hetras for this booking for all rooms. The hotel staff then will split this reservation into\r\n            one reservation per room to be able to check in the guests","format":"int32","type":"integer"},"services":{"description":"A list of details for all services included and addon service booked on this reservation","items":{"$ref":"#/components/schemas/Service"},"type":"array"},"subchannel_code":{"description":"The code of the subchannel that was used when the booking has been created. Possible values can be \r\n            BOOKING, EXPEDIA or WALKIN, but it is configurable per hotel","type":"string"},"total_stay":{"$ref":"#/components/schemas/Rate"},"updated":{"description":"Timestamp of when the reservation was changed the last time","format":"date-time","type":"string"}},"type":"object"},"ReservationRoom":{"properties":{"description":{"description":"The description of the room type","type":"string"},"name":{"description":"The name of the room type","type":"string"},"room_number":{"description":"The room number of the assigned room","format":"int32","type":"integer"},"type":{"description":"The code of the room type","type":"string"}},"type":"object"},"ReservationsResponse":{"description":"Reservation collection response model","properties":{"reservations":{"description":"All reservations for the requested booking","items":{"$ref":"#/components/schemas/ReservationResponse"},"type":"array"}},"type":"object"},"Restrictions":{"properties":{"closed":{"type":"boolean"},"closed_to_arrival":{"type":"boolean"},"closed_to_departure":{"type":"boolean"},"maximum_length_of_stay":{"format":"int32","type":"integer"},"minimum_length_of_stay":{"format":"int32","type":"integer"},"minimum_stay_through":{"format":"int32","type":"integer"}},"type":"object"},"RoomAvailabilityDetail":{"properties":{"_links":{"additionalProperties":{"$ref":"#/components/schemas/LinkObject"},"description":"Collection of links to related resources","type":"object"},"available":{"description":"The number of rooms that were originally available to sell. This is the the house count reduced by rooms set\r\n            to OutOfOrder but increased by the set overbooking","format":"int32","type":"integer"},"blocked":{"$ref":"#/components/schemas/Blocked"},"code":{"description":"Code of the room type","type":"string"},"day_use":{"description":"The number of day use reservations","format":"int32","type":"integer"},"default":{"description":"Specifies if the room type is the default room type of the hotel","type":"boolean"},"house_count":{"description":"The total count of physical rooms reduced by the number of rooms set to OutOfInventory","format":"int32","type":"integer"},"maintenance":{"$ref":"#/components/schemas/Maintenance"},"overbooking":{"description":"The manually set overbooking","format":"int32","type":"integer"},"room_count":{"description":"The total count of physical rooms","format":"int32","type":"integer"},"sold":{"description":"The count of rooms sold. It sums up the rooms sold through individual reservations plus rooms blocked definitely","format":"int32","type":"integer"},"to_sell":{"description":"The number of rooms still available to sell. It is available reduced by the already sold rooms","format":"int32","type":"integer"}},"type":"object"},"RoomInfo":{"properties":{"number":{"description":"Number of the room if one is assigned already","type":"string"},"room_type":{"$ref":"#/components/schemas/RoomTypeInfo"}},"type":"object"},"RoomOffer":{"properties":{"offers":{"description":"A list of rate offers for the appropriate room type ordered by amount ascending","items":{"$ref":"#/components/schemas/Offer"},"type":"array"},"room_type":{"description":"The room type all offers will be valid for","type":"string"}},"type":"object"},"RoomOfferDailyRate":{"properties":{"business_day":{"description":"The business day the prize for the daily rate and all included services will be posted to the folio of the reservation","format":"date-time","type":"string"},"excluded_tax":{"description":"The amount of taxes that are not included in the gross rate of the room offer and will be charged separately for\r\n            that business day. It is also calculated for all rooms and all persons per room","format":"double","type":"number"},"included_tax":{"description":"The amount of taxes already included in the gross rate of the room and all included services for this business day.\r\n            The prize is calculated for all rooms and all persons per room","format":"double","type":"number"},"rate":{"description":"The gross rate for this day for the room and all included services. The prize is calculated for all rooms and all \r\n            persons per room","format":"double","type":"number"}},"type":"object"},"RoomRate":{"properties":{"business_day":{"description":"The business day the room rate will be charged","format":"date-time","type":"string"},"rate":{"description":"Total gross amount to be charged for the rate including all services of a package. Only extra taxes might\r\n            be added to the booking on top","format":"double","type":"number"},"rate_plan":{"description":"The rate plan code for the specified business day","type":"string"},"room_type":{"description":"The room type code for the specified business day","type":"string"}},"type":"object"},"RoomType":{"properties":{"_links":{"additionalProperties":{"$ref":"#/components/schemas/LinkObject"},"description":"Collection of links to related resources","type":"object"},"code":{"type":"string"},"name":{"type":"string"}},"type":"object"},"RoomTypeInfo":{"properties":{"code":{"description":"Code of the room type","type":"string"},"name":{"description":"Name of the room type","type":"string"}},"type":"object"},"SafeWaitHandle":{"properties":{"IsClosed":{"readOnly":true,"type":"boolean"},"IsInvalid":{"readOnly":true,"type":"boolean"}},"type":"object"},"Service":{"properties":{"code":{"description":"The code of the service","type":"string"},"description":{"description":"The description of the service which is suitable for displaying to customers","type":"string"},"frequency":{"description":"The frequency for charging the service to the guests folio. It is a free text and only suitable for \r\n            displaying to customers","type":"string"},"is_addon":{"description":"This flag indicates if a service is an addon or is included already in the room rate","type":"boolean"},"name":{"description":"The name of the service","type":"string"}},"type":"object"},"ServiceRate":{"properties":{"code":{"description":"The code of the service","type":"string"},"included_tax":{"description":"The included taxes in the gross rate of the service calculated for all rooms and all persons","format":"double","type":"number"},"rate":{"description":"The gross rate of the service calculated for all rooms and all persons","format":"double","type":"number"}},"type":"object"},"TerminalAuthorizationRequest":{"properties":{"amount_to_authorize":{"description":"The amount to authorize","format":"double","type":"number"},"client_identity":{"description":"Client identity","type":"string"}},"type":"object"},"Token":{"properties":{"authorization_expiry_date":{"description":"The authorization expiry date you got back from the payment service provider","format":"date-time","type":"string"},"authorization_reference":{"description":"The authorization reference. This value is specific for different payment service providers. There will be\r\n            a page on the developer portal explaining the pattern on how to fill this value for the payment service\r\n            provider hetras is integrated with","type":"string"},"authorization_status":{"description":"The authorization status you got back from the payment service provider","enum":["Authorized","Refused","Error","Canceled","Consumed","AuthorizedWithZeroAmount"],"type":"string"},"authorized_amount":{"description":"The authorized amount","format":"double","type":"number"},"merchant_reference":{"description":"The merchant reference you used when requesting the token from the payment service provider","type":"string"},"shopper_email":{"description":"The shopper email you used when requesting the token from the payment service provider","type":"string"},"shopper_reference":{"description":"The shopper reference you used when requesting the token from the payment service provider. It can\r\n            be the same as the merchant reference","type":"string"},"token_id":{"description":"The token id you get from the payment service provider","type":"string"}},"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"},"WaitHandle":{"properties":{"Handle":{"$ref":"#/components/schemas/Object"},"SafeWaitHandle":{"$ref":"#/components/schemas/SafeWaitHandle"}},"type":"object"},"JsonPatchDocument_ReservationPatchableModel_":{"items":{"$ref":"#/components/schemas/Operation_ReservationPatchableModel_"},"properties":{},"type":"array"},"Operation_ReservationPatchableModel_":{"properties":{"from":{"type":"string"},"op":{"type":"string"},"path":{"type":"string"},"value":{"$ref":"#/components/schemas/Object"}},"type":"object"}}}}