{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/ReservationData",
"title": "Reservation parameters",
"required": [
"CustomerId",
"EndUtc",
"PersonCounts",
"RateId",
"RequestedCategoryId",
"StartUtc"
],
"type": "object",
"properties": {
"Identifier": {
"type": "string",
"description": "Identifier of the reservation within the transaction.",
"nullable": true
},
"ChannelNumber": {
"type": "string",
"nullable": true
},
"State": {
"anyOf": [
{
"$ref": "#/components/schemas/ServiceOrderStateOld"
}
],
"description": "State of the newly created reservation (either `Optional`, `Enquired` or `Confirmed`). If not specified, `Confirmed` is used.",
"nullable": true
},
"StartUtc": {
"minLength": 1,
"type": "string",
"description": "Reservation start in UTC timezone in ISO 8601 format.",
"format": "date-time"
},
"EndUtc": {
"minLength": 1,
"type": "string",
"description": "Reservation end in UTC timezone in ISO 8601 format.",
"format": "date-time"
},
"ReleasedUtc": {
"type": "string",
"description": "Release date and time of an unconfirmed reservation in UTC timezone in ISO 8601 format.",
"format": "date-time",
"nullable": true
},
"AdultCount": {
"type": "integer",
"format": "int32",
"deprecated": true,
"x-deprecatedMessage": "Use `PersonCounts` instead."
},
"ChildCount": {
"type": "integer",
"format": "int32",
"deprecated": true,
"x-deprecatedMessage": "Use `PersonCounts` instead."
},
"PersonCounts": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/components/schemas/ReservationPersonCount"
},
"description": "Number of people per age category the reservation was booked for. At least one category with valid count must be provided."
},
"CustomerId": {
"type": "string",
"description": "Unique identifier of the `Customer` who owns the reservation.",
"format": "uuid"
},
"BookerId": {
"type": "string",
"description": "Unique identifier of the `Customer` on whose behalf the reservation was made.",
"format": "uuid",
"nullable": true
},
"RequestedCategoryId": {
"type": "string",
"description": "Identifier of the requested `ResourceCategory`.",
"format": "uuid"
},
"AssignedResourceId": {
"type": "string",
"description": "Identifier of the assigned `Resource`.",
"format": "uuid",
"nullable": true
},
"AssignedResourceLocked": {
"type": "boolean",
"description": "Whether the reservation should be locked to the assigned `Resource`. (`null` or `false` if the reservation should not be locked)",
"nullable": true
},
"RateId": {
"type": "string",
"description": "Identifier of the reservation `Rate`.",
"format": "uuid"
},
"VoucherCode": {
"type": "string",
"description": "Voucher code value providing access to specified private `Rate` applied to this reservation.",
"nullable": true
},
"CreditCardId": {
"type": "string",
"description": "Identifier of `CreditCard` belonging either to the `Customer` who owns the reservation or to the `Booker`.",
"format": "uuid",
"nullable": true
},
"TravelAgencyId": {
"type": "string",
"description": "Identifier of the `Company` that mediated the reservation.",
"format": "uuid",
"nullable": true
},
"CompanyId": {
"type": "string",
"description": "Identifier of the `Company` on behalf of which the reservation was made.",
"format": "uuid",
"nullable": true
},
"BusinessSegmentId": {
"type": "string",
"description": "Identifier of the reservation `BusinessSegment`.",
"format": "uuid",
"nullable": true
},
"Notes": {
"type": "string",
"description": "Additional notes.",
"nullable": true
},
"TimeUnitAmount": {
"title": "Amount parameters",
"allOf": [
{
"$ref": "#/components/schemas/AmountParameters"
}
],
"description": "Amount of each night of the reservation.",
"nullable": true
},
"TimeUnitPrices": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PerUnitPriceParameters"
},
"description": "Prices for time units of the reservation. E.g. prices for the first or second night.",
"nullable": true
},
"ProductOrders": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ProductOrderAdditionData"
},
"description": "Parameters of the products ordered together with the reservation.",
"nullable": true
},
"AvailabilityBlockId": {
"type": "string",
"description": "Unique identifier of the `AvailabilityBlock` the reservation is assigned to.",
"format": "uuid",
"nullable": true
}
},
"additionalProperties": false,
"x-schema-id": "ReservationData"
}