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
