openapi: 3.0.3 info: title: Quandoo Public Partner Availabilities Customers API description: The Quandoo Public Partner API is a multi-purpose REST API for the Quandoo restaurant reservations platform. It lets partners check merchant availability, search merchants, read merchant reservation and enquiry settings, create and manage reservations and reservation enquiries, manage customers and reviews, handle preorders and reservation tags, and validate phone numbers. Reservation and enquiry creation is idempotent via an agent-specific unique identifier. Derived from the official Quandoo Swagger specification at https://api.quandoo.com/swagger.json. version: 1.0.0 contact: name: Quandoo Developers email: developers@quandoo.com url: https://docs.quandoo.com/ servers: - url: https://public-api.prod.quandoo.com description: Production security: - API_TOKEN: [] tags: - name: Customers paths: /v1/customers/{customerId}: get: tags: - Customers summary: Quandoo Get Customer Data operationId: getCustomer_1 description: "This endpoint allows an agent to get customer information by id. \nCustomer id both in the request and response are agent-specific. The agent needs to be authenticated.\n\nThe endpoint will return `HTTP 404 - Not Found` if the customer with the specified id could not be found.\nIt will return `HTTP 403 - Forbidden` if the agent is not authenticated or the agent doesn't have permissions.\n\n####Request:\n* **customerId**: Agent-specific ID of the customer\n\n####Response:\nThe response contains the following data of the customer as explained below:\n* **id**: The agent-dependent identifier of the customer \n* **email**: The given email of this customer. _Optional_\n* **firstName**: First name of the customer. _Optional_\n* **lastName**: Last name of the customer. _Optional_\n* **gender**: The given gender of the customer (one of MALE, FEMALE, OTHER or UNDEFINED). _Optional_\n* **phoneNumber**: The ID of the merchant at which this reservation was made\n* **mobileNumber**: The ID of the customer to which this reservation belongs\n* **country**: 2-letter ISO country code of the customer, e.g. DE\n* **links**: Related links that can be followed based on this response\n* **subscriptions**: The newsletter subscriptions, e.g. QUANDOO, MERCHANT\n\nExample curl:\n```\ncurl https://{host}/v{X}/customers/9ffb3466-3562-42cc-add1-92a46a2f0902\n```\n\nExample response: \n```\n{\n \"id\": \"9ffb3466-3562-42cc-add1-92a46a2f0902\",\n \"firstName\": \"Gaius\",\n \"lastName\": \"Octavius\",\n \"gender\": \"male\",\n \"email\": \"c2f22117-6148-45b8-ae79-41eda25eae67augustus@spqr.com\",\n \"phoneNumber\": \"+4917312345678\",\n \"country\": \"DE\", \n \"links\": [\n {\n \"href\": \"http://localhost:39250/v1/customers/9ffb3466-3562-42cc-add1-92a46a2f0902/reservations\",\n \"method\": \"GET\",\n \"rel\": \"get-customer-reservations\"\n }\n ],\n \"subscriptions\": [\n {\n \"id\": \"QUANDOO\"\n }\n ]\n}\n```\n" parameters: - name: customerId in: path required: true description: Id of the customer schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/CustomerResponse' examples: GetCustomer1200Example: summary: Default getCustomer_1 200 response x-microcks-default: true value: id: '88086' firstName: Jane lastName: Smith gender: male email: jane.smith@example.com phoneNumber: 030120765890 mobileNumber: string country: DE links: - href: {} method: {} rel: {} subscriptions: - id: {} '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: GetCustomer1400Example: summary: Default getCustomer_1 400 response x-microcks-default: true value: errorType: BAD_REQUEST_ERROR errorMessage: Window table preferred if available. '403': description: Access denied content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: GetCustomer1403Example: summary: Default getCustomer_1 403 response x-microcks-default: true value: errorType: BAD_REQUEST_ERROR errorMessage: Window table preferred if available. '404': description: Customer not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: GetCustomer1404Example: summary: Default getCustomer_1 404 response x-microcks-default: true value: errorType: BAD_REQUEST_ERROR errorMessage: Window table preferred if available. '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: GetCustomer1500Example: summary: Default getCustomer_1 500 response x-microcks-default: true value: errorType: BAD_REQUEST_ERROR errorMessage: Window table preferred if available. x-microcks-operation: delay: 0 dispatcher: FALLBACK /v1/customers/{customerId}/reservations: get: tags: - Customers summary: Quandoo Get Customer Reservations operationId: getReservations_1 description: "This endpoint allows an agent to get reservations of a customer. The results will be filtered by agent id. \nCustomer id in the request and reservation IDs in response are agent-specific. The agent needs to be authenticated.\n\nThe endpoint will return `HTTP 404 - Not Found` if the customer with the specified id could not be found.\nIt will return `HTTP 403 - Forbidden` if the agent is not authenticated or the agent doesn't have permissions.\n\n####Request:\n* **customerId**: Agent-specific ID of the customer\n\n####Response:\nThe response will be a _list_ of reservations. Each reservation has the fields explained below:\n* **id**: The agent-dependent unique id of the reservation\n* **number**: Quandoo internal identifier of the reservation.\n* **quandooId**: The public id of this reservation on quandoo system.\n* **status**: The status of the reservation eg. CREATED, CONFIRMED, CUSTOMER CANCELED etc.\n* **startTime**: The start time of the reservation. Format: `yyyy-MM-ddTHH:mm:ssZ`\n* **endTime**: The end time of the reservation. Format: `yyyy-MM-ddTHH:mm:ssZ`\n* **capacity**: The capacity (people count) of the reservation\n* **merchantId**: The ID of the merchant at which this reservation was made.\n* **customerId**: The public ID of the customer to which this reservation belongs\n* **promoCode**: The promotion code associated with this reservation. Optional.\n* **extraInfo**: extra information that the customer provided for the reservation. Optional.\n* **links**: Related links that can be followed based on this response.\n* **createdAt**: The date the reservation was created. Format: `yyyy-MM-ddTHH:mm:ssZ`\n* **updatedAt**: The date the reservation was last updated. Format: `yyyy-MM-ddTHH:mm:ssZ`\n\nExample curl:\n```\ncurl https://{host}/v{X}/customers/ce0706ff-a95d-4229-a220-d21dcd175342/reservations\n```\n\nExample response: \n```\n{\n \"reservations\": [\n {\n \"id\": \"07f53b36-3f48-11e5-a151-feff819cdc9f\",\n \"number\": 8734957,\n \"quandooId\": \"07f53b36-3f48-11e5-a151-feff819cdc9f\",\n \"status\": \"CREATED\",\n \"startTime\": \"2015-06-22T12:00:00+00:00\",\n \"endTime\": \"2015-06-22T13:00:00+00:00\",\n \"capacity\": 4,\n \"merchantId\": 1384,\n \"customerId\": \"ce0706ff-a95d-4229-a220-d21dcd175342\",\n \"promocode\": \"SOME_CAMPAIGN_CODE\",\n \"extraInfo\": \"request for baby chair\",\n \"links\": [\n {\n \"href\": \"https://{host}/v{X}/reservations/07f53b36-3f48-11e5-a151-feff819cdc9f\",\n \"method\": \"GET\",\n \"rel\": \"self\"\n },\n {\n \"href\": \"https://{host}/v{X}/reservations/07f53b36-3f48-11e5-a151-feff819cdc9f\",\n \"method\": \"PATCH\",\n \"rel\": \"update\"\n }\n ],\n \"createdAt\": \"2015-06-01T15:21:54Z\",\n \"updatedAt\": \"2015-06-01T18:45:30Z\"\n },\n {\n \"id\": \"d8f53b36-3f48-11e5-a151-feff819cdc7a\",\n \"number\": 8734958,\n \"quandooId\": \"d8f53b36-3f48-11e5-a151-feff819cdc7a\",\n \"status\": \"CONFIRMED\",\n \"startTime\": \"2015-06-22T12:00:00+00:00\",\n \"endTime\": \"2015-06-22T13:00:00+00:00\",\n \"capacity\": 3,\n \"merchantId\": 1384,\n \"customerId\": \"ce0706ff-a95d-4229-a220-d21dcd175342\",\n \"promocode\": \"SOME_CAMPAIGN_CODE\",\n \"links\": [\n {\n \"href\": \"https://{host}/v{X}/reservations/d8f53b36-3f48-11e5-a151-feff819cdc7a\",\n \"method\": \"GET\",\n \"rel\": \"self\"\n },\n {\n \"href\": \"https://{host}/v{X}/reservations/d8f53b36-3f48-11e5-a151-feff819cdc7a\",\n \"method\": \"PATCH\",\n \"rel\": \"update\"\n }\n ],\n \"createdAt\": \"2015-06-01T15:21:54Z\",\n \"updatedAt\": \"2015-06-01T18:45:30Z\"\n }\n ]\n}\n```\n" parameters: - name: customerId in: path required: true description: Id of the customer schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ReservationDataList' examples: GetReservations1200Example: summary: Default getReservations_1 200 response x-microcks-default: true value: reservations: - id: {} number: {} reservationNumber: {} quandooId: {} status: {} updatedAt: {} capacity: {} merchantId: {} customerId: {} promocode: {} extraInfo: {} links: {} reservationTags: {} '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: GetReservations1400Example: summary: Default getReservations_1 400 response x-microcks-default: true value: errorType: BAD_REQUEST_ERROR errorMessage: Window table preferred if available. '403': description: Access denied content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: GetReservations1403Example: summary: Default getReservations_1 403 response x-microcks-default: true value: errorType: BAD_REQUEST_ERROR errorMessage: Window table preferred if available. '404': description: Customer not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: GetReservations1404Example: summary: Default getReservations_1 404 response x-microcks-default: true value: errorType: BAD_REQUEST_ERROR errorMessage: Window table preferred if available. '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: GetReservations1500Example: summary: Default getReservations_1 500 response x-microcks-default: true value: errorType: BAD_REQUEST_ERROR errorMessage: Window table preferred if available. x-microcks-operation: delay: 0 dispatcher: FALLBACK /v1/merchants/{merchantId}/customers: get: tags: - Customers summary: Quandoo Get a List of Customers of a Merchant operationId: getCustomersOfMerchant_1 description: "This endpoint allows a third party to get a list of customers of a merchant.\nThe list is filtered, showing only the customers that the third party system has access.\nCustomer id is agent-specific if the customer was created by the agent. The agent needs to be authenticated.\n\nThe endpoint will return `HTTP 404 - Not Found` if the merchant with the specified id could not be found.\nIt will return `HTTP 403 - Forbidden` if the agent is not authenticated or the agent doesn't have permissions.\n\n####Request:\n* **merchantId**: Identifier of the merchant\n* **offset**: sets the starting element to be returned. Defaults to 0 when unset or malformed.\n* **limit**: maximum number of results to be returned. Value must be between 1 and 100. Defaults to 100 when unset, malformed or outside bounds.\n* **modifiedSince**: earliest date time of time window in UTC. Format: yyyy-MM-dd HH:mm:ss\n* **modifiedUntil**: latest date time of time window in UTC. Format: yyyy-MM-dd HH:mm:ss\n\n####Response:\nThe response contains the following data of the customer as explained below:\n* **id**: The agent-dependent identifier of the customer \n* **title**: The title of the customer. _Optional_\n* **firstName**: First name of the customer. _Optional_\n* **lastName**: Last name of the customer. _Optional_\n* **email**: The given email of this customer. _Optional_\n* **gender**: The given gender of the customer (one of MALE, FEMALE, OTHER or UNDEFINED). _Optional_\n* **phoneNumber**: The phone number of the customer. _Optional_\n* **mobileNumber**: The mobile phone number of the customer. _Optional_\n* **locale**: The locale of the customer.\n* **links**: Related links that can be followed based on this response\n* **subscriptions**: The newsletter subscriptions, e.g. QUANDOO, MERCHANT\n* **statistics**: The customer statistics: number of successful, cancelled and no-show reservations\n* **createdAt**: The date the customer was created. Format: yyyy-MM-ddTHH:mm:ssZ\n* **updatedAt**: The date the customer was last updated. Format: yyyy-MM-ddTHH:mm:ssZ\n\nExample curl:\n```\ncurl https://{host}/v{X}/merchants/1234/customers\n```\n\nExample response: \n```\n{\n \"result\": [\n {\n \"id\": \"9ffb3466-3562-42cc-add1-92a46a2f0902\",\n \"customerRef\": \"9ffb3466-3562-42cc-add1-92a46a2f0902\",\n \"marketingFlags\": [\n {\n \"marketingSettingType\": \"NEWSLETTERS\",\n \"marketingSettingStatus\": \"INACTIVE\"\n },\n {\n \"marketingSettingType\": \"PROMO_CODES\",\n \"marketingSettingStatus\": \"ACTIVE\"\n }\n ],\n \"title\": \"Mr.\",\n \"firstName\": \"John\",\n \"lastName\": \"Doe\",\n \"email\": \"test@quandoo.de\",\n \"phoneNumber\": \"+493012345678\",\n \"mobileNumber\": \"+17712345678\",\n \"locale\": \"de_DE\",\n \"links\": [\n {\n \"href\": \"http://localhost:39250/v1/customers/9ffb3466-3562-42cc-add1-92a46a2f0902/reservations\",\n \"method\": \"GET\",\n \"rel\": \"get-customer-reservations\"\n }\n ],\n \"subscriptions\": [\n {\n \"id\": \"QUANDOO\"\n }\n ],\n \"statistics\": {\n \"reservationSuccessfulCount\": 8,\n \"reservationCancelledCount\": 5,\n \"reservationNoShowCount\": 2\n },\n \"createdAt\": \"2018-11-22T18:42:16Z\",\n \"updatedAt\": \"2018-11-30T18:16:02Z\"\n }\n ],\n \"offset\": 0,\n \"limit\": 100\n}\n```\n" parameters: - name: merchantId in: path required: true description: Id of the merchant schema: type: integer format: int32 - name: offset in: query required: false description: offset schema: type: integer format: int32 default: 0 - name: limit in: query required: false description: limit schema: type: integer format: int32 default: 100 - name: modifiedSince in: query required: false description: 'modifiedSince. Format: yyyy-MM-dd HH:mm:ss' schema: type: string format: date-time - name: modifiedUntil in: query required: false description: 'modifiedUntil. Format: yyyy-MM-dd HH:mm:ss' schema: type: string format: date-time responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/CustomerDataList' examples: GetCustomersOfMerchant1200Example: summary: Default getCustomersOfMerchant_1 200 response x-microcks-default: true value: result: - id: {} customerRef: {} marketingFlags: {} title: {} firstName: {} lastName: {} email: {} phoneNumber: {} mobileNumber: {} locale: {} links: {} subscriptions: {} statistics: {} updatedAt: {} offset: 1 limit: 1 '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: GetCustomersOfMerchant1400Example: summary: Default getCustomersOfMerchant_1 400 response x-microcks-default: true value: errorType: BAD_REQUEST_ERROR errorMessage: Window table preferred if available. '403': description: Access denied content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: GetCustomersOfMerchant1403Example: summary: Default getCustomersOfMerchant_1 403 response x-microcks-default: true value: errorType: BAD_REQUEST_ERROR errorMessage: Window table preferred if available. '404': description: Customer not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: GetCustomersOfMerchant1404Example: summary: Default getCustomersOfMerchant_1 404 response x-microcks-default: true value: errorType: BAD_REQUEST_ERROR errorMessage: Window table preferred if available. '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: GetCustomersOfMerchant1500Example: summary: Default getCustomersOfMerchant_1 500 response x-microcks-default: true value: errorType: BAD_REQUEST_ERROR errorMessage: Window table preferred if available. x-microcks-operation: delay: 0 dispatcher: FALLBACK components: schemas: ErrorResponse: type: object properties: errorType: type: string enum: - BAD_REQUEST_ERROR - FORBIDDEN_ERROR - NOT_FOUND_ERROR - METHOD_NOT_ALLOWED_ERROR - NOT_ACCEPTABLE_ERROR - UNSUPPORTED_MEDIA_TYPE_ERROR - START_TIME_NOT_FOUND_ERROR - MERCHANT_ID_INVALID - RESERVATION_CAPACITY_MISSING - RESERVATION_CAPACITY_INVALID - RESERVATION_DATE_TIME_MISSING - RESERVATION_DATE_TIME_INVALID_FORMAT - RESERVATION_EXTRA_INFO_INVALID - RESERVATION_SHOW_POSTCODE - RESERVATION_DATE_TIME_INVALID_IN_THE_PAST - RESERVATION_NO_TABLES_AVAILABLE - RESERVATION_NOT_FOUND - RESERVATION_IN_NON_EDITABLE_STATUS - RESERVATION_WITH_SMART_OFFER_EDIT - RESERVATION_WITH_CCV_EDIT - RESERVATION_IOVOX_OFFER_EDIT - RESERVATION_WITH_PREPAID_MENU_EDIT - RESERVATION_FOR_MERCHANT_WITH_FEEDBACK_TIME - RESERVATION_WALKIN_NOT_EDITABLE - RESERVATION_CUSTOMER_CANNOT_EDIT - RESERVATION_PROMO_CODE_PARAM_INVALID - RESERVATION_PROMO_CODE_NOT_FOUND - RESERVATION_PROMO_CODE_INVALID_DESTINATION - RESERVATION_PROMO_CODE_ALREADY_USED - RESERVATION_PROMO_CODE_INVALID_CAMPAIGN - RESERVATION_PROMO_CODE_DATE_TIME_IN_PAST_OR_FUTURE - RESERVATION_PROMO_CODE_INVALID_DAY_OF_WEEK - RESERVATION_PROMO_CODE_INVALID_AGENT - RESERVATION_PROMO_CODE_INVALID_MERCHANT - RESERVATION_PROMO_CODE_INVALID_PARTNER_VOUCHER - RESERVATION_PROMO_CODE_ALREADY_OWNED_BY_CUSTOMER - RESERVATION_INVITATION_PROMO_CODE_NOT_FIRST_RESERVATION - CCV_SETTINGS_REQUIRED - CCV_CARD_REQUIRED - CCV_SETTINGS_INVALID - CCV_SETTINGS_OFFLINE - CCV_CARD_INVALID - ENQUIRY_INVALID_MIN_COVERS - CUSTOMER_FIRST_NAME_INVALID - CUSTOMER_LAST_NAME_MISSING - CUSTOMER_LAST_NAME_INVALID - CUSTOMER_EMAIL_MISSING - CUSTOMER_EMAIL_INVALID - CUSTOMER_NEWSLETTER_REQUESTED_MISSING - CUSTOMER_PHONE_NUMBER_MISSING - CUSTOMER_COUNTRY_INVALID - CUSTOMER_ID_EXISTS - CUSTOMER_PHONE_NUMBER_INVALID - UNEXPECTED_SERVER_ERROR - PHONE_NUMBER_MISSING - PHONE_NUMBER_INVALID - UUID_CONFLICT - RESERVATION_STATUS_CONFLICT - INVALID_RESERVATION_GUESTS_QUANTITY - MENU_MAPPING_FAILED example: BAD_REQUEST_ERROR errorMessage: type: string example: Window table preferred if available. MerchantCustomerData: type: object required: - customerRef - email - firstName - id - lastName - links - locale - marketingFlags - mobileNumber - phoneNumber - statistics - subscriptions - title properties: id: type: string description: The id of the customer. example: '88086' customerRef: type: string description: 'Customer reference ' example: string marketingFlags: type: array description: Marketing flags for customer. items: $ref: '#/components/schemas/MarketingSettingDto' title: type: string description: Title of the customer. example: string firstName: type: string description: First name of the customer. example: Jane lastName: type: string description: Last name of the customer. example: Smith email: type: string description: Email of the customer. example: jane.smith@example.com phoneNumber: type: string description: Fixed line phone number of the customer. example: 030120765890 mobileNumber: type: string description: Mobile phone number of the customer. example: string locale: type: string description: Locale of the customer. example: de_DE links: type: array description: The links related to this entity. items: $ref: '#/components/schemas/LinkRelationDto' subscriptions: type: array description: The newsletter subscriptions, e.g. QUANDOO, MERCHANT. uniqueItems: true items: $ref: '#/components/schemas/MerchantSubscription' statistics: description: Statistics about the customer $ref: '#/components/schemas/CustomerStatisticsData' updatedAt: type: string format: date-time description: 'The date the review created on. Format: yyyy-MM-ddTHH:mm:ssZ' example: '2026-07-15T19:30:00' ReservationData: type: object required: - capacity - customerId - id - links - merchantId - quandooId - status properties: id: type: string description: The agent-dependent unique id of the reservation. example: '88086' number: type: integer format: int32 description: The id of the reservation on quandoo system. example: 1 reservationNumber: type: string description: The long id of this reservation on quandoo system. example: string quandooId: type: string format: uuid description: The public id of this reservation on quandoo system. example: '88086' status: type: string description: The status of the reservation. example: CONFIRMED updatedAt: type: string format: date-time description: 'The date the review created on. Format: yyyy-MM-ddTHH:mm:ssZ' example: '2026-07-15T19:30:00' capacity: type: integer format: int32 description: The capacity of the reservation. example: 4 merchantId: type: integer format: int32 description: The id of the merchant. example: 88086 customerId: type: string description: The public ID of the customer to which this reservation belongs. example: '88086' promocode: type: string description: The promotion code used in this reservation. Optional. example: string extraInfo: type: string description: Extra information that the customer provided for the reservation. Optional. example: Window table preferred if available. links: type: array description: The links related to this entity. items: $ref: '#/components/schemas/LinkRelationDto' reservationTags: type: array description: A list of reservation tag IDs. items: type: integer format: int32 CustomerStatisticsData: type: object required: - reservationCancelledCount - reservationNoShowCount - reservationSuccessfulCount properties: reservationSuccessfulCount: type: integer format: int32 description: The number of reservations made by the customer that were actually seated example: 4 reservationCancelledCount: type: integer format: int32 description: The number of reservations made by the customer that were cancelled before taking place example: 4 reservationNoShowCount: type: integer format: int32 description: The number of reservations made by the customer that he did not show up example: 4 MarketingSettingDto: type: object properties: marketingSettingType: type: string enum: - SMART_OFFERS_AND_DEALS - PROMO_CODES - RESTAURANT_RECOMMENDATIONS - NEWSLETTERS example: SMART_OFFERS_AND_DEALS marketingSettingStatus: type: string enum: - ACTIVE - INACTIVE example: ACTIVE CustomerDataList: type: object properties: result: type: array items: $ref: '#/components/schemas/MerchantCustomerData' offset: type: integer format: int32 example: 1 limit: type: integer format: int32 example: 1 LinkRelationDto: type: object properties: href: type: string format: url example: https://www.quandoo.com/place/sample-restaurant method: type: string example: string rel: type: string enum: - DETAILS - WIDGET - WIDGET_DETAILS - GET_MERCHANT - PARENT - SELF - SETTINGS - AVAILABILITY_DAYS - AVAILABILITIES - CREATE_RESERVATION - GET_RESERVATION - UPDATE_RESERVATION - GET_CUSTOMER_RESERVATION - GET_REVIEW - PORTAL_PREORDER_FORM - RESERVATION_CHECKOUT_PAGE - CREDIT_CARD_DETAILS_PAGE - CUSTOMER_EDIT_RESERVATION example: DETAILS ReservationDataList: type: object properties: reservations: type: array items: $ref: '#/components/schemas/ReservationData' CustomerResponse: type: object required: - country - email - firstName - gender - id - lastName - links - mobileNumber - phoneNumber - subscriptions properties: id: type: string description: The id of the customer. example: '88086' firstName: type: string description: First name of the customer. example: Jane lastName: type: string description: Last name of the customer. example: Smith gender: type: string description: Gender of the customer. enum: - male - female - other - undefined example: male email: type: string description: Email of the customer. example: jane.smith@example.com phoneNumber: type: string description: Fixed line phone number of the customer. example: 030120765890 mobileNumber: type: string description: Mobile phone number of the customer. example: string country: type: string description: 2-letter ISO country code of the customer, e.g. DE. example: DE links: type: array description: The links related to this entity. items: $ref: '#/components/schemas/LinkRelationDto' subscriptions: type: array description: The newsletter subscriptions, e.g. QUANDOO, MERCHANT. items: $ref: '#/components/schemas/MerchantSubscription' MerchantSubscription: type: object properties: id: type: string enum: - QUANDOO - MERCHANT example: QUANDOO securitySchemes: API_TOKEN: type: apiKey name: X-Quandoo-AuthToken in: header