{ "$schema": "https://json-structure.org/meta/core/v0/#", "$id": "https://raw.githubusercontent.com/api-evangelist/quandoo/refs/heads/main/json-structure/quandoo-public-partner-api-merchant-reservation-data-structure.json", "name": "MerchantReservationData", "description": "MerchantReservationData schema from Quandoo Public Partner API", "type": "object", "required": [ "customer", "reservation", "tracking" ], "properties": { "reservation": { "type": "object", "required": [ "capacity", "merchantId" ], "properties": { "id": { "type": "string", "description": "The identifier of the reservation for the calling agent (Agent-dependent field)" }, "merchantId": { "type": "int32", "description": "The ID of the merchant at which this reservation will be made." }, "capacity": { "type": "int32", "description": "The capacity (people count) of the reservation." }, "areaId": { "type": "int32", "description": "The id of the area this reservation should be in. Optional." }, "dateTime": { "type": "datetime", "description": "The date the review created on. Format: yyyy-MM-ddTHH:mm:ssZ" }, "extraInfo": { "type": "string", "description": "Any extra information that the customer likes to provide. Optional." }, "promoCode": { "type": "string", "description": "A promotion code which should be used with this reservation. Optional." }, "creditCardVaultSettingsId": { "type": "uuid", "description": "A credit card vault settings to be used by this reservation. Optional." }, "recurringCardDetailId": { "type": "uuid", "description": "A customer credit card reference to be used if credit card vault should be applied. Optional." }, "reservationTags": { "type": "array", "description": "A list of reservation tag IDs. Optional.", "items": { "type": "int32" } } } }, "customer": { "type": "object", "required": [ "country", "locale", "phoneNumber" ], "properties": { "id": { "type": "string", "description": "Identifier of the customer for the calling agent. (Agent dependent field)" }, "firstName": { "type": "string", "description": "The first name of the customer. Optional." }, "lastName": { "type": "string", "description": "The last name of the customer." }, "emailAddress": { "type": "string", "description": "The email address of the customer." }, "phoneNumber": { "type": "string", "description": "The phone number of the customer. The expected format is E164 e.g. +4930120765890" }, "locale": { "type": "string", "description": "The locale of the customer. E.g. de_DE" }, "country": { "type": "string", "description": "The 2 letter ISO country of the customer, e.g. DE" }, "subscriptions": { "type": "array", "description": "The requested subscriptions, e.g. QUANDOO, MERCHANT", "items": { "type": "object", "properties": { "id": { "type": "string", "enum": [ "QUANDOO", "MERCHANT" ], "example": "QUANDOO" } } } } } }, "tracking": { "type": "object", "required": [ "agent" ], "properties": { "agent": { "type": "object", "required": [ "id" ], "properties": { "id": { "type": "int32", "description": "An agent id. Required.", "example": 1 } } }, "cookie": { "type": "object", "properties": { "tracking": { "type": "string", "description": "A tracking string to be stored with the reservation. Optional.", "example": "string" }, "referenceId": { "type": "string", "description": "A reference id to be stored with the reservation. Optional.", "example": "88086" } } } } } } }