---
title: "Creates an in progress subscription order"
method: POST
path: "/ocapi/v1/orders/subscription"
tags: ["Subscriptions"]
---

# Creates an in progress subscription order

`POST /ocapi/v1/orders/subscription`

If no subscription order action is provided, the subscription order Action will be defaulted to subscription order action Purchase




Orders with the subscription order action Reactivate action will be created with the subscription order Subscription automatically set to the reactivation billing option.

#### Licenses Required


- Vista.Ocapi
- Vista.Subscriptions

## Headers

- `Connect-Region-Code` string

## Request body

- OcapiV1OrdersRequestsSubscriptionOrderCreate — Represents the details of a subscription order to be created
  - `action` 'Purchase' | 'Reactivate', required — Represents the action that will be performed during a subscription order

## Response `200`

Success

- OcapiV1OrdersInProgressOrdersInProgressSubscriptionOrderDetails — Represents an in progress subscription order entity, and its related data
  - `order` OcapiV1OrdersInProgressOrdersInProgressSubscriptionOrder, required — Represents a subscription order in an order status InProgress state
    - `id` string, nullable — Gets the unique identifier
    - `type` 'Standard' | 'GiftShop' | 'Subscription', required — Represents the type of an order base
    - `status` 'InProgress' | 'Completed', required — Represents the life-cycle stages of an order base
    - `totalPrice` OcapiV1MonetaryValue, required — Represents a monetary value, and its related tax value
      - `valueIncludingTax` number, double, required — Gets the monetary value including tax
      - `valueExcludingTax` number, double, required — Gets the monetary value excluding tax
      - `tax` number, double, required — Gets the amount of tax
    - `vouchers` OcapiV1OrdersVouchersOrderVoucher[], required — Gets the list of order voucher entities
      - `id` string, required — Gets the identifier that can be used to uniquely identify the voucher within the order base
      - `type` 'Ticket' | 'Subscription' | 'Deal', required — Represents the type of a voucher
      - `maskedBarcode` string, required — Gets a masked representation of the barcode
      - `voucherTypeCode` string, required — Gets the unique identifier of the voucher type
      - `voucherTypeDescription` OcapiV1Translatable — Represents some customer-visible translatable Text in the default language, and a list of translation entities
        - `text` string, required — Gets the text in the default language
        - `translations` OcapiV1Translation[], required — Gets the translations of the translatable Text in other languages
          - `languageTag` string, required — Gets the IETF (RFC 4646) language tag that the translation Text has been translated for
          - `text` string, required — Gets the translated text
    - `deals` OcapiV1OrdersDealsOrderDeal[], required — Gets the list of order deal entities
      - `id` string, required — Gets the identifier that can be used to uniquely identify the deal within the order base
      - `dealId` string, required — Gets the unique identifier of the deal base used
      - `voucherId` string, nullable — Gets the unique identifier of the order voucher used, if applicable
    - `payments` union[], required — Gets the list of order payment base entities
      - union — Represents the base properties of a payment that has been added to an order base
        - OcapiV1OrdersPaymentsRedirectOrderRedirectPayment — Represents a redirect payment that has been added to an order base
          - `id` string, required — Gets the identifier that can be used to uniquely identify the payment within the order base
          - `type` 'CinemaProcessed' | 'Embedded' | 'GiftCard' | 'Redirect' | 'MemberBalance' | 'ExternallyProcessed', required — Represents the type of an order payment base
          - `value` number, double, required — Gets the monetary value
          - `status` 'NotStarted' | 'Pending' | 'Declined' | 'Completed', required — Represents the status of an order payment base
        - OcapiV1OrdersPaymentsMemberBalanceOrderMemberBalancePayment — Represents a member balance payment that has been added to an order base
          - `id` string, required — Gets the identifier that can be used to uniquely identify the payment within the order base
          - `type` 'CinemaProcessed' | 'Embedded' | 'GiftCard' | 'Redirect' | 'MemberBalance' | 'ExternallyProcessed', required — Represents the type of an order payment base
          - `value` number, double, required — Gets the monetary value
          - `status` 'NotStarted' | 'Pending' | 'Declined' | 'Completed', required — Represents the status of an order payment base
          - `balanceTypeId` integer, required — Gets the unique identifier of the balance type
          - `units` number, double, required — Gets the value in balance type units
        - OcapiV1OrdersPaymentsGiftCardsOrderGiftCardPayment — Represents a gift card payment that has been added to an order base
          - `id` string, required — Gets the identifier that can be used to uniquely identify the payment within the order base
          - `type` 'CinemaProcessed' | 'Embedded' | 'GiftCard' | 'Redirect' | 'MemberBalance' | 'ExternallyProcessed', required — Represents the type of an order payment base
          - `maskedCardNumber` string, required — Gets a masked representation of the card number
          - `value` number, double, required — Gets the monetary value
          - `status` 'NotStarted' | 'Pending' | 'Declined' | 'Completed', required — Represents the status of an order payment base
        - OcapiV1OrdersPaymentsExternallyProcessedOrderExternallyProcessedPayment — Represents an externally processed payment that has been added to an order base
          - `id` string, required — Gets the identifier that can be used to uniquely identify the payment within the order base
          - `status` 'NotStarted' | 'Pending' | 'Declined' | 'Completed', required — Represents the status of an order payment base
          - `type` 'CinemaProcessed' | 'Embedded' | 'GiftCard' | 'Redirect' | 'MemberBalance' | 'ExternallyProcessed', required — Represents the type of an order payment base
          - `value` number, double, required — Gets the monetary value
        - OcapiV1OrdersPaymentsEmbeddedOrderEmbeddedPayment — Represents an embedded payment that has been added to an order base
          - `id` string, required — Gets the identifier that can be used to uniquely identify the payment within the order base
          - `type` 'CinemaProcessed' | 'Embedded' | 'GiftCard' | 'Redirect' | 'MemberBalance' | 'ExternallyProcessed', required — Represents the type of an order payment base
          - `value` number, double, required — Gets the monetary value
          - `status` 'NotStarted' | 'Pending' | 'Declined' | 'Completed', required — Represents the status of an order payment base
        - OcapiV1OrdersPaymentsCinemaProcessedOrderCinemaProcessedPayment — Represents a cinema processed payment that has been added to an order base
          - `id` string, required — Gets the identifier that can be used to uniquely identify the payment within the order base
          - `type` 'CinemaProcessed' | 'Embedded' | 'GiftCard' | 'Redirect' | 'MemberBalance' | 'ExternallyProcessed', required — Represents the type of an order payment base
          - `value` number, double, required — Gets the monetary value
          - `status` 'NotStarted' | 'Pending' | 'Declined' | 'Completed', required — Represents the status of an order payment base
    - `subscription` OcapiV1OrdersSubscriptionsOrderSubscription — Represents the selected subscription billing option within a subscription order
      - `subscriptionBillingOptionId` string, required — Gets the unique identifier of the subscription billing option
      - `price` OcapiV1MonetaryValue, required — Represents a monetary value, and its related tax value
        - `valueIncludingTax` number, double, required — Gets the monetary value including tax
        - `valueExcludingTax` number, double, required — Gets the monetary value excluding tax
        - `tax` number, double, required — Gets the amount of tax
      - `subscriptionId` integer, required — Gets the unique identifier of the subscription
      - `discountId` string, nullable — Gets the unique identifier of the discount used, if applicable
      - `voucherId` string, nullable — Gets the unique identifier of the order voucher used, if applicable
    - `action` 'Purchase' | 'Reactivate', required — Represents the action that will be performed during a subscription order
    - `expiresAt` string, date-time, required — Gets the date and time that the order is set to expire
    - `hasCustomer` boolean, required — Gets a value indicating whether the order customer has been set
    - `amountSaved` OcapiV1MonetaryValue, required — Represents a monetary value, and its related tax value
      - `valueIncludingTax` number, double, required — Gets the monetary value including tax
      - `valueExcludingTax` number, double, required — Gets the monetary value excluding tax
      - `tax` number, double, required — Gets the amount of tax
  - `relatedData` OcapiV1OrdersRelatedDataOrderRelatedData, required — Related data for an order base entity
    - `films` OcapiV1OrdersRelatedDataOrderRelatedFilm[], required — Gets the list of related order related film entities
      - `id` string, required
      - `title` OcapiV1Translatable, required — Represents some customer-visible translatable Text in the default language, and a list of translation entities
        - `text` string, required — Gets the text in the default language
        - `translations` OcapiV1Translation[], required — Gets the translations of the translatable Text in other languages
          - `languageTag` string, required — Gets the IETF (RFC 4646) language tag that the translation Text has been translated for
          - `text` string, required — Gets the translated text
      - `externalIds` OcapiV1BrowsingMasterDataFilmsFilmExternalIds, required — Represents the external identifiers linked to a film
        - `moviexchangeReleaseId` string, uuid, nullable — Gets the unique identifier of the linked movieXchange film release entity
        - `corporateId` string, nullable — Gets the unique corporate identifier
      - `censorRatingId` string, nullable
      - `censorRatingNote` OcapiV1Translatable — Represents some customer-visible translatable Text in the default language, and a list of translation entities
        - `text` string, required — Gets the text in the default language
        - `translations` OcapiV1Translation[], required — Gets the translations of the translatable Text in other languages
          - `languageTag` string, required — Gets the IETF (RFC 4646) language tag that the translation Text has been translated for
          - `text` string, required — Gets the translated text
    - `ticketTypes` OcapiV1OrdersRelatedDataOrderRelatedTicketType[], required — Gets the list of related order related ticket type entities
      - `id` string, required
      - `description` OcapiV1Translatable, required — Represents some customer-visible translatable Text in the default language, and a list of translation entities
        - `text` string, required — Gets the text in the default language
        - `translations` OcapiV1Translation[], required — Gets the translations of the translatable Text in other languages
          - `languageTag` string, required — Gets the IETF (RFC 4646) language tag that the translation Text has been translated for
          - `text` string, required — Gets the translated text
      - `longDescription` OcapiV1Translatable, required — Represents some customer-visible translatable Text in the default language, and a list of translation entities
        - `text` string, required — Gets the text in the default language
        - `translations` OcapiV1Translation[], required — Gets the translations of the translatable Text in other languages
          - `languageTag` string, required — Gets the IETF (RFC 4646) language tag that the translation Text has been translated for
          - `text` string, required — Gets the translated text
    - `items` OcapiV1OrdersRelatedDataOrderRelatedItem[], required — Gets the list of related order related item entities
      - `id` string, required — Gets the unique identifier
      - `name` OcapiV1Translatable, required — Represents some customer-visible translatable Text in the default language, and a list of translation entities
        - `text` string, required — Gets the text in the default language
        - `translations` OcapiV1Translation[], required — Gets the translations of the translatable Text in other languages
          - `languageTag` string, required — Gets the IETF (RFC 4646) language tag that the translation Text has been translated for
          - `text` string, required — Gets the translated text
      - `hoCode` string, required — Gets the Head Office code
      - `hopk` string, nullable — Gets the Head Office primary key
      - `isSundry` boolean — Gets a value indicating whether this is a sundry item
      - `isPreparationRequired` boolean — Gets a value indicating whether the item requires preparation
    - `showtimes` OcapiV1OrdersRelatedDataOrderRelatedShowtime[], required — Gets the list of related order related showtime entities
      - `id` string, required
      - `schedule` OcapiV1BrowsingMasterDataShowtimesShowtimeSchedule, required — Represents the dates and times relevant to a showtime, e.g. its start, end, film start, etc
        - `businessDate` string, date-time, required — Gets the showtime entity's business date
        - `startsAt` string, date-time, required — Gets the date and time that the showtime starts
        - `endsAt` string, date-time, required — Gets the date and time that the showtime ends
        - `filmStartsAt` string, date-time, required — Gets the date and time that the film screening starts
        - `filmEndsAt` string, date-time, required — Gets the date and time that the film screening ends
        - `inSeatItemDelivery` OcapiV1BrowsingMasterDataShowtimesShowtimeInSeatItemDeliverySchedule — Represents when in-seat item delivery is available for a showtime
          - `startsAt` string, date-time, required — Gets the date and time when in-seat item delivery becomes available
          - `endsAt` string, date-time, required — Gets the date and time when in-seat item delivery is no longer available
      - `filmId` string, required
      - `siteId` string, required
      - `screenId` string, required
    - `sites` union[], required — Gets the list of related site entities
      - union — Represents a physical location that belongs to a cinema chain, consisting of one or more screen entities
        - OcapiV1LoyaltyMasterDataSitesLoyaltySite — Represents a site in Vista Loyalty
          - `location` OcapiV1GeographicLocation — Represents a set of geospatial coordinates; longitude and latitude, that can be used to pinpoint a location on a map
            - `latitude` number, double, required — Gets the latitude (expressed in degrees and minutes)
            - `longitude` number, double, required — Gets the longitude (expressed in degrees and minutes)
          - `contactDetails` OcapiV1BrowsingMasterDataSitesSiteContactDetails, required — Represents the contact details of a site
            - `phoneNumbers` OcapiV1PhoneNumber[], required — Gets the list of phone number entities
              - …
            - `email` string, nullable — Gets the email address
            - `address` OcapiV1BrowsingMasterDataSitesSiteAddress — Represents the physical address of a site
              - …
          - `ianaTimeZoneName` string, required — Gets the IANA time zone name
          - `id` string, required — Gets the unique identifier
          - `name` OcapiV1Translatable, required — Represents some customer-visible translatable Text in the default language, and a list of translation entities
            - `text` string, required — Gets the text in the default language
            - `translations` OcapiV1Translation[], required — Gets the translations of the translatable Text in other languages
              - …
          - `hasSellableItems` boolean, required — Gets a value indicating whether the site has any sellable item entities
          - `allowedItemDeliveryMethods` OcapiV1SalesMasterDataItemsDeliveryMethodsItemDeliveryMethod[], required — Gets the list of allowed item delivery method entities
        - OcapiV1BrowsingMasterDataSitesSite — Represents a physical location that belongs to a cinema chain, consisting of one or more screen entities
          - `id` string, required — Gets the unique identifier
          - `name` OcapiV1Translatable, required — Represents some customer-visible translatable Text in the default language, and a list of translation entities
            - `text` string, required — Gets the text in the default language
            - `translations` OcapiV1Translation[], required — Gets the translations of the translatable Text in other languages
              - …
          - `location` OcapiV1GeographicLocation — Represents a set of geospatial coordinates; longitude and latitude, that can be used to pinpoint a location on a map
            - `latitude` number, double, required — Gets the latitude (expressed in degrees and minutes)
            - `longitude` number, double, required — Gets the longitude (expressed in degrees and minutes)
          - `contactDetails` OcapiV1BrowsingMasterDataSitesSiteContactDetails, required — Represents the contact details of a site
            - `phoneNumbers` OcapiV1PhoneNumber[], required — Gets the list of phone number entities
              - …
            - `email` string, nullable — Gets the email address
            - `address` OcapiV1BrowsingMasterDataSitesSiteAddress — Represents the physical address of a site
              - …
          - `ianaTimeZoneName` string, required — Gets the IANA time zone name
          - `hasSellableItems` boolean, required — Gets a value indicating whether the site has any sellable item entities
          - `allowedItemDeliveryMethods` OcapiV1SalesMasterDataItemsDeliveryMethodsItemDeliveryMethod[], required — Gets the list of allowed item delivery method entities
    - `screens` OcapiV1BrowsingMasterDataScreensScreen[], required — Gets the list of related screen entities
      - `id` string, required — Gets the unique identifier
      - `name` OcapiV1Translatable, required — Represents some customer-visible translatable Text in the default language, and a list of translation entities
        - `text` string, required — Gets the text in the default language
        - `translations` OcapiV1Translation[], required — Gets the translations of the translatable Text in other languages
          - `languageTag` string, required — Gets the IETF (RFC 4646) language tag that the translation Text has been translated for
          - `text` string, required — Gets the translated text
    - `censorRatings` OcapiV1BrowsingMasterDataCensorRatingsCensorRating[], required — Gets the list of related censor rating entities
      - `id` string, required — Gets the unique identifier
      - `classification` OcapiV1Translatable, required — Represents some customer-visible translatable Text in the default language, and a list of translation entities
        - `text` string, required — Gets the text in the default language
        - `translations` OcapiV1Translation[], required — Gets the translations of the translatable Text in other languages
          - `languageTag` string, required — Gets the IETF (RFC 4646) language tag that the translation Text has been translated for
          - `text` string, required — Gets the translated text
      - `classificationDescription` OcapiV1Translatable — Represents some customer-visible translatable Text in the default language, and a list of translation entities
        - `text` string, required — Gets the text in the default language
        - `translations` OcapiV1Translation[], required — Gets the translations of the translatable Text in other languages
          - `languageTag` string, required — Gets the IETF (RFC 4646) language tag that the translation Text has been translated for
          - `text` string, required — Gets the translated text
      - `ageRestriction` OcapiV1BrowsingMasterDataCensorRatingsCensorRatingAgeRestriction — Represents the age restriction of a censor rating
        - `minimumAge` integer, required — Gets the minimum age required
    - `itemServiceAreas` OcapiV1SalesMasterDataItemsItemServiceArea[], required — Gets the list of related item service area entities
      - `id` string, required — Gets the unique identifier
      - `name` OcapiV1Translatable, required — Represents some customer-visible translatable Text in the default language, and a list of translation entities
        - `text` string, required — Gets the text in the default language
        - `translations` OcapiV1Translation[], required — Gets the translations of the translatable Text in other languages
          - `languageTag` string, required — Gets the IETF (RFC 4646) language tag that the translation Text has been translated for
          - `text` string, required — Gets the translated text
      - `shortName` OcapiV1Translatable, required — Represents some customer-visible translatable Text in the default language, and a list of translation entities
        - `text` string, required — Gets the text in the default language
        - `translations` OcapiV1Translation[], required — Gets the translations of the translatable Text in other languages
          - `languageTag` string, required — Gets the IETF (RFC 4646) language tag that the translation Text has been translated for
          - `text` string, required — Gets the translated text
    - `itemShowtimeDeliveryWindows` OcapiV1SalesMasterDataItemsShowtimeDeliveryWindowsItemShowtimeDeliveryWindowMinutesFromStart[], required — Gets the list of related item showtime delivery window base entities
      - `id` string, required — Gets the unique identifier
      - `name` OcapiV1Translatable, required — Represents some customer-visible translatable Text in the default language, and a list of translation entities
        - `text` string, required — Gets the text in the default language
        - `translations` OcapiV1Translation[], required — Gets the translations of the translatable Text in other languages
          - `languageTag` string, required — Gets the IETF (RFC 4646) language tag that the translation Text has been translated for
          - `text` string, required — Gets the translated text
      - `type` 'MinutesFromStart', required — Represents the type of an item showtime delivery window base
    - `subscriptionBillingOption` OcapiV1OrdersRelatedDataOrderRelatedSubscriptionBillingOption
      - `id` string, required — Gets the unique identifier
      - `name` OcapiV1Translatable, required — Represents some customer-visible translatable Text in the default language, and a list of translation entities
        - `text` string, required — Gets the text in the default language
        - `translations` OcapiV1Translation[], required — Gets the translations of the translatable Text in other languages
          - `languageTag` string, required — Gets the IETF (RFC 4646) language tag that the translation Text has been translated for
          - `text` string, required — Gets the translated text
      - `subscriptionId` integer, required
      - `billingPeriodInMonths` integer, required
      - `isRecurring` boolean, required
    - `subscription` OcapiV1OrdersRelatedDataOrderRelatedSubscription — Represents the subscription data related to a subscription order
      - `id` integer, required — Gets the unique identifier
      - `name` OcapiV1Translatable, required — Represents some customer-visible translatable Text in the default language, and a list of translation entities
        - `text` string, required — Gets the text in the default language
        - `translations` OcapiV1Translation[], required — Gets the translations of the translatable Text in other languages
          - `languageTag` string, required — Gets the IETF (RFC 4646) language tag that the translation Text has been translated for
          - `text` string, required — Gets the translated text
    - `balanceType` OcapiV1LoyaltyBalanceTypesBalanceType — Represents an account in Vista Loyalty that tracks the spending or activity of a member
      - `id` integer, required — Gets the unique identifier
      - `name` OcapiV1Translatable, required — Represents some customer-visible translatable Text in the default language, and a list of translation entities
        - `text` string, required — Gets the text in the default language
        - `translations` OcapiV1Translation[], required — Gets the translations of the translatable Text in other languages
          - `languageTag` string, required — Gets the IETF (RFC 4646) language tag that the translation Text has been translated for
          - `text` string, required — Gets the translated text
      - `isPrimary` boolean, required — Gets a value indicating whether this is the primary balance type
      - `unitName` string, nullable — Gets the name of the balance units
      - `paymentConversionRate` number, double, nullable — Gets the conversion rate that applies when using balance units for an order member balance payment, if applicable
      - `unitDecimalPlaces` integer, required — Gets the number of decimal places used to format and calculate balance unit values
    - `areaCategories` OcapiV1SeatingMasterDataAreaCategory[], required — Gets the list of related area category entities
      - `id` string, required — Gets the unique identifier
      - `name` OcapiV1Translatable, required — Represents some customer-visible translatable Text in the default language, and a list of translation entities
        - `text` string, required — Gets the text in the default language
        - `translations` OcapiV1Translation[], required — Gets the translations of the translatable Text in other languages
          - `languageTag` string, required — Gets the IETF (RFC 4646) language tag that the translation Text has been translated for
          - `text` string, required — Gets the translated text
      - `hopk` string, nullable — Gets the Head Office primary key
      - `isAllocatedSeating` boolean, required — Gets a value indicating whether the seat entities are allocated
      - `isInSeatItemDeliveryAvailable` boolean, required — Gets a value indicating whether in-seat item delivery is available for seats belonging to this area category
    - `itemPostalDeliveryMethods` OcapiV1OrdersRelatedDataOrderRelatedItemPostalDeliveryMethod[], required — Gets the list of related order related item postal delivery method entities
      - `isDefault` boolean, required — Gets a value indicating whether this is the default delivery method
      - `id` string, required — Gets the unique identifier
      - `name` OcapiV1Translatable, required — Represents some customer-visible translatable Text in the default language, and a list of translation entities
        - `text` string, required — Gets the text in the default language
        - `translations` OcapiV1Translation[], required — Gets the translations of the translatable Text in other languages
          - `languageTag` string, required — Gets the IETF (RFC 4646) language tag that the translation Text has been translated for
          - `text` string, required — Gets the translated text

## Other responses

- `400` — Gift shop does not exist.

---

[API](https://skmtc.net/vista/apis/vista-digital-platform.md) · [All operations](https://skmtc.net/vista/apis/vista-digital-platform/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/vista/vista-digital-platform/revisions/3a81c0aed14e/schema)
