{
  "openapi": "3.0.1",
  "info": {
    "title": "Vista Digital Platform",
    "version": "V1"
  },
  "paths": {
    "/ocapi/v1/orders/completed/{orderId}/assets/google-wallet-pass": {
      "get": {
        "tags": [
          "Completed Order Assets"
        ],
        "summary": "Gets a google wallet pass containing an 'event ticket' pass for each order showtime within a completed standard order",
        "description": "\r\n\r\nCan be used to create an 'Add to Google Wallet' button for a completed standard order\r\n\r\n\r\nOpening the Google Wallet Pass on a supported device will prompt the patron to add the passes to their Google Wallet.\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiCompletedOrderAssets_GetGoogleWalletPassForOrder",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the completed standard order",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.CompletedOrders.GoogleWalletPass"
                }
              }
            }
          },
          "400": {
            "description": "Invalid order type, or order does not contain any tickets."
          },
          "404": {
            "description": "Order does not exist."
          }
        }
      }
    },
    "/ocapi/v1/orders/completed/{orderId}/assets/calendar-event": {
      "get": {
        "tags": [
          "Completed Order Assets"
        ],
        "summary": "Gets an iCalendar (iCal) file containing a calendar event for each order showtime within a completed standard order",
        "description": "\r\n\r\nCan be used to create an 'Add to Calendar' button for a completed standard order\r\n\r\n\r\nOpening the iCalendar file on a supported device will prompt the patron to add the calendar events to their calendar application.\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiCompletedOrderAssets_GetCalendarEventForOrder",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the completed standard order",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "byte"
                }
              }
            }
          },
          "404": {
            "description": "Order does not exist."
          }
        }
      }
    },
    "/ocapi/v1/orders/completed/{orderId}/assets/apple-wallet-pass": {
      "get": {
        "tags": [
          "Completed Order Assets"
        ],
        "summary": "Gets an Apple Wallet Pass bundle containing an 'event ticket' pass for each order showtime within a completed standard order",
        "description": "\r\n\r\nCan be used to create an 'Add to Apple Wallet' button for a completed standard order\r\n\r\n\r\nOpening the Apple Wallet Pass bundle on a supported Apple device will prompt the patron to add the passes to their Apple Wallet.\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiCompletedOrderAssets_GetAppleWalletPassForOrder",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the completed standard order",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "byte"
                }
              }
            }
          },
          "400": {
            "description": "Invalid order type, or order does not contain any tickets."
          },
          "404": {
            "description": "Order does not exist."
          }
        }
      }
    },
    "/ocapi/v1/orders/completed/{orderId}/customer": {
      "get": {
        "tags": [
          "Completed Orders"
        ],
        "summary": "Gets the customer set on a completed standard order or completed gift shop order",
        "description": "\r\n\r\n\r\nAs order customer contains Personally Identifiable Information (PII),\r\nthe client is responsible for storing this data securely and for as little time as possible.\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiCompletedOrderCustomer_GetCustomer",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the completed order base",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Customers.OrderCustomerDetails"
                }
              }
            }
          },
          "400": {
            "description": "Invalid order type."
          },
          "404": {
            "description": "Order does not exist"
          }
        }
      }
    },
    "/ocapi/v1/orders/completed/{orderId}": {
      "get": {
        "tags": [
          "Completed Orders"
        ],
        "summary": "Gets the details of a completed order base",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiCompletedOrders_GetCompletedOrder",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the completed order base being retrieved",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.CompletedOrders.ICompletedOrderDetailsBaseGeneric-Ocapi.V1.Orders.CompletedOrders.ICompletedOrderBase"
                }
              }
            }
          },
          "404": {
            "description": "Order does not exist."
          }
        }
      }
    },
    "/ocapi/v1/orders/completed/by-journey-reference/{journeyReference}": {
      "get": {
        "tags": [
          "Completed Orders"
        ],
        "summary": "Gets the details of a completed standard order",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiCompletedOrders_GetCompletedOrderByJourneyReference",
        "parameters": [
          {
            "name": "journeyReference",
            "in": "path",
            "description": "The journey reference of the completed standard order being retrieved",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.CompletedOrders.CompletedStandardOrderDetails"
                }
              }
            }
          },
          "404": {
            "description": "Order does not exist."
          }
        }
      }
    },
    "/ocapi/v1/orders/completed/sites/{siteId}/by-booking-id/{bookingId}": {
      "get": {
        "tags": [
          "Completed Orders"
        ],
        "summary": "Gets the details of a completed order base",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiCompletedOrders_GetCompletedOrderByBookingId",
        "parameters": [
          {
            "name": "siteId",
            "in": "path",
            "description": "The unique identifier of the site",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "bookingId",
            "in": "path",
            "description": "The site unique booking id of the completed order base being retrieved",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.CompletedOrders.ICompletedOrderDetailsBaseGeneric-Ocapi.V1.Orders.CompletedOrders.ICompletedOrderBase"
                }
              }
            }
          },
          "404": {
            "description": "Order does not exist."
          }
        }
      }
    },
    "/ocapi/v1/orders/completed/{orderId}/showtimes/{showtimeId}/seats": {
      "put": {
        "tags": [
          "Completed Orders"
        ],
        "summary": "Swaps the seats for an order showtime within a completed standard order",
        "description": "\r\n\r\nThis endpoint can only be used for completed orders. To change the seats in a in progress standard order, use [SetShowtime](/openapi/digital-platform/openapi/showtimes/ocapiordershowtimes_setshowtime) instead.\r\n\r\n\r\nSeats can only be swapped when order showtime seat swap status IsAvailable equals true.\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiCompletedOrders_SwapSeats",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the completed standard order being modified",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "showtimeId",
            "in": "path",
            "description": "The unique identifier of the order showtime being modified",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The requested replacement seats",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Showtimes.Requests.OrderShowtimeSeatSwapRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Showtimes.Requests.OrderShowtimeSeatSwapRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Showtimes.Requests.OrderShowtimeSeatSwapRequest"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Showtimes.Requests.OrderShowtimeSeatSwapRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.CompletedOrders.CompletedStandardOrderDetails"
                }
              }
            }
          },
          "400": {
            "description": "Request property is invalid or missing, or seats cannot be swapped."
          },
          "404": {
            "description": "Order or showtime does not exist."
          }
        }
      }
    },
    "/ocapi/v1/orders/completed/{orderId}/preparation": {
      "post": {
        "tags": [
          "Completed Orders"
        ],
        "summary": "Starts preparation of items in a completed standard order",
        "description": "\r\n\r\n\r\nCalling this endpoint will also set the CollectionStatus of the items to Collected.\r\n\r\n\r\n\r\n\r\nIt is not necessary to call this endpoint if [SetOrderAsCollected](/openapi/digital-platform/openapi/completed-orders/ocapicompletedorders_setorderascollected) had been called prior\r\nas the concession items that require preparing will have already been sent to the kitchen.\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiCompletedOrders_StartOrderPreparation",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the completed standard order that is to be prepared for collection",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Preparations.OrderPreparation"
                }
              }
            }
          },
          "400": {
            "description": "Order preparation cannot be started."
          },
          "404": {
            "description": "Order does not exist."
          }
        },
        "deprecated": true
      }
    },
    "/ocapi/v1/orders/completed/{orderId}/item-deliveries/preparation": {
      "post": {
        "tags": [
          "Completed Orders"
        ],
        "summary": "Requests the preparation of all completed order item delivery base entities in a completed standard order\r\nwith an completed order item delivery preparation status OnHold status that are available for preparation to\r\ncompleted order item delivery preparation status Requested",
        "description": "\r\n\r\n\r\nCalling this endpoint will also set the order line CollectionStatus of all items in the\r\ncompleted standard order to order line collection status Collected\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiCompletedOrders_PrepareAllItemDeliveries",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the completed standard order",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.CompletedOrders.CompletedStandardOrder"
                }
              }
            }
          },
          "202": {
            "description": "No changes made to the order.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.CompletedOrders.CompletedStandardOrder"
                }
              }
            }
          },
          "400": {
            "description": "Order item delivery preparation cannot be started."
          },
          "404": {
            "description": "Order does not exist."
          }
        },
        "deprecated": true
      }
    },
    "/ocapi/v1/orders/completed/{orderId}/item-deliveries/preparation-status/requested": {
      "put": {
        "tags": [
          "Completed Orders"
        ],
        "summary": "Requests the preparation of all completed order item delivery base entities in a completed standard order\r\nwith an completed order item delivery preparation status OnHold status",
        "description": "\r\n\r\n\r\nCalling this endpoint will update the preparation status of all completed order item delivery base entities with an completed order item delivery preparation status OnHold\r\nstatus that are available for preparation to completed order item delivery preparation status Requested\r\n\r\n\r\n\r\n\r\nCalling this endpoint will also set the order line CollectionStatus of all items in all completed order item delivery base\r\nentities that have been requested for preparation to order line collection status Collected\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiCompletedOrders_SetItemDeliveriesAsRequested",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the completed standard order",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The additional request options",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.CompletedOrders.Requests.OrderItemDeliveriesPreparationStatusUpdate"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.CompletedOrders.Requests.OrderItemDeliveriesPreparationStatusUpdate"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.CompletedOrders.Requests.OrderItemDeliveriesPreparationStatusUpdate"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.CompletedOrders.Requests.OrderItemDeliveriesPreparationStatusUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.CompletedOrders.CompletedStandardOrderDetails"
                }
              }
            }
          },
          "202": {
            "description": "No changes made to the order.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.CompletedOrders.CompletedStandardOrderDetails"
                }
              }
            }
          },
          "400": {
            "description": "Order item delivery preparation cannot be started."
          },
          "404": {
            "description": "Order does not exist."
          }
        }
      }
    },
    "/ocapi/v1/orders/completed/{orderId}/item-deliveries/{itemDeliveryId}/preparation": {
      "post": {
        "tags": [
          "Completed Orders"
        ],
        "summary": "Requests the preparation of a completed order item delivery base with an completed order item delivery preparation status OnHold status",
        "description": "\r\n\r\n\r\nThis endpoint can only be used for completed order item delivery base entities with an order item delivery schedule type OnRequest schedule.\r\n\r\n\r\n\r\n\r\nCalling this endpoint will also set the order line CollectionStatus of all items in the\r\ncompleted standard order to order line collection status Collected\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiCompletedOrders_PrepareItemDelivery",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the completed standard order",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "itemDeliveryId",
            "in": "path",
            "description": "The unique identifier of the completed order item delivery base that is to be prepared",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemCounterPickup"
                    },
                    {
                      "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemCustomLocationDelivery"
                    },
                    {
                      "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemElectronicDelivery"
                    },
                    {
                      "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemInSeatDelivery"
                    },
                    {
                      "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemPostalDelivery"
                    },
                    {
                      "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemServiceAreaPickup"
                    }
                  ],
                  "description": "Represents the base properties of an order item delivery base for a completed standard order"
                }
              }
            }
          },
          "202": {
            "description": "No changes made to the order.",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemCounterPickup"
                    },
                    {
                      "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemCustomLocationDelivery"
                    },
                    {
                      "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemElectronicDelivery"
                    },
                    {
                      "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemInSeatDelivery"
                    },
                    {
                      "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemPostalDelivery"
                    },
                    {
                      "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemServiceAreaPickup"
                    }
                  ],
                  "description": "Represents the base properties of an order item delivery base for a completed standard order"
                }
              }
            }
          },
          "400": {
            "description": "Order item delivery preparation cannot be started."
          },
          "404": {
            "description": "Order or item delivery does not exist."
          }
        },
        "deprecated": true
      }
    },
    "/ocapi/v1/orders/completed/{orderId}/item-deliveries/{itemDeliveryId}/preparation-status/requested": {
      "put": {
        "tags": [
          "Completed Orders"
        ],
        "summary": "Requests the preparation of a completed order item delivery base with an completed order item delivery preparation status OnHold status",
        "description": "\r\n\r\n\r\nThis endpoint can only be used for completed order item delivery base entities with an order item delivery schedule type OnRequest schedule.\r\n\r\n\r\n\r\n\r\nCalling this endpoint will update the preparation status of all completed order item delivery base entities\r\nwith an completed order item delivery preparation status OnHold status to completed order item delivery preparation status Requested\r\n\r\n\r\n\r\n\r\nCalling this endpoint will also set the order line CollectionStatus of all items in the completed order item delivery base\r\nto order line collection status Collected\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiCompletedOrders_SetItemDeliveryAsRequested",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the completed standard order",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "itemDeliveryId",
            "in": "path",
            "description": "The unique identifier of the completed order item delivery base that is to be prepared",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.CompletedOrders.CompletedStandardOrderDetails"
                }
              }
            }
          },
          "202": {
            "description": "No changes made to the order.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.CompletedOrders.CompletedStandardOrderDetails"
                }
              }
            }
          },
          "400": {
            "description": "Order item delivery preparation cannot be started."
          },
          "404": {
            "description": "Order or item delivery does not exist."
          }
        }
      }
    },
    "/ocapi/v1/orders/completed/by-journey-reference/{journeyReference}/identifiers": {
      "get": {
        "tags": [
          "Completed Orders"
        ],
        "summary": "Gets the completed standard order identifiers for a completed standard order via the completed standard order JourneyReference",
        "description": "\r\n\r\n\r\nGets a set of identifiers that can be used to call other OCAPI endpoints in a consistent manner.\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiCompletedOrders_GetOrderIdentifiersByJourneyReference",
        "parameters": [
          {
            "name": "journeyReference",
            "in": "path",
            "description": "External identifier of completed standard order",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.CompletedOrders.CompletedStandardOrderIdentifiers"
                }
              }
            }
          },
          "404": {
            "description": "Order does not exist."
          }
        }
      }
    },
    "/ocapi/v1/orders/completed/{orderId}/print-streams": {
      "get": {
        "tags": [
          "Completed Orders"
        ],
        "summary": "Gets the print streams of an uncollected completed order base that are compatible with the requested printer",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiCompletedOrders_GetPrintStreams",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the completed order base being retrieved",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "printTemplateName",
            "in": "query",
            "description": "The name of the print templates to generate the print streams with",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "languageTag",
            "in": "query",
            "description": "The IETF (RFC 4646) language tag representing the desired language that the print streams will be generated in.\r\nIf not supplied, the default language configured at cinema will be used",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.CompletedOrders.CompletedOrderPrintStreams"
                }
              }
            }
          },
          "400": {
            "description": "Invalid query parameter, or the order is in an invalid state."
          },
          "404": {
            "description": "Order does not exist."
          }
        }
      }
    },
    "/ocapi/v1/orders/completed/{orderId}/collection-status/collected": {
      "put": {
        "tags": [
          "Completed Orders"
        ],
        "summary": "Sets the order line collection status of all lines in a completed standard order to order line collection status Collected",
        "description": "\r\n\r\n\r\nCalling this endpoint confirms that all completed order print streams have been printed and will prevent any further calls to [GetPrintStreams](/openapi/digital-platform/openapi/completed-orders/ocapicompletedorders_getprintstreams).\r\n\r\n\r\n\r\n\r\nThis endpoint will also start the preparation of any items in a completed standard order, so a further call to [StartOrderPreparation](/openapi/digital-platform/openapi/completed-orders/ocapicompletedorders_startorderpreparation) is not necessary.\r\nThe completed order print streams ItemCollectionVouchers will contain relevant collection details.\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiCompletedOrders_SetOrderAsCollected",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the completed standard order being retrieved",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The additional request options",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.CompletedOrders.Requests.OrderCollectionStatusUpdate"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.CompletedOrders.Requests.OrderCollectionStatusUpdate"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.CompletedOrders.Requests.OrderCollectionStatusUpdate"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.CompletedOrders.Requests.OrderCollectionStatusUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.CompletedOrders.CompletedStandardOrderDetails"
                }
              }
            }
          },
          "400": {
            "description": "Order has already been collected."
          },
          "404": {
            "description": "Order does not exist."
          }
        }
      }
    },
    "/ocapi/v1/orders/completed/{orderId}/child-orders": {
      "post": {
        "tags": [
          "Completed Orders",
          "Orders"
        ],
        "summary": "Creates an in progress standard order that is a child of a completed standard order",
        "description": "\r\n\r\n\r\nThis endpoint can only be used for completed standard order entities that are not children themselves.\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiCompletedOrders_CreateChildOrder",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the completed standard order",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.InProgressOrders.InProgressStandardOrderDetails"
                }
              }
            }
          },
          "404": {
            "description": "Order does not exist."
          }
        }
      }
    },
    "/ocapi/v1/sites/{siteId}/orders/by-barcode/{barcode}/seats": {
      "get": {
        "tags": [
          "Completed Orders",
          "Seats"
        ],
        "summary": "Gets the order showtime seats details for the provided barcode",
        "description": "\r\n\r\n\r\nCan return seats for orders that were not made by Connect, e.g. POS.\r\n\r\n\r\n\r\n\r\nOnly seats for showtimes that are currently available for purchase will be returned.\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiCompletedOrderSeats_GetOrderSeatsByBarcode",
        "parameters": [
          {
            "name": "siteId",
            "in": "path",
            "description": "The unique identifier of the site",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "barcode",
            "in": "path",
            "description": "An ambiguous reference that can be used to identify a booking or a ticket in a completed order.\r\n<example>```WQ9LJTK (booking ID)```</example><example>```B10000044294 (booking barcode)```</example><example>```S100044294 (short booking barcode)```</example><example>```B100000442940001 (booking ticket barcode)```</example><example>```S1000442940001 (short booking ticket barcode)```</example><example>```T10000041793 (transaction barcode)```</example><example>```T100000417930001 (transaction ticket barcode)```</example><example>```U100041793 (short transaction barcode)```</example><example>```U1000417930001 (short transaction ticket barcode)```</example>",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Showtimes.OrderShowtimeSeatsDetails"
                }
              }
            }
          },
          "404": {
            "description": "Order not found."
          }
        }
      }
    },
    "/ocapi/v1/sites/{siteId}/discount-availability": {
      "get": {
        "tags": [
          "Discounts"
        ],
        "summary": "Gets the current list of discount availability entities for a particular site",
        "description": "This endpoint returns availabilities for discount entities configured for the site with respect to the\r\nsite's current local time.\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiDiscountAvailability_GetDiscountAvailabilitiesForSite",
        "parameters": [
          {
            "name": "siteId",
            "in": "path",
            "description": "The unique identifier of the site",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Sales.Availability.DiscountAvailabilityListDetails"
                }
              }
            }
          },
          "404": {
            "description": "Site does not exist."
          }
        }
      }
    },
    "/ocapi/v1/showtimes/{showtimeId}/discount-availability": {
      "get": {
        "tags": [
          "Discounts"
        ],
        "summary": "Gets the current list of discount availability entities for a particular showtime",
        "description": "This endpoint returns availabilities for discount entities with respect to the time of the showtime\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiDiscountAvailability_GetDiscountAvailabilitiesForShowtime",
        "parameters": [
          {
            "name": "showtimeId",
            "in": "path",
            "description": "The unique identifier of the showtime",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Sales.Availability.DiscountAvailabilityListDetails"
                }
              }
            }
          },
          "404": {
            "description": "Showtime does not exist."
          }
        }
      }
    },
    "/ocapi/v1/enterprise/orders/completed/{orderId}/redeemable-items": {
      "get": {
        "tags": [
          "Completed Order Assets"
        ],
        "summary": "Gets the list of completed order redeemable item base entities for a completed gift shop order",
        "description": "\r\n\r\n\r\nThis endpoint will only return redeemable items for completed gift shop order entities. For other types of completed orders,\r\nsuch as completed standard order, this endpoint will return an empty array.\r\n\r\n\r\n\r\n\r\nRedeemable item details are intentionally separated from completed gift shop order to avoid exposing\r\nsensitive voucher and gift card information.\r\n\r\n\r\n\r\n\r\nReturning these details via a dedicated endpoint reduces the attack surface and helps prevent\r\nunauthorized access to redeemable items that could have direct financial value.\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiEnterpriseCompletedOrders_GetCompletedOrderRedeemableItems",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the completed gift shop order",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.CompletedOrders.CompletedOrderRedeemableItemListDetails"
                }
              }
            }
          },
          "404": {
            "description": "Order does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/ocapi/v1/events": {
      "get": {
        "tags": [
          "Events"
        ],
        "summary": "Gets a list of event entities",
        "description": "Only Head Office defined events are returned.\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiEvents_GetEvents",
        "parameters": [
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Events.EventListDetails"
                }
              }
            }
          }
        }
      }
    },
    "/ocapi/v1/events/{eventId}": {
      "get": {
        "tags": [
          "Events"
        ],
        "summary": "Gets an event entity by its unique identifier",
        "description": "Only Head Office defined events can be returned.\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiEvents_GetEvent",
        "parameters": [
          {
            "name": "eventId",
            "in": "path",
            "description": "The unique identifier of the event",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Events.EventDetails"
                }
              }
            }
          },
          "404": {
            "description": "Event does not exist."
          }
        }
      }
    },
    "/ocapi/v1/events/{eventId}/showtimes": {
      "get": {
        "tags": [
          "Showtimes"
        ],
        "summary": "Gets a list of showtime entities for an event",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiEvents_GetShowtimesForEvent",
        "parameters": [
          {
            "name": "eventId",
            "in": "path",
            "description": "The unique identifier of the event",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "siteIds",
            "in": "query",
            "description": "Site filter",
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Showtimes.EventShowtimeListDetails"
                }
              }
            }
          },
          "400": {
            "description": "One or more of the provided sites do not exist."
          },
          "404": {
            "description": "Event does not exist."
          }
        }
      }
    },
    "/ocapi/v1/films": {
      "get": {
        "tags": [
          "Films"
        ],
        "summary": "Gets a list of film entities",
        "description": "\r\n\r\n\r\nReturns a list of film entities along with their related data.\r\n\r\n\r\n\r\n\r\nHistorical film entities that are no longer playing are not returned by this endpoint.\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiFilms_GetFilms",
        "parameters": [
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Films.FilmListDetails"
                }
              }
            }
          }
        }
      }
    },
    "/ocapi/v1/films/{filmId}": {
      "get": {
        "tags": [
          "Films"
        ],
        "summary": "Gets a film entity by its unique identifier",
        "description": "\r\n\r\nReturns a detailed film and its related data based on the provided filmId.\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiFilms_GetFilm",
        "parameters": [
          {
            "name": "filmId",
            "in": "path",
            "description": "The unique identifier of the film",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Films.FilmDetails"
                }
              }
            }
          },
          "404": {
            "description": "Film does not exist."
          }
        }
      }
    },
    "/ocapi/v1/films/availability": {
      "get": {
        "tags": [
          "Films"
        ],
        "summary": "Gets the current list of film availability entities",
        "description": "\r\n\r\n\r\nThe details of each film availability is based on the collated data of every site that is screening the film.\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiFilms_GetFilmAvailabilities",
        "parameters": [
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Browsing.Availability.Films.FilmAvailabilityListDetails"
                }
              }
            }
          }
        }
      }
    },
    "/ocapi/v1/films/{filmId}/availability": {
      "get": {
        "tags": [
          "Films"
        ],
        "summary": "Gets the current film availability of a particular film",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiFilms_GetFilmAvailability",
        "parameters": [
          {
            "name": "filmId",
            "in": "path",
            "description": "The unique identifier of the film",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Browsing.Availability.Films.FilmAvailabilityDetails"
                }
              }
            }
          },
          "404": {
            "description": "Film does not exist."
          }
        }
      }
    },
    "/ocapi/v1/films/{filmId}/showtimes": {
      "get": {
        "tags": [
          "Showtimes"
        ],
        "summary": "Gets a list of showtime entities for a film",
        "description": "\r\n\r\nReturns an empty list of showtime entities if no showtimes are scheduled for that film\r\n\r\n\r\nThere is a maximum of 5 site identifiers to be passed into the siteIds parameter.\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiFilms_GetShowtimesForFilm",
        "parameters": [
          {
            "name": "filmId",
            "in": "path",
            "description": "The film identifier of the requested showtimes",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "siteIds",
            "in": "query",
            "description": "The site filter",
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Showtimes.FilmShowtimeListDetails"
                }
              }
            }
          },
          "400": {
            "description": "One or more of the provided sites do not exist."
          },
          "404": {
            "description": "Film was not found."
          }
        }
      }
    },
    "/ocapi/v1/film-screening-dates": {
      "get": {
        "tags": [
          "Films"
        ],
        "summary": "Gets Screening Dates",
        "description": "\r\n\r\n\r\nReturns a list of dates that have upcoming showtimes, along with details about which films are playing at each site on each day.\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiFilmScreeningDates_GetFilmScreeningDates",
        "parameters": [
          {
            "name": "siteIds",
            "in": "query",
            "description": "Site filter",
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filmIds",
            "in": "query",
            "description": "Film filter",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.FilmScreenings.FilmScreeningDateListDetails"
                }
              }
            }
          },
          "400": {
            "description": "One or more of the provided sites or films do not exist."
          }
        }
      }
    },
    "/ocapi/v1/sites/{siteId}/films": {
      "get": {
        "tags": [
          "Films"
        ],
        "summary": "Gets the list of film entities for a particular site",
        "description": "\r\n\r\n\r\nReturns a list of film entities along with their related data.\r\n\r\n\r\n\r\n\r\nAny film entities that are not playing at the requested site are not returned by this endpoint.\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiFilmsForSite_GetFilmsForSite",
        "parameters": [
          {
            "name": "siteId",
            "in": "path",
            "description": "The unique identifier of the site",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Films.FilmListDetails"
                }
              }
            }
          },
          "404": {
            "description": "Site does not exist."
          }
        }
      }
    },
    "/ocapi/v1/sites/{siteId}/films/availability": {
      "get": {
        "tags": [
          "Films"
        ],
        "summary": "Gets the current list of film availability entities for a particular site",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiFilmsForSite_GetFilmAvailabilitiesForSite",
        "parameters": [
          {
            "name": "siteId",
            "in": "path",
            "description": "The unique identifier of the site",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Browsing.Availability.Films.FilmAvailabilityListDetails"
                }
              }
            }
          },
          "404": {
            "description": "Site does not exist."
          }
        }
      }
    },
    "/ocapi/v1/gift-cards/details": {
      "post": {
        "tags": [
          "Gift Cards"
        ],
        "summary": "Gets the details of a gift card (available balance and expiry date)",
        "description": "\r\n\r\n\r\n#### Introduced\r\n\r\n5.0.5.1\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiGiftCard_GetGiftCardDetails",
        "parameters": [
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Credentials of the requested gift card",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.GiftCards.GiftCardCredentials"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.GiftCards.GiftCardCredentials"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.GiftCards.GiftCardCredentials"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.GiftCards.GiftCardCredentials"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Validation succeeded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.GiftCards.GiftCardDetails"
                }
              }
            }
          },
          "400": {
            "description": "The provided gift card credentials are invalid."
          },
          "429": {
            "description": "Too many requests. Try again later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Errors.RateLimitExceededError"
                }
              }
            }
          }
        }
      }
    },
    "/ocapi/v1/sites/{siteId}/item-availability": {
      "get": {
        "tags": [
          "Items"
        ],
        "summary": "Gets the current list of item availability entities for a particular site",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiItemAvailability_GetItemAvailabilitiesForSite",
        "parameters": [
          {
            "name": "siteId",
            "in": "path",
            "description": "The unique identifier of the site",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Sales.Availability.SiteItemAvailabilityListDetails"
                }
              }
            }
          },
          "404": {
            "description": "Site does not exist."
          }
        }
      }
    },
    "/ocapi/v1/gift-shop/item-availability": {
      "get": {
        "tags": [
          "Items"
        ],
        "summary": "Gets the current list of item availability entities for the Gift Shop",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiItemAvailability_GetItemAvailabilitiesForGiftShop",
        "parameters": [
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/Ocapi.V1.Sales.Availability.ItemAvailabilityListDetails"
                    },
                    {
                      "$ref": "#/components/schemas/Ocapi.V1.Sales.Availability.SiteItemAvailabilityListDetails"
                    }
                  ],
                  "description": "Represents a list of item availability entities"
                }
              }
            }
          },
          "404": {
            "description": "Gift shop does not exist."
          }
        }
      }
    },
    "/ocapi/v1/sites/{siteId}/item-profile": {
      "get": {
        "tags": [
          "Items"
        ],
        "summary": "Gets the site item profile and its related data for a specified site",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiItemProfiles_GetItemProfileForSite",
        "parameters": [
          {
            "name": "siteId",
            "in": "path",
            "description": "The unique identifier of the site",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.Profiles.SiteItemProfileDetails"
                }
              }
            }
          },
          "404": {
            "description": "Site does not exist."
          }
        }
      }
    },
    "/ocapi/v1/sites/{siteId}/order-locations/{siteOrderLocationId}/item-profile": {
      "get": {
        "tags": [
          "Items"
        ],
        "summary": "Gets the site item profile and its related data for a specified site and site order location",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiItemProfiles_GetItemProfileForSiteOrderLocation",
        "parameters": [
          {
            "name": "siteId",
            "in": "path",
            "description": "The unique identifier of the site",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "siteOrderLocationId",
            "in": "path",
            "description": "The unique identifier of the site order location",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.Profiles.SiteItemProfileDetails"
                }
              }
            }
          },
          "404": {
            "description": "Site or order location does not exist."
          }
        }
      }
    },
    "/ocapi/v1/sites/{siteId}/sellable-items/by-hopk/{itemHopk}": {
      "get": {
        "tags": [
          "Items"
        ],
        "summary": "Gets a sellable item for an item base with a specified head office entity Hopk for a specified site, and its related data",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiItemProfiles_GetSellableItemByHopkForSite",
        "parameters": [
          {
            "name": "siteId",
            "in": "path",
            "description": "The unique identifier of the site",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "itemHopk",
            "in": "path",
            "description": "The head office entity Hopk of the item base",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.Sellable.SellableItemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Site or item does not exist."
          }
        }
      }
    },
    "/ocapi/v1/gift-shop/item-profile": {
      "get": {
        "tags": [
          "Items"
        ],
        "summary": "Gets the item profile and it's related data for the Gift Shop",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiItemProfiles_GetItemProfileForGiftShop",
        "parameters": [
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.Profiles.GiftShopItemProfileDetails"
                }
              }
            }
          },
          "400": {
            "description": "Gift shop does not exist."
          }
        }
      }
    },
    "/ocapi/v1/journeys/{journeyId}": {
      "get": {
        "tags": [
          "Journeys"
        ],
        "summary": "Gets a journey details",
        "description": "\r\n\r\n\r\nGets a journey which represents, from start to finish, a customer's interactions with\r\nVista software in relation to one or multiple visits to the cinema initiated by a\r\nsingle sale.\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiJourneys_GetJourney",
        "parameters": [
          {
            "name": "journeyId",
            "in": "path",
            "description": "The unique identifier of the journey to be retrieved",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Journey.JourneyDetails"
                }
              }
            }
          },
          "202": {
            "description": "Journey is not ready."
          },
          "404": {
            "description": "Journey does not exist."
          }
        }
      }
    },
    "/ocapi/v1/journeys/by-reference/{journeyReference}": {
      "get": {
        "tags": [
          "Journeys"
        ],
        "summary": "Gets a journey details by its reference",
        "description": "\r\n\r\n\r\nGets a journey which represents, from start to finish, a customer's interactions with\r\nVista software in relation to one or multiple visits to the cinema initiated by a\r\nsingle sale.\r\n\r\n\r\n\r\n\r\nA journey reference is generated when the asynchronous journey service is started so\r\nthat it's possible to distinguish between a valid journey that hasn't been prepared by\r\nthe service and one that doesn't exist.\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiJourneys_GetJourneyByReference",
        "parameters": [
          {
            "name": "journeyReference",
            "in": "path",
            "description": "A reference for the journey to be retrieved",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Journey.JourneyDetails"
                }
              }
            }
          },
          "202": {
            "description": "Journey reference exists, but journey is not yet ready for retrieval."
          },
          "404": {
            "description": "Journey does not exist."
          }
        }
      }
    },
    "/ocapi/v1/journeys/by-order-id/{orderId}": {
      "get": {
        "tags": [
          "Completed Orders"
        ],
        "summary": "Gets a journey details for a completed standard order",
        "description": "\r\n\r\n\r\nGets a journey which represents, from start to finish, a customer's interactions with\r\nVista software in relation to one or multiple visits to the cinema initiated by a\r\nsingle sale.\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiJourneys_GetJourneyForCompletedOrder",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the completed standard order",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Journey.JourneyDetails"
                }
              }
            }
          },
          "202": {
            "description": "Order exists, but journey is not yet ready for retrieval."
          },
          "404": {
            "description": "Order does not exist."
          }
        }
      }
    },
    "/ocapi/v1/journeys/{journeyId}/third-party-passes/apple-wallet": {
      "get": {
        "tags": [
          "Third Party Passes"
        ],
        "summary": "Gets an Apple Wallet pass for a journey",
        "description": "\r\n\r\nPreviously known as 'Apple Passbook' and renamed to 'Apple Wallet' by Apple Inc. in 2015.\r\n\r\n\r\nCan be used to create an 'Add to Apple Wallet' button.\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiJourneyThirdPartyPasses_GetAppleWalletPassForJourney",
        "parameters": [
          {
            "name": "journeyId",
            "in": "path",
            "description": "The unique identifier of the journey",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Byte array representing Apple PassKit Pass. Content-Type is application/vnd.apple.pkpass",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "byte"
                }
              }
            }
          },
          "202": {
            "description": "Journey is not ready."
          },
          "404": {
            "description": "Journey does not exist."
          }
        },
        "deprecated": true
      }
    },
    "/ocapi/v1/loyalty-master-data": {
      "get": {
        "tags": [
          "Loyalty"
        ],
        "summary": "Returns reference master data required to build member management UIs",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiLoyaltyMasterData_GetMasterData",
        "parameters": [
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.LoyaltyMasterData"
                }
              }
            }
          }
        }
      }
    },
    "/ocapi/v1/members/authentication-token": {
      "post": {
        "tags": [
          "Authentication"
        ],
        "summary": "Authenticates a member and creates an member authentication token",
        "description": "\r\n\r\n\r\nThis method of authentication is recommended for clients that can securely store the member authentication token access_token\r\nand member authentication token refresh_token locally.\r\n\r\n\r\n\r\n\r\nThe member authentication token access_token must be provided as the `LoyaltySessionToken` HTTP header to authenticate subsequent requests.\r\n\r\n\r\n\r\n\r\nSign out is handled by deleting the stored member authentication token access_token and member authentication token refresh_token\r\n\r\n\r\n\r\n\r\nThis method can be used to both create a new access token, or refresh an expired token based on the member authentication request grant_type\r\n\r\n\r\n\r\n\r\nData is to be provided as `application/x-www-form-urlencoded` form parameters in the format of member authentication request\r\n\r\n\r\n\r\n\r\nCurrently, the ```external_issuer``` grant type will fail if the provided external authentication token can not be linked to a single Loyalty\r\nmember, and as such is unsuitable for social sign in flows.\r\n\r\n\r\n\r\n\r\n#### Error Response\r\n\r\nLockOutPeriodInSeconds property will only be present on the response object if the response has the error code 32000.\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiMemberAuthentication_CreateAuthenticationToken",
        "parameters": [
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "grant_type"
                ],
                "type": "object",
                "properties": {
                  "grant_type": {
                    "type": "string"
                  },
                  "username": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string"
                  },
                  "password": {
                    "type": "string"
                  },
                  "refresh_token": {
                    "type": "string"
                  },
                  "club_id": {
                    "type": "string"
                  },
                  "remember": {
                    "type": "boolean"
                  },
                  "external_issuer_id": {
                    "type": "string"
                  },
                  "external_token": {
                    "type": "string"
                  }
                }
              },
              "encoding": {
                "grant_type": {
                  "style": "form"
                },
                "username": {
                  "style": "form"
                },
                "email": {
                  "style": "form"
                },
                "password": {
                  "style": "form"
                },
                "refresh_token": {
                  "style": "form"
                },
                "club_id": {
                  "style": "form"
                },
                "remember": {
                  "style": "form"
                },
                "external_issuer_id": {
                  "style": "form"
                },
                "external_token": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Authentication.MemberAuthenticationToken"
                }
              }
            }
          },
          "400": {
            "description": "The provided grant type, credentials, or refresh token are invalid."
          },
          "429": {
            "description": "Member locked. Try again later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Errors.MemberLockedError"
                }
              }
            }
          }
        }
      }
    },
    "/ocapi/v1/members/authentication-cookie": {
      "post": {
        "tags": [
          "Authentication"
        ],
        "summary": "Authenticates a member and returns an HTTP-only authentication cookie",
        "description": "\r\n\r\n\r\nThis method of authentication is recommended for clients that do not have access to secure storage, as the authentication token is stored in a secure HTTP-only cookie.\r\n\r\n\r\n\r\n\r\nProviding this cookie with subsequent requests works as an alternative to the `LoyaltySessionToken` HTTP header.\r\n\r\n\r\n\r\n\r\nSign out is handled by the [ExpireAuthenticationCookie](/openapi/digital-platform/openapi/authentication/ocapimemberauthentication_expireauthenticationcookie) method.\r\n\r\n\r\n\r\n\r\nWhen using cookie-based authentication, the API will automatically refresh the cookie when the access token has expired.\r\n\r\n\r\n\r\n\r\nIn addition to the authentication cookie, a second `vista-loyalty-member-is-authenticated` cookie is returned that can be used by the client to detect whether the patron is authenticated.\r\n\r\n\r\n\r\n\r\nData is to be provided as `application/x-www-form-urlencoded` form parameters in the format of member authentication request\r\n\r\n\r\n\r\n\r\nCurrently, the ```external_issuer``` grant type will fail if the provided external authentication token can not be linked to a single Loyalty\r\nmember, and as such is unsuitable for social sign in flows.\r\n\r\n\r\n\r\n\r\n#### Error Response\r\n\r\nLockOutPeriodInSeconds property will only be present on the response object if the response has the error code 32000.\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiMemberAuthentication_CreateAuthenticationCookie",
        "parameters": [
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "grant_type"
                ],
                "type": "object",
                "properties": {
                  "grant_type": {
                    "type": "string"
                  },
                  "username": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string"
                  },
                  "password": {
                    "type": "string"
                  },
                  "refresh_token": {
                    "type": "string"
                  },
                  "club_id": {
                    "type": "string"
                  },
                  "remember": {
                    "type": "boolean"
                  },
                  "external_issuer_id": {
                    "type": "string"
                  },
                  "external_token": {
                    "type": "string"
                  }
                }
              },
              "encoding": {
                "grant_type": {
                  "style": "form"
                },
                "username": {
                  "style": "form"
                },
                "email": {
                  "style": "form"
                },
                "password": {
                  "style": "form"
                },
                "refresh_token": {
                  "style": "form"
                },
                "club_id": {
                  "style": "form"
                },
                "remember": {
                  "style": "form"
                },
                "external_issuer_id": {
                  "style": "form"
                },
                "external_token": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Member authenticated cookies created."
          },
          "400": {
            "description": "The provided grant type, credentials, or refresh token are invalid."
          },
          "429": {
            "description": "Member locked. Try again later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Errors.MemberLockedError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Authentication"
        ],
        "summary": "Expires the current authentication cookie",
        "description": "\r\n\r\n\r\nExpires the current authentication cookie created by the [CreateAuthenticationCookie](/openapi/digital-platform/openapi/authentication/ocapimemberauthentication_createauthenticationcookie) or the [CreateWorkstationAuthenticationCookie](/openapi/digital-platform/openapi/loyalty/ocapimemberauthentication_createworkstationauthenticationcookie) method.\r\n\r\n\r\n\r\n\r\nDue to the authentication cookie being HTTP-only, clients do not have the ability to delete these themselves.\r\n\r\n\r\n\r\n\r\nThis endpoint provides a mechanism for the client to 'sign out' the current member ensuring the cookies on the client are removed.\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiMemberAuthentication_ExpireAuthenticationCookie",
        "parameters": [
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Authentication cookie expired."
          }
        }
      }
    },
    "/ocapi/v1/members/workstation-authentication-cookie": {
      "post": {
        "tags": [
          "Loyalty",
          "Members",
          "Authentication"
        ],
        "summary": "Authenticates a member for authenticated devices and returns an HTTP-only authentication cookie",
        "description": "\r\n\r\n\r\nThe HTTP Authorization header must include a Central Identity Management device token (also known as a DIM token).\r\n\r\n\r\n\r\n\r\nProviding this cookie with subsequent requests works as an alternative to the `LoyaltySessionToken` HTTP header.\r\n\r\n\r\n\r\n\r\nSign out is handled by the [ExpireAuthenticationCookie](/openapi/digital-platform/openapi/authentication/ocapimemberauthentication_expireauthenticationcookie) method.\r\n\r\n\r\n\r\n\r\nWhen using cookie-based authentication, the API will automatically refresh the cookie when the access token has expired.\r\n\r\n\r\n\r\n\r\nIn addition to the authentication cookie, a second `vista-loyalty-member-is-authenticated` cookie is returned that can be used by the client to detect whether the patron is authenticated.\r\n\r\n\r\n\r\n\r\nData is to be provided as `application/x-www-form-urlencoded` form parameters in the format of member workstation authentication request\r\n\r\n\r\n\r\n\r\nUnlike the standard member authentication endpoints, the cookie from this endpoint does not have permission to update member details.\r\n\r\n\r\n\r\n\r\n#### Error Response\r\n\r\nLockOutPeriodInSeconds property will only be present on the response object if the response has the error code 32000.\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiMemberAuthentication_CreateWorkstationAuthenticationCookie",
        "parameters": [
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "grant_type"
                ],
                "type": "object",
                "properties": {
                  "grant_type": {
                    "type": "string"
                  },
                  "card_number": {
                    "type": "string"
                  },
                  "phone_number": {
                    "type": "string"
                  },
                  "pin": {
                    "type": "string"
                  },
                  "username": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string"
                  },
                  "password": {
                    "type": "string"
                  },
                  "club_id": {
                    "type": "string"
                  }
                }
              },
              "encoding": {
                "grant_type": {
                  "style": "form"
                },
                "card_number": {
                  "style": "form"
                },
                "phone_number": {
                  "style": "form"
                },
                "pin": {
                  "style": "form"
                },
                "username": {
                  "style": "form"
                },
                "email": {
                  "style": "form"
                },
                "password": {
                  "style": "form"
                },
                "club_id": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Member authenticated cookies created."
          },
          "400": {
            "description": "The provided grant type, credentials, or refresh token are invalid."
          },
          "401": {
            "description": "Authentication JWT is missing."
          },
          "403": {
            "description": "This endpoint can only be used using a CIM Device Authentication token."
          },
          "429": {
            "description": "Member or device locked. Try again later."
          }
        }
      }
    },
    "/ocapi/v1/members/current/completed-orders/active": {
      "get": {
        "tags": [
          "Member Completed Orders"
        ],
        "summary": "Gets a list of active member completed order base entities for the currently authenticated member",
        "description": "\r\n\r\n\r\nActive orders are defined as member completed order base entities that have not expired (see member completed order base ExpiresAt)\r\n\r\n\r\n\r\n\r\nActive orders are returned in descending order based on the member completed order base CreatedAt date.\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiMemberCompletedOrders_GetActiveCompletedOrdersForMember",
        "parameters": [
          {
            "name": "loyaltySessionToken",
            "in": "header",
            "description": "Current Loyalty session token, represents a 'signed-in' member",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.CompletedOrders.MemberCompletedOrderListDetails"
                }
              }
            }
          },
          "401": {
            "description": "No member authenticated."
          }
        }
      }
    },
    "/ocapi/v1/members/current/completed-orders/expired": {
      "get": {
        "tags": [
          "Member Completed Orders"
        ],
        "summary": "Gets a list of expired member completed order base entities for the currently authenticated member",
        "description": "\r\n\r\n\r\nExpired completed orders are member completed order base entities that have expired (see member completed order base ExpiresAt)\r\n\r\n\r\n\r\n\r\nPagination is supported as potentially large amounts of historical data is in scope of query.\r\n\r\n\r\n\r\n\r\nExpired orders are returned in descending order based on the member completed order base CreatedAt date.\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiMemberCompletedOrders_GetExpiredCompletedOrdersForMember",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of orders to return in the result set. Defaults to `10`",
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer",
              "format": "int32",
              "default": 10
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The index of the first order to return in the result set. Defaults to `0`",
            "schema": {
              "maximum": 2147483647,
              "minimum": 0,
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "loyaltySessionToken",
            "in": "header",
            "description": "Current Loyalty session token, represents a 'signed-in' member",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.CompletedOrders.MemberCompletedOrderPaginatedResultSet"
                }
              }
            }
          },
          "400": {
            "description": "The provided limit or offset is invalid."
          },
          "401": {
            "description": "No member authenticated."
          }
        }
      }
    },
    "/ocapi/v1/members/current/friend-code": {
      "post": {
        "tags": [
          "Members",
          "Friends"
        ],
        "summary": "Creates a friend code for the currently authenticated Loyalty member",
        "description": "A friend code can be redeemed by another member to create a member friend\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n- Vista.Loyalty.Friends\r\n\r\n",
        "operationId": "OcapiMemberFriends_CreateFriendCode",
        "parameters": [
          {
            "name": "loyaltySessionToken",
            "in": "header",
            "description": "Current Loyalty session token, represents a 'signed-in' member",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The values needed to create the member friend code",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Friends.MemberFriendCodeCreate"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Friends.MemberFriendCodeCreate"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Friends.MemberFriendCodeCreate"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Friends.MemberFriendCodeCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Friends.MemberFriendCode"
                }
              }
            }
          },
          "400": {
            "description": "Request property is invalid or missing, or member cannot create a friend code."
          },
          "401": {
            "description": "No member authenticated."
          },
          "429": {
            "description": "Too many requests. Try again later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Errors.RateLimitExceededError"
                }
              }
            }
          }
        }
      }
    },
    "/ocapi/v1/members/current/friends/code": {
      "post": {
        "tags": [
          "Members",
          "Friends"
        ],
        "summary": "Adds a friend by creating a member friend using a friend code",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n- Vista.Loyalty.Friends\r\n\r\n",
        "operationId": "OcapiMemberFriends_AddFriendFromCode",
        "parameters": [
          {
            "name": "loyaltySessionToken",
            "in": "header",
            "description": "Current Loyalty session token, represents a 'signed-in' member",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The values needed to create the member friend",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Friends.MemberFriendFromCodeCreate"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Friends.MemberFriendFromCodeCreate"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Friends.MemberFriendFromCodeCreate"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Friends.MemberFriendFromCodeCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Friends.MemberFriendDetails"
                }
              }
            }
          },
          "400": {
            "description": "Request property is invalid or missing, or member cannot add friend."
          },
          "401": {
            "description": "No member authenticated."
          },
          "429": {
            "description": "Too many requests. Try again later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Errors.RateLimitExceededError"
                }
              }
            }
          }
        }
      }
    },
    "/ocapi/v1/members/current/friends/{id}": {
      "delete": {
        "tags": [
          "Members",
          "Friends"
        ],
        "summary": "Removes a friend by deleting a member friend",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n- Vista.Loyalty.Friends\r\n\r\n",
        "operationId": "OcapiMemberFriends_RemoveFriend",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "loyaltySessionToken",
            "in": "header",
            "description": "Current Loyalty session token, represents a 'signed-in' member",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Friend removed."
          },
          "401": {
            "description": "No member authenticated."
          }
        }
      }
    },
    "/ocapi/v1/members/current/friends/{id}/subscription-sharing": {
      "put": {
        "tags": [
          "Members",
          "Friends"
        ],
        "summary": "Sets the subscription sharing details of a member friend",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n- Vista.Loyalty.Friends\r\n\r\n",
        "operationId": "OcapiMemberFriends_SetSubscriptionSharing",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "loyaltySessionToken",
            "in": "header",
            "description": "Current Loyalty session token, represents a 'signed-in' member",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The values needed to update the subscription sharing details of a member friend",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Friends.MemberFriendSubscriptionSharingUpdate"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Friends.MemberFriendSubscriptionSharingUpdate"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Friends.MemberFriendSubscriptionSharingUpdate"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Friends.MemberFriendSubscriptionSharingUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Friend subscription sharing updated."
          },
          "400": {
            "description": "Request property is invalid or missing, or member cannot share subscription."
          },
          "401": {
            "description": "No member authenticated."
          },
          "404": {
            "description": "Friend does not exist."
          }
        }
      }
    },
    "/ocapi/v1/members/current/journeys/current": {
      "get": {
        "tags": [
          "Members"
        ],
        "summary": "Gets a list of current journey entities for the currently authenticated member",
        "description": "\r\n\r\n\r\nCurrent journeys are defined as journeys that:\r\n\r\n- Either contain a showtime that has yet to finish or no showtimes and uncollected items.\r\n- Have not been fully refunded.\r\n\r\n\r\n\r\n\r\nSort order is by showtime date or date of order (if no showtime present) with earliest first.\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiMemberJourneys_GetCurrentJourneysForMember",
        "parameters": [
          {
            "name": "loyaltySessionToken",
            "in": "header",
            "description": "Current Loyalty session token, represents a 'signed-in' member",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Journey.JourneyListDetails"
                }
              }
            }
          },
          "401": {
            "description": "No member authenticated."
          }
        },
        "deprecated": true
      }
    },
    "/ocapi/v1/members/current/journeys/past": {
      "get": {
        "tags": [
          "Members"
        ],
        "summary": "Gets a list of past journey entities for the currently authenticated member",
        "description": "\r\n\r\n\r\nPast journeys are journeys that are not considered current (see [GetCurrentJourneysForMember](/openapi/digital-platform/openapi/members/ocapimemberjourneys_getcurrentjourneysformember)).\r\n\r\n\r\n\r\n\r\nPagination is supported as potentially large amounts of historical data is in scope of query.\r\n\r\n\r\n\r\n\r\nSort order is by showtime date or date of order (if no showtime present) with earliest first.\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiMemberJourneys_GetPastJourneysForMember",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of journeys to return in the result set",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 10
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The index of the first journey to return in the result set",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "loyaltySessionToken",
            "in": "header",
            "description": "Current Loyalty session token, represents a 'signed-in' member",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Journey.JourneyPaginatedResultSet"
                }
              }
            }
          },
          "400": {
            "description": "The provided limit or offset is invalid."
          },
          "401": {
            "description": "No member authenticated."
          }
        },
        "deprecated": true
      }
    },
    "/ocapi/v1/members/password-reset-code": {
      "post": {
        "tags": [
          "Password Reset"
        ],
        "summary": "Creates a password reset code for a member",
        "description": "\r\n\r\nSuccessful response returned regardless of the existence of the provided email/username in Loyalty.\r\n\r\n\r\nAn email with further instructions for completing the request will be sent to the member\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiMemberPasswordReset_CreatePasswordResetCode",
        "parameters": [
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Details to create a password reset code",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.PasswordReset.MemberPasswordResetCodeCreate"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.PasswordReset.MemberPasswordResetCodeCreate"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.PasswordReset.MemberPasswordResetCodeCreate"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.PasswordReset.MemberPasswordResetCodeCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Password reset code created and emailed to the member."
          },
          "400": {
            "description": "Request property is invalid or missing."
          }
        }
      }
    },
    "/ocapi/v1/members/password-reset-code/validate": {
      "post": {
        "tags": [
          "Password Reset"
        ],
        "summary": "Validates a password reset code",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiMemberPasswordReset_ValidatePasswordResetCode",
        "parameters": [
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Details to validate a reset code",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.PasswordReset.MemberPasswordResetCodeValidation"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.PasswordReset.MemberPasswordResetCodeValidation"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.PasswordReset.MemberPasswordResetCodeValidation"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.PasswordReset.MemberPasswordResetCodeValidation"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.PasswordReset.MemberPasswordResetCodeValidity"
                }
              }
            }
          },
          "400": {
            "description": "Request property is invalid or missing."
          }
        }
      }
    },
    "/ocapi/v1/members/password-reset": {
      "post": {
        "tags": [
          "Password Reset"
        ],
        "summary": "Resets a member entity's password",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiMemberPasswordReset_ResetPassword",
        "parameters": [
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Details to reset password",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.PasswordReset.MemberPasswordReset"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.PasswordReset.MemberPasswordReset"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.PasswordReset.MemberPasswordReset"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.PasswordReset.MemberPasswordReset"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Member password updated."
          },
          "400": {
            "description": "Request property is invalid or missing, or password reset code has expired."
          }
        }
      }
    },
    "/ocapi/v1/members/current/payment-cards": {
      "get": {
        "tags": [
          "Payments"
        ],
        "summary": "Gets the list of member payment card entities for the currently authenticated member",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiMemberPaymentCards_GetMemberPaymentCards",
        "parameters": [
          {
            "name": "loyaltySessionToken",
            "in": "header",
            "description": "Current Loyalty session token, represents a 'signed-in' member",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.PaymentCards.MemberPaymentCardListDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "No member authenticated."
          }
        }
      }
    },
    "/ocapi/v1/members/current/payment-cards/{memberPaymentCardId}": {
      "get": {
        "tags": [
          "Payments"
        ],
        "summary": "Gets a member payment card for the currently authenticated member by its unique identifier",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiMemberPaymentCards_GetMemberPaymentCard",
        "parameters": [
          {
            "name": "memberPaymentCardId",
            "in": "path",
            "description": "The member payment card identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "loyaltySessionToken",
            "in": "header",
            "description": "Current Loyalty session token, represents a 'signed-in' member",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.PaymentCards.MemberPaymentCard"
                }
              }
            }
          },
          "401": {
            "description": "No member authenticated."
          },
          "404": {
            "description": "Payment card does not exist."
          }
        }
      },
      "delete": {
        "tags": [
          "Payments"
        ],
        "summary": "Removes a member payment card for the currently authenticated member",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiMemberPaymentCards_RemoveMemberPaymentCard",
        "parameters": [
          {
            "name": "memberPaymentCardId",
            "in": "path",
            "description": "The member payment card identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "loyaltySessionToken",
            "in": "header",
            "description": "Current Loyalty session token, represents a 'signed-in' member",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Member payment card removed."
          },
          "400": {
            "description": "Cannot remove primary payment card with an active recurring subscription."
          },
          "401": {
            "description": "No member authenticated."
          }
        }
      }
    },
    "/ocapi/v1/members/current/payment-cards/primary": {
      "put": {
        "tags": [
          "Payments"
        ],
        "summary": "Set the primary member payment card for the currently authenticated member",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiMemberPaymentCards_SetPrimaryMemberPaymentCard",
        "parameters": [
          {
            "name": "loyaltySessionToken",
            "in": "header",
            "description": "Current Loyalty session token, represents a 'signed-in' member",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The values needed to update the member's primary member payment card",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.PaymentCards.Requests.MemberPrimaryPaymentCardUpdate"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.PaymentCards.Requests.MemberPrimaryPaymentCardUpdate"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.PaymentCards.Requests.MemberPrimaryPaymentCardUpdate"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.PaymentCards.Requests.MemberPrimaryPaymentCardUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Member primary payment card updated."
          },
          "400": {
            "description": "Member payment card does not exist."
          },
          "401": {
            "description": "No member authenticated."
          }
        },
        "deprecated": true
      }
    },
    "/ocapi/v1/members/current/payment-cards/embedded": {
      "post": {
        "tags": [
          "Payments"
        ],
        "summary": "Loads and initiates the creation of a member payment card using an embedded UI for the currently authenticated member",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiMemberPaymentCards_CreateEmbeddedMemberPaymentCard",
        "parameters": [
          {
            "name": "loyaltySessionToken",
            "in": "header",
            "description": "Current Loyalty session token, represents a 'signed-in' member",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The values needed to create an embedded member payment card",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.PaymentCards.Requests.EmbeddedMemberPaymentCardCreate"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.PaymentCards.Requests.EmbeddedMemberPaymentCardCreate"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.PaymentCards.Requests.EmbeddedMemberPaymentCardCreate"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.PaymentCards.Requests.EmbeddedMemberPaymentCardCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.PaymentCards.EmbeddedMemberPaymentCardClientData"
                }
              }
            }
          },
          "400": {
            "description": "Request property is invalid or missing."
          },
          "401": {
            "description": "No member authenticated."
          }
        }
      }
    },
    "/ocapi/v1/members/current/rewards": {
      "get": {
        "tags": [
          "Members",
          "Member Rewards"
        ],
        "summary": "Gets the list of member reward entities for the currently authenticated member",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiMemberRewards_GetMemberRewards",
        "parameters": [
          {
            "name": "loyaltySessionToken",
            "in": "header",
            "description": "Current Loyalty session token, represents a 'signed-in' member",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Rewards.MemberRewardListDetails"
                }
              }
            }
          },
          "401": {
            "description": "No member authenticated."
          }
        }
      }
    },
    "/ocapi/v1/members/current/reward-availability/by-showtime/{showtimeId}": {
      "get": {
        "tags": [
          "Members",
          "Member Rewards"
        ],
        "summary": "Gets the list of member reward availability entities for the currently authenticated\r\nmember and a particular showtime",
        "description": "\r\n\r\n\r\nmember reward availability entities are returned only for reward entities where\r\nreward Restrictions includes reward restriction MemberRewardAvailability\r\n\r\n\r\n\r\n\r\nThe number of member reward availability entities returned are subject to a configured limit.\r\nIf exceeded, the member reward availability entities returned are automatically truncated to\r\nthe configured limit.\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiMemberRewards_GetMemberRewardAvailabilitiesForShowtime",
        "parameters": [
          {
            "name": "showtimeId",
            "in": "path",
            "description": "The unique identifier of the showtime",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "rewardIds",
            "in": "query",
            "description": "Optional. The unique identifier of the reward entities to get member availabilty for",
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            }
          },
          {
            "name": "loyaltySessionToken",
            "in": "header",
            "description": "Current Loyalty session token, represents a 'signed-in' member",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Rewards.Availability.MemberRewardAvailabilityListDetails"
                }
              }
            }
          },
          "401": {
            "description": "No member authenticated."
          }
        }
      }
    },
    "/ocapi/v1/members/current": {
      "get": {
        "tags": [
          "Members"
        ],
        "summary": "Gets the details of the currently authenticated member",
        "description": "The member is always reloaded directly from Loyalty with no caching.\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiMembers_GetCurrentMember",
        "parameters": [
          {
            "name": "loyaltySessionToken",
            "in": "header",
            "description": "Current Loyalty session token, represents a 'signed-in' member",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.MemberDetails"
                }
              }
            }
          },
          "401": {
            "description": "No member authenticated."
          }
        }
      },
      "delete": {
        "tags": [
          "Members"
        ],
        "summary": "Deletes the currently authenticated member",
        "description": "\r\n\r\n\r\nThe member can no longer be authenticated after this endpoint has been successfully called.\r\n\r\n\r\n\r\n\r\nThe member is also marked to be deleted by Vista Loyalty in a configured scheduled task.\r\nThe member is completely cleared after 24 hours.\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiMembers_DeleteCurrentMember",
        "parameters": [
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Details required to delete the member",
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Delete.ExternallyAuthenticatedMemberDelete"
                  },
                  {
                    "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Delete.LoyaltyAuthenticatedMemberDelete"
                  }
                ],
                "description": "Represents the values needed to securely delete a member"
              }
            },
            "text/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Delete.ExternallyAuthenticatedMemberDelete"
                  },
                  {
                    "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Delete.LoyaltyAuthenticatedMemberDelete"
                  }
                ],
                "description": "Represents the values needed to securely delete a member"
              }
            },
            "application/*+json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Delete.ExternallyAuthenticatedMemberDelete"
                  },
                  {
                    "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Delete.LoyaltyAuthenticatedMemberDelete"
                  }
                ],
                "description": "Represents the values needed to securely delete a member"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Delete.ExternallyAuthenticatedMemberDelete"
                  },
                  {
                    "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Delete.LoyaltyAuthenticatedMemberDelete"
                  }
                ],
                "description": "Represents the values needed to securely delete a member"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Member deleted."
          },
          "400": {
            "description": "Request property is invalid or missing, password validation failed, or member cannot be deleted."
          },
          "401": {
            "description": "No member authenticated."
          }
        }
      }
    },
    "/ocapi/v1/members": {
      "post": {
        "tags": [
          "Members"
        ],
        "summary": "Creates a member",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiMembers_CreateMember",
        "parameters": [
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Member to create",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Create.MemberCreate"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Create.MemberCreate"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Create.MemberCreate"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Create.MemberCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Create.CreatedMemberDetails"
                }
              }
            }
          },
          "400": {
            "description": "Request property is invalid or missing."
          }
        }
      }
    },
    "/ocapi/v1/members/current/transactions": {
      "get": {
        "tags": [
          "Members"
        ],
        "summary": "Gets a list of member transaction entities for the currently authenticated member",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiMembers_GetMemberTransactions",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of transactions to return in the result set",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The index of the first transaction to return in the result set",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "loyaltySessionToken",
            "in": "header",
            "description": "Current Loyalty session token, represents a 'signed-in' member",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Transactions.MemberTransactionPaginatedResultSet"
                }
              }
            }
          },
          "400": {
            "description": "The provided limit or offset is invalid."
          },
          "401": {
            "description": "No member authenticated."
          }
        }
      }
    },
    "/ocapi/v1/members/current/subscriptions/current/billing/payment-provider/vista": {
      "put": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Sets Vista as the payment provider for the member subscription belonging to the currently authenticated member",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n- Vista.Subscriptions\r\n\r\n",
        "operationId": "OcapiMemberSubscription_SetVistaAsSubscriptionPaymentProvider",
        "parameters": [
          {
            "name": "loyaltySessionToken",
            "in": "header",
            "description": "Current Loyalty session token, represents a 'signed-in' member",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Member subscription payment provider updated."
          },
          "400": {
            "description": "Member does not have a subscription, or subscription payment provider cannot be updated."
          },
          "401": {
            "description": "No member authenticated."
          }
        }
      }
    },
    "/ocapi/v1/members/current/subscriptions/recurring/payment-card/embedded": {
      "post": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Loads and initiates the creation or selection of a member payment card using an embedded UI for\r\nthe current or future recurring member subscription of the currently authenticated member",
        "description": "\r\n\r\n\r\nThe member payment card will be used for recurring subscription billing.\r\n\r\n\r\n\r\n\r\nIf the member has a future recurring member subscription, the member payment card\r\nwill be authenticated for their future subscription.\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n- Vista.Subscriptions\r\n\r\n",
        "operationId": "OcapiMemberSubscription_CreateRecurringSubscriptionEmbeddedPaymentCard",
        "parameters": [
          {
            "name": "loyaltySessionToken",
            "in": "header",
            "description": "Current Loyalty session token, represents a 'signed-in' member",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The values needed to create an embedded member payment card",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Subscriptions.Requests.RecurringMemberSubscriptionEmbeddedPaymentCardCreate"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Subscriptions.Requests.RecurringMemberSubscriptionEmbeddedPaymentCardCreate"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Subscriptions.Requests.RecurringMemberSubscriptionEmbeddedPaymentCardCreate"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Subscriptions.Requests.RecurringMemberSubscriptionEmbeddedPaymentCardCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.PaymentCards.EmbeddedMemberPaymentCardClientData"
                }
              }
            }
          },
          "400": {
            "description": "Member does not have a current or future recurring subscription."
          },
          "401": {
            "description": "No member authenticated."
          }
        }
      }
    },
    "/ocapi/v1/members/current/subscriptions/future-recurring": {
      "post": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Sets the member subscriptions Future recurring subscription billing option for the currently authenticated member",
        "description": "\r\n\r\n\r\nMembers may select a future recurring subscription billing option regardless of their member subscriptions Current subscription, allowing them to\r\nchange subscription or extend existing.\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n- Vista.Subscriptions\r\n\r\n",
        "operationId": "OcapiMemberSubscription_SetFutureRecurringSubscription",
        "parameters": [
          {
            "name": "loyaltySessionToken",
            "in": "header",
            "description": "Current Loyalty session token, represents a 'signed-in' member",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The selected subscription option",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Subscriptions.FutureRecurring.MemberFutureRecurringSubscriptionSelection"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Subscriptions.FutureRecurring.MemberFutureRecurringSubscriptionSelection"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Subscriptions.FutureRecurring.MemberFutureRecurringSubscriptionSelection"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Subscriptions.FutureRecurring.MemberFutureRecurringSubscriptionSelection"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Member future recurring subscription set."
          },
          "400": {
            "description": "Request property is invalid or missing, or member cannot set a future subscription."
          },
          "401": {
            "description": "No member authenticated."
          }
        },
        "deprecated": true
      }
    },
    "/ocapi/v1/members/current/subscriptions/future-recurring/payment-card/embedded": {
      "post": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Initiates creation of a future recurring member subscription and also loads and initiates the\r\ncreation or selection of a member payment card using an embedded UI for the future recurring\r\nmember subscription",
        "description": "\r\n\r\n\r\nUpon creating or selecting the member payment card, the member's recurring\r\nmember subscriptions Future will be set.\r\n\r\n\r\n\r\n\r\nThe GetFutureRecurringSubscriptionCreation endpoint should be polled to determine the status of the future\r\nrecurring subscription.\r\n\r\n\r\n\r\n\r\nSets Vista as the payment provider for the member subscription, if not already set to Vista.\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n- Vista.Subscriptions\r\n\r\n",
        "operationId": "OcapiMemberSubscription_CreateFutureRecurringSubscriptionPaymentCard",
        "parameters": [
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The values needed to create the future recurring subscription payment",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Subscriptions.Requests.FutureRecurringMemberSubscriptionEmbeddedPaymentCardCreate"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Subscriptions.Requests.FutureRecurringMemberSubscriptionEmbeddedPaymentCardCreate"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Subscriptions.Requests.FutureRecurringMemberSubscriptionEmbeddedPaymentCardCreate"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Subscriptions.Requests.FutureRecurringMemberSubscriptionEmbeddedPaymentCardCreate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.PaymentCards.EmbeddedMemberPaymentCardClientData"
                }
              }
            }
          },
          "400": {
            "description": "Request property is invalid or missing, or member cannot set a future subscription."
          },
          "401": {
            "description": "No member authenticated."
          }
        }
      }
    },
    "/ocapi/v1/members/current/subscriptions/future-recurring/creation": {
      "get": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Gets the status of a created future recurring member subscription",
        "description": "This endpoint may be polled to determine the creation status of the future recurring subscription after creating a future recurring subscription payment card.\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n- Vista.Subscriptions\r\n\r\n",
        "operationId": "OcapiMemberSubscription_GetFutureRecurringSubscriptionCreation",
        "parameters": [
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Subscriptions.FutureRecurring.FutureRecurringMemberSubscriptionCreation"
                }
              }
            }
          },
          "204": {
            "description": "Member does not have a future recurring subscription creation."
          },
          "401": {
            "description": "No member authenticated."
          }
        }
      }
    },
    "/ocapi/v1/members/current/subscriptions/current/reactivate": {
      "post": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Reactivates the current member subscription for the currently authenticated member",
        "description": "\r\n\r\n\r\nMembers may select to reactivate their member subscription after it has been frozen for payment failure.\r\nOn reactivation this will deduct the money from the member's default member payment card\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n- Vista.Subscriptions\r\n\r\n",
        "operationId": "OcapiMemberSubscription_ReactivateSubscription",
        "parameters": [
          {
            "name": "loyaltySessionToken",
            "in": "header",
            "description": "Current Loyalty session token, represents a 'signed-in' member",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Member subscription reactivated."
          },
          "400": {
            "description": "Member does not have a subscription, or member subscription cannot be reactivated."
          },
          "401": {
            "description": "No member authenticated."
          }
        },
        "deprecated": true
      }
    },
    "/ocapi/v1/members/current/subscriptions/current": {
      "delete": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Cancels the current member subscription for the currently authenticated member",
        "description": "\r\n\r\n\r\nMembers may cancel their member subscription if:\r\n\r\n* Self-cancellation has been enabled in Loyalty;\r\n* The member is on a recurring billing option;\r\n* The member has an active or frozen account status;\r\n* The member has paid for all billing periods before the member subscription ContractedTermEndsAt\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n- Vista.Subscriptions\r\n\r\n",
        "operationId": "OcapiMemberSubscription_CancelSubscription",
        "parameters": [
          {
            "name": "loyaltySessionToken",
            "in": "header",
            "description": "Current Loyalty session token, represents a 'signed-in' member",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Member current subscription cancelled."
          },
          "400": {
            "description": "Member does not have a subscription, or member subscription cannot be cancelled."
          },
          "401": {
            "description": "No member authenticated."
          }
        }
      }
    },
    "/ocapi/v1/members/current/ticket-redemption-cards": {
      "get": {
        "tags": [
          "Ticket Redemption Cards"
        ],
        "summary": "Gets the list of member ticket redemption card base entities for the currently authenticated member",
        "description": "Includes ticket redemption cards which have been shared to the member by their friends.\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiMemberTicketRedemptionCards_GetMemberTicketRedemptionCards",
        "parameters": [
          {
            "name": "loyaltySessionToken",
            "in": "header",
            "description": "Current Loyalty session token, represents a 'signed-in' member",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.TicketRedemptionCards.MemberTicketRedemptionCardsDetails"
                }
              }
            }
          },
          "401": {
            "description": "No member authenticated."
          }
        }
      }
    },
    "/ocapi/v1/members/current/personal-details": {
      "put": {
        "tags": [
          "Members"
        ],
        "summary": "Updates the member personal details of the currently authenticated member",
        "description": "\r\n\r\n\r\nFull personalDetails object from GetMember containing updated values must be sent to this endpoint.\r\nIf field is not provided then it's considered that it must be cleared.\r\n\r\n\r\n\r\n\r\nNote: currently Vista Loyalty doesn't support clearing fields. Also enum fields don't support setting value 0 where it is equivalent of clearing field (e.g. NotSpecified)\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiMemberUpdate_SetMemberPersonalDetails",
        "parameters": [
          {
            "name": "loyaltySessionToken",
            "in": "header",
            "description": "Current Loyalty session token, represents a 'signed-in' member",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Member personal details to update",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.PersonalDetails.MemberPersonalDetails"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.PersonalDetails.MemberPersonalDetails"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.PersonalDetails.MemberPersonalDetails"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.PersonalDetails.MemberPersonalDetails"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Member personal details updated."
          },
          "400": {
            "description": "Request property is invalid or missing."
          },
          "401": {
            "description": "No member authenticated."
          }
        }
      }
    },
    "/ocapi/v1/members/current/credentials/email": {
      "put": {
        "tags": [
          "Credentials"
        ],
        "summary": "Updates the email address of the currently authenticated member",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiMemberUpdate_SetMemberEmail",
        "parameters": [
          {
            "name": "loyaltySessionToken",
            "in": "header",
            "description": "Current Loyalty session token, represents a 'signed-in' member",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Updated email address and logged in member's current password for verification",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Update.MemberEmailUpdate"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Update.MemberEmailUpdate"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Update.MemberEmailUpdate"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Update.MemberEmailUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Member email updated."
          },
          "400": {
            "description": "Request property is invalid or missing, or password validation failed."
          },
          "401": {
            "description": "No member authenticated."
          }
        }
      }
    },
    "/ocapi/v1/members/current/credentials/password": {
      "put": {
        "tags": [
          "Credentials"
        ],
        "summary": "Updates the password of the currently authenticated member",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiMemberUpdate_SetMemberPassword",
        "parameters": [
          {
            "name": "loyaltySessionToken",
            "in": "header",
            "description": "Current Loyalty session token, represents a 'signed-in' member",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Updated password and logged in member's current password for verification",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Update.MemberPasswordUpdate"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Update.MemberPasswordUpdate"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Update.MemberPasswordUpdate"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Update.MemberPasswordUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Member password updated."
          },
          "400": {
            "description": "Request property is invalid or missing, or password validation failed."
          },
          "401": {
            "description": "No member authenticated."
          }
        }
      }
    },
    "/ocapi/v1/members/current/credentials/username": {
      "put": {
        "tags": [
          "Credentials"
        ],
        "summary": "Updates the username of the currently authenticated member",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiMemberUpdate_SetMemberUsername",
        "parameters": [
          {
            "name": "loyaltySessionToken",
            "in": "header",
            "description": "Current Loyalty session token, represents a 'signed-in' member",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Updated username and logged in member's current password for verification",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Update.MemberUsernameUpdate"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Update.MemberUsernameUpdate"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Update.MemberUsernameUpdate"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Update.MemberUsernameUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Member username updated."
          },
          "400": {
            "description": "Request property is invalid or missing, or password validation failed."
          },
          "401": {
            "description": "No member authenticated."
          }
        }
      }
    },
    "/ocapi/v1/members/current/photo": {
      "put": {
        "tags": [
          "Members"
        ],
        "summary": "Updates the member photo of the currently authenticated member",
        "description": "\r\n\r\n\r\nThe photo is uploaded via a form-data key/value pair with type file and the key being \"MemberPhoto\".\r\n\r\n\r\n\r\n\r\nThe Photo file should be uploaded using the HTTP request body type form-data set to File,\r\nwith a Key of MemberPhoto and Value of the photo file to be uploaded.\r\n\r\n\r\n\r\n\r\nSupported photo file formats are: JPEG, BMP, PNG, HEIC, WebP.\r\nFile size limit and photo dimensions are configured in Loyalty.\r\nThe file size limit specifies and upper-bound on file size, while photo dimensions are an exact requirement.\r\n\r\n\r\n\r\n\r\nAn HTTP Bad Request is returned in the following cases:\r\n\r\n- No Loyalty member is currently logged in.\r\n- No photo is uploaded.\r\n- Based on Loyalty configuration, the Loyalty member isn't eligible to update their photo\r\n- The photo file size is too large.\r\n- The photo dimensions don't match the dimensions configured in Loyalty.\r\n- The photo format isn't accepted.\r\n\r\n\r\n\r\n\r\nAn HTTP Bad Gateway is returned if the connection to Loyalty times out.\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n- Vista.Loyalty.MemberPhotos\r\n\r\n",
        "operationId": "OcapiMemberUpdate_SetMemberPhoto",
        "parameters": [
          {
            "name": "loyaltySessionToken",
            "in": "header",
            "description": "Current Loyalty session token, represents a 'signed-in' member",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "ContentType": {
                    "type": "string"
                  },
                  "ContentDisposition": {
                    "type": "string"
                  },
                  "Headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  },
                  "Length": {
                    "type": "integer",
                    "format": "int64"
                  },
                  "Name": {
                    "type": "string"
                  },
                  "FileName": {
                    "type": "string"
                  }
                }
              },
              "encoding": {
                "ContentType": {
                  "style": "form"
                },
                "ContentDisposition": {
                  "style": "form"
                },
                "Headers": {
                  "style": "form"
                },
                "Length": {
                  "style": "form"
                },
                "Name": {
                  "style": "form"
                },
                "FileName": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Photos.CreatedMemberPhoto"
                }
              }
            }
          },
          "400": {
            "description": "Provided photo does not meet configured requirements."
          },
          "401": {
            "description": "No member authenticated."
          }
        }
      }
    },
    "/ocapi/v1/members/email-availability": {
      "post": {
        "tags": [
          "Members"
        ],
        "summary": "Validates whether an email is available for a new member",
        "description": "This endpoint validates email correctly only if the ForceUniqueEmails system setting in Loyalty is set to true.\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiMemberValidateEmail_ValidateEmailAvailability",
        "parameters": [
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Details to validate email availability",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.EmailAvailability.EmailAvailabilityValidation"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.EmailAvailability.EmailAvailabilityValidation"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.EmailAvailability.EmailAvailabilityValidation"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.EmailAvailability.EmailAvailabilityValidation"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.EmailAvailability.EmailAvailability"
                }
              }
            }
          },
          "400": {
            "description": "Request property is invalid or missing."
          }
        }
      }
    },
    "/ocapi/v1/members/current/watched-films": {
      "get": {
        "tags": [
          "Watched Films"
        ],
        "summary": "Gets a list of member watched film entities for the currently authenticated member, and their related data",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiMemberWatchedFilms_GetMemberWatchedFilms",
        "parameters": [
          {
            "name": "year",
            "in": "query",
            "description": "The year of the requested member watched film entities",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "loyaltySessionToken",
            "in": "header",
            "description": "Current Loyalty session token, represents a 'signed-in' member",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.WatchedFilms.MemberWatchedFilmListDetails"
                }
              }
            }
          },
          "400": {
            "description": "Invalid year value, must be a positive value greater than zero."
          },
          "401": {
            "description": "No member authenticated."
          }
        }
      }
    },
    "/ocapi/v1/members/current/watchlist-films": {
      "get": {
        "tags": [
          "Watchlist Films"
        ],
        "summary": "Gets the list of member watchlist film entities for the currently authenticated member, and their related data",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiMemberWatchlistFilms_GetWatchlistFilms",
        "parameters": [
          {
            "name": "loyaltySessionToken",
            "in": "header",
            "description": "Current Loyalty session token, represents a 'signed-in' member",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.WatchlistFilms.MemberWatchlistFilmListDetails"
                }
              }
            }
          },
          "401": {
            "description": "No member authenticated."
          }
        }
      },
      "post": {
        "tags": [
          "Watchlist Films"
        ],
        "summary": "Adds a member watchlist film for the currently authenticated member",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiMemberWatchlistFilms_AddWatchlistFilm",
        "parameters": [
          {
            "name": "loyaltySessionToken",
            "in": "header",
            "description": "Current Loyalty session token, represents a 'signed-in' member",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The details of the film to add to the member's watchlist",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.WatchlistFilms.MemberWatchlistFilmCreate"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.WatchlistFilms.MemberWatchlistFilmCreate"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.WatchlistFilms.MemberWatchlistFilmCreate"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.WatchlistFilms.MemberWatchlistFilmCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Member watchlist film created."
          },
          "400": {
            "description": "Request property is invalid or missing."
          },
          "401": {
            "description": "No member authenticated."
          }
        }
      }
    },
    "/ocapi/v1/members/current/watchlist-films/{filmId}": {
      "delete": {
        "tags": [
          "Watchlist Films"
        ],
        "summary": "Removes a member watchlist film for the currently authenticated member",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiMemberWatchlistFilms_RemoveWatchlistFilm",
        "parameters": [
          {
            "name": "filmId",
            "in": "path",
            "description": "The unique identifier of the film to remove from the member's watchlist",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "loyaltySessionToken",
            "in": "header",
            "description": "Current Loyalty session token, represents a 'signed-in' member",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Member watchlist film removed."
          },
          "401": {
            "description": "No member authenticated."
          }
        }
      }
    },
    "/ocapi/v1/orders/{orderId}/completion": {
      "post": {
        "tags": [
          "Completion"
        ],
        "summary": "Creates an order completion for an in progress order base",
        "description": "\r\n\r\n\r\nAn order completion is automatically created upon completion of a successful order embedded payment\r\nbut must be manually created for zero value orders, unpaid orders or orders paid entirely by order gift card payment payments.\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n- Vista.Ocapi.EmbeddedPayment\r\n\r\n",
        "operationId": "OcapiOrderCompletion_CreateOrderCompletion",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the in progress order base being completed",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/Ocapi.V1.Orders.Completions.OrderCompletion"
                    },
                    {
                      "$ref": "#/components/schemas/Ocapi.V1.Orders.Completions.StandardOrderCompletion"
                    }
                  ],
                  "description": "Represents the completion of an in progress order base"
                }
              }
            }
          },
          "400": {
            "description": "Order cannot be completed."
          },
          "404": {
            "description": "Order does not exist."
          }
        }
      },
      "get": {
        "tags": [
          "Completion"
        ],
        "summary": "Gets the order completion for an in progress order base",
        "description": "\r\n\r\nThis endpoint may be polled to determine when the order completion has been finished.\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n- Vista.Ocapi.EmbeddedPayment\r\n\r\n",
        "operationId": "OcapiOrderCompletion_GetOrderCompletion",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the in progress order base",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/Ocapi.V1.Orders.Completions.OrderCompletion"
                    },
                    {
                      "$ref": "#/components/schemas/Ocapi.V1.Orders.Completions.StandardOrderCompletion"
                    }
                  ],
                  "description": "Represents the completion of an in progress order base"
                }
              }
            }
          },
          "404": {
            "description": "Order does not exist, or completion has not been created."
          }
        }
      }
    },
    "/ocapi/v1/orders/{orderId}/customer": {
      "put": {
        "tags": [
          "Orders"
        ],
        "summary": "Sets the customer for an in progress standard order or in progress gift shop order",
        "description": "\r\n\r\n\r\nThis endpoint is not available for in progress subscription order entities, as the order customer is\r\nautomatically set based on the details of the authenticated member\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiOrderCustomer_SetCustomer",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the in progress standard order or in progress gift shop order being modified",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The customer's details",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Customers.Requests.OrderCustomerUpdate"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Customers.Requests.OrderCustomerUpdate"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Customers.Requests.OrderCustomerUpdate"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Customers.Requests.OrderCustomerUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Order customer updated."
          },
          "400": {
            "description": "Request property is invalid or missing, or customer cannot be set."
          },
          "404": {
            "description": "Order does not exist."
          }
        }
      },
      "get": {
        "tags": [
          "Orders"
        ],
        "summary": "Gets the customer set on an in progress order base",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiOrderCustomer_GetCustomer",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the in progress order base",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Customers.OrderCustomer"
                }
              }
            }
          },
          "404": {
            "description": "Order does not exist, or customer has not been set."
          }
        }
      }
    },
    "/ocapi/v1/orders/{orderId}/items": {
      "put": {
        "tags": [
          "Items"
        ],
        "summary": "Sets the items for an in progress standard order or in progress gift shop order",
        "description": "\r\n\r\nExisting items on the order will be replaced with the specified selections.\r\n\r\n\r\nNote: Items with attached scarcity such as items with *selling limits* currently may fail on repeated PUT as this API is currently not fully atomic.\r\n\r\n\r\nIf the order contains showtimes (see standard order Showtimes), item availability will be based on the earliest showtime.\r\n\r\n\r\n\r\nIf the order has a parent order (see standard order ParentOrderId), item availability will be based on the the start time of the earliest showtime of the parent order.\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiOrderItems_SetItems",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the in progress standard order or in progress gift shop order being modified",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The requested items",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Requests.OrderItemsRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Requests.OrderItemsRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Requests.OrderItemsRequest"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Requests.OrderItemsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Order items",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.InProgressOrders.IInProgressOrderDetailsBaseGeneric-Ocapi.V1.Orders.InProgressOrders.IInProgressOrderBase"
                }
              }
            }
          },
          "400": {
            "description": "Request property is invalid or missing, or invalid order type."
          },
          "404": {
            "description": "Order does not exist."
          }
        }
      }
    },
    "/ocapi/v1/orders/{orderId}/payments/{paymentId}": {
      "delete": {
        "tags": [
          "Orders",
          "Payments"
        ],
        "summary": "Removes an order payment base from an in progress order base",
        "description": "\r\n\r\n\r\nOnly order gift card payment and order member balance payment entities can be removed at this time.\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiOrderPayments_RemovePayment",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the in progress order base that the payment will be removed from",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "paymentId",
            "in": "path",
            "description": "The unique identifier of the order payment base to be removed",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Payment removed."
          },
          "400": {
            "description": "Payment cannot be removed."
          }
        }
      }
    },
    "/ocapi/v1/orders/{orderId}/payments/embedded": {
      "post": {
        "tags": [
          "Payments"
        ],
        "summary": "Creates a order embedded payment",
        "description": "\r\n\r\nInitiates an order embedded payment with the connector so that the client can render a UI based on the returned order embedded payment client data\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n- Vista.Ocapi.EmbeddedPayment\r\n\r\n",
        "operationId": "OcapiOrderPayments_CreateEmbeddedPayment",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the current in progress order base for which the payment is starting",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Values needed to start the embedded payment",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.Embedded.OrderEmbeddedPaymentCreate"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.Embedded.OrderEmbeddedPaymentCreate"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.Embedded.OrderEmbeddedPaymentCreate"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.Embedded.OrderEmbeddedPaymentCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.Embedded.CreatedOrderEmbeddedPayment"
                }
              }
            }
          },
          "400": {
            "description": "Request property is invalid or missing, or payment method does not exist."
          },
          "404": {
            "description": "Order does not exist."
          }
        }
      }
    },
    "/ocapi/v1/orders/{orderId}/payments/embedded/current": {
      "get": {
        "tags": [
          "Payments"
        ],
        "summary": "Gets the current order embedded payment for the order",
        "description": "\r\n\r\n\r\nThe payment considered current is the most recently created order embedded payment for the order.\r\n\r\n\r\n\r\n\r\nThis endpoint may be polled to determine the status of the payment after embedded payment process has completed on client.\r\nThis is required currently due to limitations in the current Web Payment Module payment process around returning payment status\r\nas part of the UI interaction requiring the client to make this extra call before leaving the payment UI.\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n- Vista.Ocapi.EmbeddedPayment\r\n\r\n",
        "operationId": "OcapiOrderPayments_GetCurrentEmbeddedPayment",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the in progress order base",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.Embedded.OrderEmbeddedPayment"
                }
              }
            }
          },
          "404": {
            "description": "Order does not exist, or embedded payment has not been created."
          }
        }
      }
    },
    "/ocapi/v1/orders/{orderId}/payments/gift-cards": {
      "post": {
        "tags": [
          "Gift Cards"
        ],
        "summary": "Adds a gift card payment to the order",
        "description": "Payment details are stored against order and processed when order is complete.\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiOrderPayments_AddGiftCardPayment",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the in progress order base that the payment will be added to",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The gift card payment request",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.GiftCards.OrderGiftCardPaymentCreate"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.GiftCards.OrderGiftCardPaymentCreate"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.GiftCards.OrderGiftCardPaymentCreate"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.GiftCards.OrderGiftCardPaymentCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.GiftCards.OrderGiftCardPayment"
                }
              }
            }
          },
          "400": {
            "description": "Request property is invalid or missing, or gift card cannot be added."
          },
          "404": {
            "description": "Order does not exist."
          },
          "429": {
            "description": "Too many requests. Try again later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Errors.RateLimitExceededError"
                }
              }
            }
          }
        }
      }
    },
    "/ocapi/v1/orders/{orderId}/payments/redirect": {
      "post": {
        "tags": [
          "Payments"
        ],
        "summary": "Creates an order redirect payment",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiOrderPayments_CreateRedirectPayment",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the in progress order base that the payment is for",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Values needed to start the redirect payment",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.Redirect.OrderRedirectPaymentCreate"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.Redirect.OrderRedirectPaymentCreate"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.Redirect.OrderRedirectPaymentCreate"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.Redirect.OrderRedirectPaymentCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.Redirect.CreatedOrderRedirectPayment"
                }
              }
            }
          },
          "400": {
            "description": "Request property is invalid or missing, or payment method does not exist."
          },
          "404": {
            "description": "Order does not exist."
          }
        }
      }
    },
    "/ocapi/v1/orders/{orderId}/payments/redirect/current": {
      "get": {
        "tags": [
          "Payments"
        ],
        "summary": "Gets the current order redirect payment for the order",
        "description": "\r\n\r\n\r\nThe payment considered current is the most recently created order redirect payment for the order.\r\n\r\n\r\n\r\n\r\nThis endpoint may be polled to determine the status of the payment after the redirect payment process has completed on the client.\r\nThis is required currently due to limitations in the current Web Payment Module payment process around returning payment status\r\nas part of the UI interaction requiring the client to make this extra call before leaving the payment UI.\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiOrderPayments_GetCurrentRedirectPayment",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the in progress order base",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.Redirect.OrderRedirectPayment"
                }
              }
            }
          },
          "404": {
            "description": "Order does not exist, or redirect payment has not been created."
          }
        }
      }
    },
    "/ocapi/v1/orders/{orderId}/payments/maximum-member-balance": {
      "get": {
        "tags": [
          "Members"
        ],
        "summary": "Gets the order maximum member balance payment for an in progress order base",
        "description": "\r\n\r\nThe currently authenticated member must have a member card and a supported balance type in order to make a member balance payment.\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiOrderPayments_GetMaximumMemberBalancePayment",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the in progress order base that the payment is for",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "loyaltySessionToken",
            "in": "header",
            "description": "Current Loyalty session token, represents a 'signed-in' member",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.MemberBalance.Maximum.OrderMaximumMemberBalancePaymentDetails"
                }
              }
            }
          },
          "204": {
            "description": "Member has no card, or does not have a supported balance type."
          },
          "401": {
            "description": "No member signed in."
          },
          "404": {
            "description": "Order does not exist."
          }
        }
      }
    },
    "/ocapi/v1/orders/{orderId}/payments/member-balance": {
      "put": {
        "tags": [
          "Members"
        ],
        "summary": "Sets the order member balance payment for an in progress order base",
        "description": "\r\n\r\nThe currently authenticated member must have a member card and a supported balance type in order to make a member balance payment.\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiOrderPayments_SetMemberBalancePayment",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the in progress order base that the payment is for",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "loyaltySessionToken",
            "in": "header",
            "description": "Current Loyalty session token, represents a 'signed-in' member",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The member balance payment request",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.MemberBalance.OrderMemberBalancePaymentUpdate"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.MemberBalance.OrderMemberBalancePaymentUpdate"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.MemberBalance.OrderMemberBalancePaymentUpdate"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.MemberBalance.OrderMemberBalancePaymentUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.MemberBalance.OrderMemberBalancePayment"
                }
              }
            }
          },
          "400": {
            "description": "Member has no card, or a non-positive value was specified."
          },
          "401": {
            "description": "No member signed in."
          }
        }
      }
    },
    "/ocapi/v1/orders/standard/booking": {
      "post": {
        "tags": [
          "Orders"
        ],
        "summary": "Creates an in progress standard order as a booking",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiOrders_CreateStandardOrderAsBooking",
        "parameters": [
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Details of the order to be created",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Requests.StandardOrderAsBookingCreate"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Requests.StandardOrderAsBookingCreate"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Requests.StandardOrderAsBookingCreate"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Requests.StandardOrderAsBookingCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.InProgressOrders.InProgressStandardOrderDetails"
                }
              }
            }
          },
          "400": {
            "description": "Site does not exist."
          }
        }
      }
    },
    "/ocapi/v1/orders/subscription": {
      "post": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Creates an in progress subscription order",
        "description": "\r\n\r\n\r\nIf no subscription order action is provided, the subscription order Action will be defaulted to subscription order action Purchase\r\n\r\n\r\n\r\n\r\nOrders with the subscription order action Reactivate action will be created with the subscription order Subscription automatically set to the reactivation billing option.\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n- Vista.Subscriptions\r\n\r\n",
        "operationId": "OcapiOrders_CreateSubscriptionOrder",
        "parameters": [
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Details of the subscription order to be created",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Requests.SubscriptionOrderCreate"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Requests.SubscriptionOrderCreate"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Requests.SubscriptionOrderCreate"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Requests.SubscriptionOrderCreate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.InProgressOrders.InProgressSubscriptionOrderDetails"
                }
              }
            }
          },
          "400": {
            "description": "Gift shop does not exist."
          }
        }
      }
    },
    "/ocapi/v1/orders/gift-shop": {
      "post": {
        "tags": [
          "Gift shop"
        ],
        "summary": "Creates an in progress gift shop order",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiOrders_CreateGiftShopOrder",
        "parameters": [
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.InProgressOrders.InProgressGiftShopOrderDetails"
                }
              }
            }
          },
          "400": {
            "description": "Gift shop does not exist."
          }
        }
      }
    },
    "/ocapi/v1/orders/{orderId}": {
      "get": {
        "tags": [
          "Orders"
        ],
        "summary": "Gets the details of a in progress order base",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiOrders_GetOrder",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the in progress order base being retrieved",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.InProgressOrders.IInProgressOrderDetailsBaseGeneric-Ocapi.V1.Orders.InProgressOrders.IInProgressOrderBase"
                }
              }
            }
          },
          "404": {
            "description": "Order does not exist."
          }
        }
      },
      "delete": {
        "tags": [
          "Orders"
        ],
        "summary": "Cancels an in progress order base",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiOrders_CancelOrder",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the in progress order base being cancelled",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Order cancelled."
          }
        }
      }
    },
    "/ocapi/v1/orders/{orderId}/expiry/reset": {
      "post": {
        "tags": [
          "Orders"
        ],
        "summary": "Resets the expiry of an in progress order base",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiOrders_ResetOrderExpiry",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the in progress order base being reset",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.InProgressOrders.IInProgressOrderDetailsBaseGeneric-Ocapi.V1.Orders.InProgressOrders.IInProgressOrderBase"
                }
              }
            }
          },
          "404": {
            "description": "Order does not exist."
          }
        }
      }
    },
    "/ocapi/v1/orders/{orderId}/showtimes/{showtimeId}": {
      "put": {
        "tags": [
          "Showtimes"
        ],
        "summary": "Sets the requested tickets and/or seats for an order showtime within an in progress standard order",
        "description": "This endpoint cannot be used for orders that have a parent order (see standard order ParentOrderId)\r\n\r\n#### Specifying Tickets without Seats (Ticket-first Ordering)\r\n\r\n- If session seat allocation is marked as *None*: Tickets will be booked without specific seats\r\n- If session seat allocation is marked as *Manual*: Tickets will be booked. Seats will be auto-allocated if possible.\r\n- If session seat allocation is marked as *Auto*: Tickets will be booked. Seats will be auto-allocated if possible.\r\n\r\n#### Specifying Seats (Ticket-first and seat-first Ordering)\r\n\r\n- If session seat allocation is marked as *None*: Specifying seats is invalid - a 400 will be returned.\r\n- If session seat allocation is marked as *Manual*: Specified seats will be reserved if possible - otherwise a *SeatsUnavailable* error will be returned.\r\n- If session seat allocation is marked as *Auto*: Specified seats will be reserved if possible - otherwise a *SeatsUnavailable* error will be returned.\r\n\r\n#### Auto-Allocation\r\n\r\n- The system may attempt to auto-allocate seats if specific seats are not supplied, depending on system configuration.\r\n- The auto-allocation system is not guaranteed to allocate seats. Auto-allocation may fail if seats cannot be allocated contiguously.\r\n- When allocation fails the client must render a seat plan and the seats must be manually specified.\r\n- It is recommended the client render the seat plan regardless to provide the opportunity for the customer to modify the auto-allocated selections.\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiOrderShowtimes_SetShowtime",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the in progress standard order being modified",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "showtimeId",
            "in": "path",
            "description": "The unique identifier of the order showtime being modified",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The requested tickets and/or seats",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Showtimes.Requests.OrderShowtimeRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Showtimes.Requests.OrderShowtimeRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Showtimes.Requests.OrderShowtimeRequest"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Showtimes.Requests.OrderShowtimeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.InProgressOrders.InProgressStandardOrderDetails"
                }
              }
            }
          },
          "400": {
            "description": "Request property is invalid or missing, or invalid order type."
          },
          "404": {
            "description": "Order or showtime does not exist."
          }
        }
      }
    },
    "/ocapi/v1/orders/{orderId}/subscription": {
      "put": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Sets the subscription for an in progress subscription order",
        "description": "\r\n\r\n\r\nThis endpoint cannot be used for an in progress subscription order with\r\nsubscription order Action equal to subscription order action Reactivate\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n- Vista.Subscriptions\r\n\r\n",
        "operationId": "OcapiOrderSubscriptions_SetSubscriptionForOrder",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the in progress subscription order being modified",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "loyaltySessionToken",
            "in": "header",
            "description": "Current Loyalty session token, represents a 'signed-in' member",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The requested subscription",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Subscriptions.Requests.OrderSubscriptionRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Subscriptions.Requests.OrderSubscriptionRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Subscriptions.Requests.OrderSubscriptionRequest"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Subscriptions.Requests.OrderSubscriptionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.InProgressOrders.InProgressSubscriptionOrderDetails"
                }
              }
            }
          },
          "400": {
            "description": "Request property is invalid or missing, or invalid order type."
          },
          "401": {
            "description": "No member authenticated."
          },
          "404": {
            "description": "Order does not exist."
          }
        }
      }
    },
    "/ocapi/v1/orders/{orderId}/ticket-redemption-cards": {
      "post": {
        "tags": [
          "Ticket Redemption Cards"
        ],
        "summary": "Adds a ticket redemption card to an in progress standard order",
        "description": "\r\n\r\n\r\nThis endpoint validates the provided third party member card credentials or member ticket redemption card base\r\nand stores a successfully validated card against the order for later use.\r\n\r\n\r\n\r\n\r\nFor third party member card entities belonging to a third party member scheme that supports partial approvals,\r\nan arbitrarily large number of tickets will be requested to determine how many redemptions are actually available.\r\n\r\n\r\n\r\n\r\nFor third party member card entities belonging to a third party member scheme that does not support partial approvals,\r\nthe number of tickets requested will depend on a preconfigured quantity per showtime, or only one ticket if no quantity has been configured.\r\n\r\n\r\n\r\nThis endpoint cannot be used for orders that have a parent order (see standard order ParentOrderId)\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiOrderTicketRedemptionCards_AddTicketRedemptionCard",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the in progress standard order being modified",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "loyaltySessionToken",
            "in": "header",
            "description": "Current Loyalty session token, represents a 'signed-in' member",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The details of the ticket redemption card to be added",
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/Ocapi.V1.Orders.TicketRedemptionCards.Requests.OrderMemberTicketRedemptionCardRequest"
                  },
                  {
                    "$ref": "#/components/schemas/Ocapi.V1.Orders.TicketRedemptionCards.Requests.OrderThirdPartyMemberCardRequest"
                  }
                ],
                "description": "Represents the information required to add an order ticket redemption card base to an in progress standard order"
              }
            },
            "text/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/Ocapi.V1.Orders.TicketRedemptionCards.Requests.OrderMemberTicketRedemptionCardRequest"
                  },
                  {
                    "$ref": "#/components/schemas/Ocapi.V1.Orders.TicketRedemptionCards.Requests.OrderThirdPartyMemberCardRequest"
                  }
                ],
                "description": "Represents the information required to add an order ticket redemption card base to an in progress standard order"
              }
            },
            "application/*+json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/Ocapi.V1.Orders.TicketRedemptionCards.Requests.OrderMemberTicketRedemptionCardRequest"
                  },
                  {
                    "$ref": "#/components/schemas/Ocapi.V1.Orders.TicketRedemptionCards.Requests.OrderThirdPartyMemberCardRequest"
                  }
                ],
                "description": "Represents the information required to add an order ticket redemption card base to an in progress standard order"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/Ocapi.V1.Orders.TicketRedemptionCards.Requests.OrderMemberTicketRedemptionCardRequest"
                  },
                  {
                    "$ref": "#/components/schemas/Ocapi.V1.Orders.TicketRedemptionCards.Requests.OrderThirdPartyMemberCardRequest"
                  }
                ],
                "description": "Represents the information required to add an order ticket redemption card base to an in progress standard order"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.TicketRedemptionCards.OrderTicketRedemptionCardDetails"
                }
              }
            }
          },
          "400": {
            "description": "Request property is invalid or missing, or invalid order type/card."
          },
          "401": {
            "description": "No member authenticated."
          },
          "404": {
            "description": "Order does not exist."
          }
        }
      }
    },
    "/ocapi/v1/orders/{orderId}/vouchers/{voucherId}": {
      "delete": {
        "tags": [
          "Vouchers"
        ],
        "summary": "Removes a voucher from an in progress order base",
        "description": "\r\n\r\n\r\nIf the voucher is not a deal voucher, all usages of the voucher on the order must be cancelled before the\r\nvoucher can be removed.\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiOrderVouchers_RemoveVoucher",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the in progress order base being modified",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "voucherId",
            "in": "path",
            "description": "The unique identifier of the order voucher being removed",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Voucher removed."
          },
          "400": {
            "description": "Voucher cannot be removed."
          }
        }
      }
    },
    "/ocapi/v1/orders/{orderId}/vouchers": {
      "post": {
        "tags": [
          "Vouchers"
        ],
        "summary": "Adds a voucher to an in progress order base",
        "description": "\r\n\r\nThis endpoint validates the provided voucher credentials and stores a successfully validated voucher against the order for later use.\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiOrderVouchers_AddVoucher",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the in progress order base being modified",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The details of the voucher to be added to the in progress order base",
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/Ocapi.V1.Orders.Vouchers.Requests.OrderDealVoucherRequest"
                  },
                  {
                    "$ref": "#/components/schemas/Ocapi.V1.Orders.Vouchers.Requests.OrderSubscriptionVoucherRequest"
                  },
                  {
                    "$ref": "#/components/schemas/Ocapi.V1.Orders.Vouchers.Requests.OrderTicketVoucherRequest"
                  }
                ],
                "description": "Represents the information required to add an order voucher to an in progress order base"
              }
            },
            "text/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/Ocapi.V1.Orders.Vouchers.Requests.OrderDealVoucherRequest"
                  },
                  {
                    "$ref": "#/components/schemas/Ocapi.V1.Orders.Vouchers.Requests.OrderSubscriptionVoucherRequest"
                  },
                  {
                    "$ref": "#/components/schemas/Ocapi.V1.Orders.Vouchers.Requests.OrderTicketVoucherRequest"
                  }
                ],
                "description": "Represents the information required to add an order voucher to an in progress order base"
              }
            },
            "application/*+json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/Ocapi.V1.Orders.Vouchers.Requests.OrderDealVoucherRequest"
                  },
                  {
                    "$ref": "#/components/schemas/Ocapi.V1.Orders.Vouchers.Requests.OrderSubscriptionVoucherRequest"
                  },
                  {
                    "$ref": "#/components/schemas/Ocapi.V1.Orders.Vouchers.Requests.OrderTicketVoucherRequest"
                  }
                ],
                "description": "Represents the information required to add an order voucher to an in progress order base"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/Ocapi.V1.Orders.Vouchers.Requests.OrderDealVoucherRequest"
                  },
                  {
                    "$ref": "#/components/schemas/Ocapi.V1.Orders.Vouchers.Requests.OrderSubscriptionVoucherRequest"
                  },
                  {
                    "$ref": "#/components/schemas/Ocapi.V1.Orders.Vouchers.Requests.OrderTicketVoucherRequest"
                  }
                ],
                "description": "Represents the information required to add an order voucher to an in progress order base"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Vouchers.OrderVoucherDetails"
                }
              }
            }
          },
          "400": {
            "description": "Request property is invalid or missing, or invalid order type/voucher."
          },
          "404": {
            "description": "Order does not exist."
          },
          "429": {
            "description": "Too many requests. Try again later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Errors.RateLimitExceededError"
                }
              }
            }
          }
        }
      }
    },
    "/ocapi/v1/orders/completed/{orderId}/refunds/full": {
      "post": {
        "tags": [
          "Refunds"
        ],
        "summary": "Creates a full refund for a refundable completed order base",
        "description": "\r\n\r\n\r\nThis endpoint can only be used for completed standard order entities.\r\n\r\n\r\n\r\n\r\nA refundable completed order base can only be fully refunded when order refund availability AvailableMethods\r\nincludes order refund method Full\r\n\r\n\r\n\r\n\r\nBooking fees may or may not be refunded, as indicated by order refund availability IsBookingFeeRefundable\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiRefunds_CreateFullOrderRefund",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the refundable completed order base",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The properties required to create the full refund",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Refunds.Requests.OrderFullRefundCreate"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Refunds.Requests.OrderFullRefundCreate"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Refunds.Requests.OrderFullRefundCreate"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Refunds.Requests.OrderFullRefundCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.CompletedOrders.CompletedStandardOrder"
                }
              }
            }
          },
          "400": {
            "description": "Order cannot be fully refunded."
          },
          "404": {
            "description": "Order does not exist."
          }
        }
      }
    },
    "/ocapi/v1/showtimes/{showtimeId}/seat-availability": {
      "get": {
        "tags": [
          "Seating"
        ],
        "summary": "Gets the seat availability for a showtime",
        "description": "\r\n\r\n\r\nThe response is output cached for a maximum duration depending on preview.\r\n\r\n\r\n\r\n\r\nIf the underlying showtime is unallocated, showtime seat availability SeatAvailabilities\r\nwill be set to an empty seat availability[]\r\n\r\n\r\n\r\n\r\n#### Bad request response\r\nSeat availability for showtime response returns *400* status when seat allocation for the showtime is disabled.\r\nWhen there are seats for a showtime that are sold out or the showtime is marked as sold out at Cinema,\r\nseat availability for showtime returns a *200* response with `sold` status for all seats.\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiSeatAvailability_GetSeatAvailabilityForShowtime",
        "parameters": [
          {
            "name": "showtimeId",
            "in": "path",
            "description": "The unique identifier of the showtime",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "preview",
            "in": "query",
            "description": "Indicates whether the seat availability is being shown in a preview context, i.e. can be slightly outdated",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Seating.Availability.ShowtimeSeatAvailability"
                }
              }
            }
          },
          "404": {
            "description": "Showtime does not exist."
          }
        }
      }
    },
    "/ocapi/v1/orders/{orderId}/showtimes/{showtimeId}/seat-availability": {
      "get": {
        "tags": [
          "Seating"
        ],
        "summary": "Gets the seat availability for a showtime in the context of a standard order",
        "description": "\r\n\r\n\r\nUsing this endpoint over [GetSeatAvailabilityForShowtime](/openapi/digital-platform/openapi/seating/ocapiseatavailability_getseatavailabilityforshowtime) enables order-specific seat availability\r\ninformation and the pre-blocking of social distance seats.\r\n\r\n\r\n\r\n\r\nIf the underlying showtime is unallocated, showtime seat availability SeatAvailabilities\r\nwill be set to an empty seat availability[]\r\n\r\n\r\n\r\n\r\nThis endpoint cannot be used for orders that do not support ticket selection.\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiSeatAvailability_GetSeatAvailabilityForOrder",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the standard order",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "showtimeId",
            "in": "path",
            "description": "The unique identifier of the showtime",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Seating.Availability.ShowtimeSeatAvailability"
                }
              }
            }
          },
          "400": {
            "description": "Requested order does not support ticket selection"
          },
          "404": {
            "description": "Order or showtime does not exist."
          }
        }
      }
    },
    "/ocapi/v1/seat-layouts/{seatLayoutId}": {
      "get": {
        "tags": [
          "Seating"
        ],
        "summary": "Gets a seat layout by its unique identifier",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiSeatLayout_GetSeatLayout",
        "parameters": [
          {
            "name": "seatLayoutId",
            "in": "path",
            "description": "The unique identifier of the seat layout",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Seating.MasterData.SeatLayoutDetails"
                }
              }
            }
          },
          "404": {
            "description": "Seat layout does not exist."
          }
        }
      }
    },
    "/ocapi/v1/showtimes/{showtimeId}/seat-layout": {
      "get": {
        "tags": [
          "Seating"
        ],
        "summary": "Gets the seat layout for a showtime",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiSeatLayout_GetSeatLayoutForShowtime",
        "parameters": [
          {
            "name": "showtimeId",
            "in": "path",
            "description": "The unique identifier of the showtime",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Seating.MasterData.SeatLayoutDetails"
                }
              }
            }
          },
          "404": {
            "description": "Showtime does not exist."
          }
        },
        "deprecated": true
      }
    },
    "/ocapi/v1/showtimes/availability": {
      "get": {
        "tags": [
          "Browsing",
          "Showtimes"
        ],
        "summary": "Gets the current list of showtime availability entities",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiShowtimeAvailability_GetShowtimeAvailabilities",
        "parameters": [
          {
            "name": "siteIds",
            "in": "query",
            "description": "Site filter",
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filmIds",
            "in": "query",
            "description": "Film filter",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Seating.Availability.ShowtimeAvailabilityListDetails"
                }
              }
            }
          },
          "400": {
            "description": "One or more of the provided sites or films do not exist."
          }
        }
      }
    },
    "/ocapi/v1/showtimes/{showtimeId}/availability": {
      "get": {
        "tags": [
          "Browsing",
          "Showtimes"
        ],
        "summary": "Gets the current showtime availability of a particular showtime",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiShowtimeAvailability_GetShowtimeAvailability",
        "parameters": [
          {
            "name": "showtimeId",
            "in": "path",
            "description": "The unique identifier of the showtime",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Seating.Availability.ShowtimeAvailabilityDetails"
                }
              }
            }
          },
          "404": {
            "description": "Showtime does not exist."
          }
        }
      }
    },
    "/ocapi/v1/showtimes/by-business-date/first": {
      "get": {
        "tags": [
          "Showtimes"
        ],
        "summary": "Gets a list of showtime entities for the first business date with showtimes",
        "description": "\r\n\r\nUseful when filtering by site or film where showtimes may only be in the future.\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiShowtimes_GetShowtimesForFirstBusinessDate",
        "parameters": [
          {
            "name": "siteIds",
            "in": "query",
            "description": "Site filter",
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filmIds",
            "in": "query",
            "description": "Film filter",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Showtimes.ShowtimeBusinessDayListDetails"
                }
              }
            }
          },
          "204": {
            "description": "No showtimes scheduled."
          }
        }
      }
    },
    "/ocapi/v1/showtimes/by-business-date/{businessDate}": {
      "get": {
        "tags": [
          "Showtimes"
        ],
        "summary": "Gets a list of showtime entities for a business date",
        "description": "\r\n\r\nReturns an empty list of showtime entities if no showtimes are scheduled.\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiShowtimes_GetShowtimesForBusinessDate",
        "parameters": [
          {
            "name": "businessDate",
            "in": "path",
            "description": "Date of requested showtimes in 'yyyy-MM-dd' format",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "siteIds",
            "in": "query",
            "description": "Site filter",
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filmIds",
            "in": "query",
            "description": "Film filter",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Showtimes.ShowtimeBusinessDayListDetails"
                }
              }
            }
          },
          "400": {
            "description": "One or more of the provided sites or films do not exist."
          }
        }
      }
    },
    "/ocapi/v1/showtimes/by-screen/{screenId}": {
      "get": {
        "tags": [
          "Showtimes"
        ],
        "summary": "Gets a list of showtime entities for today and tomorrow for a screen",
        "description": "\r\n\r\n\r\nThis endpoint is currently used to find an in-progress or imminent showtime given a screen ID, which can\r\nthen be used as the showtime context for an in-seat delivery order.\r\n\r\n\r\n\r\n\r\nshowtime entities for the 48 hours from the beginning (i.e. 00:00) of today's calendar date\r\nup to the end of the next calendar day are returned. This is to cater for the scenario where this endpoint\r\nis called close to the end of the day, such that the next day's showtimes are needed as well.\r\n\r\n\r\n\r\n\r\nshowtime entities that started on the previous calendar date, but finish on today's calendar date are included.\r\n\r\n\r\n\r\n\r\nshowtime entities that do not support or are not yet available for in-seat delivery are\r\nstill included so that this can be communicated to patrons.\r\n\r\n\r\n\r\n\r\nUnlike endpoints based on business date, the cutoff for each calendar day is always midnight.\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiShowtimes_GetShowtimesForScreen",
        "parameters": [
          {
            "name": "screenId",
            "in": "path",
            "description": "The unique identifier of the screen",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Showtimes.ShowtimeBusinessDayListDetails"
                    },
                    {
                      "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Showtimes.ShowtimeListDetails"
                    }
                  ],
                  "description": "Represents a list of showtime entities, and their related data"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/ocapi/v1/showtimes/{showtimeId}": {
      "get": {
        "tags": [
          "Showtimes"
        ],
        "summary": "Gets a showtime by its unique identifier",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiShowtimes_GetShowtime",
        "parameters": [
          {
            "name": "showtimeId",
            "in": "path",
            "description": "The unique identifier of the showtime",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Showtimes.ShowtimeDetails"
                }
              }
            }
          },
          "404": {
            "description": "Showtime does not exist."
          }
        }
      }
    },
    "/ocapi/v1/sites": {
      "get": {
        "tags": [
          "Sites"
        ],
        "summary": "Gets a detailed site list details including related data",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiSites_GetSites",
        "parameters": [
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Sites.SiteListDetails"
                }
              }
            }
          }
        }
      }
    },
    "/ocapi/v1/sites/{siteId}": {
      "get": {
        "tags": [
          "Sites"
        ],
        "summary": "Gets a Site",
        "description": "\r\n\r\n\r\nReturns a detailed site and its related data based on the provided siteId.\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiSites_GetSite",
        "parameters": [
          {
            "name": "siteId",
            "in": "path",
            "description": "The unique identifier of site",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Sites.SiteDetails"
                }
              }
            }
          },
          "404": {
            "description": "Site does not exist."
          }
        }
      }
    },
    "/ocapi/v1/sites/for-film/{filmId}": {
      "get": {
        "tags": [
          "Sites"
        ],
        "summary": "Gets a detailed site list details for a film",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiSites_GetSitesForFilm",
        "parameters": [
          {
            "name": "filmId",
            "in": "path",
            "description": "The unique identifier of the film",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Sites.SiteListDetails"
                }
              }
            }
          },
          "404": {
            "description": "Film does not exist."
          }
        }
      }
    },
    "/ocapi/v1/subscription-billing-options": {
      "get": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Gets a list of subscription billing options and related data from active subscriptions",
        "description": "Billing options of inactive subscriptions are not returned, as they can not be purchased.\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n- Vista.Subscriptions\r\n\r\n",
        "operationId": "OcapiSubscriptionBillingOptions_GetSubscriptionBillingOptions",
        "parameters": [
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.SubscriptionBillingOptions.SubscriptionBillingOptionListDetails"
                }
              }
            }
          }
        }
      }
    },
    "/ocapi/v1/orders/completed/{orderId}/survey": {
      "get": {
        "tags": [
          "Completed Orders",
          "Surveys"
        ],
        "summary": "Gets the survey for a completed standard order",
        "description": "\r\n\r\nOnly standard orders with a single showtime are applicable for a survey.\r\n\r\n\r\nA survey that has been completed will return a `200` response, where survey IsCompleted equals true.\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Surveys\r\n\r\n",
        "operationId": "OcapiSurveys_GetOrderSurvey",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the completed standard order",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Surveys.SurveyDetails"
                }
              }
            }
          },
          "400": {
            "description": "Surveys are not enabled or not applicable for this order."
          },
          "404": {
            "description": "Order does not exist, or the survey is not yet available or has expired."
          }
        }
      }
    },
    "/ocapi/v1/orders/completed/{orderId}/survey/responses": {
      "put": {
        "tags": [
          "Completed Orders",
          "Surveys"
        ],
        "summary": "Updates the survey responses for completed standard order",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Surveys\r\n\r\n",
        "operationId": "OcapiSurveys_SetOrderSurveyResponses",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the completed standard order",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The survey responses to be updated",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Surveys.Requests.SurveyResponsesUpdate"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Surveys.Requests.SurveyResponsesUpdate"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Surveys.Requests.SurveyResponsesUpdate"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Surveys.Requests.SurveyResponsesUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Survey responses updated."
          },
          "400": {
            "description": "Survey is expired or already completed, or one or more question responses are missing or invalid."
          },
          "404": {
            "description": "Order or survey does not exist."
          }
        }
      }
    },
    "/ocapi/v1/sites/{siteId}/third-party-member-schemes": {
      "get": {
        "tags": [
          "Third-Party Member Schemes",
          "Sites"
        ],
        "summary": "Gets the list of third party member scheme entities for a specified site",
        "description": "\r\n\r\nThis endpoint excludes any third-party member schemes that are validated against Vista Loyalty.\r\n\r\n\r\nLoyalty schemes are handled as \"member reward tickets with an availability restriction\" via the [GetMemberRewardAvailabilitiesForShowtime](/openapi/digital-platform/openapi/members/ocapimemberrewards_getmemberrewardavailabilitiesforshowtime) endpoint.\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiThirdPartyMemberSchemes_GetThirdPartyMemberSchemesForSite",
        "parameters": [
          {
            "name": "siteId",
            "in": "path",
            "description": "The unique identifier of the site",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.ThirdPartyMemberTicketSchemes.ThirdPartyMemberSchemeListDetails"
                }
              }
            }
          },
          "404": {
            "description": "Site does not exist."
          }
        }
      }
    },
    "/ocapi/v1/showtimes/{showtimeId}/ticket-prices": {
      "get": {
        "tags": [
          "Ticket Prices"
        ],
        "summary": "Gets a list of tickets prices for a specified showtime",
        "description": "\r\n\r\n\r\nReturns a list of ticket price entities for a showtime with related data.\r\n\r\n\r\n\r\n\r\n### Restrictions\r\n\r\nSome ticket prices have restrictions that limit their availability. These restrictions are returned in the `restrictions` property.\r\nIf a restriction is returned that a client does not understand, the price must be hidden until the client has implemented handling for said requirement.\r\n\r\nCurrent ticket price restrictions include:\r\n\r\n* `Member` - A Loyalty membership is required.\r\n* `MemberReward` - Redemption of member reward with the specified `RewardId` is required.\r\n* `MemberSubscriptionCard` - A subscription for the specified `ThirdPartyMemberSchemeId` is required.\r\n* `ThirdPartyMemberCard` - A third-party membership card belonging to the specified `ThirdPartyMemberSchemeId` is required.\r\n* `Voucher` - Redemption of a voucher, valid for the ticket type, is required.\r\n* `Discount` - Redemption of discount with the specified `DiscountId` is required.\r\n\r\n\r\n\r\n\r\n### Loyalty-based third-party member schemes\r\n\r\nTicket prices for Loyalty-based non-subscription third party member schemes will be returned twice:\r\n\r\n* Once with a `ThirdPartyMemberCard` restriction intended for legacy clients adding these tickets via `AddTicketRedemptionCard`.\r\n* Once with a `MemberReward` restriction intended for clients using the `GetMemberRewardAvailabilitiesForShowtime` endpoint and adding these tickets directly using the `RewardId`.\r\n\r\n\r\n\r\n\r\n### Quantity limits\r\n\r\n* The quantity limits of each ticket price available to the customer is complex.\r\n* Due to quantity limits potentially applying across multiple ticket prices, these rules are best calculated on the client.\r\n* The client must keep track of various ticket properties to correctly restrict quantity. These properties include:\r\n* A client-side max-tickets-per-order setting (this does not exist as omnichannel config yet)\r\n* The `AvailableQuantity` of the member reward if applicable.\r\n* The `BalanceCost` of the reward if applicable (checked against member balance + other ticket selections).\r\n* Member ticket `QuantityLimit` returned from third-party member card validation.\r\n\r\n\r\n\r\n\r\nDiscounted ticket price entities are automatically filtered based on the discount restriction Availability\r\nfor the showtime\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n- Vista.Ocapi.TicketPricesForShowtime\r\n\r\n",
        "operationId": "OcapiTicketPrices_GetTicketPricesForShowtime",
        "parameters": [
          {
            "name": "showtimeId",
            "in": "path",
            "description": "The unique identifier of the showtime",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.TicketPrices.TicketPriceListDetails"
                }
              }
            }
          },
          "404": {
            "description": "Showtime does not exist."
          }
        }
      }
    },
    "/ocapi/v1/tracking-events/completed-order-link-opened/{trackingId}": {
      "get": {
        "tags": [
          "Tracking Events"
        ],
        "summary": "Returns an HTTP status code that indicates whether a patron has opened a link on their own device to view a digital representation of their order",
        "description": "\r\n\r\n\r\nThis endpoint would be used by the Kiosk via short-polling to see if the order confirmation QR code has been scanned yet, so it knows\r\nwhen to auto-dismiss the prompt for the patron to scan the QR code.\r\n\r\n\r\n\r\n\r\nOnce the tracking event expiry (of 10 minutes) elapses this endpoint will no longer retain a record of this event and will continue returning\r\nMicrosoft.AspNetCore.Http.StatusCodes.Status202Accepted again, as if the event was not set.\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiTrackingEvents_GetCompletedOrderLinkOpenedTrackingEvent",
        "parameters": [
          {
            "name": "trackingId",
            "in": "path",
            "description": "The identifier of the tracking event, typically the unique identifier of the completed order base that is being monitored",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Completed order link opened event not found, client can keep polling."
          },
          "204": {
            "description": "Completed order link has been opened, client can auto-dismiss the prompt to scan the QR code."
          }
        }
      },
      "put": {
        "tags": [
          "Tracking Events"
        ],
        "summary": "Sets a tracking event to record that a patron has opened a link on their own device to view a digital representation of their order",
        "description": "\r\n\r\n\r\nThis endpoint would be used by the web or mobile app that is opened on the patron's device after they have scanned the order confirmation\r\nQR code on the Kiosk.\r\n\r\n\r\n\r\n\r\nNote: This tracking event will not be permanently stored. It will expire after 10 minutes.\r\n\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiTrackingEvents_SetCompletedOrderLinkOpenedTrackingEvent",
        "parameters": [
          {
            "name": "trackingId",
            "in": "path",
            "description": "The identifier of the tracking event, typically the unique identifier of the completed order base that is being monitored",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Completed order link opened event has been stored."
          }
        }
      }
    },
    "/ocapi/v1/web-payment-methods": {
      "get": {
        "tags": [
          "Payments"
        ],
        "summary": "Gets the web payment method options for an in progress order base, based on the provided order type",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OcapiWebPaymentMethods_GetWebPaymentMethods",
        "parameters": [
          {
            "name": "orderType",
            "in": "query",
            "description": "The type of the in progress order base that the web payment method entities are available for",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/Vista.Connect.OrderType"
            }
          },
          {
            "name": "siteId",
            "in": "query",
            "description": "The unique identifier of the site Only valid for order type Standard",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Payments.MasterData.WebPaymentMethodListDetails"
                }
              }
            }
          },
          "400": {
            "description": "The provided order type, site, or gift shop does not exist."
          }
        }
      }
    },
    "/ocapi/v1/orders/{orderId}/tip": {
      "put": {
        "tags": [
          "Tips"
        ],
        "summary": "Sets the tip for an in progress standard order",
        "description": "\r\n#### Licenses Required\r\n\r\n\r\n- Vista.Ocapi\r\n\r\n",
        "operationId": "OrderTips_SetOrderTip",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "The unique identifier of the in progress standard order being modified",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Connect-Region-Code",
            "in": "header",
            "description": "Region Code",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The tip to set",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Tips.Requests.OrderTipRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Tips.Requests.OrderTipRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Tips.Requests.OrderTipRequest"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Tips.Requests.OrderTipRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/atomsvc+xml": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.InProgressOrders.InProgressStandardOrderDetails"
                }
              },
              "application/atom+xml; type=feed": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.InProgressOrders.InProgressStandardOrderDetails"
                }
              },
              "application/atom+xml": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.InProgressOrders.InProgressStandardOrderDetails"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.InProgressOrders.InProgressStandardOrderDetails"
                }
              },
              "application/atom+xml; type=entry": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.InProgressOrders.InProgressStandardOrderDetails"
                }
              },
              "application/json; odata=minimalmetadata; streaming=true": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.InProgressOrders.InProgressStandardOrderDetails"
                }
              },
              "application/json; odata=minimalmetadata; streaming=false": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.InProgressOrders.InProgressStandardOrderDetails"
                }
              },
              "application/json; odata=minimalmetadata": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.InProgressOrders.InProgressStandardOrderDetails"
                }
              },
              "application/json; odata=fullmetadata; streaming=true": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.InProgressOrders.InProgressStandardOrderDetails"
                }
              },
              "application/json; odata=fullmetadata; streaming=false": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.InProgressOrders.InProgressStandardOrderDetails"
                }
              },
              "application/json; odata=fullmetadata": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.InProgressOrders.InProgressStandardOrderDetails"
                }
              },
              "application/json; odata=nometadata; streaming=true": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.InProgressOrders.InProgressStandardOrderDetails"
                }
              },
              "application/json; odata=nometadata; streaming=false": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.InProgressOrders.InProgressStandardOrderDetails"
                }
              },
              "application/json; odata=nometadata": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.InProgressOrders.InProgressStandardOrderDetails"
                }
              },
              "application/json; odata=verbose": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.InProgressOrders.InProgressStandardOrderDetails"
                }
              },
              "application/json; streaming=true": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.InProgressOrders.InProgressStandardOrderDetails"
                }
              },
              "application/json; streaming=false": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.InProgressOrders.InProgressStandardOrderDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.InProgressOrders.InProgressStandardOrderDetails"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.InProgressOrders.InProgressStandardOrderDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.InProgressOrders.InProgressStandardOrderDetails"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.InProgressOrders.InProgressStandardOrderDetails"
                }
              }
            }
          },
          "404": {
            "description": "Order does not exist."
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Microsoft.AspNetCore.Mvc.ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": {}
      },
      "Ocapi.V1.Browsing.Availability.Films.FilmAvailability": {
        "title": "FilmAvailability",
        "required": [
          "advanceBookingPeriods",
          "categories",
          "filmId",
          "showtimeAttributeIds"
        ],
        "type": "object",
        "properties": {
          "filmId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the film"
          },
          "siteId": {
            "type": "string",
            "description": "Gets the unique identifier of the site",
            "nullable": true
          },
          "categories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.Availability.Films.FilmCategory"
            },
            "description": "Gets the list of film category entities"
          },
          "showtimeAttributeIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Gets the list of unique identifiers of the attribute entities being screened"
          },
          "advanceBookingPeriods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.FilmAdvanceBookings.FilmAdvanceBookingPeriod"
            },
            "description": "Gets the list of film advance booking period entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents the current availability of a film"
      },
      "Ocapi.V1.Browsing.Availability.Films.FilmAvailabilityDetails": {
        "title": "FilmAvailabilityDetails",
        "required": [
          "filmAvailability",
          "relatedData"
        ],
        "type": "object",
        "properties": {
          "filmAvailability": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.Availability.Films.FilmAvailability"
              }
            ],
            "description": "Gets the film availability"
          },
          "relatedData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.Availability.Films.FilmAvailabilityRelatedData"
              }
            ],
            "description": "Gets the related data for the film availability"
          }
        },
        "additionalProperties": false,
        "description": "Represents a film availability entity, and its related data"
      },
      "Ocapi.V1.Browsing.Availability.Films.FilmAvailabilityListDetails": {
        "title": "FilmAvailabilityListDetails",
        "required": [
          "filmAvailabilities",
          "relatedData"
        ],
        "type": "object",
        "properties": {
          "filmAvailabilities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.Availability.Films.FilmAvailability"
            },
            "description": "Gets the list of film availability entities"
          },
          "relatedData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.Availability.Films.FilmAvailabilityRelatedData"
              }
            ],
            "description": "Gets the related data for the film availability entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents a list of film availability entities, and their related data"
      },
      "Ocapi.V1.Browsing.Availability.Films.FilmAvailabilityRelatedData": {
        "title": "FilmAvailabilityRelatedData",
        "required": [
          "attributes"
        ],
        "type": "object",
        "properties": {
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Attributes.Attribute"
            },
            "description": "Gets the list of related attribute entities"
          }
        },
        "additionalProperties": false,
        "description": "Related data for a film availability entity"
      },
      "Ocapi.V1.Browsing.Availability.Films.FilmCategory": {
        "title": "FilmCategory",
        "enum": [
          "NowShowing",
          "ComingSoon",
          "AdvanceBooking"
        ],
        "type": "string",
        "description": "Represents the category of a film"
      },
      "Ocapi.V1.Browsing.MasterData.Attributes.Attribute": {
        "title": "Attribute",
        "required": [
          "displayPriority",
          "id",
          "isPromoted",
          "name",
          "shortName"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier"
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the name text, and its translations"
          },
          "shortName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the short name text, and its translations"
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the description text, and its translations"
          },
          "importantMessage": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the important message text, and its translations"
          },
          "displayPriority": {
            "type": "integer",
            "description": "Gets the display priority used for sorting",
            "format": "int32"
          },
          "isPromoted": {
            "type": "boolean",
            "description": "Gets a value indicating whether the attribute should be displayed with prominence"
          }
        },
        "additionalProperties": false,
        "description": "Represents a notable feature or characteristic of a showtime, film, or screen\r\nE.g. IMAX, 3D"
      },
      "Ocapi.V1.Browsing.MasterData.CastAndCrewMembers.CastAndCrewMember": {
        "title": "CastAndCrewMember",
        "required": [
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier"
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.PersonName"
              }
            ],
            "description": "Gets the person's name"
          }
        },
        "additionalProperties": false,
        "description": "Represents a person responsible for the creation of a film in some way"
      },
      "Ocapi.V1.Browsing.MasterData.CastAndCrewMembers.CastAndCrewMemberRole": {
        "title": "CastAndCrewMemberRole",
        "enum": [
          "Actor",
          "Director",
          "Producer"
        ],
        "type": "string",
        "description": "Represents the role that a cast and crew member had in a film"
      },
      "Ocapi.V1.Browsing.MasterData.CensorRatings.CensorRating": {
        "title": "CensorRating",
        "required": [
          "classification",
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier"
          },
          "classification": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the classification text, and its translations"
          },
          "classificationDescription": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the censor rating Classification description text, and its translations"
          },
          "ageRestriction": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.CensorRatings.CensorRatingAgeRestriction"
              }
            ],
            "description": "Gets the age restriction, if applicable"
          }
        },
        "additionalProperties": false,
        "description": "Represents the censor rating of a film, e.g. R18"
      },
      "Ocapi.V1.Browsing.MasterData.CensorRatings.CensorRatingAgeRestriction": {
        "title": "CensorRatingAgeRestriction",
        "required": [
          "minimumAge"
        ],
        "type": "object",
        "properties": {
          "minimumAge": {
            "type": "integer",
            "description": "Gets the minimum age required",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Represents the age restriction of a censor rating"
      },
      "Ocapi.V1.Browsing.MasterData.Events.Event": {
        "title": "Event",
        "required": [
          "id",
          "name",
          "schedule",
          "siteIds"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier"
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the name text, and its translations"
          },
          "shortName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the short name text, and its translations"
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the description text, and its translations"
          },
          "schedule": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Events.EventSchedule"
              }
            ],
            "description": "Gets the schedule"
          },
          "siteIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Gets the list of unique identifiers of the site entities screening the event"
          }
        },
        "additionalProperties": false,
        "description": "Represents an occasion for which films can be screened and marketed together, e.g. an annual film festival"
      },
      "Ocapi.V1.Browsing.MasterData.Events.EventDetails": {
        "title": "EventDetails",
        "required": [
          "event",
          "relatedData"
        ],
        "type": "object",
        "properties": {
          "event": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Events.Event"
              }
            ],
            "description": "Gets the event entity"
          },
          "relatedData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Events.EventRelatedData"
              }
            ],
            "description": "Gets the related data for the event entity"
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of an event entity, and its related data"
      },
      "Ocapi.V1.Browsing.MasterData.Events.EventListDetails": {
        "title": "EventListDetails",
        "required": [
          "events",
          "relatedData"
        ],
        "type": "object",
        "properties": {
          "events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Events.Event"
            },
            "description": "Gets the list of event entities"
          },
          "relatedData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Events.EventListRelatedData"
              }
            ],
            "description": "Gets the related data for the event entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents a list of event entities and their related data"
      },
      "Ocapi.V1.Browsing.MasterData.Events.EventListRelatedData": {
        "title": "EventListRelatedData",
        "required": [
          "sites"
        ],
        "type": "object",
        "properties": {
          "sites": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.Sites.LoyaltySite"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Sites.Site"
                }
              ],
              "description": "Represents a physical location that belongs to a cinema chain, consisting of one or more screen entities"
            },
            "description": "Gets the list of related site entities"
          }
        },
        "additionalProperties": false,
        "description": "Related data for a list of event entities"
      },
      "Ocapi.V1.Browsing.MasterData.Events.EventRelatedData": {
        "title": "EventRelatedData",
        "required": [
          "sites"
        ],
        "type": "object",
        "properties": {
          "sites": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.Sites.LoyaltySite"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Sites.Site"
                }
              ],
              "description": "Represents a physical location that belongs to a cinema chain, consisting of one or more screen entities"
            },
            "description": "Gets the list of related site entities"
          }
        },
        "additionalProperties": false,
        "description": "Related data for an event entity"
      },
      "Ocapi.V1.Browsing.MasterData.Events.EventSchedule": {
        "title": "EventSchedule",
        "type": "object",
        "properties": {
          "startDate": {
            "type": "string",
            "description": "Gets the start date, if applicable",
            "format": "date-time",
            "nullable": true
          },
          "endDate": {
            "type": "string",
            "description": "Gets the end date, if applicable",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the start and/or end date of an event"
      },
      "Ocapi.V1.Browsing.MasterData.FilmAdvanceBookings.FilmAdvanceBookingPeriod": {
        "title": "FilmAdvanceBookingPeriod",
        "required": [
          "orderBookingModes",
          "restriction",
          "startsAt"
        ],
        "type": "object",
        "properties": {
          "startsAt": {
            "type": "string",
            "description": "Gets the date and time that the booking period starts",
            "format": "date-time"
          },
          "orderBookingModes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.Bookings.OrderBookingMode"
            },
            "description": "Gets the order booking modes that the booking period applies to"
          },
          "restriction": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.FilmAdvanceBookings.FilmAdvanceBookingPeriodRestriction"
              }
            ],
            "description": "Gets the restriction"
          },
          "rewardId": {
            "type": "integer",
            "description": "Gets the unique identifier of the reward that the booking period is restricted to",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a booking period for a film advance booking rule"
      },
      "Ocapi.V1.Browsing.MasterData.FilmAdvanceBookings.FilmAdvanceBookingPeriodRestriction": {
        "title": "FilmAdvanceBookingPeriodRestriction",
        "enum": [
          "None",
          "MemberReward"
        ],
        "type": "string",
        "description": "Represents the restriction options for a film advance booking period"
      },
      "Ocapi.V1.Browsing.MasterData.FilmAdvanceBookings.FilmAdvanceBookingRule": {
        "title": "FilmAdvanceBookingRule",
        "required": [
          "bookingPeriods",
          "filmId",
          "id",
          "siteId"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier"
          },
          "filmId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the film"
          },
          "siteId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the site"
          },
          "bookingPeriods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.FilmAdvanceBookings.FilmAdvanceBookingPeriod"
            },
            "description": "Gets the list of film advance booking period entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents a booking period for a film advance booking rule"
      },
      "Ocapi.V1.Browsing.MasterData.FilmScreenings.FilmScreening": {
        "title": "FilmScreening",
        "required": [
          "filmId",
          "sites"
        ],
        "type": "object",
        "properties": {
          "filmId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the film"
          },
          "sites": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.FilmScreenings.FilmScreeningSite"
            },
            "description": "Gets the list of film screening site entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents the screening details of a film"
      },
      "Ocapi.V1.Browsing.MasterData.FilmScreenings.FilmScreeningDate": {
        "title": "FilmScreeningDate",
        "required": [
          "businessDate",
          "filmScreenings"
        ],
        "type": "object",
        "properties": {
          "businessDate": {
            "type": "string",
            "description": "Gets the business date",
            "format": "date-time"
          },
          "filmScreenings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.FilmScreenings.FilmScreening"
            },
            "description": "Gets the list of film screening entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents a list of film screening entities for a particular business date"
      },
      "Ocapi.V1.Browsing.MasterData.FilmScreenings.FilmScreeningDateListDetails": {
        "title": "FilmScreeningDateListDetails",
        "required": [
          "filmScreeningDates"
        ],
        "type": "object",
        "properties": {
          "filmScreeningDates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.FilmScreenings.FilmScreeningDate"
            },
            "description": "Gets the list of film screening date entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents a list of film screening date entities"
      },
      "Ocapi.V1.Browsing.MasterData.FilmScreenings.FilmScreeningSite": {
        "title": "FilmScreeningSite",
        "required": [
          "showtimeAttributeIds",
          "siteId"
        ],
        "type": "object",
        "properties": {
          "siteId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the site"
          },
          "showtimeAttributeIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Gets the list of unique identifiers of the attribute entities being screened"
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of a site that is screening a film"
      },
      "Ocapi.V1.Browsing.MasterData.Films.Film": {
        "title": "Film",
        "required": [
          "actors",
          "castAndCrew",
          "directors",
          "displayPriority",
          "distributorName",
          "externalIds",
          "genreIds",
          "hoCode",
          "id",
          "producers",
          "releaseDate",
          "runtimeInMinutes",
          "title",
          "trailers"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier"
          },
          "title": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the title text, and its translations"
          },
          "synopsis": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the plot/synopsis text, and its translations"
          },
          "shortSynopsis": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the short plot/synopsis text, and its translations"
          },
          "censorRatingId": {
            "type": "string",
            "description": "Gets the unique identifier of the censor rating, if applicable",
            "nullable": true
          },
          "censorRatingNote": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets a description of the content in the film that qualifies it for its censor rating, if applicable"
          },
          "releaseDate": {
            "type": "string",
            "description": "Gets the release date of the film",
            "format": "date-time"
          },
          "runtimeInMinutes": {
            "type": "integer",
            "description": "Gets the runtime duration in minutes",
            "format": "int32"
          },
          "trailers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Films.FilmTrailer"
            },
            "description": "Gets the list of film trailer entities"
          },
          "trailerUrl": {
            "type": "string",
            "description": "Gets the trailer video URL",
            "format": "uri",
            "nullable": true
          },
          "displayPriority": {
            "type": "integer",
            "description": "Gets the display priority used for sorting",
            "format": "int32"
          },
          "castAndCrew": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Films.FilmCastAndCrewMemberWithRoles"
            }
          },
          "actors": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Films.FilmCastAndCrewMember"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Films.FilmCastAndCrewMemberWithRoles"
                }
              ],
              "description": "Represents a cast and crew member in the context of a particular film"
            },
            "description": "Gets the list of film cast and crew member entities that acted in the film, sorted by billing order"
          },
          "directors": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Films.FilmCastAndCrewMember"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Films.FilmCastAndCrewMemberWithRoles"
                }
              ],
              "description": "Represents a cast and crew member in the context of a particular film"
            },
            "description": "Gets the list of film cast and crew member entities that directed the film, sorted by billing order"
          },
          "producers": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Films.FilmCastAndCrewMember"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Films.FilmCastAndCrewMemberWithRoles"
                }
              ],
              "description": "Represents a cast and crew member in the context of a particular film"
            },
            "description": "Gets the list of film cast and crew member entities that produced the film, sorted by billing order"
          },
          "genreIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Gets the list of unique identifiers of the assigned genre entities"
          },
          "externalIds": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Films.FilmExternalIds"
              }
            ],
            "description": "Gets the external identifiers"
          },
          "hopk": {
            "type": "string",
            "description": "Gets the Head Office primary key",
            "nullable": true
          },
          "hoCode": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the Head Office code"
          },
          "eventId": {
            "type": "string",
            "description": "Gets the unique identifier of the event the film is assigned to, if applicable",
            "nullable": true
          },
          "distributorName": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the name of the distributor"
          }
        },
        "additionalProperties": false,
        "description": "Represents a film entity"
      },
      "Ocapi.V1.Browsing.MasterData.Films.FilmCastAndCrewMember": {
        "title": "FilmCastAndCrewMember",
        "required": [
          "castAndCrewMemberId"
        ],
        "type": "object",
        "properties": {
          "castAndCrewMemberId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the cast and crew member"
          }
        },
        "additionalProperties": false,
        "description": "Represents a cast and crew member in the context of a particular film"
      },
      "Ocapi.V1.Browsing.MasterData.Films.FilmCastAndCrewMemberWithRoles": {
        "title": "FilmCastAndCrewMemberWithRoles",
        "required": [
          "castAndCrewMemberId",
          "roles"
        ],
        "type": "object",
        "properties": {
          "castAndCrewMemberId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the cast and crew member"
          },
          "roles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.CastAndCrewMembers.CastAndCrewMemberRole"
            },
            "description": "Gets the list of roles"
          }
        },
        "additionalProperties": false,
        "description": "Represents a film cast and crew member with the list of roles they play in the creation of a film"
      },
      "Ocapi.V1.Browsing.MasterData.Films.FilmDetails": {
        "title": "FilmDetails",
        "required": [
          "film",
          "relatedData"
        ],
        "type": "object",
        "properties": {
          "film": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Films.Film"
              }
            ],
            "description": "Gets the film entity"
          },
          "relatedData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Films.FilmRelatedData"
              }
            ],
            "description": "Gets the related data for the film entity"
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of a film entity, and its related data"
      },
      "Ocapi.V1.Browsing.MasterData.Films.FilmExternalIds": {
        "title": "FilmExternalIds",
        "type": "object",
        "properties": {
          "moviexchangeReleaseId": {
            "type": "string",
            "description": "Gets the unique identifier of the linked movieXchange film release entity",
            "format": "uuid",
            "nullable": true
          },
          "corporateId": {
            "type": "string",
            "description": "Gets the unique corporate identifier",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the external identifiers linked to a film"
      },
      "Ocapi.V1.Browsing.MasterData.Films.FilmListDetails": {
        "title": "FilmListDetails",
        "required": [
          "films",
          "relatedData"
        ],
        "type": "object",
        "properties": {
          "films": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Films.Film"
            },
            "description": "Gets the list of film entities"
          },
          "relatedData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Films.FilmListRelatedData"
              }
            ],
            "description": "Gets the related data for the film entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents a list of film entities, and their related data"
      },
      "Ocapi.V1.Browsing.MasterData.Films.FilmListRelatedData": {
        "title": "FilmListRelatedData",
        "required": [
          "castAndCrew",
          "censorRatings",
          "events",
          "genres"
        ],
        "type": "object",
        "properties": {
          "castAndCrew": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.CastAndCrewMembers.CastAndCrewMember"
            },
            "description": "Gets the list of related cast and crew member entities"
          },
          "genres": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Genres.Genre"
            },
            "description": "Gets the list of related genre entities"
          },
          "censorRatings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.CensorRatings.CensorRating"
            },
            "description": "Gets the list of related censor rating entities"
          },
          "events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Events.Event"
            },
            "description": "Gets the list of related event entities"
          }
        },
        "additionalProperties": false,
        "description": "Related data for a list of film entities"
      },
      "Ocapi.V1.Browsing.MasterData.Films.FilmRelatedData": {
        "title": "FilmRelatedData",
        "required": [
          "castAndCrew",
          "genres"
        ],
        "type": "object",
        "properties": {
          "castAndCrew": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.CastAndCrewMembers.CastAndCrewMember"
            },
            "description": "Gets the list of related cast and crew member entities"
          },
          "genres": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Genres.Genre"
            },
            "description": "Gets the list of related genre entities"
          },
          "censorRating": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.CensorRatings.CensorRating"
              }
            ],
            "description": "Gets the related censor rating entity, if applicable"
          },
          "event": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Events.Event"
              }
            ],
            "description": "Gets the related event entity, if applicable"
          }
        },
        "additionalProperties": false,
        "description": "Related data for a film entity"
      },
      "Ocapi.V1.Browsing.MasterData.Films.FilmTrailer": {
        "title": "FilmTrailer",
        "required": [
          "provider",
          "uri"
        ],
        "type": "object",
        "properties": {
          "provider": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Films.FilmTrailerProvider"
              }
            ],
            "description": "Gets the provider"
          },
          "uri": {
            "type": "string",
            "description": "Gets the address used for retrieving the trailer",
            "format": "uri"
          }
        },
        "additionalProperties": false,
        "description": "Represents a video trailer for a film"
      },
      "Ocapi.V1.Browsing.MasterData.Films.FilmTrailerProvider": {
        "title": "FilmTrailerProvider",
        "enum": [
          "Moviexchange",
          "External"
        ],
        "type": "string",
        "description": "Represents the provider of a film trailer"
      },
      "Ocapi.V1.Browsing.MasterData.Genres.Genre": {
        "title": "Genre",
        "required": [
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier"
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the name text, and its translations"
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the description text, and its translations"
          }
        },
        "additionalProperties": false,
        "description": "Represents the genre of a film entity"
      },
      "Ocapi.V1.Browsing.MasterData.Screens.Screen": {
        "title": "Screen",
        "required": [
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier",
            "readOnly": true
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the name text, and its translations"
          }
        },
        "additionalProperties": false,
        "description": "Represents a room belonging to a site where film entities are screened"
      },
      "Ocapi.V1.Browsing.MasterData.Showtimes.EventShowtimeListDetails": {
        "title": "EventShowtimeListDetails",
        "required": [
          "eventId",
          "relatedData",
          "showtimes"
        ],
        "type": "object",
        "properties": {
          "eventId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the event"
          },
          "showtimes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Showtimes.Showtime"
            },
            "description": "Gets the list of showtime entities"
          },
          "relatedData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Showtimes.EventShowtimeListRelatedData"
              }
            ],
            "description": "Gets the related data for the showtime entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents a list of showtime entities for a particular event, and their related data"
      },
      "Ocapi.V1.Browsing.MasterData.Showtimes.EventShowtimeListRelatedData": {
        "title": "EventShowtimeListRelatedData",
        "required": [
          "areaCategories",
          "attributes",
          "castAndCrew",
          "censorRatings",
          "event",
          "filmAdvanceBookingRules",
          "films",
          "genres",
          "screens",
          "sites"
        ],
        "type": "object",
        "properties": {
          "event": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Events.Event"
              }
            ],
            "description": "Gets the related event entity"
          },
          "sites": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.Sites.LoyaltySite"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Sites.Site"
                }
              ],
              "description": "Represents a physical location that belongs to a cinema chain, consisting of one or more screen entities"
            },
            "description": "Gets the list of related site entities"
          },
          "films": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Films.Film"
            },
            "description": "Gets the list of related film entities"
          },
          "castAndCrew": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.CastAndCrewMembers.CastAndCrewMember"
            },
            "description": "Gets the list of related cast and crew member entities"
          },
          "genres": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Genres.Genre"
            },
            "description": "Gets the list of related genre entities"
          },
          "censorRatings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.CensorRatings.CensorRating"
            },
            "description": "Gets the list of related censor rating entities"
          },
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Attributes.Attribute"
            },
            "description": "Gets the list of related attribute entities"
          },
          "screens": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Screens.Screen"
            },
            "description": "Gets the list of related screen entities"
          },
          "filmAdvanceBookingRules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.FilmAdvanceBookings.FilmAdvanceBookingRule"
            },
            "description": "Gets the list of related film advance booking rule entities"
          },
          "areaCategories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Seating.MasterData.AreaCategory"
            },
            "description": "Gets the list of related area category entities"
          }
        },
        "additionalProperties": false,
        "description": "Related data for a list of showtime entities for a particular event"
      },
      "Ocapi.V1.Browsing.MasterData.Showtimes.FilmShowtimeListDetails": {
        "title": "FilmShowtimeListDetails",
        "required": [
          "filmId",
          "relatedData",
          "showtimes"
        ],
        "type": "object",
        "properties": {
          "filmId": {
            "minLength": 1,
            "type": "string"
          },
          "showtimes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Showtimes.Showtime"
            }
          },
          "relatedData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Showtimes.FilmShowtimeListRelatedData"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "Represents a list of showtime entities for a particular film and their related data"
      },
      "Ocapi.V1.Browsing.MasterData.Showtimes.FilmShowtimeListRelatedData": {
        "title": "FilmShowtimeListRelatedData",
        "required": [
          "areaCategories",
          "attributes",
          "castAndCrew",
          "censorRatings",
          "events",
          "film",
          "filmAdvanceBookingRules",
          "genres",
          "screens",
          "sites"
        ],
        "type": "object",
        "properties": {
          "film": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Films.Film"
              }
            ]
          },
          "sites": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.Sites.LoyaltySite"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Sites.Site"
                }
              ],
              "description": "Represents a physical location that belongs to a cinema chain, consisting of one or more screen entities"
            }
          },
          "events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Events.Event"
            }
          },
          "castAndCrew": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.CastAndCrewMembers.CastAndCrewMember"
            }
          },
          "genres": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Genres.Genre"
            }
          },
          "censorRatings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.CensorRatings.CensorRating"
            }
          },
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Attributes.Attribute"
            }
          },
          "screens": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Screens.Screen"
            }
          },
          "filmAdvanceBookingRules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.FilmAdvanceBookings.FilmAdvanceBookingRule"
            }
          },
          "areaCategories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Seating.MasterData.AreaCategory"
            }
          }
        },
        "additionalProperties": false,
        "description": "Related data for a list of showtime entities for a particular film"
      },
      "Ocapi.V1.Browsing.MasterData.Showtimes.Showtime": {
        "title": "Showtime",
        "required": [
          "areaCategories",
          "attributeIds",
          "filmId",
          "id",
          "isAllocatedSeating",
          "isSoldOut",
          "requires3dGlasses",
          "restrictions",
          "schedule",
          "screenId",
          "seatLayoutId",
          "siteId"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier",
            "readOnly": true
          },
          "schedule": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Showtimes.ShowtimeSchedule"
              }
            ],
            "description": "Gets the timing schedule"
          },
          "isSoldOut": {
            "type": "boolean",
            "description": "Gets a value indicating whether the showtime is currently sold out"
          },
          "seatLayoutId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the seat layout of the screen",
            "readOnly": true
          },
          "filmId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the film that is being screened"
          },
          "siteId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the site that is screening the film"
          },
          "screenId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the screen that the film will be played on"
          },
          "areaCategories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Showtimes.ShowtimeAreaCategory"
            },
            "description": "Gets the list of showtime area category entities"
          },
          "attributeIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Gets the list of unique identifiers of the assigned attribute entities"
          },
          "isAllocatedSeating": {
            "type": "boolean",
            "description": "Gets a value indicating whether the seat entities are allocated"
          },
          "requires3dGlasses": {
            "type": "boolean",
            "description": "Gets a value indicating whether this showtime requires 3D glasses to be viewed"
          },
          "eventId": {
            "type": "string",
            "description": "Gets the unique identifier of the event the showtime is assigned to, if applicable",
            "nullable": true
          },
          "restrictions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Showtimes.ShowtimeRestriction"
            },
            "description": "Gets the list of restrictions that apply"
          },
          "filmAdvanceBookingRuleId": {
            "type": "string",
            "description": "Gets the unique identifier of the film advance booking rule that the showtime is restricted to",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the presentation of a film on a particular screen at a particular date and time"
      },
      "Ocapi.V1.Browsing.MasterData.Showtimes.ShowtimeAreaCategory": {
        "title": "ShowtimeAreaCategory",
        "required": [
          "areaCategoryId",
          "isAllocatedSeating"
        ],
        "type": "object",
        "properties": {
          "areaCategoryId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the area category entity"
          },
          "isAllocatedSeating": {
            "type": "boolean",
            "description": "Gets a value indicating whether the seat entities are allocated"
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of an area category within the context of a showtime"
      },
      "Ocapi.V1.Browsing.MasterData.Showtimes.ShowtimeBusinessDayListDetails": {
        "title": "ShowtimeBusinessDayListDetails",
        "required": [
          "businessDate",
          "relatedData",
          "showtimes"
        ],
        "type": "object",
        "properties": {
          "showtimes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Showtimes.Showtime"
            },
            "description": "Gets the list of showtime entities"
          },
          "relatedData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Showtimes.ShowtimeListRelatedData"
              }
            ],
            "description": "Gets the related data for the showtime entities"
          },
          "businessDate": {
            "type": "string",
            "description": "Gets the business date of the showtime entities",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Represents a list of showtime entities for a particular business day, and their related data"
      },
      "Ocapi.V1.Browsing.MasterData.Showtimes.ShowtimeDetails": {
        "title": "ShowtimeDetails",
        "required": [
          "relatedData",
          "showtime"
        ],
        "type": "object",
        "properties": {
          "showtime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Showtimes.Showtime"
              }
            ],
            "description": "Gets the showtime entity"
          },
          "relatedData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Showtimes.ShowtimeRelatedData"
              }
            ],
            "description": "Gets the related data for the showtime entity"
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of a showtime entity, and its related data"
      },
      "Ocapi.V1.Browsing.MasterData.Showtimes.ShowtimeInSeatItemDeliverySchedule": {
        "title": "ShowtimeInSeatItemDeliverySchedule",
        "required": [
          "endsAt",
          "startsAt"
        ],
        "type": "object",
        "properties": {
          "startsAt": {
            "type": "string",
            "description": "Gets the date and time when in-seat item delivery becomes available",
            "format": "date-time"
          },
          "endsAt": {
            "type": "string",
            "description": "Gets the date and time when in-seat item delivery is no longer available",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Represents when in-seat item delivery is available for a showtime"
      },
      "Ocapi.V1.Browsing.MasterData.Showtimes.ShowtimeListDetails": {
        "title": "ShowtimeListDetails",
        "required": [
          "relatedData",
          "showtimes"
        ],
        "type": "object",
        "properties": {
          "showtimes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Showtimes.Showtime"
            },
            "description": "Gets the list of showtime entities"
          },
          "relatedData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Showtimes.ShowtimeListRelatedData"
              }
            ],
            "description": "Gets the related data for the showtime entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents a list of showtime entities, and their related data"
      },
      "Ocapi.V1.Browsing.MasterData.Showtimes.ShowtimeListRelatedData": {
        "title": "ShowtimeListRelatedData",
        "required": [
          "areaCategories",
          "attributes",
          "castAndCrew",
          "censorRatings",
          "events",
          "filmAdvanceBookingRules",
          "films",
          "genres",
          "screens",
          "sites"
        ],
        "type": "object",
        "properties": {
          "sites": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.Sites.LoyaltySite"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Sites.Site"
                }
              ],
              "description": "Represents a physical location that belongs to a cinema chain, consisting of one or more screen entities"
            },
            "description": "Gets the list of related site entities"
          },
          "films": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Films.Film"
            },
            "description": "Gets the list of related film entities"
          },
          "castAndCrew": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.CastAndCrewMembers.CastAndCrewMember"
            },
            "description": "Gets the list of related cast and crew member entities"
          },
          "genres": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Genres.Genre"
            },
            "description": "Gets the list of related genre entities"
          },
          "censorRatings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.CensorRatings.CensorRating"
            },
            "description": "Gets the list of related censor rating entities"
          },
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Attributes.Attribute"
            },
            "description": "Gets the list of related attribute entities"
          },
          "screens": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Screens.Screen"
            },
            "description": "Gets the list of related screen entities"
          },
          "events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Events.Event"
            },
            "description": "Gets the list of related event entities"
          },
          "filmAdvanceBookingRules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.FilmAdvanceBookings.FilmAdvanceBookingRule"
            },
            "description": "Gets the list of related film advance booking rule entities"
          },
          "areaCategories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Seating.MasterData.AreaCategory"
            },
            "description": "Gets the list of related area category entities"
          }
        },
        "additionalProperties": false,
        "description": "Related data for a list of showtime entities"
      },
      "Ocapi.V1.Browsing.MasterData.Showtimes.ShowtimeRelatedData": {
        "title": "ShowtimeRelatedData",
        "required": [
          "areaCategories",
          "attributes",
          "castAndCrew",
          "film",
          "genres",
          "screen",
          "site"
        ],
        "type": "object",
        "properties": {
          "site": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.Sites.LoyaltySite"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Sites.Site"
              }
            ],
            "description": "Represents a physical location that belongs to a cinema chain, consisting of one or more screen entities"
          },
          "film": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Films.Film"
              }
            ],
            "description": "Gets the related film entity"
          },
          "screen": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Screens.Screen"
              }
            ],
            "description": "Gets the related screen entity"
          },
          "castAndCrew": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.CastAndCrewMembers.CastAndCrewMember"
            },
            "description": "Gets the list of related cast and crew member entities"
          },
          "genres": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Genres.Genre"
            },
            "description": "Gets the list of related genre entities"
          },
          "censorRating": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.CensorRatings.CensorRating"
              }
            ],
            "description": "Gets the related censor rating, if applicable"
          },
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Attributes.Attribute"
            },
            "description": "Gets the list of related attribute entities"
          },
          "event": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Events.Event"
              }
            ],
            "description": "Gets the related event, if applicable"
          },
          "filmAdvanceBookingRule": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.FilmAdvanceBookings.FilmAdvanceBookingRule"
              }
            ],
            "description": "Gets the related film advance booking rule, if applicable"
          },
          "areaCategories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Seating.MasterData.AreaCategory"
            },
            "description": "Gets the list of related area category entities"
          }
        },
        "additionalProperties": false,
        "description": "Related data for a showtime entity"
      },
      "Ocapi.V1.Browsing.MasterData.Showtimes.ShowtimeRestriction": {
        "title": "ShowtimeRestriction",
        "enum": [
          "FilmAdvanceBookingRule"
        ],
        "type": "string",
        "description": "Represents the restriction options for a showtime"
      },
      "Ocapi.V1.Browsing.MasterData.Showtimes.ShowtimeSchedule": {
        "title": "ShowtimeSchedule",
        "required": [
          "businessDate",
          "endsAt",
          "filmEndsAt",
          "filmStartsAt",
          "startsAt"
        ],
        "type": "object",
        "properties": {
          "businessDate": {
            "type": "string",
            "description": "Gets the showtime entity's business date",
            "format": "date-time"
          },
          "startsAt": {
            "type": "string",
            "description": "Gets the date and time that the showtime starts",
            "format": "date-time"
          },
          "endsAt": {
            "type": "string",
            "description": "Gets the date and time that the showtime ends",
            "format": "date-time"
          },
          "filmStartsAt": {
            "type": "string",
            "description": "Gets the date and time that the film screening starts",
            "format": "date-time"
          },
          "filmEndsAt": {
            "type": "string",
            "description": "Gets the date and time that the film screening ends",
            "format": "date-time"
          },
          "inSeatItemDelivery": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Showtimes.ShowtimeInSeatItemDeliverySchedule"
              }
            ],
            "description": "Gets the showtime in seat item delivery schedule entity, if applicable"
          }
        },
        "additionalProperties": false,
        "description": "Represents the dates and times relevant to a showtime, e.g. its start, end, film start, etc"
      },
      "Ocapi.V1.Browsing.MasterData.Sites.Site": {
        "title": "Site",
        "required": [
          "allowedItemDeliveryMethods",
          "contactDetails",
          "hasSellableItems",
          "ianaTimeZoneName",
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier"
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the name text, and its translations"
          },
          "location": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.GeographicLocation"
              }
            ],
            "description": "Gets the geographic location"
          },
          "contactDetails": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Sites.SiteContactDetails"
              }
            ],
            "description": "Gets the contact details"
          },
          "ianaTimeZoneName": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the IANA time zone name",
            "example": "America/New_York"
          },
          "hasSellableItems": {
            "type": "boolean",
            "description": "Gets a value indicating whether the site has any sellable item entities"
          },
          "allowedItemDeliveryMethods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.DeliveryMethods.ItemDeliveryMethod"
            },
            "description": "Gets the list of allowed item delivery method entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents a physical location that belongs to a cinema chain, consisting of one or more screen entities"
      },
      "Ocapi.V1.Browsing.MasterData.Sites.SiteAddress": {
        "title": "SiteAddress",
        "type": "object",
        "properties": {
          "line1": {
            "type": "string",
            "description": "Gets the first line",
            "nullable": true,
            "example": "60 Khyber Pass Road"
          },
          "line2": {
            "type": "string",
            "description": "Gets the second line",
            "nullable": true,
            "example": "Grafton"
          },
          "city": {
            "type": "string",
            "description": "Gets the city",
            "nullable": true,
            "example": "Auckland 1023"
          }
        },
        "additionalProperties": false,
        "description": "Represents the physical address of a site"
      },
      "Ocapi.V1.Browsing.MasterData.Sites.SiteContactDetails": {
        "title": "SiteContactDetails",
        "required": [
          "phoneNumbers"
        ],
        "type": "object",
        "properties": {
          "phoneNumbers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.PhoneNumber"
            },
            "description": "Gets the list of phone number entities"
          },
          "email": {
            "type": "string",
            "description": "Gets the email address",
            "nullable": true
          },
          "address": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Sites.SiteAddress"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "Represents the contact details of a site"
      },
      "Ocapi.V1.Browsing.MasterData.Sites.SiteDetails": {
        "title": "SiteDetails",
        "required": [
          "site"
        ],
        "type": "object",
        "properties": {
          "site": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.Sites.LoyaltySite"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Sites.Site"
              }
            ],
            "description": "Represents a physical location that belongs to a cinema chain, consisting of one or more screen entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of a site entity"
      },
      "Ocapi.V1.Browsing.MasterData.Sites.SiteListDetails": {
        "title": "SiteListDetails",
        "required": [
          "sites"
        ],
        "type": "object",
        "properties": {
          "sites": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.Sites.LoyaltySite"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Sites.Site"
                }
              ],
              "description": "Represents a physical location that belongs to a cinema chain, consisting of one or more screen entities"
            },
            "description": "Gets the list of site entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents a list of site entities"
      },
      "Ocapi.V1.DiscountCalculations.DiscountCalculationType": {
        "title": "DiscountCalculationType",
        "enum": [
          "SpecialPrice",
          "PercentageOff",
          "PriceOff"
        ],
        "type": "string",
        "description": "Represents the type of a discount calculation base"
      },
      "Ocapi.V1.DiscountCalculations.PercentageOffDiscountCalculation": {
        "title": "PercentageOffDiscountCalculation",
        "required": [
          "percentageOff",
          "type"
        ],
        "type": "object",
        "properties": {
          "percentageOff": {
            "type": "number",
            "description": "Gets the percentage off the default price, e.g. 12.5% off",
            "format": "double"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.DiscountCalculations.DiscountCalculationType"
              }
            ],
            "description": "Gets the calculation type"
          }
        },
        "additionalProperties": false,
        "description": "Represents a percentage-off type of discount calculation base"
      },
      "Ocapi.V1.DiscountCalculations.PriceOffDiscountCalculation": {
        "title": "PriceOffDiscountCalculation",
        "required": [
          "priceOff",
          "type"
        ],
        "type": "object",
        "properties": {
          "priceOff": {
            "type": "number",
            "description": "Gets the value of the discount off the default price, e.g. $2.00 off",
            "format": "double"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.DiscountCalculations.DiscountCalculationType"
              }
            ],
            "description": "Gets the calculation type"
          }
        },
        "additionalProperties": false,
        "description": "Represents a price-off type of discount calculation base"
      },
      "Ocapi.V1.DiscountCalculations.SpecialPriceDiscountCalculation": {
        "title": "SpecialPriceDiscountCalculation",
        "required": [
          "specialPrice",
          "type"
        ],
        "type": "object",
        "properties": {
          "specialPrice": {
            "type": "number",
            "description": "Gets the value of the special price defined by the discount, e.g. now $1.50",
            "format": "double"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.DiscountCalculations.DiscountCalculationType"
              }
            ],
            "description": "Gets the calculation type"
          }
        },
        "additionalProperties": false,
        "description": "Represents a special-price type of discount calculation base"
      },
      "Ocapi.V1.Errors.MemberLockedError": {
        "title": "MemberLockedError",
        "required": [
          "title"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Gets a URI reference that identifies the problem type",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "description": "Gets the HTTP status code generated by the origin server for this occurrence of the problem",
            "format": "int32",
            "nullable": true
          },
          "title": {
            "minLength": 1,
            "type": "string",
            "description": "Gets a short, human-readable summary of the problem type"
          },
          "detail": {
            "type": "string",
            "description": "Gets a human-readable explanation specific to this occurrence of the problem",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "description": "Gets a URI reference that identifies the specific occurrence of the problem.It may or may not yield further information if dereferenced",
            "nullable": true
          },
          "correlationId": {
            "type": "string",
            "description": "Gets the unique correlation identifier of the request if set (for diagnostic purposes)",
            "nullable": true
          },
          "originalRequestUrl": {
            "type": "string",
            "description": "Gets the URL of the request returning the error (for diagnostic purposes)",
            "format": "uri",
            "nullable": true
          },
          "errorCode": {
            "type": "integer",
            "description": "Gets the error code associated with the specific problem type (if applicable)",
            "format": "int32",
            "nullable": true
          },
          "lockOutPeriodInSeconds": {
            "type": "integer",
            "description": "Gets the time in seconds between member being temporarily locked and free to login",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Represents a Loyalty member temporarily locked out of loyalty due to too many failed login attempts"
      },
      "Ocapi.V1.Errors.RateLimitExceededError": {
        "title": "RateLimitExceededError",
        "required": [
          "title"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Gets a URI reference that identifies the problem type",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "description": "Gets the HTTP status code generated by the origin server for this occurrence of the problem",
            "format": "int32",
            "nullable": true
          },
          "title": {
            "minLength": 1,
            "type": "string",
            "description": "Gets a short, human-readable summary of the problem type"
          },
          "detail": {
            "type": "string",
            "description": "Gets a human-readable explanation specific to this occurrence of the problem",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "description": "Gets a URI reference that identifies the specific occurrence of the problem.It may or may not yield further information if dereferenced",
            "nullable": true
          },
          "correlationId": {
            "type": "string",
            "description": "Gets the unique correlation identifier of the request if set (for diagnostic purposes)",
            "nullable": true
          },
          "originalRequestUrl": {
            "type": "string",
            "description": "Gets the URL of the request returning the error (for diagnostic purposes)",
            "format": "uri",
            "nullable": true
          },
          "blockedUntil": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "Ocapi.V1.GeographicLocation": {
        "title": "GeographicLocation",
        "required": [
          "latitude",
          "longitude"
        ],
        "type": "object",
        "properties": {
          "latitude": {
            "type": "number",
            "description": "Gets the latitude (expressed in degrees and minutes)",
            "format": "double"
          },
          "longitude": {
            "type": "number",
            "description": "Gets the longitude (expressed in degrees and minutes)",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Represents a set of geospatial coordinates; longitude and latitude, that can be used to pinpoint a\r\nlocation on a map"
      },
      "Ocapi.V1.GiftCards.GiftCardCredentials": {
        "title": "GiftCardCredentials",
        "required": [
          "cardNumber"
        ],
        "type": "object",
        "properties": {
          "cardNumber": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the card number"
          },
          "pin": {
            "type": "string",
            "description": "Gets the PIN",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the credentials required to validate a gift card"
      },
      "Ocapi.V1.GiftCards.GiftCardDetails": {
        "title": "GiftCardDetails",
        "required": [
          "availableBalance",
          "maskedCardNumber"
        ],
        "type": "object",
        "properties": {
          "maskedCardNumber": {
            "minLength": 1,
            "type": "string",
            "description": "Gets a masked representation of the card number",
            "example": "12.......6789"
          },
          "expiresAt": {
            "type": "string",
            "description": "Gets the expiry date and time, or null if the gift card never expires",
            "format": "date-time",
            "nullable": true
          },
          "availableBalance": {
            "type": "number",
            "description": "Gets the available balance",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of a validated gift card"
      },
      "Ocapi.V1.Journey.Journey": {
        "title": "Journey",
        "required": [
          "createdAt",
          "id",
          "orders",
          "siteId"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier"
          },
          "siteId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the site"
          },
          "orders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.CompletedOrders.CompletedStandardOrder"
            },
            "description": "Gets the list of completed standard order entities"
          },
          "createdAt": {
            "type": "string",
            "description": "Gets the date and time that the journey was created",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Represents a customer's interactions, from start to finish, with Vista software in relation\r\nto one or multiple visits to a site initiated by a single sale"
      },
      "Ocapi.V1.Journey.JourneyDetails": {
        "title": "JourneyDetails",
        "required": [
          "journey",
          "relatedData"
        ],
        "type": "object",
        "properties": {
          "journey": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Journey.Journey"
              }
            ],
            "description": "Gets the journey entity"
          },
          "relatedData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.RelatedData.OrderRelatedData"
              }
            ],
            "description": "Gets the related data for the journey entity"
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of a journey entity, and its related data"
      },
      "Ocapi.V1.Journey.JourneyListDetails": {
        "title": "JourneyListDetails",
        "required": [
          "journeys",
          "relatedData"
        ],
        "type": "object",
        "properties": {
          "journeys": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Journey.Journey"
            },
            "description": "Gets the list of journey entities"
          },
          "relatedData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.RelatedData.OrderRelatedData"
              }
            ],
            "description": "Gets the related data for the journey entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents a list of journey entities, and their related data"
      },
      "Ocapi.V1.Journey.JourneyPaginatedResultSet": {
        "title": "JourneyPaginatedResultSet",
        "required": [
          "hasMoreResults",
          "relatedData",
          "results"
        ],
        "type": "object",
        "properties": {
          "relatedData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.RelatedData.OrderRelatedData"
              }
            ],
            "description": "Gets the related data for the journey entities"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Journey.Journey"
            },
            "description": "Gets the list of results"
          },
          "hasMoreResults": {
            "type": "boolean",
            "description": "Gets a value indicating whether any more results are available"
          }
        },
        "additionalProperties": false,
        "description": "Represents a paginated result set of journey entities, and their related data"
      },
      "Ocapi.V1.Loyalty.BalanceTypes.BalanceType": {
        "title": "BalanceType",
        "required": [
          "id",
          "isPrimary",
          "name",
          "unitDecimalPlaces"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Gets the unique identifier",
            "format": "int32"
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the name text, and its translations"
          },
          "isPrimary": {
            "type": "boolean",
            "description": "Gets a value indicating whether this is the primary balance type"
          },
          "unitName": {
            "type": "string",
            "description": "Gets the name of the balance units",
            "nullable": true,
            "example": "Points"
          },
          "paymentConversionRate": {
            "type": "number",
            "description": "Gets the conversion rate that applies when using balance units for an order member balance payment, if applicable",
            "format": "double",
            "nullable": true
          },
          "unitDecimalPlaces": {
            "type": "integer",
            "description": "Gets the number of decimal places used to format and calculate balance unit values",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Represents an account in Vista Loyalty that tracks the spending or activity of a member"
      },
      "Ocapi.V1.Loyalty.Clubs.Club": {
        "title": "Club",
        "required": [
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Gets the unique identifier",
            "format": "int32"
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the name text, and its translations"
          }
        },
        "additionalProperties": false,
        "description": "Represents a scheme in Vista Loyalty that member entities join via a member club membership to gain reward entities"
      },
      "Ocapi.V1.Loyalty.Clubs.ClubLevel": {
        "title": "ClubLevel",
        "required": [
          "id",
          "isExemptFromBookingFees",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Gets the unique identifier",
            "format": "int32"
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the name text, and its translations"
          },
          "isExemptFromBookingFees": {
            "type": "boolean",
            "description": "Gets a value indicating whether a member assigned to this club level will be exempt from booking fees"
          }
        },
        "additionalProperties": false,
        "description": "Represents the level of a club"
      },
      "Ocapi.V1.Loyalty.Delete.ExternallyAuthenticatedMemberDelete": {
        "title": "ExternallyAuthenticatedMemberDelete",
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Delete.MemberDeleteBase"
          }
        ],
        "additionalProperties": false,
        "description": "Represents the values needed to securely delete a member that has been externally authenticated"
      },
      "Ocapi.V1.Loyalty.Delete.LoyaltyAuthenticatedMemberDelete": {
        "title": "LoyaltyAuthenticatedMemberDelete",
        "required": [
          "currentPassword"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Delete.MemberDeleteBase"
          }
        ],
        "properties": {
          "currentPassword": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the current password of the member"
          }
        },
        "additionalProperties": false,
        "description": "Represents the values needed to securely delete a member that has been authenticated by\r\nVista Loyalty only"
      },
      "Ocapi.V1.Loyalty.Delete.MemberDeleteBase": {
        "title": "MemberDeleteBase",
        "required": [
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.MemberSecureActionValidationType"
              }
            ],
            "description": "Gets the validation type"
          }
        },
        "additionalProperties": false,
        "description": "Represents the values needed to securely delete a member"
      },
      "Ocapi.V1.Loyalty.Items.LoyaltyItem": {
        "title": "LoyaltyItem",
        "required": [
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier"
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the name text, and its translations"
          },
          "itemClass": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Items.LoyaltyItemClass"
              }
            ],
            "description": "Gets the item class"
          }
        },
        "additionalProperties": false,
        "description": "Represents an item in Vista Loyalty"
      },
      "Ocapi.V1.Loyalty.Items.LoyaltyItemClass": {
        "title": "LoyaltyItemClass",
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the name text, and its translations"
          },
          "group": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Items.LoyaltyItemGroup"
              }
            ],
            "description": "Gets the item group"
          }
        },
        "additionalProperties": false,
        "description": "Represents the class of a loyalty item"
      },
      "Ocapi.V1.Loyalty.Items.LoyaltyItemGroup": {
        "title": "LoyaltyItemGroup",
        "required": [
          "name",
          "type"
        ],
        "type": "object",
        "properties": {
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the name text, and its translations"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.Items.LoyaltyItemGroupType"
              }
            ],
            "description": "Gets the type"
          }
        },
        "additionalProperties": false,
        "description": "Represents the group of a loyalty item class"
      },
      "Ocapi.V1.Loyalty.MasterData.Authentication.ExternalAuthenticationIssuer": {
        "title": "ExternalAuthenticationIssuer",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the identifier of the external authentication issuer"
          }
        },
        "additionalProperties": false,
        "description": "Represents an external authentication issuer that has been configured to be capable of authenticating\r\nLoyalty members in place of credentials stored in Loyalty"
      },
      "Ocapi.V1.Loyalty.MasterData.CustomPreferences.CustomPreference": {
        "title": "CustomPreference",
        "required": [
          "id",
          "name",
          "optionQuantityLimit",
          "options"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Gets the unique identifier",
            "format": "int32"
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the name text, and its translations"
          },
          "optionQuantityLimit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.QuantityLimit"
              }
            ],
            "description": "Gets a value indicating the number of options that can be selected by a member"
          },
          "options": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.CustomPreferences.CustomPreferenceOption"
            },
            "description": "Gets the list of custom preference option entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents a custom preference in Vista Loyalty with a list of custom preference option entities"
      },
      "Ocapi.V1.Loyalty.MasterData.CustomPreferences.CustomPreferenceOption": {
        "title": "CustomPreferenceOption",
        "required": [
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Gets the unique identifier",
            "format": "int32"
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the name text, and its translations"
          }
        },
        "additionalProperties": false,
        "description": "Represents an option for a custom preference"
      },
      "Ocapi.V1.Loyalty.MasterData.EducationLevels.EducationLevel": {
        "title": "EducationLevel",
        "required": [
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Gets the unique identifier",
            "format": "int32"
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the name text, and its translations"
          }
        },
        "additionalProperties": false,
        "description": "Represents the education level of a member"
      },
      "Ocapi.V1.Loyalty.MasterData.Friends.MemberFriendConfiguration": {
        "title": "MemberFriendConfiguration",
        "required": [
          "friendLimit",
          "isSubscriptionSharingRestrictedToActiveSubscribers"
        ],
        "type": "object",
        "properties": {
          "isSubscriptionSharingRestrictedToActiveSubscribers": {
            "type": "boolean",
            "description": "Gets a value indicating whether the member friend subscription sharing functionality is restricted to\r\nmember entities with an active member subscription"
          },
          "friendLimit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Quantity"
              }
            ],
            "description": "Gets the maximum number of member friend entities that a member can have"
          }
        },
        "additionalProperties": false,
        "description": "Represents the configuration for the member friend functionality"
      },
      "Ocapi.V1.Loyalty.MasterData.Genres.LoyaltyGenre": {
        "title": "LoyaltyGenre",
        "required": [
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier"
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the name text, and its translations"
          }
        },
        "additionalProperties": false,
        "description": "Represents a genre in Vista Loyalty"
      },
      "Ocapi.V1.Loyalty.MasterData.Interests.Interest": {
        "title": "Interest",
        "required": [
          "displayPriority",
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Gets the unique identifier",
            "format": "int32"
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the name text, and its translations"
          },
          "displayPriority": {
            "type": "integer",
            "description": "Gets the display priority used for sorting",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Represents an interest that a member can subscribe to"
      },
      "Ocapi.V1.Loyalty.MasterData.Interests.InterestContactMethod": {
        "title": "InterestContactMethod",
        "required": [
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Gets the unique identifier",
            "format": "int32"
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the name text, and its translations"
          }
        },
        "additionalProperties": false,
        "description": "Represents a contact method that can be used to subscribe to an interest"
      },
      "Ocapi.V1.Loyalty.MasterData.Items.LoyaltyItemGroupType": {
        "title": "LoyaltyItemGroupType",
        "enum": [
          "Custom",
          "Ticket",
          "Item",
          "Discount"
        ],
        "type": "string",
        "description": "Represents the type of a loyalty item group"
      },
      "Ocapi.V1.Loyalty.MasterData.LoyaltyMasterData": {
        "title": "LoyaltyMasterData",
        "required": [
          "clubs",
          "customPreferences",
          "educationLevels",
          "externalAuthenticationIssuers",
          "friendConfiguration",
          "genres",
          "interestContactMethods",
          "interests",
          "occupations",
          "photoRequirements",
          "sites"
        ],
        "type": "object",
        "properties": {
          "clubs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Clubs.Club"
            },
            "description": "Gets the list of club entities available to a member"
          },
          "customPreferences": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.CustomPreferences.CustomPreference"
            },
            "description": "Gets the list of custom preference entities used for setting member custom preference entities"
          },
          "educationLevels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.EducationLevels.EducationLevel"
            },
            "description": "Gets the list of education level entities used for setting member personal details EducationLevelId"
          },
          "genres": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.Genres.LoyaltyGenre"
            },
            "description": "Gets the list of loyalty genre entities used for setting member genre preferences"
          },
          "interests": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.Interests.Interest"
            },
            "description": "Gets the list of interest entities used for setting member interest subscription InterestId"
          },
          "interestContactMethods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.Interests.InterestContactMethod"
            },
            "description": "Gets the list of interest contact method entities used for setting member interest subscription InterestContactMethodIds"
          },
          "occupations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.Occupations.Occupation"
            },
            "description": "Gets the list of occupation entities used for setting member personal details OccupationId"
          },
          "photoRequirements": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.Photos.MemberPhotoRequirements"
              }
            ],
            "description": "Gets the upload requirements for a member photo"
          },
          "sites": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.Sites.LoyaltySite"
            },
            "description": "Gets the list of loyalty site entities used for setting member site preferences"
          },
          "friendConfiguration": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.Friends.MemberFriendConfiguration"
              }
            ],
            "description": "Gets the friend configuration"
          },
          "externalAuthenticationIssuers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.Authentication.ExternalAuthenticationIssuer"
            },
            "description": "Gets the list of external authentication issuer entities that can be used to authenticate Loyalty members without\r\nrequiring them to create a password for Loyalty"
          }
        },
        "additionalProperties": false,
        "description": "Represents the master data typically used for creating or updating a member"
      },
      "Ocapi.V1.Loyalty.MasterData.Occupations.Occupation": {
        "title": "Occupation",
        "required": [
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Gets the unique identifier",
            "format": "int32"
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the name text, and its translations"
          }
        },
        "additionalProperties": false,
        "description": "Represents the occupation of a member"
      },
      "Ocapi.V1.Loyalty.MasterData.Photos.MemberPhotoDimensions": {
        "title": "MemberPhotoDimensions",
        "required": [
          "height",
          "width"
        ],
        "type": "object",
        "properties": {
          "width": {
            "type": "integer",
            "description": "Gets the required width in pixels",
            "format": "int32"
          },
          "height": {
            "type": "integer",
            "description": "Gets the required height in pixels",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Represents the exact required dimensions of a member photo"
      },
      "Ocapi.V1.Loyalty.MasterData.Photos.MemberPhotoRequirements": {
        "title": "MemberPhotoRequirements",
        "required": [
          "dimensions",
          "maximumFileSizeInKilobytes",
          "minimumDaysBetweenUpdates"
        ],
        "type": "object",
        "properties": {
          "dimensions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.Photos.MemberPhotoDimensions"
              }
            ],
            "description": "Gets the reqiured dimensions"
          },
          "maximumFileSizeInKilobytes": {
            "type": "integer",
            "description": "Gets the maximum allowed file size in kilobytes",
            "format": "int32"
          },
          "minimumDaysBetweenUpdates": {
            "type": "integer",
            "description": "Gets the minimum number of days allowed between photo updates",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Represents the upload requirements for a member photo"
      },
      "Ocapi.V1.Loyalty.MasterData.Rewards.Reward": {
        "title": "Reward",
        "required": [
          "id",
          "name",
          "restrictions",
          "type"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Gets the unique identifier",
            "format": "int32"
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the name text, and its translations"
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the description text, and its translations"
          },
          "balanceCost": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.Rewards.RewardBalanceCost"
              }
            ],
            "description": "Gets the balance cost of redeeming the reward"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.Rewards.RewardType"
              }
            ],
            "description": "Gets the type"
          },
          "itemId": {
            "type": "string",
            "description": "Gets the unique identifier of the associated loyalty item",
            "nullable": true
          },
          "limitPerOrder": {
            "type": "integer",
            "description": "Gets the maximum quantity available to a member per order base",
            "format": "int32",
            "nullable": true
          },
          "limitPerShowtime": {
            "type": "integer",
            "description": "Gets the maximum quantity available to a member per showtime",
            "format": "int32",
            "nullable": true
          },
          "discountCalculation": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.DiscountCalculations.PercentageOffDiscountCalculation"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.DiscountCalculations.PriceOffDiscountCalculation"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.DiscountCalculations.SpecialPriceDiscountCalculation"
              }
            ],
            "description": "Represents the base properties that describe the calculation of a discount"
          },
          "restrictions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.Rewards.RewardRestriction"
            },
            "description": "Gets the restrictions that apply"
          }
        },
        "additionalProperties": false,
        "description": "Represents a reward in Vista Loyalty that can be earned by a member"
      },
      "Ocapi.V1.Loyalty.MasterData.Rewards.RewardBalanceCost": {
        "title": "RewardBalanceCost",
        "required": [
          "balanceTypeId",
          "units"
        ],
        "type": "object",
        "properties": {
          "balanceTypeId": {
            "type": "integer",
            "description": "Gets the unique identifier of the balance type",
            "format": "int32"
          },
          "units": {
            "type": "number",
            "description": "Gets the cost in balance type units",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Represents a balance cost of redeeming a reward"
      },
      "Ocapi.V1.Loyalty.MasterData.Rewards.RewardRestriction": {
        "title": "RewardRestriction",
        "enum": [
          "MemberRewardAvailability"
        ],
        "type": "string",
        "description": "Represents the restriction options for a reward"
      },
      "Ocapi.V1.Loyalty.MasterData.Rewards.RewardType": {
        "title": "RewardType",
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the name text, and its translations"
          }
        },
        "additionalProperties": false,
        "description": "Represents the type of a reward"
      },
      "Ocapi.V1.Loyalty.MasterData.Sites.LoyaltySite": {
        "title": "LoyaltySite",
        "required": [
          "allowedItemDeliveryMethods",
          "contactDetails",
          "hasSellableItems",
          "ianaTimeZoneName",
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "location": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.GeographicLocation"
              }
            ],
            "description": "Gets the geographic location"
          },
          "contactDetails": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Sites.SiteContactDetails"
              }
            ],
            "description": "Gets the contact details"
          },
          "ianaTimeZoneName": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the IANA time zone name",
            "example": "America/New_York"
          },
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier"
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the name text, and its translations"
          },
          "hasSellableItems": {
            "type": "boolean",
            "description": "Gets a value indicating whether the site has any sellable item entities"
          },
          "allowedItemDeliveryMethods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.DeliveryMethods.ItemDeliveryMethod"
            },
            "description": "Gets the list of allowed item delivery method entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents a site in Vista Loyalty"
      },
      "Ocapi.V1.Loyalty.MasterData.Subscriptions.Subscription": {
        "title": "Subscription",
        "required": [
          "clubId",
          "id",
          "minimumTermBeforeCanPurchaseFutureSubscriptionInMonths",
          "minimumTermInMonths",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Gets the unique identifier",
            "format": "int32"
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the name text, and its translations"
          },
          "clubId": {
            "type": "integer",
            "description": "Gets the unique identifier of the club",
            "format": "int32"
          },
          "minimumTermInMonths": {
            "type": "integer",
            "description": "Gets the minimum number of number of months required for the subscription term",
            "format": "int32"
          },
          "minimumTermBeforeCanPurchaseFutureSubscriptionInMonths": {
            "type": "integer",
            "description": "Gets the minimum number of months that must be completed before purchase of another subscription will be allowed",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Represents a subscription to a paid club in Vista Loyalty"
      },
      "Ocapi.V1.Loyalty.Members.Authentication.MemberAuthenticationToken": {
        "title": "MemberAuthenticationToken",
        "required": [
          "access_token",
          "expires_in",
          "token_type"
        ],
        "type": "object",
        "properties": {
          "access_token": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the access token"
          },
          "token_type": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the type",
            "example": "Bearer"
          },
          "expires_in": {
            "type": "integer",
            "description": "Gets the expiry time in seconds",
            "format": "int32"
          },
          "refresh_token": {
            "type": "string",
            "description": "Gets the refresh token",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a successful member authentication response"
      },
      "Ocapi.V1.Loyalty.Members.Authentication.MemberAuthenticationType": {
        "title": "MemberAuthenticationType",
        "enum": [
          "None",
          "Token",
          "Cookie"
        ],
        "type": "string",
        "description": "Represents the different types of authentication that can be returned for a member"
      },
      "Ocapi.V1.Loyalty.Members.Balances.MemberBalance": {
        "title": "MemberBalance",
        "required": [
          "availableUnits",
          "balanceTypeId",
          "expiries"
        ],
        "type": "object",
        "properties": {
          "balanceTypeId": {
            "type": "integer",
            "description": "Gets the unique identifier of the balance type",
            "format": "int32"
          },
          "availableUnits": {
            "type": "number",
            "description": "Gets the current available balance type units",
            "format": "double"
          },
          "expiries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Balances.MemberBalanceExpiry"
            },
            "description": "Gets the list member balance expiry entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents an instance of a balance type belonging to a member"
      },
      "Ocapi.V1.Loyalty.Members.Balances.MemberBalanceExpiry": {
        "title": "MemberBalanceExpiry",
        "required": [
          "expiresAt",
          "units"
        ],
        "type": "object",
        "properties": {
          "units": {
            "type": "number",
            "description": "Gets the number of balance type units that are expiring",
            "format": "double"
          },
          "expiresAt": {
            "type": "string",
            "description": "Gets the date and time that the units expire",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Represents a number of member balance units that are expiring"
      },
      "Ocapi.V1.Loyalty.Members.Cards.MemberCard": {
        "title": "MemberCard",
        "required": [
          "cardNumber",
          "isPrimary"
        ],
        "type": "object",
        "properties": {
          "cardNumber": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the card number"
          },
          "isPrimary": {
            "type": "boolean",
            "description": "Gets a value indicating whether this is the primary card"
          }
        },
        "additionalProperties": false,
        "description": "Represents a card, used to identify, and in some cases authenticate, a member"
      },
      "Ocapi.V1.Loyalty.Members.ClubMemberships.MemberClubMembership": {
        "title": "MemberClubMembership",
        "required": [
          "clubId"
        ],
        "type": "object",
        "properties": {
          "clubId": {
            "type": "integer",
            "description": "Gets the unique identifier of the club",
            "format": "int32"
          },
          "clubLevelId": {
            "type": "integer",
            "description": "Gets the unique identifier of the club level, if applicable",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a member entity's membership of a club"
      },
      "Ocapi.V1.Loyalty.Members.CompletedOrders.Items.Normal.MemberCompletedOrderNormalItemLine": {
        "title": "MemberCompletedOrderNormalItemLine",
        "required": [
          "id",
          "itemId",
          "refundStatus",
          "type"
        ],
        "type": "object",
        "properties": {
          "itemId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the item base"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.ItemType"
              }
            ],
            "description": "Gets the item type"
          },
          "parentSalesItemId": {
            "type": "string",
            "description": "Gets the unique identifier of the parent sales item this item is an option for",
            "nullable": true
          },
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the identifier that can be used to uniquely identify the line within the member completed order base"
          },
          "refundStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Lines.OrderLineRefundStatus"
              }
            ],
            "description": "Gets the refund status"
          }
        },
        "additionalProperties": false,
        "description": "Represents a member completed order item line base for a normal item"
      },
      "Ocapi.V1.Loyalty.Members.CompletedOrders.Items.Package.MemberCompletedOrderPackageContentItem": {
        "title": "MemberCompletedOrderPackageContentItem",
        "required": [
          "itemId",
          "type"
        ],
        "type": "object",
        "properties": {
          "itemId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the item base"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.ItemType"
              }
            ],
            "description": "Gets the item type"
          },
          "parentSalesItemId": {
            "type": "string",
            "description": "Gets the unique identifier of the parent sales item this item is an option for",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a customized package item content item within a member completed order package item line"
      },
      "Ocapi.V1.Loyalty.Members.CompletedOrders.Items.Package.MemberCompletedOrderPackageItemLine": {
        "title": "MemberCompletedOrderPackageItemLine",
        "required": [
          "id",
          "itemId",
          "items",
          "refundStatus",
          "type"
        ],
        "type": "object",
        "properties": {
          "itemId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the item base"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.ItemType"
              }
            ],
            "description": "Gets the item type"
          },
          "parentSalesItemId": {
            "type": "string",
            "description": "Gets the unique identifier of the parent sales item this item is an option for",
            "nullable": true
          },
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the identifier that can be used to uniquely identify the line within the member completed order base"
          },
          "refundStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Lines.OrderLineRefundStatus"
              }
            ],
            "description": "Gets the refund status"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.CompletedOrders.Items.Package.MemberCompletedOrderPackageContentItem"
            },
            "description": "Gets the list of member completed order package content item entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents a member completed order item line base for a package item"
      },
      "Ocapi.V1.Loyalty.Members.CompletedOrders.Items.Recipe.MemberCompletedOrderRecipeItemLine": {
        "title": "MemberCompletedOrderRecipeItemLine",
        "required": [
          "id",
          "itemId",
          "refundStatus",
          "type"
        ],
        "type": "object",
        "properties": {
          "itemId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the item base"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.ItemType"
              }
            ],
            "description": "Gets the item type"
          },
          "parentSalesItemId": {
            "type": "string",
            "description": "Gets the unique identifier of the parent sales item this item is an option for",
            "nullable": true
          },
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the identifier that can be used to uniquely identify the line within the member completed order base"
          },
          "refundStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Lines.OrderLineRefundStatus"
              }
            ],
            "description": "Gets the refund status"
          }
        },
        "additionalProperties": false,
        "description": "Represents a member completed order item line base for a recipe item"
      },
      "Ocapi.V1.Loyalty.Members.CompletedOrders.Items.WeightBased.MemberCompletedOrderWeightBasedItemLine": {
        "title": "MemberCompletedOrderWeightBasedItemLine",
        "required": [
          "id",
          "itemId",
          "refundStatus",
          "type"
        ],
        "type": "object",
        "properties": {
          "itemId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the item base"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.ItemType"
              }
            ],
            "description": "Gets the item type"
          },
          "parentSalesItemId": {
            "type": "string",
            "description": "Gets the unique identifier of the parent sales item this item is an option for",
            "nullable": true
          },
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the identifier that can be used to uniquely identify the line within the member completed order base"
          },
          "refundStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Lines.OrderLineRefundStatus"
              }
            ],
            "description": "Gets the refund status"
          }
        },
        "additionalProperties": false,
        "description": "Represents a member completed order item line base for a weight based item"
      },
      "Ocapi.V1.Loyalty.Members.CompletedOrders.MemberCompletedGiftShopOrder": {
        "title": "MemberCompletedGiftShopOrder",
        "required": [
          "amountSaved",
          "createdAt",
          "expiresAt",
          "items",
          "totalPrice",
          "type"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Gets the unique identifier",
            "nullable": true
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.OrderType"
              }
            ],
            "description": "Gets the type"
          },
          "totalPrice": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the total price to be displayed to the customer"
          },
          "amountSaved": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the monetary amount saved via discounted prices"
          },
          "expiresAt": {
            "type": "string",
            "description": "Gets the date and time that the order is set to expire",
            "format": "date-time"
          },
          "createdAt": {
            "type": "string",
            "description": "Gets the date and time that the order was completed",
            "format": "date-time"
          },
          "items": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.CompletedOrders.Items.WeightBased.MemberCompletedOrderWeightBasedItemLine"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.CompletedOrders.Items.Recipe.MemberCompletedOrderRecipeItemLine"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.CompletedOrders.Items.Package.MemberCompletedOrderPackageItemLine"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.CompletedOrders.Items.Normal.MemberCompletedOrderNormalItemLine"
                }
              ],
              "description": "Represents the base properties of a member completed order line for a top-level instance of an item base\r\nwithin a member completed standard order or member completed gift shop order"
            },
            "description": "Gets the list of member completed order item line base entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents a completed gift shop order belonging to a member"
      },
      "Ocapi.V1.Loyalty.Members.CompletedOrders.MemberCompletedOrderListDetails": {
        "title": "MemberCompletedOrderListDetails",
        "required": [
          "orders",
          "relatedData"
        ],
        "type": "object",
        "properties": {
          "orders": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.CompletedOrders.MemberCompletedGiftShopOrder"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.CompletedOrders.MemberCompletedStandardOrder"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.CompletedOrders.MemberCompletedSubscriptionOrder"
                }
              ],
              "description": "Represents a completed order base belonging to a member"
            },
            "description": "Gets the list of member completed order base entities"
          },
          "relatedData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.CompletedOrders.RelatedData.MemberCompletedOrderListRelatedData"
              }
            ],
            "description": "Gets the related data for the member completed order base entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents a list of member completed order base entities, and their related data"
      },
      "Ocapi.V1.Loyalty.Members.CompletedOrders.MemberCompletedOrderPaginatedResultSet": {
        "title": "MemberCompletedOrderPaginatedResultSet",
        "required": [
          "hasMoreResults",
          "relatedData",
          "results"
        ],
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.CompletedOrders.MemberCompletedGiftShopOrder"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.CompletedOrders.MemberCompletedStandardOrder"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.CompletedOrders.MemberCompletedSubscriptionOrder"
                }
              ],
              "description": "Represents a completed order base belonging to a member"
            },
            "description": "Gets the list of results"
          },
          "relatedData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.CompletedOrders.RelatedData.MemberCompletedOrderListRelatedData"
              }
            ],
            "description": "Gets the related data for the member completed order base entities"
          },
          "hasMoreResults": {
            "type": "boolean",
            "description": "Gets a value indicating whether any more results are available"
          }
        },
        "additionalProperties": false,
        "description": "Represents a paginated result set of member completed order base entities, and their related data"
      },
      "Ocapi.V1.Loyalty.Members.CompletedOrders.MemberCompletedStandardOrder": {
        "title": "MemberCompletedStandardOrder",
        "required": [
          "amountSaved",
          "createdAt",
          "expiresAt",
          "items",
          "showtimes",
          "siteId",
          "totalPrice",
          "type"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Gets the unique identifier",
            "nullable": true
          },
          "parentOrderId": {
            "type": "string",
            "description": "Gets the unique identifier of the parent order, if applicable",
            "nullable": true
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.OrderType"
              }
            ],
            "description": "Gets the type"
          },
          "totalPrice": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the total price to be displayed to the customer"
          },
          "amountSaved": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the monetary amount saved via discounted prices"
          },
          "expiresAt": {
            "type": "string",
            "description": "Gets the date and time that the order is set to expire",
            "format": "date-time"
          },
          "createdAt": {
            "type": "string",
            "description": "Gets the date and time that the order was completed",
            "format": "date-time"
          },
          "siteId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the site"
          },
          "showtimes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.CompletedOrders.Showtimes.MemberCompletedOrderShowtime"
            },
            "description": "Gets the list of member completed order showtime entities"
          },
          "items": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.CompletedOrders.Items.WeightBased.MemberCompletedOrderWeightBasedItemLine"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.CompletedOrders.Items.Recipe.MemberCompletedOrderRecipeItemLine"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.CompletedOrders.Items.Package.MemberCompletedOrderPackageItemLine"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.CompletedOrders.Items.Normal.MemberCompletedOrderNormalItemLine"
                }
              ],
              "description": "Represents the base properties of a member completed order line for a top-level instance of an item base\r\nwithin a member completed standard order or member completed gift shop order"
            },
            "description": "Gets the list of member completed order item line base entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents a completed standard order belonging to a member"
      },
      "Ocapi.V1.Loyalty.Members.CompletedOrders.MemberCompletedSubscriptionOrder": {
        "title": "MemberCompletedSubscriptionOrder",
        "required": [
          "amountSaved",
          "createdAt",
          "expiresAt",
          "subscription",
          "totalPrice",
          "type"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Gets the unique identifier",
            "nullable": true
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.OrderType"
              }
            ],
            "description": "Gets the type"
          },
          "totalPrice": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the total price to be displayed to the customer"
          },
          "amountSaved": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the monetary amount saved via discounted prices"
          },
          "expiresAt": {
            "type": "string",
            "description": "Gets the date and time that the order is set to expire",
            "format": "date-time"
          },
          "createdAt": {
            "type": "string",
            "description": "Gets the date and time that the order was completed",
            "format": "date-time"
          },
          "subscription": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.CompletedOrders.Subscriptions.MemberCompletedOrderSubscription"
              }
            ],
            "description": "Gets the subscription"
          }
        },
        "additionalProperties": false,
        "description": "Represents a completed subscription order belonging to a member"
      },
      "Ocapi.V1.Loyalty.Members.CompletedOrders.RelatedData.MemberCompletedOrderListRelatedData": {
        "title": "MemberCompletedOrderListRelatedData",
        "required": [
          "censorRatings",
          "films",
          "items",
          "showtimes",
          "sites",
          "subscriptionBillingOptions",
          "subscriptions",
          "ticketTypes"
        ],
        "type": "object",
        "properties": {
          "films": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.CompletedOrders.RelatedData.MemberCompletedOrderRelatedFilm"
            },
            "description": "Gets the list of related member completed order related film entities"
          },
          "ticketTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.CompletedOrders.RelatedData.MemberCompletedOrderRelatedTicketType"
            },
            "description": "Gets the list of related member completed order related ticket type entities"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.CompletedOrders.RelatedData.MemberCompletedOrderRelatedItem"
            },
            "description": "Gets the list of related member completed order related item entities"
          },
          "showtimes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.CompletedOrders.RelatedData.MemberCompletedOrderRelatedShowtime"
            },
            "description": "Gets the list of related member completed order related showtime entities"
          },
          "sites": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.Sites.LoyaltySite"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Sites.Site"
                }
              ],
              "description": "Represents a physical location that belongs to a cinema chain, consisting of one or more screen entities"
            },
            "description": "Gets the list of related site entities"
          },
          "censorRatings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.CensorRatings.CensorRating"
            },
            "description": "Gets the list of related censor rating entities"
          },
          "subscriptionBillingOptions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.CompletedOrders.RelatedData.MemberCompletedOrderRelatedSubscriptionBillingOption"
            },
            "description": "Gets the list of related member completed order related subscription billing option entities"
          },
          "subscriptions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.CompletedOrders.RelatedData.MemberCompletedOrderRelatedSubscription"
            },
            "description": "Gets the list of related member completed order related subscription entities"
          }
        },
        "additionalProperties": false,
        "description": "Related data for a list of member completed order base entities"
      },
      "Ocapi.V1.Loyalty.Members.CompletedOrders.RelatedData.MemberCompletedOrderRelatedFilm": {
        "title": "MemberCompletedOrderRelatedFilm",
        "required": [
          "externalIds",
          "id",
          "title"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string"
          },
          "title": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ]
          },
          "censorRatingId": {
            "type": "string",
            "nullable": true
          },
          "censorRatingNote": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ]
          },
          "externalIds": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Films.FilmExternalIds"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "Represents the film data related to a member completed order base"
      },
      "Ocapi.V1.Loyalty.Members.CompletedOrders.RelatedData.MemberCompletedOrderRelatedItem": {
        "title": "MemberCompletedOrderRelatedItem",
        "required": [
          "hoCode",
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier"
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the name text, and its translations"
          },
          "hoCode": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the Head Office code"
          },
          "hopk": {
            "type": "string",
            "description": "Gets the Head Office primary key",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the item base data related to a member completed order base"
      },
      "Ocapi.V1.Loyalty.Members.CompletedOrders.RelatedData.MemberCompletedOrderRelatedShowtime": {
        "title": "MemberCompletedOrderRelatedShowtime",
        "required": [
          "filmId",
          "id",
          "schedule"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string"
          },
          "schedule": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Showtimes.ShowtimeSchedule"
              }
            ]
          },
          "filmId": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false,
        "description": "Represents the showtime data related to a member completed order base"
      },
      "Ocapi.V1.Loyalty.Members.CompletedOrders.RelatedData.MemberCompletedOrderRelatedSubscription": {
        "title": "MemberCompletedOrderRelatedSubscription",
        "required": [
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Gets the unique identifier",
            "format": "int32"
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the name text, and its translations"
          }
        },
        "additionalProperties": false,
        "description": "Represents the subscription data related to a member completed subscription order"
      },
      "Ocapi.V1.Loyalty.Members.CompletedOrders.RelatedData.MemberCompletedOrderRelatedSubscriptionBillingOption": {
        "title": "MemberCompletedOrderRelatedSubscriptionBillingOption",
        "required": [
          "billingPeriodInMonths",
          "id",
          "isRecurring",
          "name",
          "subscriptionId"
        ],
        "type": "object",
        "properties": {
          "subscriptionId": {
            "type": "integer",
            "format": "int32"
          },
          "billingPeriodInMonths": {
            "type": "integer",
            "format": "int32"
          },
          "isRecurring": {
            "type": "boolean"
          },
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier"
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the name text, and its translations"
          }
        },
        "additionalProperties": false,
        "description": "Represents the subscription billing option data related to a member completed subscription order"
      },
      "Ocapi.V1.Loyalty.Members.CompletedOrders.RelatedData.MemberCompletedOrderRelatedTicketType": {
        "title": "MemberCompletedOrderRelatedTicketType",
        "required": [
          "description",
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string"
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "Represents the ticket type base data related to a member completed order base"
      },
      "Ocapi.V1.Loyalty.Members.CompletedOrders.Seats.MemberCompletedOrderSeat": {
        "title": "MemberCompletedOrderSeat",
        "required": [
          "rowLabel",
          "seatId"
        ],
        "type": "object",
        "properties": {
          "seatId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the seat"
          },
          "seatLabel": {
            "type": "string",
            "description": "Gets the label/physical name of the seat",
            "nullable": true
          },
          "rowLabel": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the label/physical name of the row"
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of a seat in the context of a member completed order base"
      },
      "Ocapi.V1.Loyalty.Members.CompletedOrders.Showtimes.MemberCompletedOrderShowtime": {
        "title": "MemberCompletedOrderShowtime",
        "required": [
          "seats",
          "showtimeId",
          "tickets"
        ],
        "type": "object",
        "properties": {
          "showtimeId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the showtime",
            "readOnly": true
          },
          "tickets": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.CompletedOrders.Tickets.Package.MemberCompletedOrderPackageTicketLine"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.CompletedOrders.Tickets.Normal.MemberCompletedOrderNormalTicketLine"
                }
              ],
              "description": "Represents the base properties of a member completed order line for an instance of a ticket type base within a member completed order showtime"
            },
            "description": "Gets the list of member completed order ticket line base entities"
          },
          "seats": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.CompletedOrders.Seats.MemberCompletedOrderSeat"
            },
            "description": "Gets the list of member completed order seat entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents the selected tickets and/or seats for a showtime within a member completed standard order"
      },
      "Ocapi.V1.Loyalty.Members.CompletedOrders.Subscriptions.MemberCompletedOrderSubscription": {
        "title": "MemberCompletedOrderSubscription",
        "required": [
          "subscriptionBillingOptionId",
          "subscriptionId"
        ],
        "type": "object",
        "properties": {
          "subscriptionId": {
            "type": "integer",
            "description": "Gets the unique identifier of the subscription",
            "format": "int32"
          },
          "subscriptionBillingOptionId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the subscription billing option"
          }
        },
        "additionalProperties": false,
        "description": "Represents the selected subscription billing option within a member completed subscription order"
      },
      "Ocapi.V1.Loyalty.Members.CompletedOrders.Tickets.Normal.MemberCompletedOrderNormalTicketLine": {
        "title": "MemberCompletedOrderNormalTicketLine",
        "required": [
          "id",
          "refundStatus",
          "ticketTypeId",
          "type"
        ],
        "type": "object",
        "properties": {
          "ticketTypeId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the ticket type base"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.TicketTypes.TicketTypeType"
              }
            ],
            "description": "Gets the type"
          },
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the identifier that can be used to uniquely identify the line within the member completed order base"
          },
          "refundStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Lines.OrderLineRefundStatus"
              }
            ],
            "description": "Gets the refund status"
          }
        },
        "additionalProperties": false,
        "description": "Represents a member completed order ticket line base for an instance of a normal ticket type"
      },
      "Ocapi.V1.Loyalty.Members.CompletedOrders.Tickets.Package.MemberCompletedOrderPackageTicketContentItem": {
        "title": "MemberCompletedOrderPackageTicketContentItem",
        "required": [
          "itemId"
        ],
        "type": "object",
        "properties": {
          "itemId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the item base"
          }
        },
        "additionalProperties": false,
        "description": "Represents an item base within a member completed order package ticket line"
      },
      "Ocapi.V1.Loyalty.Members.CompletedOrders.Tickets.Package.MemberCompletedOrderPackageTicketContentTicket": {
        "title": "MemberCompletedOrderPackageTicketContentTicket",
        "required": [
          "ticketTypeId"
        ],
        "type": "object",
        "properties": {
          "ticketTypeId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the normal ticket type"
          }
        },
        "additionalProperties": false,
        "description": "Represents a normal ticket type within a member completed order package ticket line"
      },
      "Ocapi.V1.Loyalty.Members.CompletedOrders.Tickets.Package.MemberCompletedOrderPackageTicketLine": {
        "title": "MemberCompletedOrderPackageTicketLine",
        "required": [
          "id",
          "items",
          "refundStatus",
          "tickets",
          "ticketTypeId",
          "type"
        ],
        "type": "object",
        "properties": {
          "tickets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.CompletedOrders.Tickets.Package.MemberCompletedOrderPackageTicketContentTicket"
            },
            "description": "Gets the list of member completed order package ticket content ticket entities"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.CompletedOrders.Tickets.Package.MemberCompletedOrderPackageTicketContentItem"
            },
            "description": "Gets the list of member completed order package ticket content item entities"
          },
          "ticketTypeId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the ticket type base"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.TicketTypes.TicketTypeType"
              }
            ],
            "description": "Gets the type"
          },
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the identifier that can be used to uniquely identify the line within the member completed order base"
          },
          "refundStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Lines.OrderLineRefundStatus"
              }
            ],
            "description": "Gets the refund status"
          }
        },
        "additionalProperties": false,
        "description": "Represents a member completed order package ticket line for an instance of a package ticket type"
      },
      "Ocapi.V1.Loyalty.Members.Create.CreatedMemberDetails": {
        "title": "CreatedMemberDetails",
        "required": [
          "memberDetails"
        ],
        "type": "object",
        "properties": {
          "memberDetails": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.MemberDetails"
              }
            ],
            "description": "Gets the member details entity"
          },
          "authenticationToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Authentication.MemberAuthenticationToken"
              }
            ],
            "description": "Gets the member authentication token for the created member, if the\r\nmember authentication type Token authentication type was requested"
          }
        },
        "additionalProperties": false,
        "description": "Represents a member that has just been created, and its related data.\r\nIncludes an created member details AuthenticationToken for the created member, if requested"
      },
      "Ocapi.V1.Loyalty.Members.Create.MemberCreate": {
        "title": "MemberCreate",
        "required": [
          "acceptedTermsAndConditions",
          "clubMembership",
          "credentials"
        ],
        "type": "object",
        "properties": {
          "credentials": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Credentials.MemberCredentialsCreate"
              }
            ],
            "description": "Gets the credentials"
          },
          "clubMembership": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.ClubMemberships.MemberClubMembership"
              }
            ],
            "description": "Gets the club membership details"
          },
          "personalDetails": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.PersonalDetails.MemberPersonalDetails"
              }
            ],
            "description": "Gets the personal details"
          },
          "acceptedTermsAndConditions": {
            "type": "boolean",
            "description": "Gets a value indicating whether the member accepted the terms and conditions"
          },
          "authenticationType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Authentication.MemberAuthenticationType"
              }
            ],
            "description": "Gets the type of authentication that should be returned along with the created member details"
          }
        },
        "additionalProperties": false,
        "description": "Represents the values needed to create a member"
      },
      "Ocapi.V1.Loyalty.Members.Credentials.MemberCredentials": {
        "title": "MemberCredentials",
        "type": "object",
        "properties": {
          "username": {
            "type": "string",
            "description": "Gets the username",
            "nullable": true
          },
          "email": {
            "type": "string",
            "description": "Gets the email address",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the authentication credentials of a member"
      },
      "Ocapi.V1.Loyalty.Members.Credentials.MemberCredentialsCreate": {
        "title": "MemberCredentialsCreate",
        "type": "object",
        "properties": {
          "username": {
            "type": "string",
            "description": "Gets the username",
            "nullable": true
          },
          "password": {
            "type": "string",
            "description": "Gets the password",
            "nullable": true
          },
          "pin": {
            "type": "string",
            "description": "Gets the PIN",
            "nullable": true
          },
          "email": {
            "type": "string",
            "description": "Gets the email address",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the authentication credentials of a member being created"
      },
      "Ocapi.V1.Loyalty.Members.EmailAvailability.EmailAvailability": {
        "title": "EmailAvailability",
        "type": "object",
        "properties": {
          "isAvailable": {
            "type": "boolean",
            "description": "Gets a value indicating whether the provided email is available"
          }
        },
        "additionalProperties": false,
        "description": "Represents the availability of an email address in Vista Loyalty"
      },
      "Ocapi.V1.Loyalty.Members.EmailAvailability.EmailAvailabilityValidation": {
        "title": "EmailAvailabilityValidation",
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "description": "Gets the email address",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the properties required to validate the availability of an email address"
      },
      "Ocapi.V1.Loyalty.Members.Friends.MemberFriend": {
        "title": "MemberFriend",
        "required": [
          "createdAt",
          "id",
          "name",
          "subscriptionSharing"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Gets the unique identifier",
            "format": "uuid"
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.PersonName"
              }
            ],
            "description": "Gets the name"
          },
          "photo": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Friends.MemberFriendPhoto"
              }
            ],
            "description": "Gets the photo details"
          },
          "subscriptionSharing": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Friends.MemberFriendSubscriptionSharing"
              }
            ],
            "description": "Gets the subscription sharing details"
          },
          "createdAt": {
            "type": "string",
            "description": "Gets the date and time that the friend was created",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of a member that is the friend of another member"
      },
      "Ocapi.V1.Loyalty.Members.Friends.MemberFriendCode": {
        "title": "MemberFriendCode",
        "required": [
          "expiresAt",
          "friendCode"
        ],
        "type": "object",
        "properties": {
          "friendCode": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the friend code"
          },
          "expiresAt": {
            "type": "string",
            "description": "Gets the date and time that the friend code expires",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Represents the code used to create a member friend"
      },
      "Ocapi.V1.Loyalty.Members.Friends.MemberFriendCodeCreate": {
        "title": "MemberFriendCodeCreate",
        "required": [
          "friendCanUseMemberSubscription"
        ],
        "type": "object",
        "properties": {
          "friendCanUseMemberSubscription": {
            "type": "boolean",
            "description": "Gets a value indicating whether the created member friend can use the member entity's member subscription"
          }
        },
        "additionalProperties": false,
        "description": "Represents the values needed to create a member friend code"
      },
      "Ocapi.V1.Loyalty.Members.Friends.MemberFriendDetails": {
        "title": "MemberFriendDetails",
        "required": [
          "friend",
          "relatedData"
        ],
        "type": "object",
        "properties": {
          "friend": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Friends.MemberFriend"
              }
            ],
            "description": "Gets the member friend entity"
          },
          "relatedData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Friends.MemberFriendRelatedData"
              }
            ],
            "description": "Gets the related data for the member friend entity"
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of a member friend entity, and its related data"
      },
      "Ocapi.V1.Loyalty.Members.Friends.MemberFriendFromCodeCreate": {
        "title": "MemberFriendFromCodeCreate",
        "required": [
          "friendCode"
        ],
        "type": "object",
        "properties": {
          "friendCode": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the member friend code FriendCode"
          }
        },
        "additionalProperties": false,
        "description": "Represents the values needed to create a member friend using a member friend code"
      },
      "Ocapi.V1.Loyalty.Members.Friends.MemberFriendPhoto": {
        "title": "MemberFriendPhoto",
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Photos.MemberPhotoBase"
          }
        ],
        "additionalProperties": false,
        "description": "Represents the details of the photo associated with a member friend"
      },
      "Ocapi.V1.Loyalty.Members.Friends.MemberFriendRelatedData": {
        "title": "MemberFriendRelatedData",
        "required": [
          "subscriptions"
        ],
        "type": "object",
        "properties": {
          "subscriptions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.Subscriptions.Subscription"
            },
            "description": "Gets the list of related subscription entities"
          }
        },
        "additionalProperties": false,
        "description": "Related data for a member friend entity"
      },
      "Ocapi.V1.Loyalty.Members.Friends.MemberFriendSubscription": {
        "title": "MemberFriendSubscription",
        "required": [
          "subscriptionId"
        ],
        "type": "object",
        "properties": {
          "subscriptionId": {
            "type": "integer",
            "description": "Gets the unique identifier of the subscription",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of a member subscription that belongs to a member friend and has been shared with the member"
      },
      "Ocapi.V1.Loyalty.Members.Friends.MemberFriendSubscriptionSharing": {
        "title": "MemberFriendSubscriptionSharing",
        "required": [
          "friendCanUseMemberSubscription",
          "friendSubscriptions"
        ],
        "type": "object",
        "properties": {
          "friendCanUseMemberSubscription": {
            "type": "boolean",
            "description": "Gets a value indicating whether the member friend can use the member entity's member subscription"
          },
          "friendSubscriptions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Friends.MemberFriendSubscription"
            },
            "description": "Gets the list of member friend subscription entities that the member can use"
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of any member subscription sharing between a member friend and a member"
      },
      "Ocapi.V1.Loyalty.Members.Friends.MemberFriendSubscriptionSharingUpdate": {
        "title": "MemberFriendSubscriptionSharingUpdate",
        "required": [
          "friendCanUseMemberSubscription"
        ],
        "type": "object",
        "properties": {
          "friendCanUseMemberSubscription": {
            "type": "boolean",
            "description": "Gets a value indicating whether the member friend can use the member entity's member subscription"
          }
        },
        "additionalProperties": false,
        "description": "Represents the values needed to set the member friend subscription sharing of a member friend"
      },
      "Ocapi.V1.Loyalty.Members.Member": {
        "title": "Member",
        "required": [
          "balances",
          "cards",
          "clubMembership",
          "credentials",
          "friends",
          "id",
          "membershipStartDate",
          "personalDetails"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier"
          },
          "hash": {
            "type": "string",
            "description": "Gets the salted and hashed unique identifier",
            "nullable": true
          },
          "membershipStartDate": {
            "type": "string",
            "description": "Gets the date that the membership started",
            "format": "date-time"
          },
          "credentials": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.PasswordReset.MemberPasswordResetCodeCreate"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Credentials.MemberCredentials"
              }
            ],
            "description": "Represents the authentication credentials of a member"
          },
          "clubMembership": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.ClubMemberships.MemberClubMembership"
              }
            ],
            "description": "Gets the club membership details"
          },
          "personalDetails": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.PersonalDetails.MemberPersonalDetails"
              }
            ],
            "description": "Gets the personal details"
          },
          "cards": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Cards.MemberCard"
            },
            "description": "Gets the list of member card entities"
          },
          "balances": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Balances.MemberBalance"
            },
            "description": "Gets the list of member balance entities"
          },
          "photo": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Photos.MemberPhoto"
              }
            ],
            "description": "Gets the photo details"
          },
          "subscriptions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Subscriptions.MemberSubscriptions"
              }
            ],
            "description": "Gets the subscriptions"
          },
          "friends": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Friends.MemberFriend"
            },
            "description": "Gets the list of member friend entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents a member in Vista Loyalty"
      },
      "Ocapi.V1.Loyalty.Members.MemberDetails": {
        "title": "MemberDetails",
        "required": [
          "member",
          "relatedData"
        ],
        "type": "object",
        "properties": {
          "member": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Member"
              }
            ],
            "description": "Gets the member entity"
          },
          "relatedData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.MemberRelatedData"
              }
            ],
            "description": "Gets the related data for the member entity"
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of a member entity, and its related data"
      },
      "Ocapi.V1.Loyalty.Members.MemberRelatedData": {
        "title": "MemberRelatedData",
        "required": [
          "balanceTypes",
          "club",
          "customPreferences",
          "genres",
          "interestContactMethods",
          "interests",
          "sites",
          "subscriptions"
        ],
        "type": "object",
        "properties": {
          "balanceTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.BalanceTypes.BalanceType"
            },
            "description": "Gets the list of related balance type entities for the member balance entities"
          },
          "club": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Clubs.Club"
              }
            ],
            "description": "Gets the related club entity for the member club membership"
          },
          "clubLevel": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Clubs.ClubLevel"
              }
            ],
            "description": "Gets the related club level entity for the member club membership, if applicable"
          },
          "customPreferences": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.CustomPreferences.CustomPreference"
            },
            "description": "Gets the list of related custom preference entities for the member custom preference entities"
          },
          "educationLevel": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.EducationLevels.EducationLevel"
              }
            ],
            "description": "Gets the related education level entity for the member personal details, if applicable"
          },
          "genres": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.Genres.LoyaltyGenre"
            },
            "description": "Gets the list of related loyalty genre entities for the member genre preferences"
          },
          "interests": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.Interests.Interest"
            },
            "description": "Gets the list of related interest entities for the member interest subscription entities"
          },
          "interestContactMethods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.Interests.InterestContactMethod"
            },
            "description": "Gets the list of related interest contact method entities for the member interest subscription entities"
          },
          "occupation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.Occupations.Occupation"
              }
            ],
            "description": "Gets the related occupation entity for the member personal details, if applicable"
          },
          "sites": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.Sites.LoyaltySite"
            },
            "description": "Gets the list of related loyalty site entities for the member site preferences"
          },
          "subscriptions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.Subscriptions.Subscription"
            },
            "description": "Gets the list of related subscription entities for the member subscription entities"
          }
        },
        "additionalProperties": false,
        "description": "Related data for a member entity"
      },
      "Ocapi.V1.Loyalty.Members.MemberSecureActionValidationType": {
        "title": "MemberSecureActionValidationType",
        "enum": [
          "ValidatePassword",
          "None"
        ],
        "type": "string",
        "description": "Represents the validation type required for a secure member action"
      },
      "Ocapi.V1.Loyalty.Members.PasswordReset.MemberPasswordReset": {
        "title": "MemberPasswordReset",
        "required": [
          "password",
          "resetCode"
        ],
        "type": "object",
        "properties": {
          "resetCode": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the one-time password reset code"
          },
          "password": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the new password"
          }
        },
        "additionalProperties": false,
        "description": "Represents a password to be reset"
      },
      "Ocapi.V1.Loyalty.Members.PasswordReset.MemberPasswordResetCodeCreate": {
        "title": "MemberPasswordResetCodeCreate",
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "description": "Gets the email address",
            "nullable": true
          },
          "username": {
            "type": "string",
            "description": "Gets the username",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a request to create a password reset code"
      },
      "Ocapi.V1.Loyalty.Members.PasswordReset.MemberPasswordResetCodeValidation": {
        "title": "MemberPasswordResetCodeValidation",
        "required": [
          "resetCode"
        ],
        "type": "object",
        "properties": {
          "resetCode": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the reset code to validate"
          }
        },
        "additionalProperties": false,
        "description": "Represents a password reset code to be validated"
      },
      "Ocapi.V1.Loyalty.Members.PasswordReset.MemberPasswordResetCodeValidity": {
        "title": "MemberPasswordResetCodeValidity",
        "required": [
          "isValid"
        ],
        "type": "object",
        "properties": {
          "isValid": {
            "type": "boolean",
            "description": "Gets a value indicating whether the provided password reset code is valid"
          }
        },
        "additionalProperties": false,
        "description": "Represents the validity of a password reset code"
      },
      "Ocapi.V1.Loyalty.Members.PaymentCards.EmbeddedMemberPaymentCardClientData": {
        "title": "EmbeddedMemberPaymentCardClientData",
        "required": [
          "connectorFunctionName",
          "connectorParametersJson",
          "connectorScriptUrls",
          "createCardTokenUrl",
          "isButtonIncluded",
          "isPrimaryCardOptionIncluded",
          "memberPaymentCardId",
          "sdkScriptUrls",
          "webPaymentMethodId"
        ],
        "type": "object",
        "properties": {
          "memberPaymentCardId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the member payment card"
          },
          "webPaymentMethodId": {
            "type": "integer",
            "description": "Gets the unique identifier of the web payment method",
            "format": "int32"
          },
          "connectorFunctionName": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the name of the connector function that needs to be called"
          },
          "connectorParametersJson": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the JSON blob of parameters required by the connector"
          },
          "createCardTokenUrl": {
            "type": "string",
            "description": "Gets the create card token URL",
            "format": "uri"
          },
          "sdkScriptUrls": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Gets the list of SDK script URLs that need to be loaded"
          },
          "isButtonIncluded": {
            "type": "boolean",
            "description": "Gets a value indicating whether the payment connector UI includes a submit button"
          },
          "isPrimaryCardOptionIncluded": {
            "type": "boolean",
            "description": "Gets a value indicating whether the primary card option is included"
          },
          "connectorScriptUrls": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Gets the list of connector script URLs that need to be loaded"
          }
        },
        "additionalProperties": false,
        "description": "Represents the details required to initialise the embedded payment UI for adding a member payment card"
      },
      "Ocapi.V1.Loyalty.Members.PaymentCards.MemberPaymentCard": {
        "title": "MemberPaymentCard",
        "required": [
          "cardDetails",
          "id",
          "isPrimary",
          "isUsedForRecurringSubscriptionBilling"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier"
          },
          "cardDetails": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Payments.PaymentCardDetails"
              }
            ],
            "description": "Gets the card details"
          },
          "isPrimary": {
            "type": "boolean",
            "description": "Gets a value indicating whether this is the primary card"
          },
          "isUsedForRecurringSubscriptionBilling": {
            "type": "boolean",
            "description": "Gets a value indicating whether this card is used for automatic payments for a recurring member subscription"
          }
        },
        "additionalProperties": false,
        "description": "Represents a payment card belonging to a member"
      },
      "Ocapi.V1.Loyalty.Members.PaymentCards.MemberPaymentCardListDetails": {
        "title": "MemberPaymentCardListDetails",
        "required": [
          "cards"
        ],
        "type": "object",
        "properties": {
          "cards": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.PaymentCards.MemberPaymentCard"
            },
            "description": "Gets the list of member payment card entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents a list of member payment card entities"
      },
      "Ocapi.V1.Loyalty.Members.PaymentCards.Requests.EmbeddedMemberPaymentCardCreate": {
        "title": "EmbeddedMemberPaymentCardCreate",
        "required": [
          "webPaymentMethodId"
        ],
        "type": "object",
        "properties": {
          "webPaymentMethodId": {
            "type": "integer",
            "description": "Gets the unique identifier of the web payment method",
            "format": "int32"
          },
          "redirectReturnUrl": {
            "type": "string",
            "description": "Gets the URL that the browser will be directed to after the embedded payment has finished, if the requested web payment\r\nmethod requires redirect",
            "format": "uri",
            "nullable": true
          },
          "languageTag": {
            "type": "string",
            "description": "Gets the IETF (RFC 4646) language tag",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the values needed to create an embedded member payment card for one-off order payments"
      },
      "Ocapi.V1.Loyalty.Members.PaymentCards.Requests.MemberPrimaryPaymentCardUpdate": {
        "title": "MemberPrimaryPaymentCardUpdate",
        "required": [
          "memberPaymentCardId"
        ],
        "type": "object",
        "properties": {
          "memberPaymentCardId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the member payment card"
          }
        },
        "additionalProperties": false,
        "description": "Represents the information required to update a member entity's primary member payment card"
      },
      "Ocapi.V1.Loyalty.Members.PersonalDetails.MemberAddress": {
        "title": "MemberAddress",
        "type": "object",
        "properties": {
          "line1": {
            "type": "string",
            "description": "Gets the first line",
            "nullable": true,
            "example": "60 Khyber Pass Road"
          },
          "suburb": {
            "type": "string",
            "description": "Gets the suburb",
            "nullable": true,
            "example": "Grafton"
          },
          "city": {
            "type": "string",
            "description": "Gets the city",
            "nullable": true,
            "example": "Auckland"
          },
          "state": {
            "type": "string",
            "description": "Gets the state",
            "nullable": true,
            "example": null
          },
          "postCode": {
            "type": "string",
            "description": "Gets the post code",
            "nullable": true,
            "example": "1023"
          },
          "country": {
            "type": "string",
            "description": "Gets the country",
            "nullable": true,
            "example": "New Zealand"
          }
        },
        "additionalProperties": false,
        "description": "Represents the physical address of a member"
      },
      "Ocapi.V1.Loyalty.Members.PersonalDetails.MemberContactDetails": {
        "title": "MemberContactDetails",
        "required": [
          "phoneNumbers"
        ],
        "type": "object",
        "properties": {
          "phoneNumbers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.PhoneNumber"
            },
            "description": "Gets the list of phone number entities"
          },
          "address": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.PersonalDetails.MemberAddress"
              }
            ],
            "description": "Gets the physical address"
          },
          "pushNotificationToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.PushNotificationToken"
              }
            ],
            "description": "Gets the push notification token"
          }
        },
        "additionalProperties": false,
        "description": "Represents the contact details of a member"
      },
      "Ocapi.V1.Loyalty.Members.PersonalDetails.MemberGender": {
        "title": "MemberGender",
        "enum": [
          "NotSpecified",
          "Male",
          "Female",
          "Other"
        ],
        "type": "string",
        "description": "Represents the gender of a member"
      },
      "Ocapi.V1.Loyalty.Members.PersonalDetails.MemberInterestSubscription": {
        "title": "MemberInterestSubscription",
        "required": [
          "interestContactMethodIds",
          "interestId"
        ],
        "type": "object",
        "properties": {
          "interestId": {
            "type": "integer",
            "description": "Gets the unique identifier of the interest",
            "format": "int32"
          },
          "interestContactMethodIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Gets the list of unique identifiers of the selected interest contact method entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents a member entity's subscription to an interest"
      },
      "Ocapi.V1.Loyalty.Members.PersonalDetails.MemberMaritalStatus": {
        "title": "MemberMaritalStatus",
        "enum": [
          "NotSpecified",
          "Single",
          "Married",
          "Partnered",
          "Divorced",
          "Other"
        ],
        "type": "string",
        "description": "Represents the marital status of a member"
      },
      "Ocapi.V1.Loyalty.Members.PersonalDetails.MemberPersonalDetails": {
        "title": "MemberPersonalDetails",
        "required": [
          "contactDetails",
          "gender",
          "interestSubscriptions",
          "maritalStatus",
          "name",
          "preferences"
        ],
        "type": "object",
        "properties": {
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.PersonName"
              }
            ],
            "description": "Gets the name"
          },
          "contactDetails": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.PersonalDetails.MemberContactDetails"
              }
            ],
            "description": "Gets the contact details"
          },
          "interestSubscriptions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.PersonalDetails.MemberInterestSubscription"
            },
            "description": "Gets the list of member interest subscription entities"
          },
          "preferences": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Preferences.MemberPreferences"
              }
            ],
            "description": "Gets the preferences"
          },
          "birthDate": {
            "type": "string",
            "description": "Gets the date of birth, if known",
            "format": "date-time",
            "nullable": true
          },
          "maritalStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.PersonalDetails.MemberMaritalStatus"
              }
            ],
            "description": "Gets the marital status"
          },
          "gender": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.PersonalDetails.MemberGender"
              }
            ],
            "description": "Gets the gender"
          },
          "educationLevelId": {
            "type": "integer",
            "description": "Gets the unique identifier of the education level, if known",
            "format": "int32",
            "nullable": true
          },
          "occupationId": {
            "type": "integer",
            "description": "Gets the unique identifier of the occupation, if known",
            "format": "int32",
            "nullable": true
          },
          "householdPersonCount": {
            "type": "integer",
            "description": "Gets the number of people living in the household, if known",
            "format": "int32",
            "nullable": true
          },
          "nationalId": {
            "type": "string",
            "description": "Gets the national unique identifier, if known",
            "nullable": true
          },
          "externalId": {
            "type": "string",
            "description": "Gets the unique identifier used in a previous loyalty system, if known",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the personal details of a member"
      },
      "Ocapi.V1.Loyalty.Members.Photos.CreatedMemberPhoto": {
        "title": "CreatedMemberPhoto",
        "type": "object",
        "properties": {
          "memberPhoto": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Photos.MemberPhoto"
              }
            ],
            "description": "Gets the member photo entity"
          }
        },
        "additionalProperties": false,
        "description": "Represents a member photo that has just been created"
      },
      "Ocapi.V1.Loyalty.Members.Photos.MemberPhoto": {
        "title": "MemberPhoto",
        "required": [
          "canBeUpdatedAt",
          "isUpdatable"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Photos.MemberPhotoBase"
          }
        ],
        "properties": {
          "isUpdatable": {
            "type": "boolean",
            "description": "Gets a value indicating whether the member is currently allowed to update their photo"
          },
          "canBeUpdatedAt": {
            "type": "string",
            "description": "Gets the date and time that the member can update their photo",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of the photo associated with a member"
      },
      "Ocapi.V1.Loyalty.Members.Photos.MemberPhotoBase": {
        "title": "MemberPhotoBase",
        "required": [
          "uri",
          "uriExpiresAt"
        ],
        "type": "object",
        "properties": {
          "uriExpiresAt": {
            "type": "string",
            "description": "Gets the date and time that the URI returned for retrieving the photo is no longer valid",
            "format": "date-time"
          },
          "uri": {
            "type": "string",
            "description": "Gets the address used for retrieving the photo",
            "format": "uri"
          }
        },
        "additionalProperties": false,
        "description": "Represents the base properties of the photo associated with a member"
      },
      "Ocapi.V1.Loyalty.Members.Preferences.MemberContactMethod": {
        "title": "MemberContactMethod",
        "enum": [
          "Sms",
          "Email",
          "Mail",
          "Phone",
          "Fax"
        ],
        "type": "string",
        "description": "Represents the methods by which a member can be contacted"
      },
      "Ocapi.V1.Loyalty.Members.Preferences.MemberContactPreferences": {
        "title": "MemberContactPreferences",
        "required": [
          "allowThirdPartyContact",
          "contactMethods",
          "mailerFrequency"
        ],
        "type": "object",
        "properties": {
          "contactMethods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Preferences.MemberContactMethod"
            },
            "description": "Gets the list of preferred member contact method entities"
          },
          "mailerFrequency": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Preferences.MemberMailerFrequency"
              }
            ],
            "description": "Gets the mailer frequency"
          },
          "allowThirdPartyContact": {
            "type": "boolean",
            "description": "Gets a value indicating whether the member has consented to being contacted by third parties"
          }
        },
        "additionalProperties": false,
        "description": "Represents the contact preferences of a member"
      },
      "Ocapi.V1.Loyalty.Members.Preferences.MemberCustomPreference": {
        "title": "MemberCustomPreference",
        "required": [
          "customPreferenceId",
          "customPreferenceOptionIds"
        ],
        "type": "object",
        "properties": {
          "customPreferenceId": {
            "type": "integer",
            "description": "Gets the unique identifier of the custom preference",
            "format": "int32"
          },
          "customPreferenceOptionIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Gets the list of unique identifiers of the selected custom preference option entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents the custom preference selections of a member"
      },
      "Ocapi.V1.Loyalty.Members.Preferences.MemberGenrePreferences": {
        "title": "MemberGenrePreferences",
        "required": [
          "preferredGenreIds"
        ],
        "type": "object",
        "properties": {
          "preferredGenreIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Gets the list of unique identifiers of the preferred loyalty genre entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents the loyalty genre preferences of a member"
      },
      "Ocapi.V1.Loyalty.Members.Preferences.MemberMailerFrequency": {
        "title": "MemberMailerFrequency",
        "enum": [
          "Never",
          "Weekly",
          "Fortnightly",
          "Monthly"
        ],
        "type": "string",
        "description": "Represents how often the member receives a mailer"
      },
      "Ocapi.V1.Loyalty.Members.Preferences.MemberPreferences": {
        "title": "MemberPreferences",
        "required": [
          "allowThirdPartyProfiling",
          "contact",
          "customPreferences",
          "genres",
          "sites"
        ],
        "type": "object",
        "properties": {
          "sites": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Preferences.MemberSitePreferences"
              }
            ],
            "description": "Gets the site preferences"
          },
          "genres": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Preferences.MemberGenrePreferences"
              }
            ],
            "description": "Gets the genre preferences"
          },
          "contact": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Preferences.MemberContactPreferences"
              }
            ],
            "description": "Gets the contact preferences"
          },
          "customPreferences": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Preferences.MemberCustomPreference"
            },
            "description": "Gets the list of member custom preference entities"
          },
          "languageTag": {
            "type": "string",
            "description": "Gets the IETF (RFC 4646) language tag",
            "nullable": true,
            "example": "en-US"
          },
          "allowThirdPartyProfiling": {
            "type": "boolean",
            "description": "Gets a value indicating whether the member has consented to third-party profiling"
          }
        },
        "additionalProperties": false,
        "description": "Represents preferences of a member"
      },
      "Ocapi.V1.Loyalty.Members.Preferences.MemberSitePreferences": {
        "title": "MemberSitePreferences",
        "required": [
          "preferredSiteIds"
        ],
        "type": "object",
        "properties": {
          "pickupSiteId": {
            "type": "string",
            "description": "Gets the unique identifier of the loyalty site used for pickup orders",
            "nullable": true
          },
          "primarySiteId": {
            "type": "string",
            "description": "Gets the unique identifier of the primary loyalty site",
            "nullable": true
          },
          "preferredSiteIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Gets the list of unique identifiers of the preferred loyalty site entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents the loyalty site preferences of a member"
      },
      "Ocapi.V1.Loyalty.Members.Rewards.Availability.MemberRewardAvailability": {
        "title": "MemberRewardAvailability",
        "required": [
          "rewardId",
          "ticketTypes"
        ],
        "type": "object",
        "properties": {
          "rewardId": {
            "type": "integer",
            "description": "Gets the unique identifier of the reward",
            "format": "int32"
          },
          "ticketTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Rewards.Availability.MemberRewardTicketTypeAvailability"
            },
            "description": "Gets the list of member reward ticket type availability entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents the availability of a member reward"
      },
      "Ocapi.V1.Loyalty.Members.Rewards.Availability.MemberRewardAvailabilityListDetails": {
        "title": "MemberRewardAvailabilityListDetails",
        "required": [
          "memberRewardAvailabilities"
        ],
        "type": "object",
        "properties": {
          "memberRewardAvailabilities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Rewards.Availability.MemberRewardAvailability"
            },
            "description": "Gets the list of member reward availability entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents a list of member reward availability entities"
      },
      "Ocapi.V1.Loyalty.Members.Rewards.Availability.MemberRewardTicketTypeAvailability": {
        "title": "MemberRewardTicketTypeAvailability",
        "required": [
          "availableQuantity",
          "isAvailable",
          "ticketTypeId"
        ],
        "type": "object",
        "properties": {
          "ticketTypeId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the ticket type base"
          },
          "isAvailable": {
            "type": "boolean",
            "description": "Gets a value indicating whether the member reward is available for the\r\nticket type base",
            "readOnly": true
          },
          "availableQuantity": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Quantity"
              }
            ],
            "description": "Gets the quantity available to the member for the ticket type base"
          },
          "unavailableMessage": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the message to display when the member reward is unavailable for the\r\nticket type base"
          }
        },
        "additionalProperties": false,
        "description": "Represents the availability of a member reward for a ticket type base"
      },
      "Ocapi.V1.Loyalty.Members.Rewards.MemberReward": {
        "title": "MemberReward",
        "required": [
          "availableQuantity",
          "instanceNumber",
          "rewardId"
        ],
        "type": "object",
        "properties": {
          "rewardId": {
            "type": "integer",
            "description": "Gets the unique identifier of the reward",
            "format": "int32"
          },
          "instanceNumber": {
            "type": "integer",
            "description": "Gets the instance number",
            "format": "int32"
          },
          "availableQuantity": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Quantity"
              }
            ],
            "description": "Gets the quantity available to the member"
          },
          "expiresAt": {
            "type": "string",
            "description": "Gets the date and time that the reward expires",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents an instance of a reward belonging to a particular member"
      },
      "Ocapi.V1.Loyalty.Members.Rewards.MemberRewardListDetails": {
        "title": "MemberRewardListDetails",
        "required": [
          "memberRewards",
          "relatedData"
        ],
        "type": "object",
        "properties": {
          "memberRewards": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Rewards.MemberReward"
            },
            "description": "Gets the list of member reward entities"
          },
          "relatedData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Rewards.MemberRewardListRelatedData"
              }
            ],
            "description": "Gets the related data for the member reward entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents a list of member reward entities, and their related data"
      },
      "Ocapi.V1.Loyalty.Members.Rewards.MemberRewardListRelatedData": {
        "title": "MemberRewardListRelatedData",
        "required": [
          "items",
          "rewards"
        ],
        "type": "object",
        "properties": {
          "rewards": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.Rewards.Reward"
            },
            "description": "Gets the list of related reward entities"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Items.LoyaltyItem"
            },
            "description": "Gets the list of related loyalty item entities"
          }
        },
        "additionalProperties": false,
        "description": "Related data for a list of member reward entities"
      },
      "Ocapi.V1.Loyalty.Members.Subscriptions.FutureRecurring.FutureRecurringMemberSubscriptionCreation": {
        "title": "FutureRecurringMemberSubscriptionCreation",
        "required": [
          "status",
          "subscriptionBillingOptionId"
        ],
        "type": "object",
        "properties": {
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Subscriptions.FutureRecurring.FutureRecurringMemberSubscriptionCreationStatus"
              }
            ],
            "description": "Gets the creation status of the future recurring member subscription"
          },
          "subscriptionBillingOptionId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the subscription billing option used for the creation of the future recurring member subscription"
          }
        },
        "additionalProperties": false,
        "description": "Represents the creation of a future recurring member subscription"
      },
      "Ocapi.V1.Loyalty.Members.Subscriptions.FutureRecurring.FutureRecurringMemberSubscriptionCreationStatus": {
        "title": "FutureRecurringMemberSubscriptionCreationStatus",
        "enum": [
          "NotStarted",
          "Pending",
          "Failed",
          "Completed"
        ],
        "type": "string",
        "description": "Represents the creation status of a future recurring member subscription"
      },
      "Ocapi.V1.Loyalty.Members.Subscriptions.FutureRecurring.MemberFutureRecurringSubscriptionSelection": {
        "title": "MemberFutureRecurringSubscriptionSelection",
        "required": [
          "subscriptionBillingOptionId"
        ],
        "type": "object",
        "properties": {
          "subscriptionBillingOptionId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the subscription billing option"
          }
        },
        "additionalProperties": false,
        "description": "Represents the member subscriptions Future recurring subscription billing option selected by\r\na member with a current member subscription"
      },
      "Ocapi.V1.Loyalty.Members.Subscriptions.MemberSubscription": {
        "title": "MemberSubscription",
        "required": [
          "billingDetails",
          "contractedTermEndsAt",
          "isCancellationAllowed",
          "startsAt",
          "status",
          "subscriptionId"
        ],
        "type": "object",
        "properties": {
          "subscriptionId": {
            "type": "integer",
            "description": "Gets the unique identifier of the subscription",
            "format": "int32"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Subscriptions.MemberSubscriptionStatus"
              }
            ],
            "description": "Gets the current status"
          },
          "startsAt": {
            "type": "string",
            "description": "Gets the date and time that the subscription starts",
            "format": "date-time"
          },
          "expiresAt": {
            "type": "string",
            "description": "Gets the date and time that the subscription expires",
            "format": "date-time",
            "nullable": true
          },
          "contractedTermEndsAt": {
            "type": "string",
            "description": "Gets the date and time that the contracted subscription MinimumTermInMonths ends",
            "format": "date-time"
          },
          "billingDetails": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Subscriptions.MemberSubscriptionBillingDetails"
              }
            ],
            "description": "Gets the billing details"
          },
          "holdPeriod": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Subscriptions.MemberSubscriptionHoldPeriod"
              }
            ],
            "description": "Gets the current hold period"
          },
          "isCancellationAllowed": {
            "type": "boolean",
            "description": "Gets a value indicating whether the member is allowed to cancel the subscription"
          },
          "cancelsAt": {
            "type": "string",
            "description": "Gets the date and time that the subscription will be cancelled, if applicable",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents an instance of a subscription belonging to a particular member"
      },
      "Ocapi.V1.Loyalty.Members.Subscriptions.MemberSubscriptionBillingDetails": {
        "title": "MemberSubscriptionBillingDetails",
        "required": [
          "isRecurring",
          "isUsingThirdPartyPaymentProvider"
        ],
        "type": "object",
        "properties": {
          "isRecurring": {
            "type": "boolean",
            "description": "Gets a value indicating whether billing will occur at a regular interval"
          },
          "reactivationPrice": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the price to reactivate a member subscription with a member subscription status Frozen status"
          },
          "isUsingThirdPartyPaymentProvider": {
            "type": "boolean",
            "description": "Gets a value indicating whether the member uses a third-party payment provider to pay for their\r\nmember subscription"
          },
          "currentBillingPeriodStartsAt": {
            "type": "string",
            "description": "Gets the date and time that the current billing period started",
            "format": "date-time",
            "nullable": true
          },
          "nextBillingPeriodStartsAt": {
            "type": "string",
            "description": "Gets the date and time that the current billing period ends and the next billing period starts",
            "format": "date-time",
            "nullable": true
          },
          "billingError": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Subscriptions.MemberSubscriptionBillingError"
              }
            ],
            "description": "Gets the billing error for the latest billing attempt, if applicable"
          },
          "hasLastContractedPaymentBeenMade": {
            "type": "boolean",
            "description": "Gets a value indicating whether the last contracted payment has been made, if applicable",
            "nullable": true
          },
          "hasNextBillingPeriodPriceAdjustment": {
            "type": "boolean",
            "description": "Gets a value indicating whether there is a billing price adjustment for the next billing period",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the billing details of a member subscription"
      },
      "Ocapi.V1.Loyalty.Members.Subscriptions.MemberSubscriptionBillingError": {
        "title": "MemberSubscriptionBillingError",
        "required": [
          "willBeRetried"
        ],
        "type": "object",
        "properties": {
          "willBeRetried": {
            "type": "boolean",
            "description": "Gets a value indicating whether another billing attempt will be made"
          }
        },
        "additionalProperties": false,
        "description": "Represents a billing error for a member subscription"
      },
      "Ocapi.V1.Loyalty.Members.Subscriptions.MemberSubscriptionHoldPeriod": {
        "title": "MemberSubscriptionHoldPeriod",
        "required": [
          "endDate",
          "startDate"
        ],
        "type": "object",
        "properties": {
          "startDate": {
            "type": "string",
            "description": "Gets the date that the hold period starts",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "description": "Gets the date that the hold period ends. The hold period is inclusive of this date",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Represents the hold period of a member subscription"
      },
      "Ocapi.V1.Loyalty.Members.Subscriptions.MemberSubscriptionStatus": {
        "title": "MemberSubscriptionStatus",
        "enum": [
          "Active",
          "Frozen",
          "OnHold",
          "NotStarted"
        ],
        "type": "string",
        "description": "Represents the status of a member subscription"
      },
      "Ocapi.V1.Loyalty.Members.Subscriptions.MemberSubscriptions": {
        "title": "MemberSubscriptions",
        "required": [
          "canPurchaseFutureSubscription",
          "canPurchaseFutureSubscriptionAt",
          "current"
        ],
        "type": "object",
        "properties": {
          "current": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Subscriptions.MemberSubscription"
              }
            ],
            "description": "Gets the current member subscription entity"
          },
          "future": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Subscriptions.MemberSubscription"
              }
            ],
            "description": "Gets the future member subscription entity"
          },
          "canPurchaseFutureSubscription": {
            "type": "boolean",
            "description": "Gets a value indicating whether the member can purchase a member subscriptions Future subscription"
          },
          "canPurchaseFutureSubscriptionAt": {
            "type": "string",
            "description": "Gets the date and time that the member can purchase a member subscriptions Future subscription",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Represents the member subscription entities belonging to a member"
      },
      "Ocapi.V1.Loyalty.Members.Subscriptions.Requests.FutureRecurringMemberSubscriptionEmbeddedPaymentCardCreate": {
        "title": "FutureRecurringMemberSubscriptionEmbeddedPaymentCardCreate",
        "required": [
          "subscriptionBillingOptionId",
          "webPaymentMethodId"
        ],
        "type": "object",
        "properties": {
          "webPaymentMethodId": {
            "type": "integer",
            "description": "Gets the unique identifier of the web payment method",
            "format": "int32"
          },
          "redirectReturnUrl": {
            "type": "string",
            "description": "Gets the URL that the browser will be directed to after the embedded payment has finished, if the requested web payment\r\nmethod requires redirect",
            "format": "uri",
            "nullable": true
          },
          "languageTag": {
            "type": "string",
            "description": "Gets the IETF (RFC 4646) language tag",
            "nullable": true
          },
          "subscriptionBillingOptionId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the subscription billing option that will be regularly charged to the\r\ncreated or selected member payment card"
          }
        },
        "additionalProperties": false,
        "description": "Represents the values needed to create or select the member payment card used\r\nfor a future recurring member subscription"
      },
      "Ocapi.V1.Loyalty.Members.Subscriptions.Requests.RecurringMemberSubscriptionEmbeddedPaymentCardCreate": {
        "title": "RecurringMemberSubscriptionEmbeddedPaymentCardCreate",
        "required": [
          "webPaymentMethodId"
        ],
        "type": "object",
        "properties": {
          "webPaymentMethodId": {
            "type": "integer",
            "description": "Gets the unique identifier of the web payment method",
            "format": "int32"
          },
          "redirectReturnUrl": {
            "type": "string",
            "description": "Gets the URL that the browser will be directed to after the embedded payment has finished, if the requested web payment\r\nmethod requires redirect",
            "format": "uri",
            "nullable": true
          },
          "languageTag": {
            "type": "string",
            "description": "Gets the IETF (RFC 4646) language tag",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the values needed to create an embedded member payment card for a recurring member subscription"
      },
      "Ocapi.V1.Loyalty.Members.TicketRedemptionCards.MemberSubscriptionTicketRedemptionCard": {
        "title": "MemberSubscriptionTicketRedemptionCard",
        "required": [
          "id",
          "status",
          "subscriptionId",
          "type"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/Ocapi.V1.TicketRedemptionCards.TicketRedemptionCardBase"
          }
        ],
        "properties": {
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.TicketRedemptionCards.TicketRedemptionCardType"
              }
            ],
            "description": "Gets the type"
          },
          "id": {
            "type": "string",
            "description": "Gets the unique identifier",
            "format": "uuid"
          },
          "subscriptionId": {
            "type": "integer",
            "description": "Gets the unique identifier of the subscription the card is linked to",
            "format": "int32"
          },
          "friendId": {
            "type": "string",
            "description": "Gets the unique identifier of the member friend that the card belongs to",
            "format": "uuid",
            "nullable": true
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.TicketRedemptionCards.MemberSubscriptionTicketRedemptionCardStatus"
              }
            ],
            "description": "Gets the current status"
          }
        },
        "additionalProperties": false,
        "description": "Represents a member subscription card that is linked to a member"
      },
      "Ocapi.V1.Loyalty.Members.TicketRedemptionCards.MemberSubscriptionTicketRedemptionCardStatus": {
        "title": "MemberSubscriptionTicketRedemptionCardStatus",
        "enum": [
          "Active",
          "Frozen",
          "OnHold"
        ],
        "type": "string",
        "description": "Represents the status of a member subscription ticket redemption card"
      },
      "Ocapi.V1.Loyalty.Members.TicketRedemptionCards.MemberTicketRedemptionCardsDetails": {
        "title": "MemberTicketRedemptionCardsDetails",
        "required": [
          "relatedData",
          "ticketRedemptionCards"
        ],
        "type": "object",
        "properties": {
          "ticketRedemptionCards": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.TicketRedemptionCards.MemberSubscriptionTicketRedemptionCard"
            },
            "description": "Gets the list of member ticket redemption card base entities"
          },
          "relatedData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.TicketRedemptionCards.MemberTicketRedemptionCardsRelatedData"
              }
            ],
            "description": "Gets the related data for the member ticket redemption card base entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents a list of member ticket redemption card base entities that belong to a member, and their related data"
      },
      "Ocapi.V1.Loyalty.Members.TicketRedemptionCards.MemberTicketRedemptionCardsRelatedData": {
        "title": "MemberTicketRedemptionCardsRelatedData",
        "required": [
          "subscriptions"
        ],
        "type": "object",
        "properties": {
          "subscriptions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.Subscriptions.Subscription"
            },
            "description": "Gets the subscriptions"
          }
        },
        "additionalProperties": false,
        "description": "Related data for a list of member subscription ticket redemption card entities"
      },
      "Ocapi.V1.Loyalty.Members.Transactions.MemberTransaction": {
        "title": "MemberTransaction",
        "required": [
          "balanceAdjustments",
          "createdAt",
          "id",
          "items",
          "showtimes",
          "totalPriceIncludingTax"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Gets the unique identifier",
            "format": "int64"
          },
          "totalPriceIncludingTax": {
            "type": "number",
            "description": "Gets the total price including tax",
            "format": "double"
          },
          "booking": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Transactions.MemberTransactionBooking"
              }
            ],
            "description": "Gets the booking details, if applicable"
          },
          "createdAt": {
            "type": "string",
            "description": "Gets the date and time that the transaction was created",
            "format": "date-time"
          },
          "showtimes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Transactions.MemberTransactionShowtime"
            },
            "description": "Gets the list of member transaction showtime entities"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Transactions.MemberTransactionItemLine"
            },
            "description": "Gets the list of member transaction item line entities"
          },
          "balanceAdjustments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Transactions.MemberTransactionBalanceAdjustment"
            },
            "description": "Gets the list of member transaction balance adjustment entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of a transaction belonging to a member"
      },
      "Ocapi.V1.Loyalty.Members.Transactions.MemberTransactionBalanceAdjustment": {
        "title": "MemberTransactionBalanceAdjustment",
        "required": [
          "availableUnits",
          "balanceTypeId",
          "isManual",
          "units"
        ],
        "type": "object",
        "properties": {
          "balanceTypeId": {
            "type": "integer",
            "description": "Gets the unique identifier of the balance type",
            "format": "int32"
          },
          "units": {
            "type": "number",
            "description": "Gets the value in balance type units",
            "format": "double"
          },
          "availableUnits": {
            "type": "number",
            "description": "Gets the available balance type units after the adjustment",
            "format": "double"
          },
          "isManual": {
            "type": "boolean",
            "description": "Gets a value indicating whether the adjustment was completed outside of\r\na purchase being made by the member"
          },
          "manualReason": {
            "type": "string",
            "description": "Gets the note associated with the manual balance adjustment, if applicable",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents an adjustment to a member balance related to a member transaction"
      },
      "Ocapi.V1.Loyalty.Members.Transactions.MemberTransactionBooking": {
        "title": "MemberTransactionBooking",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the identifier generated by the loyalty site that can be used to identify and collect the booking"
          }
        },
        "additionalProperties": false,
        "description": "The details of the completed order booking related to a member transaction"
      },
      "Ocapi.V1.Loyalty.Members.Transactions.MemberTransactionItemLine": {
        "title": "MemberTransactionItemLine",
        "required": [
          "itemId",
          "priceIncludingTax"
        ],
        "type": "object",
        "properties": {
          "itemId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the loyalty item"
          },
          "priceIncludingTax": {
            "type": "number",
            "description": "Gets the price including tax that the member paid",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Represents a member transaction line for an instance of a loyalty item within a member transaction"
      },
      "Ocapi.V1.Loyalty.Members.Transactions.MemberTransactionListRelatedData": {
        "title": "MemberTransactionListRelatedData",
        "required": [
          "balanceTypes",
          "films",
          "items",
          "showtimes",
          "sites",
          "ticketTypes"
        ],
        "type": "object",
        "properties": {
          "sites": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.Sites.LoyaltySite"
            },
            "description": "Gets the list of related loyalty site entities"
          },
          "films": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.RelatedData.LoyaltyRelatedFilm"
            },
            "description": "Gets the list of related loyalty related film entities"
          },
          "showtimes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Transactions.LoyaltyRelatedShowtime"
            },
            "description": "Gets the list of related loyalty related showtime entities"
          },
          "ticketTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Transactions.LoyaltyRelatedTicketType"
            },
            "description": "Gets the list of related loyalty related ticket type entities"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Items.LoyaltyItem"
            },
            "description": "Gets the list of related loyalty item entities"
          },
          "balanceTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.BalanceTypes.BalanceType"
            },
            "description": "Gets the list of related balance type entities"
          }
        },
        "additionalProperties": false,
        "description": "Related data for a list of member transaction entities"
      },
      "Ocapi.V1.Loyalty.Members.Transactions.MemberTransactionPaginatedResultSet": {
        "title": "MemberTransactionPaginatedResultSet",
        "required": [
          "hasMoreResults",
          "relatedData",
          "results"
        ],
        "type": "object",
        "properties": {
          "relatedData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Transactions.MemberTransactionListRelatedData"
              }
            ],
            "description": "Gets the related data for the member transaction entities"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Transactions.MemberTransaction"
            },
            "description": "Gets the list of results"
          },
          "hasMoreResults": {
            "type": "boolean",
            "description": "Gets a value indicating whether any more results are available"
          }
        },
        "additionalProperties": false,
        "description": "Represents a paginated result set of member transaction entities, and their related data"
      },
      "Ocapi.V1.Loyalty.Members.Transactions.MemberTransactionShowtime": {
        "title": "MemberTransactionShowtime",
        "required": [
          "showtimeId",
          "tickets"
        ],
        "type": "object",
        "properties": {
          "showtimeId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the loyalty related showtime"
          },
          "tickets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.Transactions.MemberTransactionTicketLine"
            },
            "description": "Gets the list of member transaction ticket line entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents a showtime within a member transaction"
      },
      "Ocapi.V1.Loyalty.Members.Transactions.MemberTransactionTicketLine": {
        "title": "MemberTransactionTicketLine",
        "required": [
          "priceIncludingTax",
          "ticketTypeId"
        ],
        "type": "object",
        "properties": {
          "ticketTypeId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the loyalty related ticket type"
          },
          "priceIncludingTax": {
            "type": "number",
            "description": "Gets the price including tax that the member paid",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Represents a member transaction line for an instance of a loyalty related ticket type within a member transaction showtime"
      },
      "Ocapi.V1.Loyalty.Members.Update.MemberEmailUpdate": {
        "title": "MemberEmailUpdate",
        "required": [
          "currentPassword",
          "email"
        ],
        "type": "object",
        "properties": {
          "email": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the new email address"
          },
          "currentPassword": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the current password of the member"
          }
        },
        "additionalProperties": false,
        "description": "Represents a secure update of a member entity's email address"
      },
      "Ocapi.V1.Loyalty.Members.Update.MemberPasswordUpdate": {
        "title": "MemberPasswordUpdate",
        "required": [
          "currentPassword",
          "password"
        ],
        "type": "object",
        "properties": {
          "password": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the new password"
          },
          "currentPassword": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the current password of the member"
          }
        },
        "additionalProperties": false,
        "description": "Represents a secure update of a member entity's password"
      },
      "Ocapi.V1.Loyalty.Members.Update.MemberUsernameUpdate": {
        "title": "MemberUsernameUpdate",
        "required": [
          "currentPassword",
          "username"
        ],
        "type": "object",
        "properties": {
          "username": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the new username"
          },
          "currentPassword": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the current password of the member"
          }
        },
        "additionalProperties": false,
        "description": "Represents a secure update of a member entity's username"
      },
      "Ocapi.V1.Loyalty.Members.WatchedFilms.MemberWatchedFilm": {
        "title": "MemberWatchedFilm",
        "required": [
          "filmId",
          "lastWatchedAt",
          "watchCount"
        ],
        "type": "object",
        "properties": {
          "filmId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the film"
          },
          "watchCount": {
            "type": "integer",
            "description": "Gets the number of times the film has been watched by the member",
            "format": "int32"
          },
          "lastWatchedAt": {
            "type": "string",
            "description": "Gets the last date and time that the film was watched by the member",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of a film that has been watched by a member"
      },
      "Ocapi.V1.Loyalty.Members.WatchedFilms.MemberWatchedFilmListDetails": {
        "title": "MemberWatchedFilmListDetails",
        "required": [
          "films",
          "relatedData"
        ],
        "type": "object",
        "properties": {
          "films": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.WatchedFilms.MemberWatchedFilm"
            },
            "description": "Gets the list of member watched film entities"
          },
          "relatedData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.WatchedFilms.MemberWatchedFilmListRelatedData"
              }
            ],
            "description": "Gets the related data for the member watched film entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents a list of member watched film entities, and their related data"
      },
      "Ocapi.V1.Loyalty.Members.WatchedFilms.MemberWatchedFilmListRelatedData": {
        "title": "MemberWatchedFilmListRelatedData",
        "required": [
          "castAndCrew",
          "censorRatings",
          "films",
          "genres"
        ],
        "type": "object",
        "properties": {
          "films": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Films.Film"
            },
            "description": "Gets the list of related film entities"
          },
          "castAndCrew": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.CastAndCrewMembers.CastAndCrewMember"
            },
            "description": "Gets the list of related cast and crew member entities"
          },
          "genres": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Genres.Genre"
            },
            "description": "Gets the list of related genre entities"
          },
          "censorRatings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.CensorRatings.CensorRating"
            },
            "description": "Gets the list of related censor rating entities"
          }
        },
        "additionalProperties": false,
        "description": "Related data for a list of member watched film entities"
      },
      "Ocapi.V1.Loyalty.Members.WatchlistFilms.MemberWatchlistFilm": {
        "title": "MemberWatchlistFilm",
        "required": [
          "addedAt",
          "displayPriority",
          "filmId"
        ],
        "type": "object",
        "properties": {
          "filmId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the film"
          },
          "addedAt": {
            "type": "string",
            "description": "Gets the date and time that the film was added to the watchlist",
            "format": "date-time"
          },
          "watchedAt": {
            "type": "string",
            "description": "Gets the date and time that the member watched the film, if applicable",
            "format": "date-time",
            "nullable": true
          },
          "displayPriority": {
            "type": "integer",
            "description": "Gets the display priority used for sorting",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of a film that has been added to a member entity's watchlist"
      },
      "Ocapi.V1.Loyalty.Members.WatchlistFilms.MemberWatchlistFilmCreate": {
        "title": "MemberWatchlistFilmCreate",
        "required": [
          "filmId"
        ],
        "type": "object",
        "properties": {
          "filmId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the film"
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of a member watchlist film to be created"
      },
      "Ocapi.V1.Loyalty.Members.WatchlistFilms.MemberWatchlistFilmListDetails": {
        "title": "MemberWatchlistFilmListDetails",
        "required": [
          "films",
          "relatedData"
        ],
        "type": "object",
        "properties": {
          "films": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.WatchlistFilms.MemberWatchlistFilm"
            },
            "description": "Gets the list of member watchlist film entities"
          },
          "relatedData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.Members.WatchlistFilms.MemberWatchlistFilmListRelatedData"
              }
            ],
            "description": "Gets the related data for the member watchlist film entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents a list of member watchlist film entities, and their related data"
      },
      "Ocapi.V1.Loyalty.Members.WatchlistFilms.MemberWatchlistFilmListRelatedData": {
        "title": "MemberWatchlistFilmListRelatedData",
        "required": [
          "castAndCrew",
          "censorRatings",
          "films",
          "genres"
        ],
        "type": "object",
        "properties": {
          "films": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Films.Film"
            },
            "description": "Gets the list of related film entities"
          },
          "castAndCrew": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.CastAndCrewMembers.CastAndCrewMember"
            },
            "description": "Gets the list of related cast and crew member entities"
          },
          "genres": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Genres.Genre"
            },
            "description": "Gets the list of related genre entities"
          },
          "censorRatings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.CensorRatings.CensorRating"
            },
            "description": "Gets the list of related censor rating entities"
          }
        },
        "additionalProperties": false,
        "description": "Related data for a list of member watchlist film entities"
      },
      "Ocapi.V1.Loyalty.RelatedData.LoyaltyRelatedFilm": {
        "title": "LoyaltyRelatedFilm",
        "required": [
          "id",
          "title"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string"
          },
          "title": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "Represents a film in Vista Loyalty"
      },
      "Ocapi.V1.Loyalty.Transactions.LoyaltyRelatedShowtime": {
        "title": "LoyaltyRelatedShowtime",
        "required": [
          "filmId",
          "id",
          "siteId"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string"
          },
          "filmId": {
            "minLength": 1,
            "type": "string"
          },
          "siteId": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false,
        "description": "Represents a showtime in Vista Loyalty"
      },
      "Ocapi.V1.Loyalty.Transactions.LoyaltyRelatedTicketType": {
        "title": "LoyaltyRelatedTicketType",
        "required": [
          "description",
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string"
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "Represents a ticket type base in Vista Loyalty"
      },
      "Ocapi.V1.MonetaryValue": {
        "title": "MonetaryValue",
        "required": [
          "tax",
          "valueExcludingTax",
          "valueIncludingTax"
        ],
        "type": "object",
        "properties": {
          "valueIncludingTax": {
            "type": "number",
            "description": "Gets the monetary value including tax",
            "format": "double",
            "readOnly": true
          },
          "valueExcludingTax": {
            "type": "number",
            "description": "Gets the monetary value excluding tax",
            "format": "double",
            "readOnly": true
          },
          "tax": {
            "type": "number",
            "description": "Gets the amount of tax",
            "format": "double",
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a monetary value, and its related tax value"
      },
      "Ocapi.V1.Orders.Bookings.CompletedOrderBooking": {
        "title": "CompletedOrderBooking",
        "required": [
          "id",
          "mode",
          "originalBookingFee",
          "totalBookingFee"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the identifier generated by the site that can be used to identify and collect the booking"
          },
          "totalBookingFee": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the total booking fee amount the customer has currently paid"
          },
          "originalBookingFee": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the total booking fee amount for the order at the time it was initially made"
          },
          "mode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Bookings.OrderBookingMode"
              }
            ],
            "description": "Gets the order booking mode"
          }
        },
        "additionalProperties": false,
        "description": "Represents the booking details of a completed standard order"
      },
      "Ocapi.V1.Orders.Bookings.InProgressOrderBooking": {
        "title": "InProgressOrderBooking",
        "required": [
          "mode",
          "totalBookingFee"
        ],
        "type": "object",
        "properties": {
          "mode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Bookings.OrderBookingMode"
              }
            ],
            "description": "Gets the order booking mode."
          },
          "totalBookingFee": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the total booking fee amount the customer has currently paid."
          }
        },
        "additionalProperties": false
      },
      "Ocapi.V1.Orders.Bookings.OrderBookingMode": {
        "title": "OrderBookingMode",
        "enum": [
          "Paid",
          "Unpaid",
          "UnpaidConfirmed"
        ],
        "type": "string",
        "description": "Represents the mode of an order booking base"
      },
      "Ocapi.V1.Orders.CompletedOrders.CompletedGiftShopOrder": {
        "title": "CompletedGiftShopOrder",
        "required": [
          "amountSaved",
          "createdAt",
          "deals",
          "expiresAt",
          "itemDeliveries",
          "items",
          "originalPrice",
          "payments",
          "status",
          "totalItemDeliveryFee",
          "totalPrice",
          "type",
          "vouchers"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Gets the unique identifier",
            "nullable": true
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.OrderType"
              }
            ],
            "description": "Gets the type"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.OrderStatus"
              }
            ],
            "description": "Gets the status"
          },
          "totalPrice": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the total price to be displayed to the customer"
          },
          "originalPrice": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the total price the customer paid for the order at the time the order was initially completed"
          },
          "transaction": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Transactions.OrderTransaction"
              }
            ],
            "description": "Gets the transaction details, if applicable"
          },
          "vouchers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.Vouchers.OrderVoucher"
            },
            "description": "Gets the list of order voucher entities"
          },
          "deals": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.Deals.OrderDeal"
            },
            "description": "Gets the list of order deal entities"
          },
          "payments": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.Redirect.OrderRedirectPayment"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.MemberBalance.OrderMemberBalancePayment"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.GiftCards.OrderGiftCardPayment"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.ExternallyProcessed.OrderExternallyProcessedPayment"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.Embedded.OrderEmbeddedPayment"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.CinemaProcessed.OrderCinemaProcessedPayment"
                }
              ],
              "description": "Represents the base properties of a payment that has been added to an order base"
            },
            "description": "Gets the list of order payment base entities"
          },
          "items": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.OrderItemLine"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.OrderWeightBasedItemLine"
                }
              ],
              "description": "Represents the base properties of an order line for a top-level instance of an item base\r\nwithin a standard order or gift shop order"
            },
            "description": "Gets the list of order item line base entities"
          },
          "amountSaved": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the monetary amount saved via discounted prices"
          },
          "expiresAt": {
            "type": "string",
            "description": "Gets the date and time that the order is set to expire",
            "format": "date-time"
          },
          "createdAt": {
            "type": "string",
            "description": "Gets the date and time that the order was completed",
            "format": "date-time"
          },
          "itemDeliveries": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemCounterPickup"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemCustomLocationDelivery"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemElectronicDelivery"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemInSeatDelivery"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemPostalDelivery"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemServiceAreaPickup"
                }
              ],
              "description": "Represents the base properties of an order item delivery base for a completed standard order"
            },
            "description": "Gets the list of completed order item delivery base entities for the gift shop order Items"
          },
          "totalItemDeliveryFee": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the total fee for the completed gift shop order ItemDeliveries"
          }
        },
        "additionalProperties": false,
        "description": "Represents a gift shop order in a order status Completed state"
      },
      "Ocapi.V1.Orders.CompletedOrders.CompletedOrderGiftCardItem": {
        "title": "CompletedOrderGiftCardItem",
        "required": [
          "giftCard",
          "orderLineId",
          "type"
        ],
        "type": "object",
        "properties": {
          "orderLineId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the identifier that can be used to uniquely identify the order item line base within the completed gift shop order"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.CompletedOrders.RedeemableItems.CompletedOrderRedeemableItemType"
              }
            ],
            "description": "Gets the type"
          },
          "giftCard": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.CompletedOrders.GiftCard"
              }
            ],
            "description": "Gets the gift card that was issued"
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of a gift card purchased via an order item line base"
      },
      "Ocapi.V1.Orders.CompletedOrders.CompletedOrderPrintStreams": {
        "title": "CompletedOrderPrintStreams",
        "required": [
          "itemCollectionVouchers",
          "orderReceipts",
          "tickets"
        ],
        "type": "object",
        "properties": {
          "itemCollectionVouchers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Gets the printable item collection vouchers"
          },
          "tickets": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Gets the printable tickets"
          },
          "orderReceipts": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Gets the printable order receipts"
          }
        },
        "additionalProperties": false,
        "description": "Represents the printable print streams for a completed order base"
      },
      "Ocapi.V1.Orders.CompletedOrders.CompletedOrderRedeemableItemListDetails": {
        "title": "CompletedOrderRedeemableItemListDetails",
        "required": [
          "redeemableItems"
        ],
        "type": "object",
        "properties": {
          "redeemableItems": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.CompletedOrders.CompletedOrderGiftCardItem"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.CompletedOrders.CompletedOrderVoucherItem"
                }
              ],
              "description": "Represents the base properties of a redeemable item purchased via an order item line base"
            },
            "description": "Gets the list of completed order redeemable item base entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents a list of completed order redeemable item base entities for a completed gift shop order"
      },
      "Ocapi.V1.Orders.CompletedOrders.CompletedOrderSurveyStatus": {
        "title": "CompletedOrderSurveyStatus",
        "enum": [
          "NotApplicable",
          "NotReady",
          "Ready",
          "Started",
          "Completed",
          "Expired",
          "NotEnabled"
        ],
        "type": "string",
        "description": "Represents the status of a survey for a completed standard order"
      },
      "Ocapi.V1.Orders.CompletedOrders.CompletedOrderVoucherItem": {
        "title": "CompletedOrderVoucherItem",
        "required": [
          "orderLineId",
          "type",
          "voucher"
        ],
        "type": "object",
        "properties": {
          "orderLineId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the identifier that can be used to uniquely identify the order item line base within the completed gift shop order"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.CompletedOrders.RedeemableItems.CompletedOrderRedeemableItemType"
              }
            ],
            "description": "Gets the type"
          },
          "voucher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.CompletedOrders.Voucher"
              }
            ],
            "description": "Gets the voucher that was issued"
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of a voucher purchased via a order item line base"
      },
      "Ocapi.V1.Orders.CompletedOrders.CompletedStandardOrder": {
        "title": "CompletedStandardOrder",
        "required": [
          "amountSaved",
          "createdAt",
          "deals",
          "expiresAt",
          "itemDeliveries",
          "items",
          "originalPrice",
          "payments",
          "refundAvailability",
          "showtimes",
          "siteId",
          "status",
          "surveyStatus",
          "ticketRedemptionCards",
          "totalPrice",
          "totalRefunded",
          "type",
          "vouchers"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Gets the unique identifier",
            "nullable": true
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.OrderType"
              }
            ],
            "description": "Gets the type"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.OrderStatus"
              }
            ],
            "description": "Gets the status"
          },
          "totalPrice": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the total price to be displayed to the customer"
          },
          "originalPrice": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the total price the customer paid for the order at the time the order was initially completed"
          },
          "booking": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Bookings.CompletedOrderBooking"
              }
            ],
            "description": "Gets the booking details"
          },
          "transaction": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Transactions.OrderTransaction"
              }
            ],
            "description": "Gets the transaction details, if applicable"
          },
          "vouchers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.Vouchers.OrderVoucher"
            },
            "description": "Gets the list of order voucher entities"
          },
          "deals": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.Deals.OrderDeal"
            },
            "description": "Gets the list of order deal entities"
          },
          "payments": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.Redirect.OrderRedirectPayment"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.MemberBalance.OrderMemberBalancePayment"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.GiftCards.OrderGiftCardPayment"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.ExternallyProcessed.OrderExternallyProcessedPayment"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.Embedded.OrderEmbeddedPayment"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.CinemaProcessed.OrderCinemaProcessedPayment"
                }
              ],
              "description": "Represents the base properties of a payment that has been added to an order base"
            },
            "description": "Gets the list of order payment base entities"
          },
          "showtimes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.Showtimes.OrderShowtime"
            },
            "description": "Gets the list of order showtime entities"
          },
          "items": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.OrderItemLine"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.OrderWeightBasedItemLine"
                }
              ],
              "description": "Represents the base properties of an order line for a top-level instance of an item base\r\nwithin a standard order or gift shop order"
            },
            "description": "Gets the list of order item line base entities"
          },
          "itemDeliveries": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemCounterPickup"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemCustomLocationDelivery"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemElectronicDelivery"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemInSeatDelivery"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemPostalDelivery"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemServiceAreaPickup"
                }
              ],
              "description": "Represents the base properties of an order item delivery base for a completed standard order"
            },
            "description": "Gets the list of completed order item delivery base entities for the standard order Items"
          },
          "ticketRedemptionCards": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.TicketRedemptionCards.OrderMemberSubscriptionCard"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.TicketRedemptionCards.OrderThirdPartyMemberCard"
                }
              ],
              "description": "Represents the base properties of a ticket redemption card base that has been added to a standard order"
            },
            "description": "Gets the list of order ticket redemption card base entities"
          },
          "siteId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the site"
          },
          "preparation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Preparations.OrderPreparation"
              }
            ],
            "description": "Gets the preparation and collection details"
          },
          "amountSaved": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the monetary amount saved via discounted prices"
          },
          "journeyReference": {
            "type": "string",
            "description": "Gets the identifier created on order completion that will be linked to a journey entity",
            "nullable": true
          },
          "tip": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Tips.OrderTip"
              }
            ],
            "description": "Gets the tip"
          },
          "refundAvailability": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Refunds.OrderRefundAvailability"
              }
            ],
            "description": "Gets the current refund availability"
          },
          "totalRefunded": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the total amount already refunded to the patron"
          },
          "expiresAt": {
            "type": "string",
            "description": "Gets the date and time that the order is set to expire",
            "format": "date-time"
          },
          "parentOrderId": {
            "type": "string",
            "description": "Gets the unique identifier of the linked parent completed standard order, if applicable",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "description": "Gets the date and time that the order was completed",
            "format": "date-time"
          },
          "surveyStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.CompletedOrders.CompletedOrderSurveyStatus"
              }
            ],
            "description": "Gets the survey status"
          },
          "siteOrderLocationId": {
            "type": "string",
            "description": "Gets the unique identifier of the site order location, if applicable.\r\n<remarks><br>\r\nWill equal null if items are ordered from the default site item profile\r\n</remarks>",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a standard order in a order status Completed state"
      },
      "Ocapi.V1.Orders.CompletedOrders.CompletedStandardOrderDetails": {
        "title": "CompletedStandardOrderDetails",
        "required": [
          "linkedOrders",
          "order",
          "relatedData"
        ],
        "type": "object",
        "properties": {
          "order": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.CompletedOrders.CompletedStandardOrder"
              }
            ],
            "description": "Gets the completed order base entity"
          },
          "relatedData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.RelatedData.OrderRelatedData"
              }
            ],
            "description": "Gets the related data for the completed order base entity and any linked completed standard order entities"
          },
          "linkedOrders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.CompletedOrders.LinkedCompletedStandardOrder"
            },
            "description": "Gets the list of linked completed standard order entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents a completed standard order entity, and its related data"
      },
      "Ocapi.V1.Orders.CompletedOrders.CompletedStandardOrderIdentifiers": {
        "title": "CompletedStandardOrderIdentifiers",
        "required": [
          "bookingId",
          "journeyReference",
          "orderId",
          "siteId"
        ],
        "type": "object",
        "properties": {
          "orderId": {
            "minLength": 1,
            "type": "string"
          },
          "journeyReference": {
            "minLength": 1,
            "type": "string"
          },
          "siteId": {
            "minLength": 1,
            "type": "string"
          },
          "bookingId": {
            "minLength": 1,
            "type": "string"
          },
          "transactionNumber": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the unique identifiers of a completed standard order"
      },
      "Ocapi.V1.Orders.CompletedOrders.CompletedSubscriptionOrder": {
        "title": "CompletedSubscriptionOrder",
        "required": [
          "action",
          "amountSaved",
          "createdAt",
          "deals",
          "expiresAt",
          "originalPrice",
          "payments",
          "status",
          "subscription",
          "totalPrice",
          "type",
          "vouchers"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Gets the unique identifier",
            "nullable": true
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.OrderType"
              }
            ],
            "description": "Gets the type"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.OrderStatus"
              }
            ],
            "description": "Gets the status"
          },
          "totalPrice": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the total price to be displayed to the customer"
          },
          "originalPrice": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the total price the customer paid for the order at the time the order was initially completed"
          },
          "transaction": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Transactions.OrderTransaction"
              }
            ],
            "description": "Gets the transaction details, if applicable"
          },
          "vouchers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.Vouchers.OrderVoucher"
            },
            "description": "Gets the list of order voucher entities"
          },
          "deals": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.Deals.OrderDeal"
            },
            "description": "Gets the list of order deal entities"
          },
          "payments": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.Redirect.OrderRedirectPayment"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.MemberBalance.OrderMemberBalancePayment"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.GiftCards.OrderGiftCardPayment"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.ExternallyProcessed.OrderExternallyProcessedPayment"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.Embedded.OrderEmbeddedPayment"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.CinemaProcessed.OrderCinemaProcessedPayment"
                }
              ],
              "description": "Represents the base properties of a payment that has been added to an order base"
            },
            "description": "Gets the list of order payment base entities"
          },
          "amountSaved": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the monetary amount saved via discounted prices"
          },
          "subscription": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Subscriptions.OrderSubscription"
              }
            ]
          },
          "action": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Subscriptions.SubscriptionOrderAction"
              }
            ],
            "description": "Gets the subscription order action"
          },
          "expiresAt": {
            "type": "string",
            "description": "Gets the date and time that the order is set to expire",
            "format": "date-time"
          },
          "createdAt": {
            "type": "string",
            "description": "Gets the date and time that the order was completed",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Represents a subscription order in a order status Completed state"
      },
      "Ocapi.V1.Orders.CompletedOrders.GiftCard": {
        "title": "GiftCard",
        "required": [
          "credentials"
        ],
        "type": "object",
        "properties": {
          "credentials": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.GiftCards.OrderGiftCardPaymentCreate"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.GiftCards.GiftCardCredentials"
              }
            ],
            "description": "Represents the credentials required to validate a gift card"
          },
          "expiryDate": {
            "type": "string",
            "description": "Gets the expiry date, or null if the gift card never expires",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a gift card that can be redeemed via an order base"
      },
      "Ocapi.V1.Orders.CompletedOrders.GoogleWalletPass": {
        "title": "GoogleWalletPass",
        "required": [
          "jwt",
          "url"
        ],
        "type": "object",
        "properties": {
          "jwt": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the encoded and signed JSON Web Token (JWT)",
            "example": "eyJhbGci6IkpXVCJ9.eyJhdWQiO...6EkC1Ahp6A"
          },
          "url": {
            "type": "string",
            "description": "Gets the URL that can be used to create an 'Add to Google Wallet' link for web, email, or SMS",
            "format": "uri",
            "example": "https://pay.google.com/gp/v/save/eyJhbGci6IkpXVCJ9.eyJhdWQiO...6EkC1Ahp6A"
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of a Google Wallet pass"
      },
      "Ocapi.V1.Orders.CompletedOrders.ICompletedOrderDetailsBaseGeneric-Ocapi.V1.Orders.CompletedOrders.ICompletedOrderBase": {
        "title": "ICompletedOrderDetailsBase`1",
        "required": [
          "order",
          "relatedData"
        ],
        "type": "object",
        "properties": {
          "order": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.CompletedOrders.CompletedGiftShopOrder"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.CompletedOrders.CompletedStandardOrder"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.CompletedOrders.CompletedSubscriptionOrder"
              }
            ],
            "description": "Gets the completed order base entity",
            "readOnly": true
          },
          "relatedData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.RelatedData.OrderRelatedData"
              }
            ],
            "description": "Gets the related data for the completed order base entity and any linked completed standard order entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents a completed order base entity, and its related data"
      },
      "Ocapi.V1.Orders.CompletedOrders.LinkedCompletedStandardOrder": {
        "title": "LinkedCompletedStandardOrder",
        "required": [
          "order",
          "relationship"
        ],
        "type": "object",
        "properties": {
          "relationship": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.CompletedOrders.LinkedCompletedStandardOrderRelationship"
              }
            ],
            "description": "Gets the relationship of the linked completed standard order Order to the other completed standard order entity"
          },
          "order": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.CompletedOrders.CompletedStandardOrder"
              }
            ],
            "description": "Gets the linked completed standard order entity"
          }
        },
        "additionalProperties": false,
        "description": "Represents a completed standard order linked to another completed standard order"
      },
      "Ocapi.V1.Orders.CompletedOrders.LinkedCompletedStandardOrderRelationship": {
        "title": "LinkedCompletedStandardOrderRelationship",
        "enum": [
          "Parent",
          "Child",
          "Sibling"
        ],
        "type": "string",
        "description": "Represents the relationship of a linked completed standard order"
      },
      "Ocapi.V1.Orders.CompletedOrders.RedeemableItems.CompletedOrderRedeemableItemType": {
        "title": "CompletedOrderRedeemableItemType",
        "enum": [
          "Voucher",
          "GiftCard"
        ],
        "type": "string",
        "description": "Represents the type of a completed order redeemable item base"
      },
      "Ocapi.V1.Orders.CompletedOrders.Requests.OrderCollectionStatusUpdate": {
        "title": "OrderCollectionStatusUpdate",
        "type": "object",
        "properties": {
          "includeChildOrders": {
            "type": "boolean",
            "description": "Gets a value indicating whether to include all linked completed standard order entities of type linked completed standard order relationship Child in the request"
          }
        },
        "additionalProperties": false,
        "description": "Represents additional request options when requesting to set a completed order base to order line collection status Collected"
      },
      "Ocapi.V1.Orders.CompletedOrders.Requests.OrderItemDeliveriesPreparationStatusUpdate": {
        "title": "OrderItemDeliveriesPreparationStatusUpdate",
        "type": "object",
        "properties": {
          "includeChildOrders": {
            "type": "boolean",
            "description": "Gets a value indicating whether to include all linked completed standard order entities of type linked completed standard order relationship Child in the request"
          }
        },
        "additionalProperties": false,
        "description": "Represents additional request options when requesting to prepare completed order item delivery base entities in a completed standard order"
      },
      "Ocapi.V1.Orders.CompletedOrders.Voucher": {
        "title": "Voucher",
        "required": [
          "credentials"
        ],
        "type": "object",
        "properties": {
          "credentials": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Vouchers.VoucherCredentials"
              }
            ],
            "description": "Gets the credentials"
          },
          "expiryDate": {
            "type": "string",
            "description": "Gets the expiry date, or null if the voucher never expires",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a voucher that can be redeemed via an order base"
      },
      "Ocapi.V1.Orders.Completions.OrderCompletion": {
        "title": "OrderCompletion",
        "required": [
          "orderId",
          "orderType",
          "status"
        ],
        "type": "object",
        "properties": {
          "orderId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the in progress order base"
          },
          "orderType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.OrderType"
              }
            ],
            "description": "Gets the type of the in progress order base"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Completions.OrderCompletionStatus"
              }
            ],
            "description": "Gets the status"
          },
          "transactionNumber": {
            "type": "integer",
            "description": "Gets the number generated by the site that can be used to identify and collect the transaction",
            "format": "int32",
            "nullable": true
          },
          "updatedOrderExpiresAt": {
            "type": "string",
            "description": "Gets the updated date and time that the in progress order base expires",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the completion of an in progress order base"
      },
      "Ocapi.V1.Orders.Completions.OrderCompletionStatus": {
        "title": "OrderCompletionStatus",
        "enum": [
          "Pending",
          "Completed",
          "Failed"
        ],
        "type": "string",
        "description": "Represents the status of an order completion"
      },
      "Ocapi.V1.Orders.Completions.StandardOrderCompletion": {
        "title": "StandardOrderCompletion",
        "required": [
          "bookingId",
          "journeyReference",
          "orderId",
          "orderType",
          "status"
        ],
        "type": "object",
        "properties": {
          "orderId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the in progress order base"
          },
          "orderType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.OrderType"
              }
            ],
            "description": "Gets the type of the in progress order base"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Completions.OrderCompletionStatus"
              }
            ],
            "description": "Gets the status"
          },
          "transactionNumber": {
            "type": "integer",
            "description": "Gets the number generated by the site that can be used to identify and collect the transaction",
            "format": "int32",
            "nullable": true
          },
          "updatedOrderExpiresAt": {
            "type": "string",
            "description": "Gets the updated date and time that the in progress order base expires",
            "format": "date-time",
            "nullable": true
          },
          "journeyReference": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the identifier created on order completion that will be linked to a journey entity"
          },
          "bookingId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the booking identifier generated by the site that can be used to identify and collect the booking"
          }
        },
        "additionalProperties": false,
        "description": "Represents the completion of an in progress standard order"
      },
      "Ocapi.V1.Orders.Customers.OrderCustomer": {
        "title": "OrderCustomer",
        "required": [
          "email",
          "preferences",
          "taxDetails"
        ],
        "type": "object",
        "properties": {
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.PersonName"
              }
            ],
            "description": "Gets the name, if known"
          },
          "email": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Gets the email address"
          },
          "phoneNumber": {
            "maxLength": 25,
            "minLength": 0,
            "type": "string",
            "description": "Gets the phone number, if known",
            "nullable": true
          },
          "preferences": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Customers.OrderCustomerPreferences"
              }
            ],
            "description": "Gets the preferences"
          },
          "taxDetails": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Customers.OrderCustomerTaxDetails"
              }
            ],
            "description": "Gets the tax details"
          },
          "deliveryAddress": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Customers.OrderCustomerAddress"
              }
            ],
            "description": "Gets the postal delivery address, if applicable"
          },
          "billingAddress": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Customers.OrderCustomerAddress"
              }
            ],
            "description": "Gets the billing address, if applicable"
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of a customer set against an order base"
      },
      "Ocapi.V1.Orders.Customers.OrderCustomerAddress": {
        "title": "OrderCustomerAddress",
        "type": "object",
        "properties": {
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.PersonName"
              }
            ],
            "description": "Gets the name of the recipient"
          },
          "companyName": {
            "type": "string",
            "description": "Gets the name of the company, if applicable",
            "nullable": true
          },
          "phoneNumber": {
            "type": "string",
            "description": "Gets the phone number of the recipient, if applicable",
            "nullable": true
          },
          "line1": {
            "type": "string",
            "description": "Gets the first line",
            "nullable": true
          },
          "suburb": {
            "type": "string",
            "description": "Gets the suburb",
            "nullable": true
          },
          "city": {
            "type": "string",
            "description": "Gets the city",
            "nullable": true
          },
          "state": {
            "type": "string",
            "description": "Gets the state",
            "nullable": true,
            "example": null
          },
          "postCode": {
            "type": "string",
            "description": "Gets the post code",
            "nullable": true
          },
          "country": {
            "type": "string",
            "description": "Gets the country",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of a postal/billing address of an order customer"
      },
      "Ocapi.V1.Orders.Customers.OrderCustomerDetails": {
        "title": "OrderCustomerDetails",
        "type": "object",
        "properties": {
          "customer": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Customers.OrderCustomer"
              }
            ],
            "description": "Gets the customer, if set"
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of a customer set against an order base"
      },
      "Ocapi.V1.Orders.Customers.OrderCustomerPreferences": {
        "title": "OrderCustomerPreferences",
        "type": "object",
        "properties": {
          "languageTag": {
            "type": "string",
            "description": "Gets the IETF (RFC 4646) language tag",
            "nullable": true,
            "example": "en-US"
          }
        },
        "additionalProperties": false,
        "description": "Represents the preferences of an order customer"
      },
      "Ocapi.V1.Orders.Customers.OrderCustomerTaxDetails": {
        "title": "OrderCustomerTaxDetails",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Gets the tax name, if known",
            "nullable": true
          },
          "number": {
            "type": "string",
            "description": "Gets the tax number, if known",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the tax details of an order customer"
      },
      "Ocapi.V1.Orders.Customers.Requests.OrderCustomerUpdate": {
        "title": "OrderCustomerUpdate",
        "required": [
          "email"
        ],
        "type": "object",
        "properties": {
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.PersonName"
              }
            ],
            "description": "Gets the name"
          },
          "email": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Gets the email address"
          },
          "phoneNumber": {
            "maxLength": 25,
            "minLength": 0,
            "type": "string",
            "description": "Gets the phone number",
            "nullable": true
          },
          "preferences": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Customers.OrderCustomerPreferences"
              }
            ],
            "description": "Gets the preferences"
          },
          "taxDetails": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Customers.OrderCustomerTaxDetails"
              }
            ],
            "description": "Gets the tax details"
          },
          "deliveryAddress": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Customers.OrderCustomerAddress"
              }
            ],
            "description": "Gets the postal delivery address, if applicable"
          },
          "billingAddress": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Customers.OrderCustomerAddress"
              }
            ],
            "description": "Gets the billing address, if applicable"
          }
        },
        "additionalProperties": false,
        "description": "Represents the properties required to update the details of an order customer"
      },
      "Ocapi.V1.Orders.Deals.OrderDeal": {
        "title": "OrderDeal",
        "required": [
          "dealId",
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the identifier that can be used to uniquely identify the deal within the order base",
            "readOnly": true
          },
          "dealId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the deal base used",
            "readOnly": true
          },
          "voucherId": {
            "type": "string",
            "description": "Gets the unique identifier of the order voucher used, if applicable",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents an instance of a deal base that has been added to an order base"
      },
      "Ocapi.V1.Orders.InProgressOrders.IInProgressOrderDetailsBaseGeneric-Ocapi.V1.Orders.InProgressOrders.IInProgressOrderBase": {
        "title": "IInProgressOrderDetailsBase`1",
        "required": [
          "order",
          "relatedData"
        ],
        "type": "object",
        "properties": {
          "order": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.InProgressOrders.InProgressGiftShopOrder"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.InProgressOrders.InProgressStandardOrder"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.InProgressOrders.InProgressSubscriptionOrder"
              }
            ],
            "description": "Gets the in progress order base entity",
            "readOnly": true
          },
          "relatedData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.RelatedData.OrderRelatedData"
              }
            ],
            "description": "Gets the related data for the in progress order base entity"
          }
        },
        "additionalProperties": false,
        "description": "Represents an in progress order base entity, and its related data"
      },
      "Ocapi.V1.Orders.InProgressOrders.InProgressGiftShopOrder": {
        "title": "InProgressGiftShopOrder",
        "required": [
          "amountSaved",
          "deals",
          "expiresAt",
          "hasCustomer",
          "itemDeliveries",
          "items",
          "payments",
          "status",
          "totalItemDeliveryFee",
          "totalPrice",
          "type",
          "vouchers"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Gets the unique identifier",
            "nullable": true
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.OrderType"
              }
            ],
            "description": "Gets the type"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.OrderStatus"
              }
            ],
            "description": "Gets the status"
          },
          "totalPrice": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the total price to be displayed to the customer"
          },
          "vouchers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.Vouchers.OrderVoucher"
            },
            "description": "Gets the list of order voucher entities"
          },
          "deals": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.Deals.OrderDeal"
            },
            "description": "Gets the list of order deal entities"
          },
          "payments": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.Redirect.OrderRedirectPayment"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.MemberBalance.OrderMemberBalancePayment"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.GiftCards.OrderGiftCardPayment"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.ExternallyProcessed.OrderExternallyProcessedPayment"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.Embedded.OrderEmbeddedPayment"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.CinemaProcessed.OrderCinemaProcessedPayment"
                }
              ],
              "description": "Represents the base properties of a payment that has been added to an order base"
            },
            "description": "Gets the list of order payment base entities"
          },
          "items": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.OrderItemLine"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.OrderWeightBasedItemLine"
                }
              ],
              "description": "Represents the base properties of an order line for a top-level instance of an item base\r\nwithin a standard order or gift shop order"
            },
            "description": "Gets the list of order item line base entities"
          },
          "expiresAt": {
            "type": "string",
            "description": "Gets the date and time that the order is set to expire",
            "format": "date-time"
          },
          "hasCustomer": {
            "type": "boolean",
            "description": "Gets a value indicating whether the order customer has been set"
          },
          "amountSaved": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the monetary amount saved via discounted prices"
          },
          "itemDeliveries": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.OrderItemCounterPickup"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.OrderItemCustomLocationDelivery"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.OrderItemElectronicDelivery"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.OrderItemInSeatDelivery"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.OrderItemPostalDelivery"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.OrderItemServiceAreaPickup"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemCounterPickup"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemCustomLocationDelivery"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemElectronicDelivery"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemInSeatDelivery"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemPostalDelivery"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemServiceAreaPickup"
                }
              ],
              "description": "Represents the base properties of the delivery of one or more order item line base entities"
            },
            "description": "Gets the list of order item delivery base entities for the gift shop order Items"
          },
          "totalItemDeliveryFee": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the total fee for the in progress gift shop order ItemDeliveries"
          }
        },
        "additionalProperties": false,
        "description": "Represents a gift shop order in an order status InProgress state"
      },
      "Ocapi.V1.Orders.InProgressOrders.InProgressGiftShopOrderDetails": {
        "title": "InProgressGiftShopOrderDetails",
        "required": [
          "order",
          "relatedData"
        ],
        "type": "object",
        "properties": {
          "order": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.InProgressOrders.InProgressGiftShopOrder"
              }
            ],
            "description": "Gets the in progress order base entity"
          },
          "relatedData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.RelatedData.OrderRelatedData"
              }
            ],
            "description": "Gets the related data for the in progress order base entity"
          }
        },
        "additionalProperties": false,
        "description": "Represents an in progress gift shop order entity, and its related data"
      },
      "Ocapi.V1.Orders.InProgressOrders.InProgressStandardOrder": {
        "title": "InProgressStandardOrder",
        "required": [
          "amountSaved",
          "booking",
          "deals",
          "expiresAt",
          "hasCustomer",
          "itemDeliveries",
          "items",
          "payments",
          "showtimes",
          "siteId",
          "status",
          "ticketRedemptionCards",
          "totalPrice",
          "type",
          "vouchers"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Gets the unique identifier",
            "nullable": true
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.OrderType"
              }
            ],
            "description": "Gets the type"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.OrderStatus"
              }
            ],
            "description": "Gets the status"
          },
          "totalPrice": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the total price to be displayed to the customer"
          },
          "booking": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Bookings.InProgressOrderBooking"
              }
            ],
            "description": "Gets the booking details"
          },
          "showtimes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.Showtimes.OrderShowtime"
            },
            "description": "Gets the list of order showtime entities"
          },
          "items": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.OrderItemLine"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.OrderWeightBasedItemLine"
                }
              ],
              "description": "Represents the base properties of an order line for a top-level instance of an item base\r\nwithin a standard order or gift shop order"
            },
            "description": "Gets the list of order item line base entities"
          },
          "itemDeliveries": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.OrderItemCounterPickup"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.OrderItemCustomLocationDelivery"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.OrderItemElectronicDelivery"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.OrderItemInSeatDelivery"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.OrderItemPostalDelivery"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.OrderItemServiceAreaPickup"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemCounterPickup"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemCustomLocationDelivery"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemElectronicDelivery"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemInSeatDelivery"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemPostalDelivery"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemServiceAreaPickup"
                }
              ],
              "description": "Represents the base properties of the delivery of one or more order item line base entities"
            },
            "description": "Gets the list of order item delivery base entities for the standard order Items"
          },
          "payments": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.Redirect.OrderRedirectPayment"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.MemberBalance.OrderMemberBalancePayment"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.GiftCards.OrderGiftCardPayment"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.ExternallyProcessed.OrderExternallyProcessedPayment"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.Embedded.OrderEmbeddedPayment"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.CinemaProcessed.OrderCinemaProcessedPayment"
                }
              ],
              "description": "Represents the base properties of a payment that has been added to an order base"
            },
            "description": "Gets the list of order payment base entities"
          },
          "vouchers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.Vouchers.OrderVoucher"
            },
            "description": "Gets the list of order voucher entities"
          },
          "deals": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.Deals.OrderDeal"
            },
            "description": "Gets the list of order deal entities"
          },
          "ticketRedemptionCards": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.TicketRedemptionCards.OrderMemberSubscriptionCard"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.TicketRedemptionCards.OrderThirdPartyMemberCard"
                }
              ],
              "description": "Represents the base properties of a ticket redemption card base that has been added to a standard order"
            },
            "description": "Gets the list of order ticket redemption card base entities"
          },
          "expiresAt": {
            "type": "string",
            "description": "Gets the date and time that the order is set to expire",
            "format": "date-time"
          },
          "siteId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the site"
          },
          "hasCustomer": {
            "type": "boolean",
            "description": "Gets a value indicating whether the order customer has been set"
          },
          "amountSaved": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the monetary amount saved via discounted prices"
          },
          "tip": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Tips.OrderTip"
              }
            ],
            "description": "Gets the tip"
          },
          "parentOrderId": {
            "type": "string",
            "description": "Gets the unique identifier of the linked parent completed standard order, if applicable",
            "nullable": true
          },
          "siteOrderLocationId": {
            "type": "string",
            "description": "Gets the unique identifier of the site order location, if applicable.\r\n<remarks><br>\r\nWill equal null if items are ordered from the default site item profile\r\n</remarks>",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a standard order in an order status InProgress state"
      },
      "Ocapi.V1.Orders.InProgressOrders.InProgressStandardOrderDetails": {
        "title": "InProgressStandardOrderDetails",
        "required": [
          "order",
          "relatedData"
        ],
        "type": "object",
        "properties": {
          "order": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.InProgressOrders.InProgressStandardOrder"
              }
            ],
            "description": "Gets the in progress order base entity"
          },
          "relatedData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.RelatedData.OrderRelatedData"
              }
            ],
            "description": "Gets the related data for the in progress order base entity"
          }
        },
        "additionalProperties": false,
        "description": "Represents an in progress standard order entity, and its related data"
      },
      "Ocapi.V1.Orders.InProgressOrders.InProgressSubscriptionOrder": {
        "title": "InProgressSubscriptionOrder",
        "required": [
          "action",
          "amountSaved",
          "deals",
          "expiresAt",
          "hasCustomer",
          "payments",
          "status",
          "totalPrice",
          "type",
          "vouchers"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Gets the unique identifier",
            "nullable": true
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.OrderType"
              }
            ],
            "description": "Gets the type"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.OrderStatus"
              }
            ],
            "description": "Gets the status"
          },
          "totalPrice": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the total price to be displayed to the customer"
          },
          "vouchers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.Vouchers.OrderVoucher"
            },
            "description": "Gets the list of order voucher entities"
          },
          "deals": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.Deals.OrderDeal"
            },
            "description": "Gets the list of order deal entities"
          },
          "payments": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.Redirect.OrderRedirectPayment"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.MemberBalance.OrderMemberBalancePayment"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.GiftCards.OrderGiftCardPayment"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.ExternallyProcessed.OrderExternallyProcessedPayment"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.Embedded.OrderEmbeddedPayment"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.CinemaProcessed.OrderCinemaProcessedPayment"
                }
              ],
              "description": "Represents the base properties of a payment that has been added to an order base"
            },
            "description": "Gets the list of order payment base entities"
          },
          "subscription": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Subscriptions.OrderSubscription"
              }
            ],
            "description": "Gets the subscription"
          },
          "action": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Subscriptions.SubscriptionOrderAction"
              }
            ],
            "description": "Gets the subscription order action"
          },
          "expiresAt": {
            "type": "string",
            "description": "Gets the date and time that the order is set to expire",
            "format": "date-time"
          },
          "hasCustomer": {
            "type": "boolean",
            "description": "Gets a value indicating whether the order customer has been set"
          },
          "amountSaved": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the monetary amount saved via discounted prices"
          }
        },
        "additionalProperties": false,
        "description": "Represents a subscription order in an order status InProgress state"
      },
      "Ocapi.V1.Orders.InProgressOrders.InProgressSubscriptionOrderDetails": {
        "title": "InProgressSubscriptionOrderDetails",
        "required": [
          "order",
          "relatedData"
        ],
        "type": "object",
        "properties": {
          "order": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.InProgressOrders.InProgressSubscriptionOrder"
              }
            ],
            "description": "Gets the in progress order base entity"
          },
          "relatedData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.RelatedData.OrderRelatedData"
              }
            ],
            "description": "Gets the related data for the in progress order base entity"
          }
        },
        "additionalProperties": false,
        "description": "Represents an in progress subscription order entity, and its related data"
      },
      "Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemCounterPickup": {
        "title": "CompletedOrderItemCounterPickup",
        "required": [
          "id",
          "method"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the identifier that can be used to uniquely identify the delivery within the standard order"
          },
          "method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.DeliveryMethods.ItemDeliveryMethod"
              }
            ],
            "description": "Gets the delivery method"
          }
        },
        "additionalProperties": false,
        "description": "Represents an order item counter pickup for a completed standard order"
      },
      "Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemCustomLocationDelivery": {
        "title": "CompletedOrderItemCustomLocationDelivery",
        "required": [
          "id",
          "locationName",
          "method",
          "preparation",
          "schedule"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the identifier that can be used to uniquely identify the delivery within the standard order"
          },
          "locationName": {
            "minLength": 1,
            "type": "string"
          },
          "schedule": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleImmediate"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleOnRequest"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleShowtimeDeliveryWindow"
              }
            ],
            "description": "Represents the base properties of a schedule that determines when an order item delivery base\r\nshould be delivered or ready for pickup"
          },
          "method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.DeliveryMethods.ItemDeliveryMethod"
              }
            ]
          },
          "comment": {
            "type": "string",
            "nullable": true
          },
          "preparation": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Preparations.CompletedOrderItemDeliveryPreparation"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Preparations.CompletedOrderItemInSeatDeliveryPreparation"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Preparations.CompletedOrderItemServiceAreaPickupPreparation"
              }
            ],
            "description": "Represents the preparation details of a completed order item delivery base that requires preparation"
          }
        },
        "additionalProperties": false,
        "description": "Represents an order item custom location delivery for a completed standard order"
      },
      "Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemElectronicDelivery": {
        "title": "CompletedOrderItemElectronicDelivery",
        "required": [
          "id",
          "method"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the identifier that can be used to uniquely identify the delivery within the standard order"
          },
          "method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.DeliveryMethods.ItemDeliveryMethod"
              }
            ],
            "description": "Gets the delivery method"
          }
        },
        "additionalProperties": false,
        "description": "Represents an order item electronic delivery for a completed standard order"
      },
      "Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemInSeatDelivery": {
        "title": "CompletedOrderItemInSeatDelivery",
        "required": [
          "id",
          "method",
          "preparation",
          "schedule",
          "seats",
          "showtimeId"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the identifier that can be used to uniquely identify the delivery within the standard order"
          },
          "showtimeId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the showtime"
          },
          "seats": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.Seats.OrderSeat"
            },
            "description": "Gets the list of order seat entities the items will be delivered to"
          },
          "schedule": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleImmediate"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleOnRequest"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleShowtimeDeliveryWindow"
              }
            ],
            "description": "Represents the base properties of a schedule that determines when an order item delivery base\r\nshould be delivered or ready for pickup"
          },
          "method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.DeliveryMethods.ItemDeliveryMethod"
              }
            ],
            "description": "Gets the delivery method"
          },
          "comment": {
            "type": "string",
            "nullable": true
          },
          "preparation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Preparations.CompletedOrderItemInSeatDeliveryPreparation"
              }
            ],
            "description": "Gets the completed order item in seat delivery preparation entity"
          }
        },
        "additionalProperties": false,
        "description": "Represents an order item in seat delivery for a completed standard order"
      },
      "Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemPostalDelivery": {
        "title": "CompletedOrderItemPostalDelivery",
        "required": [
          "deliveryFee",
          "id",
          "postalDeliveryMethodId"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the identifier that can be used to uniquely identify the delivery within the standard order"
          },
          "method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.DeliveryMethods.ItemDeliveryMethod"
              }
            ]
          },
          "postalDeliveryMethodId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the item postal delivery method"
          },
          "deliveryFee": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the delivery fee"
          }
        },
        "additionalProperties": false,
        "description": "Represents an order item delivery base for items that are delivered to a postal address"
      },
      "Ocapi.V1.Orders.Items.Deliveries.Completed.CompletedOrderItemServiceAreaPickup": {
        "title": "CompletedOrderItemServiceAreaPickup",
        "required": [
          "id",
          "method",
          "preparation",
          "schedule",
          "serviceAreaIds"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the identifier that can be used to uniquely identify the delivery within the standard order"
          },
          "schedule": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleImmediate"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleOnRequest"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleShowtimeDeliveryWindow"
              }
            ],
            "description": "Represents the base properties of a schedule that determines when an order item delivery base\r\nshould be delivered or ready for pickup"
          },
          "method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.DeliveryMethods.ItemDeliveryMethod"
              }
            ],
            "description": "Gets the delivery method"
          },
          "comment": {
            "type": "string",
            "description": "Gets the patron's comment, if applicable",
            "nullable": true
          },
          "serviceAreaIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Gets the list of unique identifiers of the item service area entities"
          },
          "preparation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Preparations.CompletedOrderItemServiceAreaPickupPreparation"
              }
            ],
            "description": "Gets the completed order item service area pickup preparation entity"
          }
        },
        "additionalProperties": false,
        "description": "Represents an order item service area pickup for a completed standard order"
      },
      "Ocapi.V1.Orders.Items.Deliveries.Completed.Preparations.CompletedOrderItemDeliveryPreparationStatus": {
        "title": "CompletedOrderItemDeliveryPreparationStatus",
        "enum": [
          "OnHold",
          "Requested",
          "InProgress",
          "Ready",
          "Delivered",
          "Cancelled"
        ],
        "type": "string",
        "description": "Represents the status of a completed order item delivery preparation"
      },
      "Ocapi.V1.Orders.Items.Deliveries.Create.OrderItemCustomLocationDeliveryCreate": {
        "title": "OrderItemCustomLocationDeliveryCreate",
        "required": [
          "locationName",
          "schedule"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Create.OrderItemDeliveryCreateBase"
          }
        ],
        "properties": {
          "locationName": {
            "minLength": 1,
            "type": "string"
          },
          "schedule": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleImmediate"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleOnRequest"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleShowtimeDeliveryWindow"
              }
            ],
            "description": "Represents the base properties of a schedule that determines when an order item delivery base\r\nshould be delivered or ready for pickup"
          },
          "comment": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the values needed to create an order item custom location delivery"
      },
      "Ocapi.V1.Orders.Items.Deliveries.Create.OrderItemDeliveryCreateBase": {
        "title": "OrderItemDeliveryCreateBase",
        "required": [
          "id",
          "method"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the identifier that can be used to uniquely identify the delivery within the in progress standard order"
          },
          "method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.DeliveryMethods.ItemDeliveryMethod"
              }
            ],
            "description": "Gets the delivery method"
          }
        },
        "additionalProperties": false,
        "description": "Represents the base properties required to create an order item delivery base"
      },
      "Ocapi.V1.Orders.Items.Deliveries.Create.OrderItemInSeatDeliveryCreate": {
        "title": "OrderItemInSeatDeliveryCreate",
        "required": [
          "schedule",
          "seatIds",
          "showtimeId"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Create.OrderItemDeliveryCreateBase"
          }
        ],
        "properties": {
          "showtimeId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the showtime"
          },
          "seatIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Gets the list of unique identifiers of the seat entities the items will be\r\ndelivered to"
          },
          "schedule": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleImmediate"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleOnRequest"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleShowtimeDeliveryWindow"
              }
            ],
            "description": "Represents the base properties of a schedule that determines when an order item delivery base\r\nshould be delivered or ready for pickup"
          },
          "comment": {
            "type": "string",
            "description": "Gets the patron's comment, if applicable",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the values needed to create an order item in seat delivery"
      },
      "Ocapi.V1.Orders.Items.Deliveries.Create.OrderItemPostalDeliveryCreate": {
        "title": "OrderItemPostalDeliveryCreate",
        "required": [
          "postalDeliveryMethodId"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Create.OrderItemDeliveryCreateBase"
          }
        ],
        "properties": {
          "postalDeliveryMethodId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the item postal delivery method"
          }
        },
        "additionalProperties": false,
        "description": "Represents the values needed to create an order item postal delivery"
      },
      "Ocapi.V1.Orders.Items.Deliveries.Create.OrderItemServiceAreaPickupCreate": {
        "title": "OrderItemServiceAreaPickupCreate",
        "required": [
          "schedule"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Create.OrderItemDeliveryCreateBase"
          }
        ],
        "properties": {
          "schedule": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleImmediate"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleOnRequest"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleShowtimeDeliveryWindow"
              }
            ],
            "description": "Represents the base properties of a schedule that determines when an order item delivery base\r\nshould be delivered or ready for pickup"
          },
          "comment": {
            "type": "string",
            "description": "Gets the patron's comment, if applicable",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the values needed to create an order item service area pickup"
      },
      "Ocapi.V1.Orders.Items.Deliveries.OrderItemCounterPickup": {
        "title": "OrderItemCounterPickup",
        "required": [
          "method"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.OrderItemDeliveryBase"
          }
        ],
        "properties": {
          "method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.DeliveryMethods.ItemDeliveryMethod"
              }
            ],
            "description": "Gets the delivery method"
          }
        },
        "additionalProperties": false,
        "description": "Represents an order item delivery base for items that can be\r\npicked up by the patron from the counter at any time, as they do not require preparation"
      },
      "Ocapi.V1.Orders.Items.Deliveries.OrderItemCustomLocationDelivery": {
        "title": "OrderItemCustomLocationDelivery",
        "required": [
          "locationName",
          "method",
          "schedule"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.OrderItemDeliveryBase"
          }
        ],
        "properties": {
          "locationName": {
            "minLength": 1,
            "type": "string"
          },
          "schedule": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleImmediate"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleOnRequest"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleShowtimeDeliveryWindow"
              }
            ],
            "description": "Represents the base properties of a schedule that determines when an order item delivery base\r\nshould be delivered or ready for pickup"
          },
          "method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.DeliveryMethods.ItemDeliveryMethod"
              }
            ]
          },
          "comment": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents an order item delivery base for items that are\r\ndelivered to the patron at a custom location, defined by the client"
      },
      "Ocapi.V1.Orders.Items.Deliveries.OrderItemDeliveryBase": {
        "title": "OrderItemDeliveryBase",
        "required": [
          "id",
          "method"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the identifier that can be used to uniquely identify the delivery within the standard order"
          },
          "method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.DeliveryMethods.ItemDeliveryMethod"
              }
            ],
            "description": "Gets the delivery method"
          }
        },
        "additionalProperties": false,
        "description": "Represents the base properties of the delivery of one or more order item line base entities"
      },
      "Ocapi.V1.Orders.Items.Deliveries.OrderItemElectronicDelivery": {
        "title": "OrderItemElectronicDelivery",
        "required": [
          "method"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.OrderItemDeliveryBase"
          }
        ],
        "properties": {
          "method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.DeliveryMethods.ItemDeliveryMethod"
              }
            ],
            "description": "Gets the delivery method"
          }
        },
        "additionalProperties": false,
        "description": "Represents an order item delivery base for items that are\r\ndelivered to the patron electronically"
      },
      "Ocapi.V1.Orders.Items.Deliveries.OrderItemInSeatDelivery": {
        "title": "OrderItemInSeatDelivery",
        "required": [
          "method",
          "schedule",
          "seats",
          "showtimeId"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.OrderItemDeliveryBase"
          }
        ],
        "properties": {
          "showtimeId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the showtime"
          },
          "seats": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.Seats.OrderSeat"
            },
            "description": "Gets the list of order seat entities the items will be delivered to"
          },
          "schedule": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleImmediate"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleOnRequest"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleShowtimeDeliveryWindow"
              }
            ],
            "description": "Represents the base properties of a schedule that determines when an order item delivery base\r\nshould be delivered or ready for pickup"
          },
          "method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.DeliveryMethods.ItemDeliveryMethod"
              }
            ],
            "description": "Gets the delivery method"
          },
          "comment": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents an order item delivery base for items that are\r\ndelivered to the patron at one or more seat entities"
      },
      "Ocapi.V1.Orders.Items.Deliveries.OrderItemPostalDelivery": {
        "title": "OrderItemPostalDelivery",
        "required": [
          "deliveryFee",
          "postalDeliveryMethodId"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.OrderItemDeliveryBase"
          }
        ],
        "properties": {
          "method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.DeliveryMethods.ItemDeliveryMethod"
              }
            ]
          },
          "postalDeliveryMethodId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the item postal delivery method"
          },
          "deliveryFee": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the delivery fee"
          }
        },
        "additionalProperties": false,
        "description": "Represents an order item delivery base for items that are delivered to a postal address"
      },
      "Ocapi.V1.Orders.Items.Deliveries.OrderItemServiceAreaPickup": {
        "title": "OrderItemServiceAreaPickup",
        "required": [
          "method",
          "schedule"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.OrderItemDeliveryBase"
          }
        ],
        "properties": {
          "schedule": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleImmediate"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleOnRequest"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleShowtimeDeliveryWindow"
              }
            ],
            "description": "Represents the base properties of a schedule that determines when an order item delivery base\r\nshould be delivered or ready for pickup"
          },
          "method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.DeliveryMethods.ItemDeliveryMethod"
              }
            ],
            "description": "Gets the delivery method"
          },
          "comment": {
            "type": "string",
            "description": "Gets the patron's comment, if applicable",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents an order item delivery base for items that are\r\npicked up from the relevant item service area locations by the patron after preparation"
      },
      "Ocapi.V1.Orders.Items.Deliveries.Preparations.CompletedOrderItemDeliveryPreparation": {
        "title": "CompletedOrderItemDeliveryPreparation",
        "required": [
          "status"
        ],
        "type": "object",
        "properties": {
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Completed.Preparations.CompletedOrderItemDeliveryPreparationStatus"
              }
            ],
            "description": "Gets the current status"
          }
        },
        "additionalProperties": false,
        "description": "Represents the preparation details of a completed order item delivery base that requires preparation"
      },
      "Ocapi.V1.Orders.Items.Deliveries.Preparations.CompletedOrderItemInSeatDeliveryPreparation": {
        "title": "CompletedOrderItemInSeatDeliveryPreparation",
        "required": [
          "availableAt",
          "status",
          "unavailableAt"
        ],
        "type": "object",
        "properties": {
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Completed.Preparations.CompletedOrderItemDeliveryPreparationStatus"
              }
            ],
            "description": "Gets the current status"
          },
          "availableAt": {
            "type": "string",
            "description": "Gets the earliest date and time that preparation is available, i.e. when item preparation can be started",
            "format": "date-time"
          },
          "unavailableAt": {
            "type": "string",
            "description": "Gets the date and time when in-seat item delivery is no longer available, i.e. when item preparation must be completed by",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Represents a completed order item delivery preparation for an order item in seat delivery"
      },
      "Ocapi.V1.Orders.Items.Deliveries.Preparations.CompletedOrderItemServiceAreaPickupPreparation": {
        "title": "CompletedOrderItemServiceAreaPickupPreparation",
        "required": [
          "availableAt",
          "status"
        ],
        "type": "object",
        "properties": {
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Completed.Preparations.CompletedOrderItemDeliveryPreparationStatus"
              }
            ],
            "description": "Gets the current status"
          },
          "pickupNumber": {
            "type": "integer",
            "description": "Gets the pickup number, if applicable",
            "format": "int32",
            "nullable": true
          },
          "availableAt": {
            "type": "string",
            "description": "Gets the earliest date and time that preparation is available, i.e. when item preparation can be started",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Represents a completed order item delivery preparation for an order item service area pickup"
      },
      "Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleBase": {
        "title": "OrderItemDeliveryScheduleBase",
        "required": [
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleType"
              }
            ],
            "description": "Gets the type"
          }
        },
        "additionalProperties": false,
        "description": "Represents the base properties of a schedule that determines when an order item delivery base\r\nshould be delivered or ready for pickup"
      },
      "Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleImmediate": {
        "title": "OrderItemDeliveryScheduleImmediate",
        "required": [
          "type"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleBase"
          }
        ],
        "properties": {
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleType"
              }
            ],
            "description": "Gets the type"
          }
        },
        "additionalProperties": false,
        "description": "Represents an order item delivery schedule base that should be sent for preparation immediately"
      },
      "Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleOnRequest": {
        "title": "OrderItemDeliveryScheduleOnRequest",
        "required": [
          "type"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleBase"
          }
        ],
        "properties": {
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleType"
              }
            ],
            "description": "Gets the type"
          }
        },
        "additionalProperties": false,
        "description": "Represents an order item delivery schedule base that should be sent for preparation upon the patron's request"
      },
      "Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleShowtimeDeliveryWindow": {
        "title": "OrderItemDeliveryScheduleShowtimeDeliveryWindow",
        "required": [
          "showtimeDeliveryWindowId",
          "type"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleBase"
          }
        ],
        "properties": {
          "showtimeDeliveryWindowId": {
            "minLength": 1,
            "type": "string"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleType"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "Represents an order item delivery schedule base that uses an item showtime delivery window base\r\nto determine when it should be ready for delivery or pickup"
      },
      "Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleType": {
        "title": "OrderItemDeliveryScheduleType",
        "enum": [
          "Immediate",
          "OnRequest",
          "ShowtimeDeliveryWindow"
        ],
        "type": "string",
        "description": "Represents the type of an order item delivery schedule base"
      },
      "Ocapi.V1.Orders.Items.OrderItemLine": {
        "title": "OrderItemLine",
        "required": [
          "components",
          "deliveryId",
          "items",
          "modifierGroups"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/Ocapi.V1.Orders.OrderItemLineBase"
          }
        ],
        "properties": {
          "modifierGroups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.OrderItemModifierGroup"
            },
            "description": "Gets the list of order item modifier group entities"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.OrderPackageItemContentItem"
            },
            "description": "Gets the list of order package item content item base entities"
          },
          "components": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.OrderRecipeItemNormalComponent"
            },
            "description": "Gets the components of the recipe item"
          },
          "deliveryId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the order item delivery base"
          },
          "comment": {
            "type": "string",
            "description": "Gets the patron's comment, if applicable",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the base properties of an order line for a top-level instance of an item base\r\nwithin a standard order or gift shop order"
      },
      "Ocapi.V1.Orders.Items.OrderItemModifier": {
        "title": "OrderItemModifier",
        "required": [
          "amountSaved",
          "itemId",
          "price"
        ],
        "type": "object",
        "properties": {
          "itemId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the item base"
          },
          "price": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the price to be displayed to the customer"
          },
          "amountSaved": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the total amount saved on the item due to all discounts and deals"
          }
        },
        "additionalProperties": false,
        "description": "Represents an instance of an item modifier within an order item modifier group"
      },
      "Ocapi.V1.Orders.Items.OrderItemModifierGroup": {
        "title": "OrderItemModifierGroup",
        "required": [
          "itemModifierGroupId",
          "modifiers"
        ],
        "type": "object",
        "properties": {
          "itemModifierGroupId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the item modifier group",
            "readOnly": true
          },
          "modifiers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.OrderItemModifier"
            },
            "description": "Gets the list of order item modifier entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents the additions made to an order item line base for a particular item modifier group"
      },
      "Ocapi.V1.Orders.Items.OrderPackageItemContentItem": {
        "title": "OrderPackageItemContentItem",
        "required": [
          "amountSaved",
          "components",
          "deliveryId",
          "itemId",
          "modifierGroups",
          "price",
          "type"
        ],
        "type": "object",
        "properties": {
          "itemId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the item base"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.ItemType"
              }
            ],
            "description": "Gets the item type"
          },
          "price": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the price to be displayed to the customer"
          },
          "amountSaved": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the total amount saved on the item due to all discounts and deals"
          },
          "parentSalesItemId": {
            "type": "string",
            "description": "Gets the unique identifier of the parent sales item this item is an option for",
            "nullable": true
          },
          "modifierGroups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.OrderItemModifierGroup"
            },
            "description": "Gets the list of order item modifier group entities"
          },
          "components": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.OrderRecipeItemNormalComponent"
            },
            "description": "Gets the components of the recipe item"
          },
          "deliveryId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the order item delivery base"
          },
          "comment": {
            "type": "string",
            "description": "Gets the patron's comment, if applicable",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the base properties of the customisation of a package item content item within an order package item line"
      },
      "Ocapi.V1.Orders.Items.OrderRecipeItemNormalComponent": {
        "title": "OrderRecipeItemNormalComponent",
        "required": [
          "amountSaved",
          "itemId",
          "modification",
          "modifierGroups",
          "price",
          "type"
        ],
        "type": "object",
        "properties": {
          "itemId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the item base"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.ItemType"
              }
            ],
            "description": "Gets the item type"
          },
          "price": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the price to be displayed to the customer"
          },
          "amountSaved": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the total amount saved on the item due to all discounts and deals"
          },
          "modification": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Recipes.OrderRecipeItemComponentModification"
              }
            ],
            "description": "Gets the modification"
          },
          "modifierGroups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.OrderItemModifierGroup"
            },
            "description": "Gets the list of order item modifier group entities"
          },
          "parentSalesItemId": {
            "type": "string",
            "description": "Gets the unique identifier of the parent sales item this item is an option for",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "description": "Represents an order recipe item component base that is a normal item"
      },
      "Ocapi.V1.Orders.Items.OrderWeightBasedItemLine": {
        "title": "OrderWeightBasedItemLine",
        "required": [
          "deliveryId",
          "unitAbbreviation",
          "weight"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/Ocapi.V1.Orders.OrderItemLineBase"
          }
        ],
        "properties": {
          "weight": {
            "type": "number",
            "format": "double"
          },
          "unitAbbreviation": {
            "minLength": 1,
            "type": "string"
          },
          "deliveryId": {
            "minLength": 1,
            "type": "string"
          },
          "comment": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a order item line base for a weight based item"
      },
      "Ocapi.V1.Orders.Items.Recipes.OrderRecipeItemComponentModification": {
        "title": "OrderRecipeItemComponentModification",
        "enum": [
          "None",
          "Remove",
          "Extra",
          "OnTheSide",
          "ExtraOnTheSide"
        ],
        "type": "string",
        "description": "Represents the modification of an order recipe item component base"
      },
      "Ocapi.V1.Orders.Items.Requests.OrderItemModifierGroupRequest": {
        "title": "OrderItemModifierGroupRequest",
        "required": [
          "itemModifierGroupId",
          "modifiers"
        ],
        "type": "object",
        "properties": {
          "itemModifierGroupId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the item modifier group"
          },
          "modifiers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Requests.OrderItemModifierRequest"
            },
            "description": "Gets the list of order item modifier request entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of a requested order item modifier group"
      },
      "Ocapi.V1.Orders.Items.Requests.OrderItemModifierRequest": {
        "title": "OrderItemModifierRequest",
        "required": [
          "itemId"
        ],
        "type": "object",
        "properties": {
          "itemId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the item base"
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of a requested order item modifier"
      },
      "Ocapi.V1.Orders.Items.Requests.OrderItemRequest": {
        "title": "OrderItemRequest",
        "required": [
          "itemId",
          "type"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Gets the identifier that can be used to uniquely identify the item within the order base",
            "nullable": true
          },
          "itemId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the item base"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.ItemType"
              }
            ],
            "description": "Gets the item type"
          },
          "rewardId": {
            "type": "integer",
            "description": "Gets the unique identifier of the reward used, if applicable",
            "format": "int32",
            "nullable": true
          },
          "discountId": {
            "type": "string",
            "description": "Gets the unique identifier of the discount used, if applicable",
            "nullable": true
          },
          "deliveryId": {
            "type": "string",
            "description": "Gets the unique identifier of the order item delivery create base, if applicable",
            "nullable": true
          },
          "comment": {
            "type": "string",
            "description": "Gets the patron's comment that is sent to the kitchen, if applicable",
            "nullable": true
          },
          "parentSalesItemId": {
            "type": "string",
            "description": "Gets the unique identifier of the parent sales item this item is an option for",
            "nullable": true
          },
          "modifierGroups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Requests.OrderItemModifierGroupRequest"
            },
            "description": "Gets the list of order item modifier group request entities",
            "nullable": true
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Requests.OrderPackageItemContentItemRequest"
            },
            "description": "Gets the list of order package item content item request base entities that require customisation",
            "nullable": true
          },
          "components": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Requests.OrderRecipeItemNormalComponentRequest"
            },
            "description": "Gets the list of order recipe item component request base entities for the recipe item component entities that require customisation",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the base properties of a requested order item line base"
      },
      "Ocapi.V1.Orders.Items.Requests.OrderItemsRequest": {
        "title": "OrderItemsRequest",
        "required": [
          "items"
        ],
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Requests.OrderItemRequest"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Requests.OrderWeightBasedItemRequest"
                }
              ],
              "description": "Represents the base properties of a requested order item line base"
            },
            "description": "Gets the list of order item request base entities"
          },
          "itemDeliveries": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Create.OrderItemCustomLocationDeliveryCreate"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Create.OrderItemInSeatDeliveryCreate"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Create.OrderItemPostalDeliveryCreate"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Create.OrderItemServiceAreaPickupCreate"
                }
              ],
              "description": "Represents the base properties required to create an order item delivery base"
            },
            "description": "Gets the list of order item delivery create base entities, if applicable",
            "nullable": true
          },
          "itemDeliveriesComment": {
            "type": "string",
            "description": "Gets the comment that applies to all order item delivery with comment entities (including any\r\ndefault deliveries)",
            "nullable": true
          },
          "serviceAreaPickupSchedule": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleImmediate"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleOnRequest"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Deliveries.Schedules.OrderItemDeliveryScheduleShowtimeDeliveryWindow"
              }
            ],
            "description": "Represents the base properties of a schedule that determines when an order item delivery base\r\nshould be delivered or ready for pickup"
          }
        },
        "additionalProperties": false,
        "description": "Represents a list of order item request base entities for an in progress standard order or in progress gift shop order"
      },
      "Ocapi.V1.Orders.Items.Requests.OrderPackageItemContentItemRequest": {
        "title": "OrderPackageItemContentItemRequest",
        "required": [
          "itemId",
          "type"
        ],
        "type": "object",
        "properties": {
          "itemId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the item base"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.ItemType"
              }
            ],
            "description": "Gets the item type"
          },
          "parentSalesItemId": {
            "type": "string",
            "description": "Gets the unique identifier of the parent sales item this item is an option for",
            "nullable": true
          },
          "modifierGroups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Requests.OrderItemModifierGroupRequest"
            },
            "description": "Gets the list of order item modifier group request entities",
            "nullable": true
          },
          "components": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Requests.OrderRecipeItemNormalComponentRequest"
            },
            "description": "Gets the list of order recipe item component request base entities for the recipe item component entities that require customisation",
            "nullable": true
          },
          "deliveryId": {
            "type": "string",
            "description": "Gets the unique identifier of the order item delivery create base, if applicable",
            "nullable": true
          },
          "comment": {
            "type": "string",
            "description": "Gets the patron's comment that is sent to the kitchen, if applicable",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the base properties of a requested order package item content item base"
      },
      "Ocapi.V1.Orders.Items.Requests.OrderRecipeItemNormalComponentRequest": {
        "title": "OrderRecipeItemNormalComponentRequest",
        "required": [
          "itemId",
          "type"
        ],
        "type": "object",
        "properties": {
          "itemId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the item base"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.ItemType"
              }
            ],
            "description": "Gets the item type"
          },
          "parentSalesItemId": {
            "type": "string",
            "description": "Gets the unique identifier of the parent sales item this item is an option for",
            "nullable": true
          },
          "modifierGroups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Requests.OrderItemModifierGroupRequest"
            },
            "description": "Gets the list of order item modifier group request entities",
            "nullable": true
          },
          "modification": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Items.Recipes.OrderRecipeItemComponentModification"
              }
            ],
            "description": "Gets the modification, if applicable"
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of a requested order recipe item normal component"
      },
      "Ocapi.V1.Orders.Items.Requests.OrderWeightBasedItemRequest": {
        "title": "OrderWeightBasedItemRequest",
        "required": [
          "itemId",
          "type",
          "weight"
        ],
        "type": "object",
        "properties": {
          "itemId": {
            "minLength": 1,
            "type": "string"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.ItemType"
              }
            ]
          },
          "parentSalesItemId": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "string",
            "nullable": true
          },
          "rewardId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "discountId": {
            "type": "string",
            "nullable": true
          },
          "deliveryId": {
            "type": "string",
            "nullable": true
          },
          "comment": {
            "type": "string",
            "nullable": true
          },
          "weight": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of a requested order weight based item line"
      },
      "Ocapi.V1.Orders.Lines.OrderLineCollectionStatus": {
        "title": "OrderLineCollectionStatus",
        "enum": [
          "NotCollected",
          "Collected"
        ],
        "type": "string",
        "description": "Represents the collection status of an order line"
      },
      "Ocapi.V1.Orders.Lines.OrderLineRefundStatus": {
        "title": "OrderLineRefundStatus",
        "enum": [
          "NotRefunded",
          "Refunded"
        ],
        "type": "string",
        "description": "Represents the refund status of an order line"
      },
      "Ocapi.V1.Orders.Lines.OrderLineRefundUnavailableReason": {
        "title": "OrderLineRefundUnavailableReason",
        "enum": [
          "NotApplicable",
          "NotEnabled",
          "OrderNotCompleted",
          "AlreadyCollected",
          "AlreadyRefunded",
          "ItemDeliveryPreparationStarted",
          "ShowtimeRefundWindowEnded",
          "VoucherRedeemed",
          "RedeemableItemIssued",
          "OrderExpired",
          "WeightBasedItem"
        ],
        "type": "string",
        "description": "Represents the reasons that an order line cannot be refunded"
      },
      "Ocapi.V1.Orders.OrderItemLineBase": {
        "title": "OrderItemLineBase",
        "required": [
          "amountSaved",
          "collectionStatus",
          "id",
          "itemId",
          "price",
          "refundAvailability",
          "refundStatus",
          "type"
        ],
        "type": "object",
        "properties": {
          "itemId": {
            "minLength": 1,
            "type": "string"
          },
          "id": {
            "minLength": 1,
            "type": "string"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.ItemType"
              }
            ]
          },
          "price": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ]
          },
          "amountSaved": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ]
          },
          "parentSalesItemId": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "collectionStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Lines.OrderLineCollectionStatus"
              }
            ]
          },
          "refundStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Lines.OrderLineRefundStatus"
              }
            ]
          },
          "refundAvailability": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Refunds.CompletedOrderLineRefundAvailability"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Refunds.CompletedWeightBasedOrderLineRefundAvailability"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Refunds.InProgressOrderLineRefundAvailability"
              }
            ],
            "description": "Represents the refund availability of an order line"
          },
          "rewardId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "discountId": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "dealId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the base properties of an order line for a top-level instance of an item base\r\nwithin a standard order or gift shop order"
      },
      "Ocapi.V1.Orders.OrderStatus": {
        "title": "OrderStatus",
        "enum": [
          "InProgress",
          "Completed"
        ],
        "type": "string",
        "description": "Represents the life-cycle stages of an order base"
      },
      "Ocapi.V1.Orders.OrderType": {
        "title": "OrderType",
        "enum": [
          "Standard",
          "GiftShop",
          "Subscription"
        ],
        "type": "string",
        "description": "Represents the type of an order base"
      },
      "Ocapi.V1.Orders.Payments.CinemaProcessed.OrderCinemaProcessedPayment": {
        "title": "OrderCinemaProcessedPayment",
        "required": [
          "id",
          "status",
          "type",
          "value"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the identifier that can be used to uniquely identify the payment within the order base"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.OrderPaymentType"
              }
            ],
            "description": "Gets the type"
          },
          "value": {
            "type": "number",
            "description": "Gets the monetary value",
            "format": "double"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.OrderPaymentStatus"
              }
            ],
            "description": "Gets the status"
          }
        },
        "additionalProperties": false,
        "description": "Represents a cinema processed payment that has been added to an order base"
      },
      "Ocapi.V1.Orders.Payments.CinemaProcessed.OrderEmbeddedPaymentClientData": {
        "title": "OrderEmbeddedPaymentClientData",
        "required": [
          "completePaymentUrl",
          "connectorFunctionName",
          "connectorParametersJson",
          "connectorScriptUrls",
          "isPaymentButtonIncluded",
          "sdkScriptUrls"
        ],
        "type": "object",
        "properties": {
          "connectorParametersJson": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the JSON blob of parameters required by the connector"
          },
          "completePaymentUrl": {
            "type": "string",
            "description": "Gets the URL that needs to be called after the payment has been accepted",
            "format": "uri"
          },
          "sdkScriptUrls": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Gets the list of SDK script URLs that need to be loaded"
          },
          "connectorScriptUrls": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Gets the list of connector script URLs that need to be loaded"
          },
          "connectorFunctionName": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the name of the connector function that needs to be called"
          },
          "isPaymentButtonIncluded": {
            "type": "boolean",
            "description": "Gets a value indicating whether or not the payment connector UI includes a payment button"
          }
        },
        "additionalProperties": false,
        "description": "Represents the details required to initialise the embedded payment UI to complete a created order embedded payment"
      },
      "Ocapi.V1.Orders.Payments.Embedded.CreatedOrderEmbeddedPayment": {
        "title": "CreatedOrderEmbeddedPayment",
        "required": [
          "clientData",
          "embeddedPayment",
          "updatedOrderExpiresAt"
        ],
        "type": "object",
        "properties": {
          "embeddedPayment": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.Embedded.OrderEmbeddedPayment"
              }
            ],
            "description": "Gets the order embedded payment entity"
          },
          "clientData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.CinemaProcessed.OrderEmbeddedPaymentClientData"
              }
            ],
            "description": "Gets the order embedded payment client data entity"
          },
          "updatedOrderExpiresAt": {
            "type": "string",
            "description": "Gets the updated date and time that the in progress order base expires",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Represents an order embedded payment that has just been created,\r\nand the order embedded payment client data required to initialise the UI"
      },
      "Ocapi.V1.Orders.Payments.Embedded.OrderEmbeddedPayment": {
        "title": "OrderEmbeddedPayment",
        "required": [
          "id",
          "status",
          "type",
          "value"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the identifier that can be used to uniquely identify the payment within the order base"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.OrderPaymentType"
              }
            ],
            "description": "Gets the type"
          },
          "value": {
            "type": "number",
            "description": "Gets the monetary value",
            "format": "double"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.OrderPaymentStatus"
              }
            ],
            "description": "Gets the status"
          }
        },
        "additionalProperties": false,
        "description": "Represents an embedded payment that has been added to an order base"
      },
      "Ocapi.V1.Orders.Payments.Embedded.OrderEmbeddedPaymentCreate": {
        "title": "OrderEmbeddedPaymentCreate",
        "required": [
          "webPaymentMethodId"
        ],
        "type": "object",
        "properties": {
          "webPaymentMethodId": {
            "type": "integer",
            "description": "Gets the unique identifier of the web payment method",
            "format": "int32"
          },
          "redirectReturnUrl": {
            "type": "string",
            "description": "Gets the URL that the browser will be directed to after the embedded payment has finished, if the requested web payment\r\nmethod requires redirect",
            "format": "uri",
            "nullable": true
          },
          "languageTag": {
            "type": "string",
            "description": "Gets the IETF (RFC 4646) language tag",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the values required to create an order embedded payment"
      },
      "Ocapi.V1.Orders.Payments.ExternallyProcessed.OrderExternallyProcessedPayment": {
        "title": "OrderExternallyProcessedPayment",
        "required": [
          "id",
          "status",
          "type",
          "value"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the identifier that can be used to uniquely identify the payment within the order base"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.OrderPaymentStatus"
              }
            ],
            "description": "Gets the status"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.OrderPaymentType"
              }
            ],
            "description": "Gets the type"
          },
          "value": {
            "type": "number",
            "description": "Gets the monetary value",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Represents an externally processed payment that has been added to an order base"
      },
      "Ocapi.V1.Orders.Payments.GiftCards.OrderGiftCardPayment": {
        "title": "OrderGiftCardPayment",
        "required": [
          "id",
          "maskedCardNumber",
          "status",
          "type",
          "value"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the identifier that can be used to uniquely identify the payment within the order base"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.OrderPaymentType"
              }
            ],
            "description": "Gets the type"
          },
          "maskedCardNumber": {
            "minLength": 1,
            "type": "string",
            "description": "Gets a masked representation of the card number",
            "example": "12.......6789"
          },
          "value": {
            "type": "number",
            "description": "Gets the monetary value",
            "format": "double"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.OrderPaymentStatus"
              }
            ],
            "description": "Gets the status"
          }
        },
        "additionalProperties": false,
        "description": "Represents a gift card payment that has been added to an order base"
      },
      "Ocapi.V1.Orders.Payments.GiftCards.OrderGiftCardPaymentCreate": {
        "title": "OrderGiftCardPaymentCreate",
        "required": [
          "cardNumber"
        ],
        "type": "object",
        "properties": {
          "cardNumber": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the card number"
          },
          "pin": {
            "type": "string",
            "description": "Gets the PIN",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the values required to create an order gift card payment"
      },
      "Ocapi.V1.Orders.Payments.MemberBalance.Maximum.OrderMaximumMemberBalancePayment": {
        "title": "OrderMaximumMemberBalancePayment",
        "required": [
          "availableUnits",
          "balanceTypeId",
          "maximumUnits",
          "maximumValue"
        ],
        "type": "object",
        "properties": {
          "balanceTypeId": {
            "type": "integer",
            "description": "Gets the unique identifier of the balance type",
            "format": "int32"
          },
          "maximumValue": {
            "type": "number",
            "description": "Gets the maximum eligible monetary value",
            "format": "double"
          },
          "maximumUnits": {
            "type": "number",
            "description": "Gets the maximum eligible value in balance type units",
            "format": "double"
          },
          "availableUnits": {
            "type": "number",
            "description": "Gets the total available member balance units, including those not eligible to be used as payment for the in progress order base",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Represents the maximum order member balance payment value for an in progress order base"
      },
      "Ocapi.V1.Orders.Payments.MemberBalance.Maximum.OrderMaximumMemberBalancePaymentDetails": {
        "title": "OrderMaximumMemberBalancePaymentDetails",
        "required": [
          "payment",
          "relatedData"
        ],
        "type": "object",
        "properties": {
          "payment": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.MemberBalance.Maximum.OrderMaximumMemberBalancePayment"
              }
            ],
            "description": "Gets the order maximum member balance payment entity"
          },
          "relatedData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.MemberBalance.Maximum.OrderMaximumMemberBalancePaymentRelatedData"
              }
            ],
            "description": "Gets the related data for the order maximum member balance payment entity"
          }
        },
        "additionalProperties": false,
        "description": "Represents an order maximum member balance payment entity, and its related data"
      },
      "Ocapi.V1.Orders.Payments.MemberBalance.Maximum.OrderMaximumMemberBalancePaymentRelatedData": {
        "title": "OrderMaximumMemberBalancePaymentRelatedData",
        "required": [
          "balanceType"
        ],
        "type": "object",
        "properties": {
          "balanceType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.BalanceTypes.BalanceType"
              }
            ],
            "description": "Gets the related balance type entity"
          }
        },
        "additionalProperties": false,
        "description": "Related data for an order maximum member balance payment entity"
      },
      "Ocapi.V1.Orders.Payments.MemberBalance.OrderMemberBalancePayment": {
        "title": "OrderMemberBalancePayment",
        "required": [
          "balanceTypeId",
          "id",
          "status",
          "type",
          "units",
          "value"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the identifier that can be used to uniquely identify the payment within the order base"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.OrderPaymentType"
              }
            ],
            "description": "Gets the type"
          },
          "value": {
            "type": "number",
            "description": "Gets the monetary value",
            "format": "double"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.OrderPaymentStatus"
              }
            ],
            "description": "Gets the status"
          },
          "balanceTypeId": {
            "type": "integer",
            "description": "Gets the unique identifier of the balance type",
            "format": "int32"
          },
          "units": {
            "type": "number",
            "description": "Gets the value in balance type units",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Represents a member balance payment that has been added to an order base"
      },
      "Ocapi.V1.Orders.Payments.MemberBalance.OrderMemberBalancePaymentUpdate": {
        "title": "OrderMemberBalancePaymentUpdate",
        "type": "object",
        "properties": {
          "value": {
            "type": "number",
            "description": "Gets the monetary value, if applicable",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the values required to update an order member balance payment"
      },
      "Ocapi.V1.Orders.Payments.OrderPaymentStatus": {
        "title": "OrderPaymentStatus",
        "enum": [
          "NotStarted",
          "Pending",
          "Declined",
          "Completed"
        ],
        "type": "string",
        "description": "Represents the status of an order payment base"
      },
      "Ocapi.V1.Orders.Payments.OrderPaymentType": {
        "title": "OrderPaymentType",
        "enum": [
          "CinemaProcessed",
          "Embedded",
          "GiftCard",
          "Redirect",
          "MemberBalance",
          "ExternallyProcessed"
        ],
        "type": "string",
        "description": "Represents the type of an order payment base"
      },
      "Ocapi.V1.Orders.Payments.Redirect.CreatedOrderRedirectPayment": {
        "title": "CreatedOrderRedirectPayment",
        "required": [
          "redirectPayment",
          "redirectUrl",
          "updatedOrderExpiresAt"
        ],
        "type": "object",
        "properties": {
          "redirectPayment": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.Redirect.OrderRedirectPayment"
              }
            ],
            "description": "Gets the order redirect payment entity"
          },
          "redirectUrl": {
            "type": "string",
            "description": "Gets the URL of the payment page",
            "format": "uri"
          },
          "updatedOrderExpiresAt": {
            "type": "string",
            "description": "Gets the updated date and time that the in progress order base expires",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Represents an order redirect payment that has just been created, and the created order redirect payment RedirectUrl to the payment page"
      },
      "Ocapi.V1.Orders.Payments.Redirect.OrderRedirectPayment": {
        "title": "OrderRedirectPayment",
        "required": [
          "id",
          "status",
          "type",
          "value"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the identifier that can be used to uniquely identify the payment within the order base"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.OrderPaymentType"
              }
            ],
            "description": "Gets the type"
          },
          "value": {
            "type": "number",
            "description": "Gets the monetary value",
            "format": "double"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Payments.OrderPaymentStatus"
              }
            ],
            "description": "Gets the status"
          }
        },
        "additionalProperties": false,
        "description": "Represents a redirect payment that has been added to an order base"
      },
      "Ocapi.V1.Orders.Payments.Redirect.OrderRedirectPaymentCreate": {
        "title": "OrderRedirectPaymentCreate",
        "required": [
          "redirectReturnUrl",
          "webPaymentMethodId"
        ],
        "type": "object",
        "properties": {
          "webPaymentMethodId": {
            "type": "integer",
            "description": "Gets the unique identifier of the web payment method",
            "format": "int32"
          },
          "redirectReturnUrl": {
            "type": "string",
            "description": "Gets the URL that the browser will be directed to after the after successful or cancelled payment",
            "format": "uri"
          },
          "languageTag": {
            "type": "string",
            "description": "Gets the IETF (RFC 4646) language tag",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the values required to create an order redirect payment"
      },
      "Ocapi.V1.Orders.Preparations.OrderPreparation": {
        "title": "OrderPreparation",
        "required": [
          "status"
        ],
        "type": "object",
        "properties": {
          "collectionNumber": {
            "type": "integer",
            "description": "Gets the number generated by the site that can be used to collect the completed standard order when the order preparation Status\r\nequals order preparation status Completed",
            "format": "int32",
            "nullable": true
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Preparations.OrderPreparationStatus"
              }
            ],
            "description": "Gets the current status"
          }
        },
        "additionalProperties": false,
        "description": "Represents the preparation and collection details of a completed standard order"
      },
      "Ocapi.V1.Orders.Preparations.OrderPreparationStatus": {
        "title": "OrderPreparationStatus",
        "enum": [
          "NotStarted",
          "Started",
          "Completed",
          "Collected",
          "Cancelled"
        ],
        "type": "string",
        "description": "Represents the status of an order preparation"
      },
      "Ocapi.V1.Orders.Refunds.CompletedOrderLineRefundAvailability": {
        "title": "CompletedOrderLineRefundAvailability",
        "required": [
          "isAvailable",
          "unavailableReason"
        ],
        "type": "object",
        "properties": {
          "isAvailable": {
            "type": "boolean",
            "description": "Gets a value indicating whether the order line can be refunded",
            "readOnly": true
          },
          "unavailableReason": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Lines.OrderLineRefundUnavailableReason"
              }
            ],
            "description": "Gets the reason the order line cannot be refunded"
          }
        },
        "additionalProperties": false,
        "description": "Represents the refund availability of an order line"
      },
      "Ocapi.V1.Orders.Refunds.CompletedWeightBasedOrderLineRefundAvailability": {
        "title": "CompletedWeightBasedOrderLineRefundAvailability",
        "required": [
          "isAvailable",
          "unavailableReason"
        ],
        "type": "object",
        "properties": {
          "isAvailable": {
            "type": "boolean",
            "readOnly": true
          },
          "unavailableReason": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Lines.OrderLineRefundUnavailableReason"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "Represents the refund availability of an order line"
      },
      "Ocapi.V1.Orders.Refunds.InProgressOrderLineRefundAvailability": {
        "title": "InProgressOrderLineRefundAvailability",
        "required": [
          "isAvailable",
          "unavailableReason"
        ],
        "type": "object",
        "properties": {
          "isAvailable": {
            "type": "boolean",
            "description": "Gets a value indicating whether the order line can be refunded",
            "readOnly": true
          },
          "unavailableReason": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Lines.OrderLineRefundUnavailableReason"
              }
            ],
            "description": "Gets the reason the order line cannot be refunded"
          }
        },
        "additionalProperties": false,
        "description": "Represents the refund availability of an order line"
      },
      "Ocapi.V1.Orders.Refunds.OrderRefundAvailability": {
        "title": "OrderRefundAvailability",
        "required": [
          "availableMethods",
          "isAvailable",
          "isBookingFeeRefundable",
          "unavailableReason"
        ],
        "type": "object",
        "properties": {
          "isAvailable": {
            "type": "boolean",
            "description": "Gets a value indicating whether the refundable completed order base can be refunded",
            "readOnly": true
          },
          "unavailableReason": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Refunds.OrderRefundUnavailableReason"
              }
            ],
            "description": "Gets the reason the refundable completed order base cannot be refunded"
          },
          "availableMethods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.Refunds.OrderRefundMethod"
            },
            "description": "Gets the list of available refund methods"
          },
          "isBookingFeeRefundable": {
            "type": "boolean",
            "description": "Gets a value indicating whether the booking fee can be refunded"
          }
        },
        "additionalProperties": false,
        "description": "Represents the refund availability of a refundable completed order base"
      },
      "Ocapi.V1.Orders.Refunds.OrderRefundMethod": {
        "title": "OrderRefundMethod",
        "enum": [
          "Full",
          "Partial"
        ],
        "type": "string",
        "description": "Represents the methods that can be used to refund a refundable completed order base"
      },
      "Ocapi.V1.Orders.Refunds.OrderRefundUnavailableReason": {
        "title": "OrderRefundUnavailableReason",
        "enum": [
          "NotApplicable",
          "NotEnabled",
          "AlreadyRefunded",
          "UnsupportedPaymentMethod",
          "NoRefundableOrderLines",
          "UnpaidBooking",
          "OrderExpired",
          "ActiveChildOrders"
        ],
        "type": "string",
        "description": "Represents the reasons that a refundable completed order base cannot be refunded"
      },
      "Ocapi.V1.Orders.Refunds.Requests.OrderFullRefundCreate": {
        "title": "OrderFullRefundCreate",
        "type": "object",
        "properties": {
          "reason": {
            "type": "string",
            "description": "Gets the reason for the refund",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the properties required to create a full refund for a refundable completed order base"
      },
      "Ocapi.V1.Orders.RelatedData.OrderRelatedData": {
        "title": "OrderRelatedData",
        "required": [
          "areaCategories",
          "censorRatings",
          "films",
          "itemPostalDeliveryMethods",
          "items",
          "itemServiceAreas",
          "itemShowtimeDeliveryWindows",
          "screens",
          "showtimes",
          "sites",
          "ticketTypes"
        ],
        "type": "object",
        "properties": {
          "films": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.RelatedData.OrderRelatedFilm"
            },
            "description": "Gets the list of related order related film entities"
          },
          "ticketTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.RelatedData.OrderRelatedTicketType"
            },
            "description": "Gets the list of related order related ticket type entities"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.RelatedData.OrderRelatedItem"
            },
            "description": "Gets the list of related order related item entities"
          },
          "showtimes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.RelatedData.OrderRelatedShowtime"
            },
            "description": "Gets the list of related order related showtime entities"
          },
          "sites": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.Sites.LoyaltySite"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Sites.Site"
                }
              ],
              "description": "Represents a physical location that belongs to a cinema chain, consisting of one or more screen entities"
            },
            "description": "Gets the list of related site entities"
          },
          "screens": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Screens.Screen"
            },
            "description": "Gets the list of related screen entities"
          },
          "censorRatings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.CensorRatings.CensorRating"
            },
            "description": "Gets the list of related censor rating entities"
          },
          "itemServiceAreas": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.ItemServiceArea"
            },
            "description": "Gets the list of related item service area entities"
          },
          "itemShowtimeDeliveryWindows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.ShowtimeDeliveryWindows.ItemShowtimeDeliveryWindowMinutesFromStart"
            },
            "description": "Gets the list of related item showtime delivery window base entities"
          },
          "subscriptionBillingOption": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.RelatedData.OrderRelatedSubscriptionBillingOption"
              }
            ],
            "description": "Gets the related order related subscription billing option entity"
          },
          "subscription": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.RelatedData.OrderRelatedSubscription"
              }
            ],
            "description": "Gets the related order related subscription entity"
          },
          "balanceType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.BalanceTypes.BalanceType"
              }
            ],
            "description": "Gets the related balance type entity, if applicable"
          },
          "areaCategories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Seating.MasterData.AreaCategory"
            },
            "description": "Gets the list of related area category entities"
          },
          "itemPostalDeliveryMethods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.RelatedData.OrderRelatedItemPostalDeliveryMethod"
            },
            "description": "Gets the list of related order related item postal delivery method entities"
          }
        },
        "additionalProperties": false,
        "description": "Related data for an order base entity"
      },
      "Ocapi.V1.Orders.RelatedData.OrderRelatedFilm": {
        "title": "OrderRelatedFilm",
        "required": [
          "externalIds",
          "id",
          "title"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string"
          },
          "title": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ]
          },
          "externalIds": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Films.FilmExternalIds"
              }
            ]
          },
          "censorRatingId": {
            "type": "string",
            "nullable": true
          },
          "censorRatingNote": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "Represents the film data related to an order base"
      },
      "Ocapi.V1.Orders.RelatedData.OrderRelatedItem": {
        "title": "OrderRelatedItem",
        "required": [
          "hoCode",
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier",
            "readOnly": true
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the name text, and its translations"
          },
          "hoCode": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the Head Office code"
          },
          "hopk": {
            "type": "string",
            "description": "Gets the Head Office primary key",
            "nullable": true
          },
          "isSundry": {
            "type": "boolean",
            "description": "Gets a value indicating whether this is a sundry item"
          },
          "isPreparationRequired": {
            "type": "boolean",
            "description": "Gets a value indicating whether the item requires preparation"
          }
        },
        "additionalProperties": false,
        "description": "Represents the item base data related to an order base"
      },
      "Ocapi.V1.Orders.RelatedData.OrderRelatedItemPostalDeliveryMethod": {
        "title": "OrderRelatedItemPostalDeliveryMethod",
        "required": [
          "id",
          "isDefault",
          "name"
        ],
        "type": "object",
        "properties": {
          "isDefault": {
            "type": "boolean",
            "description": "Gets a value indicating whether this is the default delivery method"
          },
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier"
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the name text, and its translations"
          }
        },
        "additionalProperties": false,
        "description": "Represents the item postal delivery method data related to an order base"
      },
      "Ocapi.V1.Orders.RelatedData.OrderRelatedShowtime": {
        "title": "OrderRelatedShowtime",
        "required": [
          "filmId",
          "id",
          "schedule",
          "screenId",
          "siteId"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "readOnly": true
          },
          "schedule": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Showtimes.ShowtimeSchedule"
              }
            ]
          },
          "filmId": {
            "minLength": 1,
            "type": "string"
          },
          "siteId": {
            "minLength": 1,
            "type": "string"
          },
          "screenId": {
            "minLength": 1,
            "type": "string",
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the showtime data related to an order base"
      },
      "Ocapi.V1.Orders.RelatedData.OrderRelatedSubscription": {
        "title": "OrderRelatedSubscription",
        "required": [
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Gets the unique identifier",
            "format": "int32"
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the name text, and its translations"
          }
        },
        "additionalProperties": false,
        "description": "Represents the subscription data related to a subscription order"
      },
      "Ocapi.V1.Orders.RelatedData.OrderRelatedSubscriptionBillingOption": {
        "title": "OrderRelatedSubscriptionBillingOption",
        "required": [
          "billingPeriodInMonths",
          "id",
          "isRecurring",
          "name",
          "subscriptionId"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier"
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the name text, and its translations."
          },
          "subscriptionId": {
            "type": "integer",
            "format": "int32"
          },
          "billingPeriodInMonths": {
            "type": "integer",
            "format": "int32"
          },
          "isRecurring": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "Ocapi.V1.Orders.RelatedData.OrderRelatedTicketType": {
        "title": "OrderRelatedTicketType",
        "required": [
          "description",
          "id",
          "longDescription"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "readOnly": true
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ]
          },
          "longDescription": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "Represents the ticket type base data related to an order base"
      },
      "Ocapi.V1.Orders.Requests.StandardOrderAsBookingCreate": {
        "title": "StandardOrderAsBookingCreate",
        "required": [
          "bookingMode",
          "siteId"
        ],
        "type": "object",
        "properties": {
          "siteId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the site"
          },
          "bookingMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Bookings.OrderBookingMode"
              }
            ],
            "description": "Gets the booking mode"
          },
          "siteOrderLocationId": {
            "type": "string",
            "description": "Gets the unique identifier of the site order location, if applicable.\r\n<remarks><br>\r\nIf null, items will be ordered from the default site item profile\r\n</remarks>",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the details required to create a standard order as an order booking base"
      },
      "Ocapi.V1.Orders.Requests.SubscriptionOrderCreate": {
        "title": "SubscriptionOrderCreate",
        "required": [
          "action"
        ],
        "type": "object",
        "properties": {
          "action": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Subscriptions.SubscriptionOrderAction"
              }
            ],
            "description": "Gets the subscription order action"
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of a subscription order to be created"
      },
      "Ocapi.V1.Orders.Seats.OrderSeat": {
        "title": "OrderSeat",
        "required": [
          "areaCategoryId",
          "areaName",
          "position",
          "rowLabel",
          "seatId"
        ],
        "type": "object",
        "properties": {
          "seatId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the seat"
          },
          "seatLabel": {
            "type": "string",
            "description": "Gets the label/physical name of the seat",
            "nullable": true,
            "example": "5"
          },
          "rowLabel": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the label/physical name of the row"
          },
          "areaName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the area name text, and its translations"
          },
          "areaCategoryId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the area category the seat belongs to"
          },
          "position": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Seating.MasterData.SeatPosition"
              }
            ],
            "description": "Gets the seat position"
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of a seat in the context of an order base"
      },
      "Ocapi.V1.Orders.Showtimes.OrderShowtime": {
        "title": "OrderShowtime",
        "required": [
          "seats",
          "seatSwapStatus",
          "showtimeId",
          "tickets"
        ],
        "type": "object",
        "properties": {
          "showtimeId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the showtime",
            "readOnly": true
          },
          "tickets": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Tickets.Package.OrderPackageTicketLine"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Orders.Tickets.Normal.OrderNormalTicketLine"
                }
              ],
              "description": "Represents the base properties of an order line for an instance of a ticket type base within an order showtime"
            },
            "description": "Gets the list of order ticket line base entities"
          },
          "seats": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.Seats.OrderSeat"
            },
            "description": "Gets the list of order seat entities"
          },
          "seatSwapStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Showtimes.OrderShowtimeSeatSwapStatus"
              }
            ],
            "description": "Gets the seat swap status"
          }
        },
        "additionalProperties": false,
        "description": "Represents the selected tickets and/or seats for a showtime within a standard order"
      },
      "Ocapi.V1.Orders.Showtimes.OrderShowtimeSeatSwapStatus": {
        "title": "OrderShowtimeSeatSwapStatus",
        "required": [
          "isAvailable",
          "unavailableReason"
        ],
        "type": "object",
        "properties": {
          "isAvailable": {
            "type": "boolean",
            "description": "Gets a value indicating whether the order showtime Seats can be swapped"
          },
          "unavailableReason": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Showtimes.OrderShowtimeSeatSwapUnavailableReason"
              }
            ],
            "description": "Gets the reason the seats cannot be swapped"
          }
        },
        "additionalProperties": false,
        "description": "Represents the status of the seat swap availability for an order showtime"
      },
      "Ocapi.V1.Orders.Showtimes.OrderShowtimeSeatSwapUnavailableReason": {
        "title": "OrderShowtimeSeatSwapUnavailableReason",
        "enum": [
          "NotApplicable",
          "NotEnabled",
          "UnallocatedSeating",
          "NoSeats",
          "PackageTickets",
          "InSeatDeliveryItems",
          "OrderNotCompleted",
          "OrderRefunded",
          "UnpaidBooking",
          "ShowtimeEnded"
        ],
        "type": "string",
        "description": "Represents the reasons that seat swaps may be unavailable for an order showtime"
      },
      "Ocapi.V1.Orders.Showtimes.OrderShowtimeSeats": {
        "title": "OrderShowtimeSeats",
        "required": [
          "seats",
          "showtimeId"
        ],
        "type": "object",
        "properties": {
          "showtimeId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the showtime"
          },
          "seats": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.Seats.OrderSeat"
            },
            "description": "Gets the list of order seat entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents a list of order seat entities belonging to an order"
      },
      "Ocapi.V1.Orders.Showtimes.OrderShowtimeSeatsDetails": {
        "title": "OrderShowtimeSeatsDetails",
        "required": [
          "relatedData",
          "showtimeSeats"
        ],
        "type": "object",
        "properties": {
          "showtimeSeats": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.Showtimes.OrderShowtimeSeats"
            },
            "description": "Gets the list of order showtime seats entities"
          },
          "relatedData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Showtimes.OrderShowtimeSeatsRelatedData"
              }
            ],
            "description": "Gets the related data for the order showtime seats"
          }
        },
        "additionalProperties": false,
        "description": "Represents a list of order showtime seats entities, and their related data"
      },
      "Ocapi.V1.Orders.Showtimes.OrderShowtimeSeatsRelatedData": {
        "title": "OrderShowtimeSeatsRelatedData",
        "required": [
          "areaCategories",
          "attributes",
          "castAndCrew",
          "censorRatings",
          "events",
          "filmAdvanceBookingRules",
          "films",
          "genres",
          "screens",
          "showtimes",
          "sites"
        ],
        "type": "object",
        "properties": {
          "showtimes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Showtimes.Showtime"
            },
            "description": "Gets the list of related showtime entities"
          },
          "areaCategories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Seating.MasterData.AreaCategory"
            },
            "description": "Gets the list of related area category entities"
          },
          "films": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Films.Film"
            },
            "description": "Gets the list of related film entities"
          },
          "castAndCrew": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.CastAndCrewMembers.CastAndCrewMember"
            },
            "description": "Gets the list of related cast and crew member entities"
          },
          "censorRatings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.CensorRatings.CensorRating"
            },
            "description": "Gets the related censor rating entities"
          },
          "sites": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.Sites.LoyaltySite"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Sites.Site"
                }
              ],
              "description": "Represents a physical location that belongs to a cinema chain, consisting of one or more screen entities"
            },
            "description": "Gets the related site entities"
          },
          "screens": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Screens.Screen"
            },
            "description": "Gets the related screen entities"
          },
          "genres": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Genres.Genre"
            },
            "description": "Gets the list of related genre entities"
          },
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Attributes.Attribute"
            },
            "description": "Gets the list of related attribute entities"
          },
          "filmAdvanceBookingRules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.FilmAdvanceBookings.FilmAdvanceBookingRule"
            },
            "description": "Gets the related film advance booking rule entities"
          },
          "events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Events.Event"
            },
            "description": "Gets the related event entities"
          }
        },
        "additionalProperties": false,
        "description": "Related data for an order showtime seats entity"
      },
      "Ocapi.V1.Orders.Showtimes.Requests.OrderShowtimeRequest": {
        "title": "OrderShowtimeRequest",
        "type": "object",
        "properties": {
          "tickets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.Tickets.Requests.OrderTicketRequest"
            },
            "description": "Gets the list of order ticket request entities",
            "nullable": true
          },
          "seats": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Gets the list of unique identifiers of the requested seat entities",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the requested tickets and/or seats for an order showtime"
      },
      "Ocapi.V1.Orders.Showtimes.Requests.OrderShowtimeSeatSwapRequest": {
        "title": "OrderShowtimeSeatSwapRequest",
        "required": [
          "seats"
        ],
        "type": "object",
        "properties": {
          "seats": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Gets the list of unique identifiers of the requested seat entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents the requested replacement seat entities for an order showtime within a standard order"
      },
      "Ocapi.V1.Orders.Subscriptions.OrderSubscription": {
        "title": "OrderSubscription",
        "required": [
          "price",
          "subscriptionBillingOptionId",
          "subscriptionId"
        ],
        "type": "object",
        "properties": {
          "subscriptionBillingOptionId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the subscription billing option"
          },
          "price": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the price to be displayed to the customer"
          },
          "subscriptionId": {
            "type": "integer",
            "description": "Gets the unique identifier of the subscription",
            "format": "int32"
          },
          "discountId": {
            "type": "string",
            "description": "Gets the unique identifier of the discount used, if applicable",
            "nullable": true,
            "readOnly": true
          },
          "voucherId": {
            "type": "string",
            "description": "Gets the unique identifier of the order voucher used, if applicable",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the selected subscription billing option within a subscription order"
      },
      "Ocapi.V1.Orders.Subscriptions.Requests.OrderSubscriptionRequest": {
        "title": "OrderSubscriptionRequest",
        "required": [
          "subscriptionBillingOptionId"
        ],
        "type": "object",
        "properties": {
          "subscriptionBillingOptionId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the subscription billing option"
          },
          "discountId": {
            "type": "string",
            "description": "Gets the unique identifier of the discount used, if applicable",
            "nullable": true
          },
          "voucherId": {
            "type": "string",
            "description": "Gets the unique identifier of the order voucher used, if applicable",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of a subscription billing option entity requested for an in progress subscription order"
      },
      "Ocapi.V1.Orders.Subscriptions.SubscriptionOrderAction": {
        "title": "SubscriptionOrderAction",
        "enum": [
          "Purchase",
          "Reactivate"
        ],
        "type": "string",
        "description": "Represents the action that will be performed during a subscription order"
      },
      "Ocapi.V1.Orders.TicketRedemptionCards.OrderMemberSubscriptionCard": {
        "title": "OrderMemberSubscriptionCard",
        "required": [
          "id",
          "subscriptionId",
          "type"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/Ocapi.V1.TicketRedemptionCards.TicketRedemptionCardBase"
          }
        ],
        "properties": {
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.TicketRedemptionCards.TicketRedemptionCardType"
              }
            ],
            "description": "Gets the type"
          },
          "id": {
            "type": "string",
            "description": "Gets the unique identifier that can be used to uniquely identify the card within the standard order",
            "format": "uuid"
          },
          "subscriptionId": {
            "type": "integer",
            "description": "Gets the unique identifier of the subscription the card is linked to",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Represents a member subscription card that has been added to a standard order"
      },
      "Ocapi.V1.Orders.TicketRedemptionCards.OrderThirdPartyMemberCard": {
        "title": "OrderThirdPartyMemberCard",
        "required": [
          "id",
          "thirdPartyMemberSchemeId",
          "ticketTypeId",
          "type"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/Ocapi.V1.TicketRedemptionCards.TicketRedemptionCardBase"
          }
        ],
        "properties": {
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.TicketRedemptionCards.TicketRedemptionCardType"
              }
            ],
            "description": "Gets the type"
          },
          "id": {
            "type": "string",
            "description": "Gets the unique identifier that can be used to uniquely identify the card within the standard order",
            "format": "uuid"
          },
          "thirdPartyMemberSchemeId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the third party member scheme the card belongs to"
          },
          "ticketTypeId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the ticket type base that the card has been validated for"
          }
        },
        "additionalProperties": false,
        "description": "Represents a third party member card that has been added to a standard order"
      },
      "Ocapi.V1.Orders.TicketRedemptionCards.OrderTicketRedemptionCardDetails": {
        "title": "OrderTicketRedemptionCardDetails",
        "required": [
          "redemptionLimit",
          "ticketRedemptionCard",
          "ticketTypeAvailabilities"
        ],
        "type": "object",
        "properties": {
          "ticketRedemptionCard": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.TicketRedemptionCards.OrderMemberSubscriptionCard"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.TicketRedemptionCards.OrderThirdPartyMemberCard"
              }
            ],
            "description": "Represents the base properties of a ticket redemption card base that has been added to a standard order"
          },
          "redemptionLimit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.QuantityLimit"
              }
            ],
            "description": "Gets the maximum number of tickets that can be redeemed for the particular showtime"
          },
          "ticketTypeAvailabilities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.TicketRedemptionCards.OrderTicketRedemptionCardTicketTypeAvailability"
            },
            "description": "Gets the list of order ticket redemption card ticket type availability entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of an order ticket redemption card base that has been added to an in progress standard order,\r\nand its order ticket redemption card ticket type availability entities"
      },
      "Ocapi.V1.Orders.TicketRedemptionCards.OrderTicketRedemptionCardTicketTypeAvailability": {
        "title": "OrderTicketRedemptionCardTicketTypeAvailability",
        "required": [
          "availableQuantity",
          "isAvailable",
          "ticketTypeId"
        ],
        "type": "object",
        "properties": {
          "ticketTypeId": {
            "minLength": 1,
            "type": "string"
          },
          "isAvailable": {
            "type": "boolean"
          },
          "availableQuantity": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Quantity"
              }
            ]
          },
          "unavailableMessage": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "Represents the availability of an order ticket redemption card base for a ticket type base"
      },
      "Ocapi.V1.Orders.TicketRedemptionCards.Requests.OrderMemberTicketRedemptionCardRequest": {
        "title": "OrderMemberTicketRedemptionCardRequest",
        "required": [
          "memberTicketRedemptionCardId",
          "type"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/Ocapi.V1.Orders.TicketRedemptionCards.Requests.OrderTicketRedemptionCardRequestBase"
          }
        ],
        "properties": {
          "memberTicketRedemptionCardId": {
            "type": "string",
            "description": "Gets the unique identifier of the member ticket redemption card base",
            "format": "uuid"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.TicketRedemptionCards.Requests.OrderTicketRedemptionCardRequestType"
              }
            ],
            "description": "Gets the type"
          }
        },
        "additionalProperties": false,
        "description": "Represents the information required to add a member ticket redemption card base to an in progress standard order"
      },
      "Ocapi.V1.Orders.TicketRedemptionCards.Requests.OrderThirdPartyMemberCardRequest": {
        "title": "OrderThirdPartyMemberCardRequest",
        "required": [
          "credentials",
          "type"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/Ocapi.V1.Orders.TicketRedemptionCards.Requests.OrderTicketRedemptionCardRequestBase"
          }
        ],
        "properties": {
          "credentials": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.TicketRedemptionCards.ThirdPartyMemberCardCredentials"
              }
            ],
            "description": "Gets the credentials"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.TicketRedemptionCards.Requests.OrderTicketRedemptionCardRequestType"
              }
            ],
            "description": "Gets the type"
          },
          "ticketTypeId": {
            "type": "string",
            "description": "Gets the unique identifier of the ticket type base, if provided",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the information required to add a third party member card to an in progress standard order"
      },
      "Ocapi.V1.Orders.TicketRedemptionCards.Requests.OrderTicketRedemptionCardRequestBase": {
        "title": "OrderTicketRedemptionCardRequestBase",
        "required": [
          "showtimeId",
          "type"
        ],
        "type": "object",
        "properties": {
          "showtimeId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the showtime that the ticket redemption card will be validated for"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.TicketRedemptionCards.Requests.OrderTicketRedemptionCardRequestType"
              }
            ],
            "description": "Gets the type"
          }
        },
        "additionalProperties": false,
        "description": "Represents the information required to add an order ticket redemption card base to an in progress standard order"
      },
      "Ocapi.V1.Orders.TicketRedemptionCards.Requests.OrderTicketRedemptionCardRequestType": {
        "title": "OrderTicketRedemptionCardRequestType",
        "enum": [
          "ThirdPartyMemberCard",
          "MemberTicketRedemptionCard"
        ],
        "type": "string",
        "description": "Represents the type of an order third party member card request"
      },
      "Ocapi.V1.Orders.Tickets.Normal.OrderNormalTicketLine": {
        "title": "OrderNormalTicketLine",
        "required": [
          "admissionStatus",
          "type"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/Ocapi.V1.Orders.Tickets.OrderTicketLineBase"
          }
        ],
        "properties": {
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.TicketTypes.TicketTypeType"
              }
            ],
            "description": "Gets the type"
          },
          "admissionStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Tickets.OrderTicketAdmissionStatus"
              }
            ],
            "description": "Gets the admission status"
          }
        },
        "additionalProperties": false,
        "description": "Represents an order ticket line base for an instance of a normal ticket type"
      },
      "Ocapi.V1.Orders.Tickets.OrderBookingFeeLine": {
        "title": "OrderBookingFeeLine",
        "required": [
          "amount",
          "collectionStatus",
          "id",
          "refundAvailability",
          "refundStatus"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the identifier that can be used to uniquely identify the line within the order base"
          },
          "amount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the monetary amount to be displayed to the customer"
          },
          "collectionStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Lines.OrderLineCollectionStatus"
              }
            ],
            "description": "Gets the collection status"
          },
          "refundStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Lines.OrderLineRefundStatus"
              }
            ],
            "description": "Gets the refund status"
          },
          "refundAvailability": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Refunds.CompletedOrderLineRefundAvailability"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Refunds.CompletedWeightBasedOrderLineRefundAvailability"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Refunds.InProgressOrderLineRefundAvailability"
              }
            ],
            "description": "Represents the refund availability of an order line"
          }
        },
        "additionalProperties": false,
        "description": "Represents a booking fee incurred by an order ticket line base"
      },
      "Ocapi.V1.Orders.Tickets.OrderTicketAdmissionStatus": {
        "title": "OrderTicketAdmissionStatus",
        "enum": [
          "NotAdmitted",
          "Admitted"
        ],
        "type": "string",
        "description": "Represents the admission status of an order normal ticket line or order package ticket content ticket"
      },
      "Ocapi.V1.Orders.Tickets.OrderTicketLineBase": {
        "title": "OrderTicketLineBase",
        "required": [
          "amountSaved",
          "collectionStatus",
          "id",
          "price",
          "refundAvailability",
          "refundStatus",
          "ticketTypeId",
          "type"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the identifier that can be used to uniquely identify the line within the order base"
          },
          "collectionStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Lines.OrderLineCollectionStatus"
              }
            ],
            "description": "Gets the collection status"
          },
          "refundStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Lines.OrderLineRefundStatus"
              }
            ],
            "description": "Gets the refund status"
          },
          "ticketTypeId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the ticket type base",
            "readOnly": true
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.TicketTypes.TicketTypeType"
              }
            ],
            "description": "Gets the type"
          },
          "price": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the price to be displayed to the customer"
          },
          "amountSaved": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the total amount saved on the ticket due to all discounts and deals"
          },
          "bookingFee": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Tickets.OrderBookingFeeLine"
              }
            ],
            "description": "Gets the booking fee incurred for the ticket, if applicable"
          },
          "rewardId": {
            "type": "integer",
            "description": "Gets the unique identifier of the reward used, if applicable",
            "format": "int32",
            "nullable": true
          },
          "ticketRedemptionCardId": {
            "type": "string",
            "description": "Gets the unique identifier of the order ticket redemption card base used, if applicable",
            "format": "uuid",
            "nullable": true
          },
          "voucherId": {
            "type": "string",
            "description": "Gets the unique identifier of the order voucher used, if applicable",
            "nullable": true
          },
          "discountId": {
            "type": "string",
            "description": "Gets the unique identifier of the discount used, if applicable",
            "nullable": true,
            "readOnly": true
          },
          "dealId": {
            "type": "string",
            "description": "Gets the unique identifier of the order deal used, if applicable",
            "nullable": true
          },
          "refundAvailability": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Refunds.CompletedOrderLineRefundAvailability"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Refunds.CompletedWeightBasedOrderLineRefundAvailability"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Refunds.InProgressOrderLineRefundAvailability"
              }
            ],
            "description": "Represents the refund availability of an order line"
          }
        },
        "additionalProperties": false,
        "description": "Represents the base properties of an order line for an instance of a ticket type base within an order showtime"
      },
      "Ocapi.V1.Orders.Tickets.Package.OrderPackageTicketContentItem": {
        "title": "OrderPackageTicketContentItem",
        "required": [
          "itemId"
        ],
        "type": "object",
        "properties": {
          "itemId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the item base"
          }
        },
        "additionalProperties": false,
        "description": "Represents an item base within an order package ticket line"
      },
      "Ocapi.V1.Orders.Tickets.Package.OrderPackageTicketContentTicket": {
        "title": "OrderPackageTicketContentTicket",
        "required": [
          "admissionStatus",
          "ticketTypeId"
        ],
        "type": "object",
        "properties": {
          "ticketTypeId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the normal ticket type"
          },
          "admissionStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Tickets.OrderTicketAdmissionStatus"
              }
            ],
            "description": "Gets the admission status"
          }
        },
        "additionalProperties": false,
        "description": "Represents a normal ticket type within an order package ticket line"
      },
      "Ocapi.V1.Orders.Tickets.Package.OrderPackageTicketLine": {
        "title": "OrderPackageTicketLine",
        "required": [
          "items",
          "tickets",
          "type"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/Ocapi.V1.Orders.Tickets.OrderTicketLineBase"
          }
        ],
        "properties": {
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.TicketTypes.TicketTypeType"
              }
            ],
            "description": "Gets the type"
          },
          "tickets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.Tickets.Package.OrderPackageTicketContentTicket"
            },
            "description": "Gets the list of order package ticket content ticket entities"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Orders.Tickets.Package.OrderPackageTicketContentItem"
            },
            "description": "Gets the list of order package ticket content item entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents an order ticket line base for an instance of a package ticket type"
      },
      "Ocapi.V1.Orders.Tickets.Requests.OrderTicketRequest": {
        "title": "OrderTicketRequest",
        "required": [
          "ticketTypeId"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Gets the identifier that can be used to uniquely identify the ticket within the order base",
            "nullable": true
          },
          "ticketTypeId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the ticket type base"
          },
          "rewardId": {
            "type": "integer",
            "description": "Gets the unique identifier of the reward used, if applicable",
            "format": "int32",
            "nullable": true
          },
          "ticketRedemptionCardId": {
            "type": "string",
            "description": "Gets the unique identifier of the order ticket redemption card base used, if applicable",
            "format": "uuid",
            "nullable": true
          },
          "voucherId": {
            "type": "string",
            "description": "Gets the unique identifier of the order voucher used, if applicable",
            "nullable": true
          },
          "discountId": {
            "type": "string",
            "description": "Gets the unique identifier of the discount used, if applicable",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of a requested order ticket line base for an order showtime"
      },
      "Ocapi.V1.Orders.Tips.OrderTip": {
        "title": "OrderTip",
        "required": [
          "amount",
          "collectionStatus",
          "id",
          "refundAvailability",
          "refundStatus"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the identifier that can be used to uniquely identify the line within the order base"
          },
          "amount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the monetary amount"
          },
          "collectionStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Lines.OrderLineCollectionStatus"
              }
            ],
            "description": "Gets the collection status"
          },
          "refundStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Lines.OrderLineRefundStatus"
              }
            ],
            "description": "Gets the refund status"
          },
          "refundAvailability": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Refunds.CompletedOrderLineRefundAvailability"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Refunds.CompletedWeightBasedOrderLineRefundAvailability"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Refunds.InProgressOrderLineRefundAvailability"
              }
            ],
            "description": "Represents the refund availability of an order line"
          }
        },
        "additionalProperties": false,
        "description": "Represents the tip associated with a standard order"
      },
      "Ocapi.V1.Orders.Tips.Requests.OrderTipRequest": {
        "title": "OrderTipRequest",
        "required": [
          "amount"
        ],
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "description": "Gets the monetary amount",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "Ocapi.V1.Orders.Transactions.OrderTransaction": {
        "title": "OrderTransaction",
        "required": [
          "barcode",
          "createdAt",
          "number"
        ],
        "type": "object",
        "properties": {
          "number": {
            "type": "integer",
            "description": "Gets the number generated by the site that can be used to identify and collect the transaction",
            "format": "int32"
          },
          "barcode": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the barcode generated by the site that can be used to identify and collect the transaction",
            "example": "T00210738425"
          },
          "createdAt": {
            "type": "string",
            "description": "Gets the date and time that the transaction was created",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Represents the transaction details of a completed order base"
      },
      "Ocapi.V1.Orders.Vouchers.OrderVoucher": {
        "title": "OrderVoucher",
        "required": [
          "id",
          "maskedBarcode",
          "type",
          "voucherTypeCode"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the identifier that can be used to uniquely identify the voucher within the order base"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Vouchers.VoucherType"
              }
            ],
            "description": "Gets the type"
          },
          "maskedBarcode": {
            "minLength": 1,
            "type": "string",
            "description": "Gets a masked representation of the barcode",
            "example": "12.......6789"
          },
          "voucherTypeCode": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the voucher type"
          },
          "voucherTypeDescription": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the voucher type description text, and its translations"
          }
        },
        "additionalProperties": false,
        "description": "Represents a voucher that has been added to an order base"
      },
      "Ocapi.V1.Orders.Vouchers.OrderVoucherDetails": {
        "title": "OrderVoucherDetails",
        "required": [
          "availableRedemptions",
          "voucher"
        ],
        "type": "object",
        "properties": {
          "voucher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Orders.Vouchers.OrderVoucher"
              }
            ],
            "description": "Gets the order voucher entity"
          },
          "availableRedemptions": {
            "type": "integer",
            "description": "Gets the maximum number of times that the order voucher details Voucher can be redeemed",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Represents a voucher that has been added to the order"
      },
      "Ocapi.V1.Orders.Vouchers.Requests.OrderDealVoucherRequest": {
        "title": "OrderDealVoucherRequest",
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/Ocapi.V1.Orders.Vouchers.Requests.OrderVoucherRequestBase"
          }
        ],
        "properties": {
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Vouchers.VoucherType"
              }
            ],
            "description": "Gets the type"
          }
        },
        "additionalProperties": false,
        "description": "Represents the information required to add an order voucher of type voucher type Deal to an in progress standard order"
      },
      "Ocapi.V1.Orders.Vouchers.Requests.OrderSubscriptionVoucherRequest": {
        "title": "OrderSubscriptionVoucherRequest",
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/Ocapi.V1.Orders.Vouchers.Requests.OrderVoucherRequestBase"
          }
        ],
        "properties": {
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Vouchers.VoucherType"
              }
            ],
            "description": "Gets the type"
          }
        },
        "additionalProperties": false,
        "description": "Represents the information required to add an order voucher for an order subscription to an in progress subscription order"
      },
      "Ocapi.V1.Orders.Vouchers.Requests.OrderTicketVoucherRequest": {
        "title": "OrderTicketVoucherRequest",
        "required": [
          "showtimeId"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/Ocapi.V1.Orders.Vouchers.Requests.OrderVoucherRequestBase"
          }
        ],
        "properties": {
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Vouchers.VoucherType"
              }
            ],
            "description": "Gets the type"
          },
          "showtimeId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the showtime that the voucher will be validated for"
          }
        },
        "additionalProperties": false,
        "description": "Represents the information required to add an order voucher for an order ticket line base to an in progress standard order"
      },
      "Ocapi.V1.Orders.Vouchers.Requests.OrderVoucherRequestBase": {
        "title": "OrderVoucherRequestBase",
        "required": [
          "credentials",
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Vouchers.VoucherType"
              }
            ],
            "description": "Gets the type"
          },
          "credentials": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Vouchers.VoucherCredentials"
              }
            ],
            "description": "Gets the credentials"
          }
        },
        "additionalProperties": false,
        "description": "Represents the information required to add an order voucher to an in progress order base"
      },
      "Ocapi.V1.Payments.MasterData.WebPaymentMethod": {
        "title": "WebPaymentMethod",
        "required": [
          "displayPriority",
          "id",
          "isDefault",
          "isRecurringBillingSupported",
          "name",
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Payments.MasterData.WebPaymentMethods.WebPaymentMethodType"
              }
            ],
            "description": "Gets the type"
          },
          "isDefault": {
            "type": "boolean",
            "description": "Gets a value indicating whether this is the default web payment method"
          },
          "id": {
            "type": "integer",
            "description": "Gets the unique identifier",
            "format": "int32"
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the name text, and its translations"
          },
          "displayPriority": {
            "type": "integer",
            "description": "Gets the display priority used for sorting",
            "format": "int32"
          },
          "isRecurringBillingSupported": {
            "type": "boolean",
            "description": "Gets a value indicating whether recurring billing is supported"
          }
        },
        "additionalProperties": false,
        "description": "Represents a payment method that can be used to pay via Web Payment Module"
      },
      "Ocapi.V1.Payments.MasterData.WebPaymentMethodListDetails": {
        "title": "WebPaymentMethodListDetails",
        "required": [
          "webPaymentMethods"
        ],
        "type": "object",
        "properties": {
          "webPaymentMethods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Payments.MasterData.WebPaymentMethod"
            },
            "description": "Gets the list of web payment method entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents a list of web payment method entities"
      },
      "Ocapi.V1.Payments.MasterData.WebPaymentMethods.WebPaymentMethodType": {
        "title": "WebPaymentMethodType",
        "enum": [
          "Redirect",
          "Embedded"
        ],
        "type": "string",
        "description": "Represents the type of a web payment method"
      },
      "Ocapi.V1.Payments.PaymentCardDetails": {
        "title": "PaymentCardDetails",
        "required": [
          "maskedCardNumber"
        ],
        "type": "object",
        "properties": {
          "maskedCardNumber": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the masked card number",
            "example": "411111......1111"
          },
          "type": {
            "type": "string",
            "description": "Gets the card type",
            "nullable": true,
            "example": "VISA"
          },
          "expiryMonth": {
            "type": "integer",
            "description": "Gets the card expiry month",
            "format": "int32",
            "nullable": true,
            "example": 1
          },
          "expiryYear": {
            "type": "integer",
            "description": "Gets the card expiry year",
            "format": "int32",
            "nullable": true,
            "example": 27
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of a credit, debit, or eftpos card used for a payment"
      },
      "Ocapi.V1.PersonName": {
        "title": "PersonName",
        "type": "object",
        "properties": {
          "givenName": {
            "type": "string",
            "description": "Gets the given name",
            "nullable": true
          },
          "familyName": {
            "type": "string",
            "description": "Gets the family name",
            "nullable": true
          },
          "middleName": {
            "type": "string",
            "description": "Gets the middle or any additional name",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the parts of a person's name"
      },
      "Ocapi.V1.PhoneNumber": {
        "title": "PhoneNumber",
        "required": [
          "number",
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.PhoneNumberType"
              }
            ],
            "description": "Gets the type"
          },
          "number": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the phone number"
          }
        },
        "additionalProperties": false,
        "description": "Represents a phone number"
      },
      "Ocapi.V1.PhoneNumberType": {
        "title": "PhoneNumberType",
        "enum": [
          "Home",
          "Mobile",
          "Work",
          "Business",
          "Fax"
        ],
        "type": "string",
        "description": "Represents the type of a phone number"
      },
      "Ocapi.V1.PushNotificationToken": {
        "title": "PushNotificationToken",
        "required": [
          "id",
          "type"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.PushNotificationTokenType"
              }
            ],
            "description": "Gets the type"
          }
        },
        "additionalProperties": false,
        "description": "Represents a token used for push notifications"
      },
      "Ocapi.V1.PushNotificationTokenType": {
        "title": "PushNotificationTokenType",
        "enum": [
          "Android",
          "Ios"
        ],
        "type": "string",
        "description": "Represents the type of a push notification token"
      },
      "Ocapi.V1.Quantity": {
        "title": "Quantity",
        "required": [
          "isUnlimited"
        ],
        "type": "object",
        "properties": {
          "isUnlimited": {
            "type": "boolean",
            "description": "Gets a value indicating whether the quantity is unlimited"
          },
          "value": {
            "type": "integer",
            "description": "Gets the value",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a limited or unlimited quantity"
      },
      "Ocapi.V1.QuantityLimit": {
        "title": "QuantityLimit",
        "required": [
          "isUnlimited",
          "minimum"
        ],
        "type": "object",
        "properties": {
          "isUnlimited": {
            "type": "boolean",
            "description": "Gets a value indicating whether the quantity is unlimited"
          },
          "maximum": {
            "type": "integer",
            "description": "Gets the maximum quantity allowed",
            "format": "int32",
            "nullable": true
          },
          "minimum": {
            "type": "integer",
            "description": "Gets the minimum quantity allowed (0 by default)",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Represents a limited or unlimited quantity"
      },
      "Ocapi.V1.Sales.Availability.DiscountAvailability": {
        "title": "DiscountAvailability",
        "required": [
          "discountId",
          "isAvailable",
          "unavailableReason"
        ],
        "type": "object",
        "properties": {
          "discountId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the discount",
            "readOnly": true
          },
          "isAvailable": {
            "type": "boolean",
            "description": "Gets a value indicating whether the discount is available",
            "readOnly": true
          },
          "unavailableReason": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.Availability.Discounts.DiscountUnavailableReason"
              }
            ],
            "description": "Gets the reason the discount is unavailable"
          }
        },
        "additionalProperties": false,
        "description": "Represents the availability of a discount"
      },
      "Ocapi.V1.Sales.Availability.DiscountAvailabilityListDetails": {
        "title": "DiscountAvailabilityListDetails",
        "required": [
          "discountAvailabilities"
        ],
        "type": "object",
        "properties": {
          "discountAvailabilities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.Availability.DiscountAvailability"
            },
            "description": "Gets the list of discount availability entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents a list of discount availability entities"
      },
      "Ocapi.V1.Sales.Availability.Discounts.DiscountUnavailableReason": {
        "title": "DiscountUnavailableReason",
        "enum": [
          "NotApplicable",
          "UnavailableForFilm",
          "UnavailableForDistributor",
          "UnavailableForPublicHoliday",
          "UnavailableForDayOfWeek",
          "UnavailableForTime",
          "UnavailableForDate"
        ],
        "type": "string",
        "description": "Represents the reasons that a discount may not be available"
      },
      "Ocapi.V1.Sales.Availability.ItemAvailability": {
        "title": "ItemAvailability",
        "required": [
          "itemId",
          "status"
        ],
        "type": "object",
        "properties": {
          "itemId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the item base"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.Availability.Items.ItemAvailabilityStatus"
              }
            ],
            "description": "Gets the availability status of the item base"
          }
        },
        "additionalProperties": false,
        "description": "Represents the current availability of an item base"
      },
      "Ocapi.V1.Sales.Availability.ItemAvailabilityListDetails": {
        "title": "ItemAvailabilityListDetails",
        "required": [
          "itemAvailabilities"
        ],
        "type": "object",
        "properties": {
          "itemAvailabilities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.Availability.ItemAvailability"
            },
            "description": "Gets the list of item availability entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents a list of item availability entities"
      },
      "Ocapi.V1.Sales.Availability.Items.ItemAvailabilityStatus": {
        "title": "ItemAvailabilityStatus",
        "enum": [
          "Available",
          "SoldOutForCurrentBusinessDate",
          "SoldOutIndefinitely"
        ],
        "type": "string",
        "description": "Represents the availability status of an item base"
      },
      "Ocapi.V1.Sales.Availability.SiteItemAvailabilityListDetails": {
        "title": "SiteItemAvailabilityListDetails",
        "required": [
          "itemAvailabilities",
          "relatedData",
          "siteId"
        ],
        "type": "object",
        "properties": {
          "itemAvailabilities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.Availability.ItemAvailability"
            },
            "description": "Gets the list of item availability entities"
          },
          "siteId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the site"
          },
          "relatedData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.Availability.SiteItemAvailabilityListRelatedData"
              }
            ],
            "description": "Gets the related data for the item availability entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents a list of item availability entities for a particular site, and their related\r\ndata"
      },
      "Ocapi.V1.Sales.Availability.SiteItemAvailabilityListRelatedData": {
        "title": "SiteItemAvailabilityListRelatedData",
        "required": [
          "site"
        ],
        "type": "object",
        "properties": {
          "site": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.Sites.LoyaltySite"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Sites.Site"
              }
            ],
            "description": "Represents a physical location that belongs to a cinema chain, consisting of one or more screen entities"
          }
        },
        "additionalProperties": false,
        "description": "Related data for a list of item availability entities"
      },
      "Ocapi.V1.Sales.MasterData.AvailableHours.AvailableHours": {
        "title": "AvailableHours",
        "required": [
          "days",
          "id",
          "siteId"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier",
            "readOnly": true
          },
          "siteId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the site"
          },
          "days": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.AvailableHours.AvailableHoursForDay"
            },
            "description": "Gets the available hours for the days of the week"
          }
        },
        "additionalProperties": false,
        "description": "Represents the available days and times an entity can be used or sold"
      },
      "Ocapi.V1.Sales.MasterData.AvailableHours.AvailableHoursForDay": {
        "title": "AvailableHoursForDay",
        "required": [
          "day",
          "endTime",
          "startTime"
        ],
        "type": "object",
        "properties": {
          "day": {
            "allOf": [
              {
                "$ref": "#/components/schemas/System.DayOfWeek"
              }
            ],
            "description": "Gets the day of week"
          },
          "startTime": {
            "type": "string",
            "description": "Gets the start time",
            "format": "date-time"
          },
          "endTime": {
            "type": "string",
            "description": "Gets the end time",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Represents an available time range for a specific day of the week"
      },
      "Ocapi.V1.Sales.MasterData.Discounts.Discount": {
        "title": "Discount",
        "required": [
          "expiresAt",
          "id",
          "name",
          "restriction",
          "restrictions",
          "rewardIds",
          "voucherTypeCodes"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier",
            "readOnly": true
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the name text, and its translations"
          },
          "restriction": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Discounts.DiscountRestriction"
              }
            ],
            "description": "Gets the restriction"
          },
          "restrictions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Discounts.DiscountRestriction"
            },
            "description": "Gets the restrictions"
          },
          "rewardIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Gets the list of unique identifiers of the reward entities that the discount is restricted to"
          },
          "voucherTypeCodes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Gets the list of unique identifiers of the voucher types that the discount is restricted to"
          },
          "expiresAt": {
            "type": "string",
            "description": "Gets the date and time that the discount expires",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Represents a discount"
      },
      "Ocapi.V1.Sales.MasterData.Discounts.DiscountRestriction": {
        "title": "DiscountRestriction",
        "enum": [
          "None",
          "Multiple",
          "MemberReward",
          "Voucher",
          "Availability"
        ],
        "type": "string",
        "description": "Represents the restriction options for a discount"
      },
      "Ocapi.V1.Sales.MasterData.Items.DeliveryFees.ItemDeliveryFeeFixedPrice": {
        "title": "ItemDeliveryFeeFixedPrice",
        "required": [
          "price",
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.DeliveryFees.ItemDeliveryFeeType"
              }
            ],
            "description": "Gets the type"
          },
          "price": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the price"
          }
        },
        "additionalProperties": false,
        "description": "Represents an item delivery fee base that is a fixed price"
      },
      "Ocapi.V1.Sales.MasterData.Items.DeliveryFees.ItemDeliveryFeeType": {
        "title": "ItemDeliveryFeeType",
        "enum": [
          "FixedPrice",
          "Percentage"
        ],
        "type": "string",
        "description": "Represents the type of delivery fee for an item delivery fee base"
      },
      "Ocapi.V1.Sales.MasterData.Items.DeliveryMethods.ItemDeliveryMethod": {
        "title": "ItemDeliveryMethod",
        "enum": [
          "CounterPickup",
          "ServiceAreaPickup",
          "ElectronicDelivery",
          "InSeatDelivery",
          "CustomLocationDelivery",
          "PostalDelivery"
        ],
        "type": "string",
        "description": "Represents the delivery method of an item base"
      },
      "Ocapi.V1.Sales.MasterData.Items.DeliveryMethods.ItemPostalDeliveryMethod": {
        "title": "ItemPostalDeliveryMethod",
        "required": [
          "id",
          "isDefault",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier"
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the name text, and its translations"
          },
          "isDefault": {
            "type": "boolean",
            "description": "Gets a value indicating whether this is the default delivery method"
          },
          "deliveryFee": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.DeliveryFees.ItemDeliveryFeeFixedPrice"
              }
            ],
            "description": "Gets the delivery fee, if applicable"
          }
        },
        "additionalProperties": false,
        "description": "Represents a method for delivering items to a postal address"
      },
      "Ocapi.V1.Sales.MasterData.Items.ItemBase": {
        "title": "ItemBase",
        "required": [
          "allowedDeliveryMethods",
          "barcodes",
          "hoCode",
          "id",
          "isPreparationRequired",
          "isSundry",
          "name",
          "restrictions",
          "shortName",
          "type"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier",
            "readOnly": true
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the name text, and its translations"
          },
          "shortName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the short name text, and its translations"
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the description text, and its translations"
          },
          "restrictions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.ItemRestriction"
            },
            "description": "Gets the restrictions that apply"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.ItemType"
              }
            ],
            "description": "Gets the type"
          },
          "itemClassId": {
            "type": "string",
            "description": "Gets the unique identifier of the item class the item belongs to, if applicable",
            "nullable": true
          },
          "hopk": {
            "type": "string",
            "description": "Gets the Head Office primary key",
            "nullable": true
          },
          "hoCode": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the Head Office code"
          },
          "isSundry": {
            "type": "boolean",
            "description": "Gets a value indicating whether this is a sundry item"
          },
          "isPreparationRequired": {
            "type": "boolean",
            "description": "Gets a value indicating whether the item requires preparation"
          },
          "allowedDeliveryMethods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.DeliveryMethods.ItemDeliveryMethod"
            },
            "description": "Gets the list of allowed item delivery method entities"
          },
          "availableHoursId": {
            "type": "string",
            "description": "Gets the unique identifier of the available hours entity",
            "nullable": true,
            "readOnly": true
          },
          "barcodes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Gets the list of barcodes configured on the item at cinema"
          }
        },
        "additionalProperties": false,
        "description": "Represents the base properties of an item that is available for sale"
      },
      "Ocapi.V1.Sales.MasterData.Items.ItemRestriction": {
        "title": "ItemRestriction",
        "enum": [
          "Member",
          "AvailableHours"
        ],
        "type": "string",
        "description": "Represents the restriction options for an item base"
      },
      "Ocapi.V1.Sales.MasterData.Items.ItemServiceArea": {
        "title": "ItemServiceArea",
        "required": [
          "id",
          "name",
          "shortName"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier"
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the name text, and its translations"
          },
          "shortName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the short name text, and its translations"
          }
        },
        "additionalProperties": false,
        "description": "Represents a physical location within a site used for preparation and/or pickup of a sellable item"
      },
      "Ocapi.V1.Sales.MasterData.Items.ItemType": {
        "title": "ItemType",
        "enum": [
          "Normal",
          "ParentSales",
          "Package",
          "Recipe",
          "WeightBased"
        ],
        "type": "string",
        "description": "Represents the type of an item base entity"
      },
      "Ocapi.V1.Sales.MasterData.Items.Modifiers.ItemModifier": {
        "title": "ItemModifier",
        "required": [
          "displayPriority",
          "itemId",
          "prices"
        ],
        "type": "object",
        "properties": {
          "itemId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the item base entity"
          },
          "prices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.Prices.ItemPrice"
            },
            "description": "Gets the list of item price entities"
          },
          "displayPriority": {
            "type": "integer",
            "description": "Gets the display priority used for sorting",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Represents a modifier that can be added to a supported normal item, e.g. sauce, cheese, tomato"
      },
      "Ocapi.V1.Sales.MasterData.Items.Modifiers.ItemModifierGroup": {
        "title": "ItemModifierGroup",
        "required": [
          "id",
          "includedQuantity",
          "modifiers",
          "name",
          "quantityLimit",
          "shortName"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier",
            "readOnly": true
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the name text, and its translations"
          },
          "shortName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the short name text, and its translations"
          },
          "promptText": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the prompt text, and its translations"
          },
          "quantityLimit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.QuantityLimit"
              }
            ],
            "description": "Gets a value indicating the number of item modifier entities that can or must be added to a supported normal item"
          },
          "includedQuantity": {
            "type": "integer",
            "description": "Gets a value indicating the number of item modifier entities that can be added to a supported normal item at no additional charge",
            "format": "int32"
          },
          "modifiers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.Modifiers.ItemModifier"
            },
            "description": "Gets the list of item modifier entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents a list of related item modifier entities that can be added to a supported normal item"
      },
      "Ocapi.V1.Sales.MasterData.Items.Normal.NormalItem": {
        "title": "NormalItem",
        "required": [
          "modifierGroups",
          "type"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.ItemBase"
          }
        ],
        "properties": {
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.ItemType"
              }
            ],
            "description": "Gets the type"
          },
          "modifierGroups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.Normal.NormalItemModifierGroup"
            },
            "description": "Gets the list of normal item modifier group entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents an item base that supports item modifier group entities, e.g. a chocolate bar, or a burger with optional extras"
      },
      "Ocapi.V1.Sales.MasterData.Items.Normal.NormalItemModifierGroup": {
        "title": "NormalItemModifierGroup",
        "required": [
          "displayPriority",
          "itemModifierGroupId"
        ],
        "type": "object",
        "properties": {
          "itemModifierGroupId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the item modifier group",
            "readOnly": true
          },
          "displayPriority": {
            "type": "integer",
            "description": "Gets the display priority used for sorting",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Ocapi.V1.Sales.MasterData.Items.Packages.PackageItem": {
        "title": "PackageItem",
        "required": [
          "items",
          "type"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.ItemBase"
          }
        ],
        "properties": {
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.ItemType"
              }
            ],
            "description": "Gets the type"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.Packages.PackageItemContentItem"
            },
            "description": "Gets the list of package item content item entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents an item base that contains one or more package item Items, e.g. a combo that contains a drink, ice cream, and popcorn"
      },
      "Ocapi.V1.Sales.MasterData.Items.Packages.PackageItemContentItem": {
        "title": "PackageItemContentItem",
        "required": [
          "displayPriority",
          "itemId",
          "quantity"
        ],
        "type": "object",
        "properties": {
          "itemId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the item base entity"
          },
          "quantity": {
            "type": "integer",
            "description": "Gets the quantity",
            "format": "int32"
          },
          "displayPriority": {
            "type": "integer",
            "description": "Gets the display priority used for sorting",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Represents an item base within a package item"
      },
      "Ocapi.V1.Sales.MasterData.Items.ParentSales.ParentSalesItem": {
        "title": "ParentSalesItem",
        "required": [
          "options",
          "type"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.ItemBase"
          }
        ],
        "properties": {
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.ItemType"
              }
            ],
            "description": "Gets the type"
          },
          "options": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.ParentSales.ParentSalesItemOption"
            },
            "description": "Gets the list of parent sales item option entities"
          },
          "promptText": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the prompt text, and its translations"
          }
        },
        "additionalProperties": false,
        "description": "Represents an item base that has a number of parent sales item Options that can be purchased, e.g. a collection of medium drink options"
      },
      "Ocapi.V1.Sales.MasterData.Items.ParentSales.ParentSalesItemOption": {
        "title": "ParentSalesItemOption",
        "required": [
          "displayPriority",
          "itemId",
          "prices"
        ],
        "type": "object",
        "properties": {
          "itemId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the item base entity"
          },
          "displayPriority": {
            "type": "integer",
            "description": "Gets the display priority used for sorting",
            "format": "int32"
          },
          "prices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.Prices.ItemPrice"
            },
            "description": "Gets the list of item price entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents an option for a parent sales item"
      },
      "Ocapi.V1.Sales.MasterData.Items.Prices.ItemPrice": {
        "title": "ItemPrice",
        "required": [
          "isDefault",
          "price",
          "restrictions"
        ],
        "type": "object",
        "properties": {
          "price": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the price to be displayed to the customer"
          },
          "isDefault": {
            "type": "boolean",
            "description": "Gets a value indicating whether this is the default price"
          },
          "restrictions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.Prices.ItemPriceRestriction"
            },
            "description": "Gets the restrictions that apply"
          },
          "rewardId": {
            "type": "integer",
            "description": "Gets the unique identifier of the reward that the price is restricted to",
            "format": "int32",
            "nullable": true
          },
          "discount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Prices.PriceDiscount"
              }
            ],
            "description": "Gets the discount details"
          },
          "discountId": {
            "type": "string",
            "description": "Gets the unique identifier of the discount that the price is restricted to",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the price of an item base"
      },
      "Ocapi.V1.Sales.MasterData.Items.Prices.ItemPriceRestriction": {
        "title": "ItemPriceRestriction",
        "enum": [
          "MemberReward",
          "InheritedMemberReward",
          "Discount",
          "InheritedDiscount"
        ],
        "type": "string",
        "description": "Represents the restriction options for an item price"
      },
      "Ocapi.V1.Sales.MasterData.Items.Profiles.GiftShopItemProfile": {
        "title": "GiftShopItemProfile",
        "required": [
          "itemPostalDeliveryMethods",
          "pages"
        ],
        "type": "object",
        "properties": {
          "pages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.Profiles.ItemProfilePage"
            },
            "description": "Gets the list of item profile page entities"
          },
          "itemPostalDeliveryMethods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.DeliveryMethods.ItemPostalDeliveryMethod"
            },
            "description": "Gets the list of related item postal delivery method entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents an item profile for the gift shop"
      },
      "Ocapi.V1.Sales.MasterData.Items.Profiles.GiftShopItemProfileDetails": {
        "title": "GiftShopItemProfileDetails",
        "required": [
          "itemProfile",
          "relatedData"
        ],
        "type": "object",
        "properties": {
          "itemProfile": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.Profiles.GiftShopItemProfile"
              }
            ],
            "description": "Gets the gift shop item profile entity"
          },
          "relatedData": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.Profiles.ItemProfileRelatedData"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.Profiles.SiteItemProfileRelatedData"
              }
            ],
            "description": "Related data for an item profile entity"
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of a gift shop item profile entity, and its related data"
      },
      "Ocapi.V1.Sales.MasterData.Items.Profiles.ItemProfileButton": {
        "title": "ItemProfileButton",
        "required": [
          "displayPriority",
          "itemId",
          "prices",
          "title"
        ],
        "type": "object",
        "properties": {
          "itemId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the item base entity"
          },
          "prices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.Prices.ItemPrice"
            },
            "description": "Gets the list of item price entities"
          },
          "title": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the title text, and its translations"
          },
          "displayPriority": {
            "type": "integer",
            "description": "Gets the display priority used for sorting",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Represents a button within an item profile page that's used to display a sellable item"
      },
      "Ocapi.V1.Sales.MasterData.Items.Profiles.ItemProfilePage": {
        "title": "ItemProfilePage",
        "required": [
          "buttons",
          "displayPriority",
          "number",
          "title"
        ],
        "type": "object",
        "properties": {
          "number": {
            "type": "integer",
            "description": "Gets the number that can be used to uniquely identify the page within the item profile",
            "format": "int32"
          },
          "title": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the title text, and its translations"
          },
          "buttons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.Profiles.ItemProfileButton"
            },
            "description": "Gets the list of item profile button entities"
          },
          "displayPriority": {
            "type": "integer",
            "description": "Gets the display priority used for sorting",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Represents a page within an item profile"
      },
      "Ocapi.V1.Sales.MasterData.Items.Profiles.ItemProfileRelatedData": {
        "title": "ItemProfileRelatedData",
        "required": [
          "discounts",
          "itemModifierGroups",
          "items"
        ],
        "type": "object",
        "properties": {
          "discounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Discounts.Discount"
            },
            "description": "Gets the list of related discount entities"
          },
          "items": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.WeightBased.WeightBasedItem"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.Recipe.RecipeItem"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.ParentSales.ParentSalesItem"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.Packages.PackageItem"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.Normal.NormalItem"
                }
              ],
              "description": "Represents the base properties of an item that is available for sale"
            },
            "description": "Gets the list of related item base entities"
          },
          "itemModifierGroups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.Modifiers.ItemModifierGroup"
            },
            "description": "Gets the list of related item modifier group entities"
          }
        },
        "additionalProperties": false,
        "description": "Related data for an item profile entity"
      },
      "Ocapi.V1.Sales.MasterData.Items.Profiles.SiteItemProfile": {
        "title": "SiteItemProfile",
        "required": [
          "isDefault",
          "itemShowtimeDeliveryWindows",
          "orderTipOptions",
          "pages",
          "siteId"
        ],
        "type": "object",
        "properties": {
          "pages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.Profiles.ItemProfilePage"
            },
            "description": "Gets the list of item profile page entities"
          },
          "siteId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the site"
          },
          "isDefault": {
            "type": "boolean",
            "description": "Gets a value indicating whether this is the default item profile for the site"
          },
          "orderTipOptions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.OrderTipOptions.OrderTipOption"
            },
            "description": "Gets the list of order tip option entities"
          },
          "itemShowtimeDeliveryWindows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.ShowtimeDeliveryWindows.ItemShowtimeDeliveryWindowMinutesFromStart"
            },
            "description": "Gets the list of item showtime delivery window base entities"
          },
          "siteOrderLocationId": {
            "type": "string",
            "description": "Gets the unique identifier of the site order location, if applicable",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents an item profile for a site"
      },
      "Ocapi.V1.Sales.MasterData.Items.Profiles.SiteItemProfileDetails": {
        "title": "SiteItemProfileDetails",
        "required": [
          "itemProfile",
          "relatedData"
        ],
        "type": "object",
        "properties": {
          "itemProfile": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.Profiles.SiteItemProfile"
              }
            ],
            "description": "Gets the site item profile entity"
          },
          "relatedData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.Profiles.SiteItemProfileRelatedData"
              }
            ],
            "description": "Gets the related data for the site item profile entity"
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of a site item profile entity, and its related data"
      },
      "Ocapi.V1.Sales.MasterData.Items.Profiles.SiteItemProfileRelatedData": {
        "title": "SiteItemProfileRelatedData",
        "required": [
          "availableHours",
          "discounts",
          "itemModifierGroups",
          "items",
          "site"
        ],
        "type": "object",
        "properties": {
          "discounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Discounts.Discount"
            },
            "description": "Gets the list of related discount entities"
          },
          "items": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.WeightBased.WeightBasedItem"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.Recipe.RecipeItem"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.ParentSales.ParentSalesItem"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.Packages.PackageItem"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.Normal.NormalItem"
                }
              ],
              "description": "Represents the base properties of an item that is available for sale"
            },
            "description": "Gets the list of related item base entities"
          },
          "itemModifierGroups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.Modifiers.ItemModifierGroup"
            },
            "description": "Gets the list of related item modifier group entities"
          },
          "site": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.Sites.LoyaltySite"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Sites.Site"
              }
            ],
            "description": "Represents a physical location that belongs to a cinema chain, consisting of one or more screen entities"
          },
          "availableHours": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.AvailableHours.AvailableHours"
            },
            "description": "Gets the list of related available hours entities"
          }
        },
        "additionalProperties": false,
        "description": "Related data for a site item profile entity"
      },
      "Ocapi.V1.Sales.MasterData.Items.Recipe.RecipeItem": {
        "title": "RecipeItem",
        "required": [
          "allowedDeliveryMethods",
          "barcodes",
          "components",
          "hoCode",
          "id",
          "isPreparationRequired",
          "isSundry",
          "modifierGroups",
          "name",
          "restrictions",
          "shortName",
          "type"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier",
            "readOnly": true
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the name text, and its translations"
          },
          "shortName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the short name text, and its translations"
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the description text, and its translations"
          },
          "restrictions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.ItemRestriction"
            },
            "description": "Gets the restrictions that apply"
          },
          "itemClassId": {
            "type": "string",
            "description": "Gets the unique identifier of the item class the item belongs to, if applicable",
            "nullable": true
          },
          "hopk": {
            "type": "string",
            "description": "Gets the Head Office primary key",
            "nullable": true
          },
          "hoCode": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the Head Office code"
          },
          "isSundry": {
            "type": "boolean",
            "description": "Gets a value indicating whether this is a sundry item"
          },
          "isPreparationRequired": {
            "type": "boolean",
            "description": "Gets a value indicating whether the item requires preparation"
          },
          "allowedDeliveryMethods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.DeliveryMethods.ItemDeliveryMethod"
            },
            "description": "Gets the list of allowed item delivery method entities"
          },
          "availableHoursId": {
            "type": "string",
            "description": "Gets the unique identifier of the available hours entity",
            "nullable": true,
            "readOnly": true
          },
          "barcodes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Gets the list of barcodes configured on the item at cinema"
          },
          "modifierGroups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.Normal.NormalItemModifierGroup"
            },
            "description": "Gets the list of normal item modifier group entities"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.ItemType"
              }
            ],
            "description": "Gets the type"
          },
          "components": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.Recipe.RecipeItemComponent"
            },
            "description": "Gets the list of recipe item component entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents an item base that supports item modifier group entities and has one or more recipe item Components,\r\ne.g. a drink made up of a cup, straw, post-mix syrup, and ice"
      },
      "Ocapi.V1.Sales.MasterData.Items.Recipe.RecipeItemComponent": {
        "title": "RecipeItemComponent",
        "required": [
          "displayPriority",
          "isModifiable",
          "itemId",
          "prices"
        ],
        "type": "object",
        "properties": {
          "itemId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the item base entity"
          },
          "isModifiable": {
            "type": "boolean",
            "description": "Gets a value indicating whether the component can be modified via an order recipe item component modification"
          },
          "displayPriority": {
            "type": "integer",
            "description": "Gets the display priority used for sorting",
            "format": "int32"
          },
          "prices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.Prices.ItemPrice"
            },
            "description": "Gets the list of item price entities incurred when adding extra of the component to the recipe"
          }
        },
        "additionalProperties": false,
        "description": "Represents a component within a recipe item"
      },
      "Ocapi.V1.Sales.MasterData.Items.Sellable.SellableItem": {
        "title": "SellableItem",
        "required": [
          "itemId",
          "prices"
        ],
        "type": "object",
        "properties": {
          "itemId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the item base entity"
          },
          "prices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.Prices.ItemPrice"
            },
            "description": "Gets the list of item price entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of an item base entity that can be purchased directly"
      },
      "Ocapi.V1.Sales.MasterData.Items.Sellable.SellableItemDetails": {
        "title": "SellableItemDetails",
        "required": [
          "relatedData",
          "sellableItem"
        ],
        "type": "object",
        "properties": {
          "sellableItem": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.Sellable.SellableItem"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.Profiles.ItemProfileButton"
              }
            ],
            "description": "Represents the details of an item base entity that can be purchased directly"
          },
          "relatedData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.Sellable.SellableItemRelatedData"
              }
            ],
            "description": "Gets the related data for the sellable item entity"
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of a sellable item entity, and its related data"
      },
      "Ocapi.V1.Sales.MasterData.Items.Sellable.SellableItemRelatedData": {
        "title": "SellableItemRelatedData",
        "required": [
          "discounts",
          "item",
          "itemModifierGroups"
        ],
        "type": "object",
        "properties": {
          "item": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.WeightBased.WeightBasedItem"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.Recipe.RecipeItem"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.ParentSales.ParentSalesItem"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.Packages.PackageItem"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.Normal.NormalItem"
              }
            ],
            "description": "Represents the base properties of an item that is available for sale"
          },
          "discounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Discounts.Discount"
            },
            "description": "Gets the list of related discount entities"
          },
          "itemModifierGroups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.Modifiers.ItemModifierGroup"
            },
            "description": "Gets the list of related item modifier group entities"
          }
        },
        "additionalProperties": false,
        "description": "Related data for a sellable item entity"
      },
      "Ocapi.V1.Sales.MasterData.Items.ShowtimeDeliveryWindows.ItemShowtimeDeliveryWindowBase": {
        "title": "ItemShowtimeDeliveryWindowBase",
        "required": [
          "id",
          "name",
          "type"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier",
            "readOnly": true
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the name text, and its translations"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.ShowtimeDeliveryWindows.ItemShowtimeDeliveryWindowType"
              }
            ],
            "description": "Gets the type"
          }
        },
        "additionalProperties": false,
        "description": "Represents the base properties of a targeted item delivery time that is in the context of a showtime"
      },
      "Ocapi.V1.Sales.MasterData.Items.ShowtimeDeliveryWindows.ItemShowtimeDeliveryWindowMinutesFromStart": {
        "title": "ItemShowtimeDeliveryWindowMinutesFromStart",
        "required": [
          "minutes",
          "type"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.ShowtimeDeliveryWindows.ItemShowtimeDeliveryWindowBase"
          }
        ],
        "properties": {
          "minutes": {
            "type": "integer",
            "description": "Gets the targeted delivery time, as a number of minutes from showtime schedule StartsAt",
            "format": "int32"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.ShowtimeDeliveryWindows.ItemShowtimeDeliveryWindowType"
              }
            ],
            "description": "Gets the type"
          }
        },
        "additionalProperties": false,
        "description": "Represents an item showtime delivery window base that is a number of minutes from showtime schedule StartsAt"
      },
      "Ocapi.V1.Sales.MasterData.Items.ShowtimeDeliveryWindows.ItemShowtimeDeliveryWindowType": {
        "title": "ItemShowtimeDeliveryWindowType",
        "enum": [
          "MinutesFromStart"
        ],
        "type": "string",
        "description": "Represents the type of an item showtime delivery window base"
      },
      "Ocapi.V1.Sales.MasterData.Items.WeightBased.WeightBasedItem": {
        "title": "WeightBasedItem",
        "required": [
          "unitAbbreviation"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.ItemBase"
          }
        ],
        "properties": {
          "unitAbbreviation": {
            "minLength": 1,
            "type": "string"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.ItemType"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "Represents an item base that is sold by weight, e.g. bulk candies"
      },
      "Ocapi.V1.Sales.MasterData.OrderTipOptions.OrderTipOption": {
        "title": "OrderTipOption",
        "required": [
          "isDefault",
          "percentage"
        ],
        "type": "object",
        "properties": {
          "percentage": {
            "type": "integer",
            "description": "Gets the amount to tip, as a percentage of the total cost of the standard order Items",
            "format": "int32"
          },
          "isDefault": {
            "type": "boolean",
            "description": "Gets a value indicating whether this option is applied to an in progress standard order by default"
          }
        },
        "additionalProperties": false,
        "description": "An option the patron can select to tip a specific percentage amount for an in progress standard order"
      },
      "Ocapi.V1.Sales.MasterData.Prices.PriceDiscount": {
        "title": "PriceDiscount",
        "required": [
          "amountSaved",
          "calculation"
        ],
        "type": "object",
        "properties": {
          "calculation": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.DiscountCalculations.PercentageOffDiscountCalculation"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.DiscountCalculations.PriceOffDiscountCalculation"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.DiscountCalculations.SpecialPriceDiscountCalculation"
              }
            ],
            "description": "Represents the base properties that describe the calculation of a discount"
          },
          "amountSaved": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the monetary amount saved compared to the default price"
          }
        },
        "additionalProperties": false,
        "description": "Represents the calculation logic and savings associated with a discounted price"
      },
      "Ocapi.V1.Sales.MasterData.SubscriptionBillingOptions.SubscriptionBillingOption": {
        "title": "SubscriptionBillingOption",
        "required": [
          "billingPeriodInMonths",
          "id",
          "isRecurring",
          "name",
          "prices",
          "shortName",
          "subscriptionId"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier"
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the name text, and its translations"
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the description text, and its translations"
          },
          "shortName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the short name text, and its translations"
          },
          "prices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.SubscriptionBillingOptions.SubscriptionBillingOptionPrice"
            },
            "description": "Gets the list of subscription billing option price entities"
          },
          "subscriptionId": {
            "type": "integer",
            "description": "Gets the unique identifier of the subscription",
            "format": "int32"
          },
          "billingPeriodInMonths": {
            "type": "integer",
            "description": "Gets the number of months between billing cycles",
            "format": "int32"
          },
          "isRecurring": {
            "type": "boolean",
            "description": "Gets a value indicating whether the billing option is purchased once or if payment\r\nis regularly taken after purchase"
          }
        },
        "additionalProperties": false,
        "description": "Represents a billing option for purchasing a new, or renewing an existing, subscription"
      },
      "Ocapi.V1.Sales.MasterData.SubscriptionBillingOptions.SubscriptionBillingOptionListDetails": {
        "title": "SubscriptionBillingOptionListDetails",
        "required": [
          "billingOptions",
          "relatedData"
        ],
        "type": "object",
        "properties": {
          "billingOptions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.SubscriptionBillingOptions.SubscriptionBillingOption"
            },
            "description": "Gets the list of subscription billing option entities"
          },
          "relatedData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.SubscriptionBillingOptions.SubscriptionBillingOptionListRelatedData"
              }
            ],
            "description": "Gets the related data for the subscription billing option entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents a list of subscription billing option entities, and their related data"
      },
      "Ocapi.V1.Sales.MasterData.SubscriptionBillingOptions.SubscriptionBillingOptionListRelatedData": {
        "title": "SubscriptionBillingOptionListRelatedData",
        "required": [
          "discounts",
          "subscriptions"
        ],
        "type": "object",
        "properties": {
          "subscriptions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Loyalty.MasterData.Subscriptions.Subscription"
            },
            "description": "Gets the list of related subscription entities"
          },
          "discounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Discounts.Discount"
            },
            "description": "Gets the list of related discount entities"
          }
        },
        "additionalProperties": false,
        "description": "Related data for a list of subscription billing option entities"
      },
      "Ocapi.V1.Sales.MasterData.SubscriptionBillingOptions.SubscriptionBillingOptionPrice": {
        "title": "SubscriptionBillingOptionPrice",
        "required": [
          "isDefault",
          "price",
          "restrictions"
        ],
        "type": "object",
        "properties": {
          "price": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the price to be displayed to the customer"
          },
          "isDefault": {
            "type": "boolean",
            "description": "Gets a value indicating whether this is the default price"
          },
          "discount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Prices.PriceDiscount"
              }
            ],
            "description": "Gets the discount details"
          },
          "restrictions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.SubscriptionBillingOptions.SubscriptionBillingOptionPriceRestriction"
            }
          },
          "discountId": {
            "type": "string",
            "description": "Gets the unique identifier of the discount that the price is restricted to",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the price of a subscription billing option that can be purchased"
      },
      "Ocapi.V1.Sales.MasterData.SubscriptionBillingOptions.SubscriptionBillingOptionPriceRestriction": {
        "title": "SubscriptionBillingOptionPriceRestriction",
        "enum": [
          "Discount"
        ],
        "type": "string",
        "description": "Represents the restriction options for a subscription billing option price"
      },
      "Ocapi.V1.Sales.MasterData.ThirdPartyMemberTicketSchemes.ThirdPartyMemberScheme": {
        "title": "ThirdPartyMemberScheme",
        "required": [
          "cardNumberFormat",
          "id",
          "name",
          "seatLimitPerCard"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier"
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the name text, and its translations"
          },
          "cardNumberFormat": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.ThirdPartyMemberTicketSchemes.ThirdPartyMemberSchemeCardNumberFormat"
              }
            ],
            "description": "Gets the card number format"
          },
          "seatLimitPerCard": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Quantity"
              }
            ],
            "description": "Gets the maximum number of seats across all ticket types for the scheme that can be ordered for an individual\r\norder ticket redemption card base for a specific showtime"
          }
        },
        "additionalProperties": false,
        "description": "Represents a third-party member scheme, used to purchase a ticket type base\r\nwith a ticket price restriction ThirdPartyMemberCard restriction"
      },
      "Ocapi.V1.Sales.MasterData.ThirdPartyMemberTicketSchemes.ThirdPartyMemberSchemeCardNumberFormat": {
        "title": "ThirdPartyMemberSchemeCardNumberFormat",
        "required": [
          "fullFormat",
          "partialFormat",
          "prefixLength"
        ],
        "type": "object",
        "properties": {
          "partialFormat": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the regular expression that can be used to determine whether a partially-entered card number matches the format"
          },
          "fullFormat": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the regular expression that can be used to determine whether a full card number matches the format"
          },
          "prefixLength": {
            "type": "integer",
            "description": "Gets the prefix length",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Represents the card number format for cards belonging to a third party member scheme"
      },
      "Ocapi.V1.Sales.MasterData.ThirdPartyMemberTicketSchemes.ThirdPartyMemberSchemeListDetails": {
        "title": "ThirdPartyMemberSchemeListDetails",
        "required": [
          "thirdPartyMemberSchemes"
        ],
        "type": "object",
        "properties": {
          "thirdPartyMemberSchemes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.ThirdPartyMemberTicketSchemes.ThirdPartyMemberScheme"
            },
            "description": "Gets the list of third party member scheme entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents a list of third party member scheme entities"
      },
      "Ocapi.V1.Sales.MasterData.TicketPrices.TicketPrice": {
        "title": "TicketPrice",
        "required": [
          "displayPriority",
          "isDefault",
          "isShownAsPreviewWhenRestricted",
          "price",
          "restrictions",
          "ticketTypeId",
          "voucherTypeCodes"
        ],
        "type": "object",
        "properties": {
          "ticketTypeId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the ticket type base"
          },
          "price": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.MonetaryValue"
              }
            ],
            "description": "Gets the price to be displayed to the customer"
          },
          "isDefault": {
            "type": "boolean",
            "description": "Gets a value indicating whether this is the default price"
          },
          "bookingFee": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.TicketPrices.TicketPriceBookingFee"
              }
            ],
            "description": "Gets the booking fee that will be incurred, if applicable"
          },
          "restrictions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.TicketPrices.TicketPriceRestriction"
            },
            "description": "Gets the restrictions that apply"
          },
          "rewardId": {
            "type": "integer",
            "description": "Gets the unique identifier of the reward that the price is restricted to",
            "format": "int32",
            "nullable": true
          },
          "voucherTypeCodes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Gets the list of unique identifiers of the voucher types that the price is restricted to"
          },
          "thirdPartyMemberSchemeId": {
            "type": "string",
            "description": "Gets the unique identifier of the third party member scheme that the price is restricted to",
            "nullable": true
          },
          "isShownAsPreviewWhenRestricted": {
            "type": "boolean",
            "description": "Gets a value indicating whether this price should be previewed to the user if it is not available for purchase due to some unmet restriction"
          },
          "displayPriority": {
            "type": "integer",
            "description": "Gets the display priority used for sorting",
            "format": "int32"
          },
          "subscriptionId": {
            "type": "integer",
            "description": "Gets the unique identifier of the subscription that the price is restricted to",
            "format": "int32",
            "nullable": true
          },
          "discountId": {
            "type": "string",
            "description": "Gets the unique identifier of the discount that the price is restricted to",
            "nullable": true,
            "readOnly": true
          },
          "discount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Prices.PriceDiscount"
              }
            ],
            "description": "Gets the discount details"
          }
        },
        "additionalProperties": false,
        "description": "Represents the price of a ticket type base that can be purchased"
      },
      "Ocapi.V1.Sales.MasterData.TicketPrices.TicketPriceBookingFee": {
        "title": "TicketPriceBookingFee",
        "required": [
          "amountIncludingTax"
        ],
        "type": "object",
        "properties": {
          "amountIncludingTax": {
            "type": "number",
            "description": "Gets the monetary amount including tax to be displayed to the customer",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Represents a booking fee that will be incurred with the purchase of a ticket price"
      },
      "Ocapi.V1.Sales.MasterData.TicketPrices.TicketPriceListDetails": {
        "title": "TicketPriceListDetails",
        "required": [
          "relatedData",
          "ticketPrices"
        ],
        "type": "object",
        "properties": {
          "ticketPrices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.TicketPrices.TicketPrice"
            },
            "description": "Gets the list of ticket price entities"
          },
          "relatedData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.TicketPrices.TicketPriceListRelatedData"
              }
            ],
            "description": "Gets the related data for the ticket price entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents a list of ticket price entities, and their related data"
      },
      "Ocapi.V1.Sales.MasterData.TicketPrices.TicketPriceListRelatedData": {
        "title": "TicketPriceListRelatedData",
        "required": [
          "discounts",
          "items",
          "ticketTypes"
        ],
        "type": "object",
        "properties": {
          "ticketTypes": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.TicketTypes.Package.PackageTicketType"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.TicketTypes.Normal.NormalTicketType"
                }
              ],
              "description": "Represents the base properties of a ticket type"
            },
            "description": "Gets the list of related ticket type base entities"
          },
          "items": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.WeightBased.WeightBasedItem"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.Recipe.RecipeItem"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.ParentSales.ParentSalesItem"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.Packages.PackageItem"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Items.Normal.NormalItem"
                }
              ],
              "description": "Represents the base properties of an item that is available for sale"
            },
            "description": "Gets the list of related item base entities for any package ticket type entities"
          },
          "discounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.Discounts.Discount"
            },
            "description": "Gets the list of related discount entities"
          }
        },
        "additionalProperties": false,
        "description": "Related data for a list of ticket price entities"
      },
      "Ocapi.V1.Sales.MasterData.TicketPrices.TicketPriceRestriction": {
        "title": "TicketPriceRestriction",
        "enum": [
          "Member",
          "ThirdPartyMemberCard",
          "Voucher",
          "MemberReward",
          "MemberSubscriptionCard",
          "Discount"
        ],
        "type": "string",
        "description": "Represents the restriction options for a ticket price"
      },
      "Ocapi.V1.Sales.MasterData.TicketTypes.Normal.NormalTicketType": {
        "title": "NormalTicketType",
        "required": [
          "type"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.TicketTypes.TicketTypeBase"
          }
        ],
        "properties": {
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.TicketTypes.TicketTypeType"
              }
            ],
            "description": "Gets the type"
          }
        },
        "additionalProperties": false,
        "description": "Represents a normal ticket type base that contains a single ticket"
      },
      "Ocapi.V1.Sales.MasterData.TicketTypes.Package.PackageTicketType": {
        "title": "PackageTicketType",
        "required": [
          "items",
          "tickets",
          "type"
        ],
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.TicketTypes.TicketTypeBase"
          }
        ],
        "properties": {
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.TicketTypes.TicketTypeType"
              }
            ],
            "description": "Gets the type"
          },
          "tickets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.TicketTypes.Package.PackageTicketTypeContentTicket"
            },
            "description": "Gets the list of package ticket type content ticket entities"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.TicketTypes.Package.PackageTicketTypeContentItem"
            },
            "description": "Gets the list of package ticket type content item entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents a ticket type base that has package contents"
      },
      "Ocapi.V1.Sales.MasterData.TicketTypes.Package.PackageTicketTypeContentItem": {
        "title": "PackageTicketTypeContentItem",
        "required": [
          "itemId",
          "quantity"
        ],
        "type": "object",
        "properties": {
          "itemId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the item base"
          },
          "quantity": {
            "type": "integer",
            "description": "Gets the quantity",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Represents an item base within a package ticket type"
      },
      "Ocapi.V1.Sales.MasterData.TicketTypes.Package.PackageTicketTypeContentTicket": {
        "title": "PackageTicketTypeContentTicket",
        "required": [
          "quantity",
          "ticketTypeId"
        ],
        "type": "object",
        "properties": {
          "ticketTypeId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the normal ticket type"
          },
          "quantity": {
            "type": "integer",
            "description": "Gets the quantity",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Represents a normal ticket type within a package ticket type"
      },
      "Ocapi.V1.Sales.MasterData.TicketTypes.TicketTypeBase": {
        "title": "TicketTypeBase",
        "required": [
          "areaCategoryId",
          "description",
          "displayPriority",
          "hoCode",
          "id",
          "isChildTicket",
          "isRestrictedToMembers",
          "type"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier",
            "readOnly": true
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Sales.MasterData.TicketTypes.TicketTypeType"
              }
            ],
            "description": "Gets the type."
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the description text, and its translations."
          },
          "longDescription": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the long description text, and its translations."
          },
          "areaCategoryId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the area category the ticket type belongs to",
            "readOnly": true
          },
          "isRestrictedToMembers": {
            "type": "boolean",
            "description": "Gets a value indicating whether this ticket type is restricted to member entities"
          },
          "displayPriority": {
            "type": "integer",
            "description": "Gets the display priority used for sorting",
            "format": "int32"
          },
          "isChildTicket": {
            "type": "boolean",
            "description": "Gets a value indicating whether this ticket is intended for children and may be subject to sale restrictions based on film and/or censor rating rules"
          },
          "hopk": {
            "type": "string",
            "nullable": true
          },
          "ticketCode": {
            "type": "string",
            "nullable": true
          },
          "hoCode": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "Ocapi.V1.Sales.MasterData.TicketTypes.TicketTypeType": {
        "title": "TicketTypeType",
        "enum": [
          "Normal",
          "Package"
        ],
        "type": "string",
        "description": "Represents the type of a ticket type base entity"
      },
      "Ocapi.V1.Seating.Availability.AreaCategorySeatAvailabilitySummary": {
        "title": "AreaCategorySeatAvailabilitySummary",
        "required": [
          "areaCategoryId",
          "availableCount",
          "totalCount"
        ],
        "type": "object",
        "properties": {
          "areaCategoryId": {
            "minLength": 1,
            "type": "string"
          },
          "totalCount": {
            "type": "integer",
            "format": "int32"
          },
          "availableCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Represents a seat availability summary for an area category"
      },
      "Ocapi.V1.Seating.Availability.SeatAvailability": {
        "title": "SeatAvailability",
        "required": [
          "seatId",
          "status"
        ],
        "type": "object",
        "properties": {
          "seatId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the seat"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Seating.Availability.SeatAvailabilityStatus"
              }
            ],
            "description": "Gets the availability status"
          }
        },
        "additionalProperties": false,
        "description": "Represents the current availability of a seat"
      },
      "Ocapi.V1.Seating.Availability.SeatAvailabilityStatus": {
        "title": "SeatAvailabilityStatus",
        "enum": [
          "Available",
          "Sold",
          "Broken",
          "House"
        ],
        "type": "string",
        "description": "Represents the availability status of a seat"
      },
      "Ocapi.V1.Seating.Availability.SeatAvailabilitySummary": {
        "title": "SeatAvailabilitySummary",
        "required": [
          "availableCount",
          "totalCount"
        ],
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "format": "int32"
          },
          "availableCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Ocapi.V1.Seating.Availability.ShowtimeAvailability": {
        "title": "ShowtimeAvailability",
        "required": [
          "areaCategorySeatSummaries",
          "isSoldOut",
          "seatSummary",
          "showtimeId"
        ],
        "type": "object",
        "properties": {
          "showtimeId": {
            "minLength": 1,
            "type": "string",
            "readOnly": true
          },
          "isSoldOut": {
            "type": "boolean"
          },
          "seatSummary": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Seating.Availability.AreaCategorySeatAvailabilitySummary"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Seating.Availability.SeatAvailabilitySummary"
              }
            ],
            "description": "Represents a seat availability summary for a list of seat entities"
          },
          "areaCategorySeatSummaries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Seating.Availability.AreaCategorySeatAvailabilitySummary"
            }
          }
        },
        "additionalProperties": false,
        "description": "Represents the current availability of a showtime"
      },
      "Ocapi.V1.Seating.Availability.ShowtimeAvailabilityDetails": {
        "title": "ShowtimeAvailabilityDetails",
        "required": [
          "showtimeAvailability"
        ],
        "type": "object",
        "properties": {
          "showtimeAvailability": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Seating.Availability.ShowtimeAvailability"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "Represents a showtime availability entity"
      },
      "Ocapi.V1.Seating.Availability.ShowtimeAvailabilityListDetails": {
        "title": "ShowtimeAvailabilityListDetails",
        "required": [
          "showtimeAvailabilities"
        ],
        "type": "object",
        "properties": {
          "showtimeAvailabilities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Seating.Availability.ShowtimeAvailability"
            }
          }
        },
        "additionalProperties": false,
        "description": "Represents a list of showtime availability entities"
      },
      "Ocapi.V1.Seating.Availability.ShowtimeSeatAvailability": {
        "title": "ShowtimeSeatAvailability",
        "required": [
          "areaCategorySummaries",
          "isSoldOut",
          "seatAvailabilities",
          "summary"
        ],
        "type": "object",
        "properties": {
          "seatAvailabilities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Seating.Availability.SeatAvailability"
            }
          },
          "isSoldOut": {
            "type": "boolean"
          },
          "summary": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Seating.Availability.AreaCategorySeatAvailabilitySummary"
              },
              {
                "$ref": "#/components/schemas/Ocapi.V1.Seating.Availability.SeatAvailabilitySummary"
              }
            ],
            "description": "Represents a seat availability summary for a list of seat entities"
          },
          "areaCategorySummaries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Seating.Availability.AreaCategorySeatAvailabilitySummary"
            }
          }
        },
        "additionalProperties": false,
        "description": "Represents a list of seat availability entities for a particular showtime"
      },
      "Ocapi.V1.Seating.MasterData.Area": {
        "title": "Area",
        "required": [
          "areaCategoryId",
          "boundary",
          "columnCount",
          "name",
          "number",
          "rowCount",
          "rows"
        ],
        "type": "object",
        "properties": {
          "number": {
            "type": "integer",
            "description": "Gets the number that can be used to uniquely identify the area within the seat layout",
            "format": "int32"
          },
          "areaCategoryId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the area category the area belongs to"
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the name text, and its translations"
          },
          "boundary": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Seating.MasterData.AreaBoundary"
              }
            ],
            "description": "Gets the boundary"
          },
          "columnCount": {
            "type": "integer",
            "description": "Gets the number of columns",
            "format": "int32"
          },
          "rowCount": {
            "type": "integer",
            "description": "Gets the number of rows",
            "format": "int32"
          },
          "rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Seating.MasterData.Row"
            },
            "description": "Gets the list of row entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents an area (a block of seats) within a seat layout"
      },
      "Ocapi.V1.Seating.MasterData.AreaBoundary": {
        "title": "AreaBoundary",
        "required": [
          "bottom",
          "left",
          "right",
          "top"
        ],
        "type": "object",
        "properties": {
          "left": {
            "type": "number",
            "description": "Gets the leftmost coordinate, in grid units",
            "format": "double"
          },
          "top": {
            "type": "number",
            "description": "Gets the topmost coordinate, in grid units",
            "format": "double"
          },
          "right": {
            "type": "number",
            "description": "Gets the rightmost coordinate, in grid units",
            "format": "double"
          },
          "bottom": {
            "type": "number",
            "description": "Gets the bottommost coordinate, in grid units",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Represents a set of four grid coordinates that describe the position and dimensions of an area within the seat layout"
      },
      "Ocapi.V1.Seating.MasterData.AreaCategory": {
        "title": "AreaCategory",
        "required": [
          "id",
          "isAllocatedSeating",
          "isInSeatItemDeliveryAvailable",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier",
            "readOnly": true
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the name text, and its translations"
          },
          "hopk": {
            "type": "string",
            "description": "Gets the Head Office primary key",
            "nullable": true
          },
          "isAllocatedSeating": {
            "type": "boolean",
            "description": "Gets a value indicating whether the seat entities are allocated"
          },
          "isInSeatItemDeliveryAvailable": {
            "type": "boolean",
            "description": "Gets a value indicating whether in-seat item delivery is available for seats belonging to this area category"
          }
        },
        "additionalProperties": false,
        "description": "Represents the classification of one or more area entities"
      },
      "Ocapi.V1.Seating.MasterData.Row": {
        "title": "Row",
        "required": [
          "label",
          "number",
          "seats"
        ],
        "type": "object",
        "properties": {
          "number": {
            "type": "integer",
            "description": "Gets the number that can be used to uniquely identify the row within the area",
            "format": "int32"
          },
          "label": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the label/physical name",
            "example": "G"
          },
          "seats": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Seating.MasterData.Seat"
            },
            "description": "Gets the list of seat entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents a row of seat entities within an area"
      },
      "Ocapi.V1.Seating.MasterData.ScreenBoundary": {
        "title": "ScreenBoundary",
        "required": [
          "left",
          "right"
        ],
        "type": "object",
        "properties": {
          "left": {
            "type": "number",
            "description": "Gets the leftmost coordinate, in grid units",
            "format": "double"
          },
          "right": {
            "type": "number",
            "description": "Gets the rightmost coordinate, in grid units",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Represents a pair of grid coordinates that describe the width of the screen within the seat layout"
      },
      "Ocapi.V1.Seating.MasterData.Seat": {
        "title": "Seat",
        "required": [
          "areaCategoryId",
          "id",
          "position",
          "rowLabel",
          "seatGroupIds",
          "type"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the identifier that can be used to uniquely identify the seat within the seat layout"
          },
          "position": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Seating.MasterData.SeatPosition"
              }
            ],
            "description": "Gets the position"
          },
          "seatGroupIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Gets the list of unique identifiers of the seat entities that share the same group"
          },
          "label": {
            "type": "string",
            "description": "Gets the label/physical name of the seat",
            "nullable": true,
            "example": "5"
          },
          "rowLabel": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the label/physical name of the row",
            "example": "G"
          },
          "areaCategoryId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the area category the seat belongs to"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Seating.MasterData.SeatType"
              }
            ],
            "description": "Gets the type"
          }
        },
        "additionalProperties": false,
        "description": "Represents a space within a row that a single customer may occupy during a showtime"
      },
      "Ocapi.V1.Seating.MasterData.SeatLayout": {
        "title": "SeatLayout",
        "required": [
          "areas",
          "boundary",
          "id",
          "screenBoundary",
          "screenId"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier",
            "readOnly": true
          },
          "screenId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the screen"
          },
          "boundary": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Seating.MasterData.SeatLayoutBoundary"
              }
            ],
            "description": "Gets the boundary"
          },
          "screenBoundary": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Seating.MasterData.ScreenBoundary"
              }
            ],
            "description": "Gets the screen boundary"
          },
          "areas": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Seating.MasterData.Area"
            },
            "description": "Gets the list area entities"
          }
        },
        "additionalProperties": false,
        "description": "Represents a floor plan associated with a screen"
      },
      "Ocapi.V1.Seating.MasterData.SeatLayoutBoundary": {
        "title": "SeatLayoutBoundary",
        "required": [
          "left",
          "right",
          "top"
        ],
        "type": "object",
        "properties": {
          "right": {
            "type": "number",
            "description": "Gets the rightmost coordinate, in grid units",
            "format": "double"
          },
          "left": {
            "type": "number",
            "description": "Gets the leftmost coordinate, in grid units",
            "format": "double"
          },
          "top": {
            "type": "number",
            "description": "Gets the topmost coordinate, in grid units",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Represents a set of three grid coordinates that describe the boundary of a seat layout"
      },
      "Ocapi.V1.Seating.MasterData.SeatLayoutDetails": {
        "title": "SeatLayoutDetails",
        "required": [
          "relatedData",
          "seatLayout"
        ],
        "type": "object",
        "properties": {
          "seatLayout": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Seating.MasterData.SeatLayout"
              }
            ],
            "description": "Gets the seat layout entity"
          },
          "relatedData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Seating.MasterData.SeatLayoutRelatedData"
              }
            ],
            "description": "Gets the related data for the seat layout entity"
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of a seat layout entity, and its related data"
      },
      "Ocapi.V1.Seating.MasterData.SeatLayoutRelatedData": {
        "title": "SeatLayoutRelatedData",
        "required": [
          "areaCategories",
          "screen"
        ],
        "type": "object",
        "properties": {
          "screen": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Screens.Screen"
              }
            ],
            "description": "Gets the related screen entity"
          },
          "areaCategories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Seating.MasterData.AreaCategory"
            },
            "description": "Gets the list of related area category entities"
          }
        },
        "additionalProperties": false,
        "description": "Related data for a seat layout entity"
      },
      "Ocapi.V1.Seating.MasterData.SeatPosition": {
        "title": "SeatPosition",
        "required": [
          "areaNumber",
          "columnNumber",
          "rowNumber"
        ],
        "type": "object",
        "properties": {
          "areaNumber": {
            "type": "integer",
            "description": "Gets the number that can be used to uniquely identify the area within the seat layout",
            "format": "int32"
          },
          "columnNumber": {
            "type": "integer",
            "description": "Gets the number that can be used to uniquely identify the column of the seat entity within the area",
            "format": "int32"
          },
          "rowNumber": {
            "type": "integer",
            "description": "Gets the number that can be used to uniquely identify the row within the area",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Represents the position of a seat within the seat layout"
      },
      "Ocapi.V1.Seating.MasterData.SeatType": {
        "title": "SeatType",
        "enum": [
          "Normal",
          "Wheelchair",
          "Companion",
          "SofaLeft",
          "SofaMiddle",
          "SofaRight"
        ],
        "type": "string",
        "description": "Represents the type of a seat"
      },
      "Ocapi.V1.Surveys.Questions.FilmRatingScaleSurveyQuestion": {
        "title": "FilmRatingScaleSurveyQuestion",
        "required": [
          "displayType",
          "filmId",
          "id",
          "isRequired",
          "number",
          "range",
          "title",
          "type"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the identifier that can be used to uniquely identify the question within the survey"
          },
          "number": {
            "type": "integer",
            "description": "Gets the number that can be used to uniquely identify the question within the survey page",
            "format": "int32"
          },
          "title": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the title text, and its translations"
          },
          "isRequired": {
            "type": "boolean",
            "description": "Gets a value indicating whether a response is required"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Surveys.Questions.SurveyQuestionType"
              }
            ],
            "description": "Gets the type"
          },
          "displayType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Surveys.Questions.RatingScaleSurveyQuestionDisplayType"
              }
            ],
            "description": "Gets the display type"
          },
          "range": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Surveys.Questions.RatingScaleSurveyQuestionRange"
              }
            ],
            "description": "Gets the range"
          },
          "filmId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the film"
          }
        },
        "additionalProperties": false,
        "description": "Represents a rating scale survey question that asks the patron to rate an associated film"
      },
      "Ocapi.V1.Surveys.Questions.FilmSuggestionYesNoUnsureSurveyQuestion": {
        "title": "FilmSuggestionYesNoUnsureSurveyQuestion",
        "required": [
          "filmId",
          "id",
          "isRequired",
          "noOptionLabel",
          "number",
          "title",
          "type",
          "unsureOptionLabel",
          "yesOptionLabel"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the identifier that can be used to uniquely identify the question within the survey"
          },
          "number": {
            "type": "integer",
            "description": "Gets the number that can be used to uniquely identify the question within the survey page",
            "format": "int32"
          },
          "title": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the title text, and its translations"
          },
          "isRequired": {
            "type": "boolean",
            "description": "Gets a value indicating whether a response is required"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Surveys.Questions.SurveyQuestionType"
              }
            ],
            "description": "Gets the type"
          },
          "yesOptionLabel": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the label for the \"Yes\" option"
          },
          "noOptionLabel": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the label for the \"No\" option"
          },
          "unsureOptionLabel": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the label for the \"Unsure\" option"
          },
          "filmId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the film"
          }
        },
        "additionalProperties": false,
        "description": "Represents a yes no unsure survey question associated with a suggested film"
      },
      "Ocapi.V1.Surveys.Questions.RatingScaleSurveyQuestion": {
        "title": "RatingScaleSurveyQuestion",
        "required": [
          "displayType",
          "id",
          "isRequired",
          "number",
          "range",
          "title",
          "type"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the identifier that can be used to uniquely identify the question within the survey"
          },
          "number": {
            "type": "integer",
            "description": "Gets the number that can be used to uniquely identify the question within the survey page",
            "format": "int32"
          },
          "title": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the title text, and its translations"
          },
          "isRequired": {
            "type": "boolean",
            "description": "Gets a value indicating whether a response is required"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Surveys.Questions.SurveyQuestionType"
              }
            ],
            "description": "Gets the type"
          },
          "displayType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Surveys.Questions.RatingScaleSurveyQuestionDisplayType"
              }
            ],
            "description": "Gets the display type"
          },
          "range": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Surveys.Questions.RatingScaleSurveyQuestionRange"
              }
            ],
            "description": "Gets the range"
          }
        },
        "additionalProperties": false,
        "description": "Represents a survey question base of type survey question type RatingScale"
      },
      "Ocapi.V1.Surveys.Questions.RatingScaleSurveyQuestionDisplayType": {
        "title": "RatingScaleSurveyQuestionDisplayType",
        "enum": [
          "Stars",
          "Numbers"
        ],
        "type": "string",
        "description": "Represents the display type of a rating scale survey question"
      },
      "Ocapi.V1.Surveys.Questions.RatingScaleSurveyQuestionRange": {
        "title": "RatingScaleSurveyQuestionRange",
        "required": [
          "maximum",
          "minimum",
          "step"
        ],
        "type": "object",
        "properties": {
          "minimum": {
            "type": "number",
            "description": "Gets the minimum value",
            "format": "double"
          },
          "maximum": {
            "type": "number",
            "description": "Gets the maximum value",
            "format": "double"
          },
          "step": {
            "type": "number",
            "description": "Gets the step value",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Represents the range for a rating scale associated with a rating scale survey question"
      },
      "Ocapi.V1.Surveys.Questions.SurveyQuestionType": {
        "title": "SurveyQuestionType",
        "enum": [
          "RatingScale",
          "YesNoUnsure"
        ],
        "type": "string",
        "description": "Represents the type of a survey question base"
      },
      "Ocapi.V1.Surveys.Questions.YesNoUnsureSurveyQuestion": {
        "title": "YesNoUnsureSurveyQuestion",
        "required": [
          "id",
          "isRequired",
          "noOptionLabel",
          "number",
          "title",
          "type",
          "unsureOptionLabel",
          "yesOptionLabel"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the identifier that can be used to uniquely identify the question within the survey"
          },
          "number": {
            "type": "integer",
            "description": "Gets the number that can be used to uniquely identify the question within the survey page",
            "format": "int32"
          },
          "title": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the title text, and its translations"
          },
          "isRequired": {
            "type": "boolean",
            "description": "Gets a value indicating whether a response is required"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Surveys.Questions.SurveyQuestionType"
              }
            ],
            "description": "Gets the type"
          },
          "yesOptionLabel": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the label for the \"Yes\" option"
          },
          "noOptionLabel": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the label for the \"No\" option"
          },
          "unsureOptionLabel": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the label for the \"Unsure\" option"
          }
        },
        "additionalProperties": false,
        "description": "Represents a survey question base of type survey question type YesNoUnsure"
      },
      "Ocapi.V1.Surveys.RelatedData.SurveyRelatedData": {
        "title": "SurveyRelatedData",
        "required": [
          "films"
        ],
        "type": "object",
        "properties": {
          "films": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Surveys.RelatedData.SurveyRelatedFilm"
            },
            "description": "Gets the list of survey related film entities"
          }
        },
        "additionalProperties": false,
        "description": "Related data for a survey entity"
      },
      "Ocapi.V1.Surveys.RelatedData.SurveyRelatedFilm": {
        "title": "SurveyRelatedFilm",
        "required": [
          "externalIds",
          "id",
          "title"
        ],
        "type": "object",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string"
          },
          "title": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ]
          },
          "externalIds": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Browsing.MasterData.Films.FilmExternalIds"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "Represents the film data related to a survey"
      },
      "Ocapi.V1.Surveys.Requests.SurveyResponsesUpdate": {
        "title": "SurveyResponsesUpdate",
        "required": [
          "isCompleted",
          "responses"
        ],
        "type": "object",
        "properties": {
          "responses": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Surveys.Responses.RatingScaleSurveyQuestionResponse"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Surveys.Responses.YesNoUnsureSurveyQuestionResponse"
                }
              ],
              "description": "Represents the base properties of a response to a survey question base"
            },
            "description": "Gets the list of survey question response base entities"
          },
          "isCompleted": {
            "type": "boolean",
            "description": "Gets a value indicating whether the survey is completed"
          }
        },
        "additionalProperties": false,
        "description": "Represents the values needed to update the responses for a survey"
      },
      "Ocapi.V1.Surveys.Responses.RatingScaleSurveyQuestionResponse": {
        "title": "RatingScaleSurveyQuestionResponse",
        "required": [
          "questionId",
          "response",
          "type"
        ],
        "type": "object",
        "properties": {
          "questionId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the survey question base"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Surveys.Questions.SurveyQuestionType"
              }
            ],
            "description": "Gets the question type"
          },
          "response": {
            "type": "number",
            "description": "Gets the response",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Represents the patron's response to a rating scale survey question"
      },
      "Ocapi.V1.Surveys.Responses.YesNoUnsureResponse": {
        "title": "YesNoUnsureResponse",
        "enum": [
          "Yes",
          "No",
          "Unsure"
        ],
        "type": "string",
        "description": "Represents the possible responses to a yes no unsure survey question"
      },
      "Ocapi.V1.Surveys.Responses.YesNoUnsureSurveyQuestionResponse": {
        "title": "YesNoUnsureSurveyQuestionResponse",
        "required": [
          "questionId",
          "response",
          "type"
        ],
        "type": "object",
        "properties": {
          "questionId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the survey question base"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Surveys.Questions.SurveyQuestionType"
              }
            ],
            "description": "Gets the question type"
          },
          "response": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Surveys.Responses.YesNoUnsureResponse"
              }
            ],
            "description": "Gets the response"
          }
        },
        "additionalProperties": false,
        "description": "Represents the patron's response to a yes no unsure survey question"
      },
      "Ocapi.V1.Surveys.Survey": {
        "title": "Survey",
        "required": [
          "expiresAt",
          "isCompleted",
          "pages",
          "responses",
          "title"
        ],
        "type": "object",
        "properties": {
          "expiresAt": {
            "type": "string",
            "description": "Gets the date and time that the survey is set to expire",
            "format": "date-time"
          },
          "pages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Surveys.SurveyPage"
            },
            "description": "Gets the list of survey page entities, sorted by survey page Number"
          },
          "title": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Translatable"
              }
            ],
            "description": "Gets the title text, and its translations"
          },
          "responses": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Surveys.Responses.RatingScaleSurveyQuestionResponse"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Surveys.Responses.YesNoUnsureSurveyQuestionResponse"
                }
              ],
              "description": "Represents the base properties of a response to a survey question base"
            },
            "description": "Gets the list of existing survey question response base entities"
          },
          "isCompleted": {
            "type": "boolean",
            "description": "Gets a value indicating whether the survey is completed"
          }
        },
        "additionalProperties": false,
        "description": "Represents a survey which allows a patron to provide feedback about their experience"
      },
      "Ocapi.V1.Surveys.SurveyDetails": {
        "title": "SurveyDetails",
        "required": [
          "relatedData",
          "survey"
        ],
        "type": "object",
        "properties": {
          "survey": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Surveys.Survey"
              }
            ],
            "description": "Gets the survey entity"
          },
          "relatedData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.Surveys.RelatedData.SurveyRelatedData"
              }
            ],
            "description": "Gets the related data"
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of a survey and its related data"
      },
      "Ocapi.V1.Surveys.SurveyPage": {
        "title": "SurveyPage",
        "required": [
          "number",
          "questions"
        ],
        "type": "object",
        "properties": {
          "number": {
            "type": "integer",
            "description": "Gets the number that can be used to uniquely identify the page within the survey",
            "format": "int32"
          },
          "questions": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Surveys.Questions.FilmRatingScaleSurveyQuestion"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Surveys.Questions.FilmSuggestionYesNoUnsureSurveyQuestion"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Surveys.Questions.RatingScaleSurveyQuestion"
                },
                {
                  "$ref": "#/components/schemas/Ocapi.V1.Surveys.Questions.YesNoUnsureSurveyQuestion"
                }
              ],
              "description": "Represents the base properties of a question in a survey"
            },
            "description": "Gets the list of survey question base entities, sorted by survey question base Number"
          }
        },
        "additionalProperties": false,
        "description": "Represents a page in a survey"
      },
      "Ocapi.V1.TicketRedemptionCards.ThirdPartyMemberCardCredentials": {
        "title": "ThirdPartyMemberCardCredentials",
        "required": [
          "cardNumber",
          "thirdPartyMemberSchemeId"
        ],
        "type": "object",
        "properties": {
          "cardNumber": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the card number"
          },
          "thirdPartyMemberSchemeId": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the unique identifier of the third party member scheme"
          }
        },
        "additionalProperties": false,
        "description": "Represents the credentials required to identify and validate a third-party member card"
      },
      "Ocapi.V1.TicketRedemptionCards.TicketRedemptionCardBase": {
        "title": "TicketRedemptionCardBase",
        "required": [
          "maskedCardNumber",
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.TicketRedemptionCards.TicketRedemptionCardType"
              }
            ],
            "description": "Gets the type"
          },
          "maskedCardNumber": {
            "minLength": 1,
            "type": "string",
            "description": "Gets a masked representation of the card number",
            "example": "12.......6789"
          },
          "memberName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Ocapi.V1.PersonName"
              }
            ],
            "description": "Gets the name of the person that owns the card, if known"
          }
        },
        "additionalProperties": false,
        "description": "Represents the base properties of a card that can be redeemed to purchase tickets"
      },
      "Ocapi.V1.TicketRedemptionCards.TicketRedemptionCardType": {
        "title": "TicketRedemptionCardType",
        "enum": [
          "MemberSubscriptionCard",
          "ThirdPartyMemberCard"
        ],
        "type": "string",
        "description": "Represents the type of a ticket redemption card base"
      },
      "Ocapi.V1.Translatable": {
        "title": "Translatable",
        "required": [
          "text",
          "translations"
        ],
        "type": "object",
        "properties": {
          "text": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the text in the default language"
          },
          "translations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ocapi.V1.Translation"
            },
            "description": "Gets the translations of the translatable Text in other languages"
          }
        },
        "additionalProperties": false,
        "description": "Represents some customer-visible translatable Text in the default language, and a list of translation entities"
      },
      "Ocapi.V1.Translation": {
        "title": "Translation",
        "required": [
          "languageTag",
          "text"
        ],
        "type": "object",
        "properties": {
          "languageTag": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the IETF (RFC 4646) language tag that the translation Text has been translated for",
            "example": "en-US"
          },
          "text": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the translated text"
          }
        },
        "additionalProperties": false,
        "description": "Represents some translated customer-visible translation Text"
      },
      "Ocapi.V1.Vouchers.VoucherCredentials": {
        "title": "VoucherCredentials",
        "required": [
          "barcode"
        ],
        "type": "object",
        "properties": {
          "barcode": {
            "minLength": 1,
            "type": "string",
            "description": "Gets the barcode"
          },
          "pin": {
            "type": "string",
            "description": "Gets the PIN",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the details required to validate a voucher"
      },
      "Ocapi.V1.Vouchers.VoucherType": {
        "title": "VoucherType",
        "enum": [
          "Ticket",
          "Subscription",
          "Deal"
        ],
        "type": "string",
        "description": "Represents the type of a voucher"
      },
      "System.DayOfWeek": {
        "enum": [
          "Sunday",
          "Monday",
          "Tuesday",
          "Wednesday",
          "Thursday",
          "Friday",
          "Saturday"
        ],
        "type": "string"
      },
      "Vista.Connect.OrderType": {
        "title": "OrderType",
        "enum": [
          "Standard",
          "GiftShop",
          "Subscription"
        ],
        "type": "string"
      }
    }
  }
}