> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pricenow.ch/llms.txt
> Use this file to discover all available pages before exploring further.

# Post apicheckout

> Create a new checkout



## OpenAPI

````yaml https://pratiq-docs.s3.eu-west-1.amazonaws.com/open-api/production/public/2025-02-18.json post /api/checkout
openapi: 3.0.0
info:
  title: Pricenow API
  version: '2025-02-18'
servers:
  - url: https://api.pricenow.dev
    description: Production Endpoint
security: []
tags: []
paths:
  /api/checkout:
    post:
      tags:
        - checkout
      description: Create a new checkout
      parameters:
        - name: accept-language
          in: header
          description: Language of the response
          required: true
          schema:
            type: string
            enum:
              - en
              - de
              - fr
              - it
        - name: pratiq-channel-uuid
          in: header
          description: UUID of the sales channel
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                items:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: number
                      productVariantId:
                        type: number
                      personId:
                        type: number
                        nullable: true
                      validity:
                        type: object
                        properties:
                          from:
                            type: string
                          to:
                            type: string
                        required:
                          - from
                          - to
                        nullable: true
                      parentItemId:
                        type: number
                        nullable: true
                      originatedItemId:
                        type: number
                        nullable: true
                      discountCardTypeId:
                        type: number
                        nullable: true
                    required:
                      - id
                      - productVariantId
                      - personId
                      - validity
                      - parentItemId
                      - originatedItemId
                      - discountCardTypeId
              required:
                - items
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/Checkout_Checkout'
                required:
                  - data
components:
  schemas:
    Checkout_Checkout:
      type: object
      properties:
        uuid:
          type: string
        expiresAt:
          type: string
          format: date-time
        startedAt:
          type: string
          format: date-time
        lastUpdateAt:
          type: string
          format: date-time
        status:
          type: string
          enum:
            - EXPIRED
            - OPEN
            - CLOSED
        referenceNumber:
          type: string
          nullable: true
        salesChannel:
          $ref: '#/components/schemas/Checkout_SalesChannel'
        checkoutConditions:
          $ref: '#/components/schemas/Checkout_CheckoutConditions'
        supportedPaymentMethods:
          type: array
          items:
            oneOf:
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - PAP
                      - PFP
                      - PFC
                      - APL
                      - PAY
                      - VIS
                      - ECA
                  provider:
                    type: string
                    enum:
                      - DATATRANS
                  supportsAlias:
                    type: boolean
                  supportsRegistrationAndPayment:
                    type: boolean
                required:
                  - type
                  - provider
                  - supportsAlias
                  - supportsRegistrationAndPayment
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - TWI
                  provider:
                    type: string
                    enum:
                      - DATATRANS
                  supportsAlias:
                    type: boolean
                  supportsRegistrationAndPayment:
                    type: boolean
                required:
                  - type
                  - provider
                  - supportsAlias
                  - supportsRegistrationAndPayment
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - DIB
                      - EPS
                      - REK
                  provider:
                    type: string
                    enum:
                      - DATATRANS
                  supportsAlias:
                    type: boolean
                  supportsRegistrationAndPayment:
                    type: boolean
                required:
                  - type
                  - provider
                  - supportsAlias
                  - supportsRegistrationAndPayment
        items:
          type: array
          items:
            $ref: '#/components/schemas/Checkout_CheckoutItem'
        currency:
          type: string
        listPriceGross:
          type: number
        listPriceNet:
          type: number
        promoCodes:
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/Checkout_PromoCodeValid'
              - $ref: '#/components/schemas/Checkout_PromoCodeInvalid'
        promoCodeDiscount:
          type: number
        subscriptionConfiguration:
          oneOf:
            - nullable: true
            - type: object
              properties:
                startsOn:
                  type: string
                  format: date-time
                nextBillingDate:
                  type: string
                  format: date-time
                hasPickup:
                  type: boolean
                startConfiguration:
                  type: string
                  enum:
                    - CURRENT_DAY
                minimalRunPeriods:
                  type: number
                renewal:
                  oneOf:
                    - type: object
                      properties:
                        period:
                          type: string
                          enum:
                            - DAYS
                        day:
                          nullable: true
                        month:
                          nullable: true
                        daysAmount:
                          type: number
                      required:
                        - period
                        - day
                        - month
                        - daysAmount
                    - type: object
                      properties:
                        period:
                          type: string
                          enum:
                            - YEARLY
                            - MONTHLY
                        day:
                          nullable: true
                        month:
                          nullable: true
                        daysAmount:
                          nullable: true
                      required:
                        - period
                        - day
                        - month
                        - daysAmount
              required:
                - startsOn
                - nextBillingDate
                - hasPickup
                - startConfiguration
                - minimalRunPeriods
                - renewal
            - type: object
              properties:
                startsOn:
                  type: string
                  format: date-time
                nextBillingDate:
                  type: string
                  format: date-time
                hasPickup:
                  type: boolean
                startConfiguration:
                  type: string
                  enum:
                    - RENEWAL_DATE
                minimalRunPeriods:
                  type: number
                renewal:
                  oneOf:
                    - type: object
                      properties:
                        period:
                          type: string
                          enum:
                            - YEARLY
                        day:
                          type: number
                        month:
                          type: number
                        daysAmount:
                          nullable: true
                      required:
                        - period
                        - day
                        - month
                        - daysAmount
                    - type: object
                      properties:
                        period:
                          type: string
                          enum:
                            - MONTHLY
                        day:
                          type: number
                        month:
                          nullable: true
                        daysAmount:
                          nullable: true
                      required:
                        - period
                        - day
                        - month
                        - daysAmount
              required:
                - startsOn
                - nextBillingDate
                - hasPickup
                - startConfiguration
                - minimalRunPeriods
                - renewal
          nullable: true
        autoDiscounts:
          type: array
          items:
            $ref: '#/components/schemas/Checkout_AutoDiscount'
        autoDiscountAmount:
          type: number
        totalDiscountGross:
          type: number
        totalDiscountNet:
          type: number
        totalSubscriptionGross:
          type: number
        totalSubscriptionNet:
          type: number
        donation:
          $ref: '#/components/schemas/Checkout_Donation'
          nullable: true
        totalGross:
          type: number
        totalNet:
          type: number
        requiresOwner:
          type: boolean
        requiresBillingAddress:
          type: boolean
        requiresShippingAddress:
          type: boolean
        billingAddress:
          $ref: '#/components/schemas/Checkout_Address'
          nullable: true
        shippingAddress:
          $ref: '#/components/schemas/Checkout_Address'
          nullable: true
        paymentMethod:
          oneOf:
            - nullable: true
            - type: object
              properties:
                provider:
                  type: string
                  enum:
                    - EGUMA
                type:
                  type: string
                  enum:
                    - voucher
                id:
                  type: number
                isDefault:
                  type: boolean
                status:
                  type: string
                  enum:
                    - PENDING
                    - ACTIVE
                    - EXPIRED
                    - DECLINED
                code:
                  type: string
              required:
                - provider
                - type
                - id
                - isDefault
                - status
                - code
            - type: object
              properties:
                provider:
                  type: string
                  enum:
                    - INCERT
                type:
                  type: string
                  enum:
                    - voucher
                id:
                  type: number
                isDefault:
                  type: boolean
                status:
                  type: string
                  enum:
                    - PENDING
                    - ACTIVE
                    - EXPIRED
                    - DECLINED
                code:
                  type: string
              required:
                - provider
                - type
                - id
                - isDefault
                - status
                - code
            - type: object
              properties:
                provider:
                  type: string
                  enum:
                    - DATATRANS
                refno:
                  type: string
                transactionId:
                  type: string
                paymentMethod:
                  type: string
                  enum:
                    - TWI
                brand:
                  type: string
                type:
                  type: string
                  enum:
                    - TWI
                id:
                  type: number
                isDefault:
                  type: boolean
                status:
                  type: string
                  enum:
                    - PENDING
                    - ACTIVE
                    - EXPIRED
                    - DECLINED
                code:
                  type: string
              required:
                - provider
                - refno
                - transactionId
                - paymentMethod
                - brand
                - type
                - id
                - isDefault
                - status
                - code
            - type: object
              properties:
                provider:
                  type: string
                  enum:
                    - DATATRANS
                refno:
                  type: string
                transactionId:
                  type: string
                paymentMethod:
                  type: string
                  enum:
                    - PFP
                brand:
                  type: string
                type:
                  type: string
                  enum:
                    - PFP
                id:
                  type: number
                isDefault:
                  type: boolean
                status:
                  type: string
                  enum:
                    - PENDING
                    - ACTIVE
                    - EXPIRED
                    - DECLINED
                code:
                  type: string
              required:
                - provider
                - refno
                - transactionId
                - paymentMethod
                - brand
                - type
                - id
                - isDefault
                - status
                - code
            - type: object
              properties:
                provider:
                  type: string
                  enum:
                    - DATATRANS
                refno:
                  type: string
                transactionId:
                  type: string
                paymentMethod:
                  type: string
                  enum:
                    - PFC
                brand:
                  type: string
                type:
                  type: string
                  enum:
                    - PFC
                id:
                  type: number
                isDefault:
                  type: boolean
                status:
                  type: string
                  enum:
                    - PENDING
                    - ACTIVE
                    - EXPIRED
                    - DECLINED
                code:
                  type: string
              required:
                - provider
                - refno
                - transactionId
                - paymentMethod
                - brand
                - type
                - id
                - isDefault
                - status
                - code
            - type: object
              properties:
                provider:
                  type: string
                  enum:
                    - DATATRANS
                refno:
                  type: string
                transactionId:
                  type: string
                paymentMethod:
                  type: string
                  enum:
                    - REK
                brand:
                  type: string
                type:
                  type: string
                  enum:
                    - REK
                id:
                  type: number
                isDefault:
                  type: boolean
                status:
                  type: string
                  enum:
                    - PENDING
                    - ACTIVE
                    - EXPIRED
                    - DECLINED
                code:
                  type: string
              required:
                - provider
                - refno
                - transactionId
                - paymentMethod
                - brand
                - type
                - id
                - isDefault
                - status
                - code
            - type: object
              properties:
                provider:
                  type: string
                  enum:
                    - DATATRANS
                refno:
                  type: string
                transactionId:
                  type: string
                paymentMethod:
                  type: string
                  enum:
                    - VIS
                    - ECA
                    - AMX
                    - CUP
                    - DIN
                    - DIS
                    - JCB
                    - MAU
                    - DNK
                    - UAP
                    - BON
                brand:
                  type: string
                type:
                  type: string
                  enum:
                    - card
                expiryMonth:
                  type: number
                expiryYear:
                  type: number
                masked:
                  type: string
                nextExpireDateChecker:
                  type: string
                numberOfExpireTries:
                  type: number
                subType:
                  type: string
                  enum:
                    - debit
                id:
                  type: number
                isDefault:
                  type: boolean
                status:
                  type: string
                  enum:
                    - PENDING
                    - ACTIVE
                    - EXPIRED
                    - DECLINED
                code:
                  type: string
              required:
                - provider
                - refno
                - transactionId
                - paymentMethod
                - brand
                - type
                - expiryMonth
                - expiryYear
                - masked
                - numberOfExpireTries
                - subType
                - id
                - isDefault
                - status
                - code
            - type: object
              properties:
                provider:
                  type: string
                  enum:
                    - DATATRANS
                refno:
                  type: string
                transactionId:
                  type: string
                paymentMethod:
                  type: string
                  enum:
                    - VIS
                    - ECA
                    - AMX
                    - CUP
                    - DIN
                    - DIS
                    - JCB
                    - MAU
                    - DNK
                    - UAP
                    - BON
                brand:
                  type: string
                type:
                  type: string
                  enum:
                    - card
                expiryMonth:
                  type: number
                expiryYear:
                  type: number
                masked:
                  type: string
                nextExpireDateChecker:
                  type: string
                numberOfExpireTries:
                  type: number
                subType:
                  type: string
                  enum:
                    - prepaid
                id:
                  type: number
                isDefault:
                  type: boolean
                status:
                  type: string
                  enum:
                    - PENDING
                    - ACTIVE
                    - EXPIRED
                    - DECLINED
                code:
                  type: string
              required:
                - provider
                - refno
                - transactionId
                - paymentMethod
                - brand
                - type
                - expiryMonth
                - expiryYear
                - masked
                - numberOfExpireTries
                - subType
                - id
                - isDefault
                - status
                - code
            - type: object
              properties:
                provider:
                  type: string
                  enum:
                    - DATATRANS
                refno:
                  type: string
                transactionId:
                  type: string
                paymentMethod:
                  type: string
                  enum:
                    - VIS
                    - ECA
                    - AMX
                    - CUP
                    - DIN
                    - DIS
                    - JCB
                    - MAU
                    - DNK
                    - UAP
                    - BON
                brand:
                  type: string
                type:
                  type: string
                  enum:
                    - card
                expiryMonth:
                  type: number
                expiryYear:
                  type: number
                masked:
                  type: string
                nextExpireDateChecker:
                  type: string
                numberOfExpireTries:
                  type: number
                subType:
                  type: string
                  enum:
                    - credit
                id:
                  type: number
                isDefault:
                  type: boolean
                status:
                  type: string
                  enum:
                    - PENDING
                    - ACTIVE
                    - EXPIRED
                    - DECLINED
                code:
                  type: string
              required:
                - provider
                - refno
                - transactionId
                - paymentMethod
                - brand
                - type
                - expiryMonth
                - expiryYear
                - masked
                - numberOfExpireTries
                - subType
                - id
                - isDefault
                - status
                - code
            - type: object
              properties:
                provider:
                  type: string
                  enum:
                    - DATATRANS
                refno:
                  type: string
                transactionId:
                  type: string
                paymentMethod:
                  type: string
                  enum:
                    - PAP
                brand:
                  type: string
                type:
                  type: string
                  enum:
                    - PAP
                fraudSessionId:
                  type: string
                id:
                  type: number
                isDefault:
                  type: boolean
                status:
                  type: string
                  enum:
                    - PENDING
                    - ACTIVE
                    - EXPIRED
                    - DECLINED
                code:
                  type: string
              required:
                - provider
                - refno
                - transactionId
                - paymentMethod
                - brand
                - type
                - id
                - isDefault
                - status
                - code
            - type: object
              properties:
                provider:
                  type: string
                  enum:
                    - DATATRANS
                refno:
                  type: string
                transactionId:
                  type: string
                paymentMethod:
                  type: string
                  enum:
                    - EPS
                brand:
                  type: string
                type:
                  type: string
                  enum:
                    - EPS
                id:
                  type: number
                isDefault:
                  type: boolean
                status:
                  type: string
                  enum:
                    - PENDING
                    - ACTIVE
                    - EXPIRED
                    - DECLINED
                code:
                  type: string
              required:
                - provider
                - refno
                - transactionId
                - paymentMethod
                - brand
                - type
                - id
                - isDefault
                - status
                - code
            - type: object
              properties:
                provider:
                  type: string
                  enum:
                    - DATATRANS
                type:
                  type: string
                  enum:
                    - anonymous
                paymentMethod:
                  oneOf:
                    - type: object
                      properties: {}
                    - type: string
                      enum:
                        - TWI
                    - type: string
                      enum:
                        - PAP
                    - type: string
                      enum:
                        - DIB
                    - type: string
                      enum:
                        - EPS
                    - type: string
                      enum:
                        - REK
                    - type: string
                      enum:
                        - PFP
                    - type: string
                      enum:
                        - PFC
                    - type: string
                      enum:
                        - APL
                    - type: string
                      enum:
                        - PAY
                    - type: string
                      enum:
                        - VIS
                    - type: string
                      enum:
                        - ECA
                transactionId:
                  type: string
                id:
                  type: number
                isDefault:
                  type: boolean
                status:
                  type: string
                  enum:
                    - PENDING
                    - ACTIVE
                    - EXPIRED
                    - DECLINED
                code:
                  type: string
              required:
                - provider
                - type
                - paymentMethod
                - transactionId
                - id
                - isDefault
                - status
                - code
          nullable: true
        vouchers:
          type: array
          items:
            $ref: '#/components/schemas/Checkout_Voucher'
        canUsePromoCodes:
          type: boolean
        canUseVouchers:
          type: boolean
        metadata:
          type: object
          properties:
            weatherGuarantee:
              oneOf:
                - type: object
                  properties: {}
                - nullable: true
                - type: object
                  properties:
                    data:
                      oneOf:
                        - type: object
                          properties:
                            version:
                              type: number
                              enum:
                                - 1
                            quoteId:
                              type: string
                            checkoutItemId:
                              type: number
                              nullable: true
                          required:
                            - version
                            - quoteId
                        - type: object
                          properties:
                            version:
                              type: number
                              enum:
                                - 2
                            quoteId:
                              type: string
                            vat:
                              type: number
                            checkoutItemId:
                              type: number
                              nullable: true
                          required:
                            - version
                            - quoteId
                            - vat
                        - type: object
                          properties:
                            version:
                              type: number
                              enum:
                                - 3
                            provider:
                              type: string
                              enum:
                                - SENSIBLE_WEATHER
                                - PONCHO
                            quoteId:
                              type: string
                            vat:
                              type: number
                            checkoutItemId:
                              type: number
                              nullable: true
                          required:
                            - version
                            - provider
                            - quoteId
                            - vat
                            - checkoutItemId
                    error:
                      nullable: true
                  required:
                    - data
                    - error
                - type: object
                  properties:
                    data:
                      nullable: true
                    error:
                      type: object
                      properties:
                        message:
                          type: string
                        code:
                          type: number
                        error:
                          type: string
                        description:
                          type: string
                        data:
                          oneOf:
                            - type: object
                              properties: {}
                            - type: object
                              additionalProperties:
                                type: object
                                properties: {}
                            - type: array
                              items:
                                type: object
                                additionalProperties:
                                  type: object
                                  properties: {}
                      required:
                        - message
                        - code
                        - error
                    provider:
                      oneOf:
                        - type: object
                          properties: {}
                        - type: string
                          enum:
                            - SENSIBLE_WEATHER
                        - type: string
                          enum:
                            - PONCHO
                  required:
                    - data
                    - error
              nullable: true
      required:
        - uuid
        - expiresAt
        - startedAt
        - lastUpdateAt
        - status
        - referenceNumber
        - salesChannel
        - checkoutConditions
        - supportedPaymentMethods
        - items
        - currency
        - listPriceGross
        - listPriceNet
        - promoCodes
        - promoCodeDiscount
        - subscriptionConfiguration
        - autoDiscounts
        - autoDiscountAmount
        - totalDiscountGross
        - totalDiscountNet
        - totalSubscriptionGross
        - totalSubscriptionNet
        - donation
        - totalGross
        - totalNet
        - requiresOwner
        - requiresBillingAddress
        - requiresShippingAddress
        - billingAddress
        - shippingAddress
        - paymentMethod
        - vouchers
        - canUsePromoCodes
        - canUseVouchers
        - metadata
    Checkout_SalesChannel:
      type: object
      properties:
        uuid:
          type: string
        name:
          type: string
        type:
          type: string
          enum:
            - CONSUMPTION
            - ADMIN
            - WEB
      required:
        - uuid
        - name
        - type
    Checkout_CheckoutConditions:
      type: object
      properties:
        defaultValues:
          type: object
          additionalProperties:
            type: object
            properties: {}
        formDefinition:
          type: object
          additionalProperties:
            oneOf:
              - type: object
                properties:
                  required:
                    type: boolean
                  label:
                    type: string
                  sortOrder:
                    type: number
                  placeholder:
                    type: string
                  description:
                    type: string
                  autoComplete:
                    type: string
                  intent:
                    type: string
                    enum:
                      - ONLINE_CREDIT
                      - CUSTOM
                      - CUSTOMER_COMMENT
                      - NEWSLETTER
                      - TERMS_AND_CONDITIONS
                      - TABLE_NUMBER
                      - DONATION
                      - TIP
                  type:
                    type: string
                    enum:
                      - text
                  min:
                    type: number
                  max:
                    type: number
                  length:
                    type: number
                required:
                  - required
                  - label
                  - sortOrder
                  - intent
                  - type
              - type: object
                properties:
                  required:
                    type: boolean
                  label:
                    type: string
                  sortOrder:
                    type: number
                  placeholder:
                    type: string
                  description:
                    type: string
                  autoComplete:
                    type: string
                  intent:
                    type: string
                    enum:
                      - ONLINE_CREDIT
                      - CUSTOM
                      - CUSTOMER_COMMENT
                      - NEWSLETTER
                      - TERMS_AND_CONDITIONS
                      - TABLE_NUMBER
                      - DONATION
                      - TIP
                  type:
                    type: string
                    enum:
                      - number
                  min:
                    type: number
                  max:
                    type: number
                  options:
                    type: array
                    items:
                      type: number
                required:
                  - required
                  - label
                  - sortOrder
                  - intent
                  - type
              - type: object
                properties:
                  required:
                    type: boolean
                  label:
                    type: string
                  sortOrder:
                    type: number
                  placeholder:
                    type: string
                  description:
                    type: string
                  autoComplete:
                    type: string
                  intent:
                    type: string
                    enum:
                      - ONLINE_CREDIT
                      - CUSTOM
                      - CUSTOMER_COMMENT
                      - NEWSLETTER
                      - TERMS_AND_CONDITIONS
                      - TABLE_NUMBER
                      - DONATION
                      - TIP
                  type:
                    type: string
                    enum:
                      - select
                  options:
                    type: array
                    items:
                      type: object
                      properties:
                        label:
                          type: string
                        value:
                          type: string
                      required:
                        - label
                        - value
                required:
                  - required
                  - label
                  - sortOrder
                  - intent
                  - type
                  - options
              - type: object
                properties:
                  required:
                    type: boolean
                  label:
                    type: string
                  sortOrder:
                    type: number
                  placeholder:
                    type: string
                  description:
                    type: string
                  autoComplete:
                    type: string
                  intent:
                    type: string
                    enum:
                      - ONLINE_CREDIT
                      - CUSTOM
                      - CUSTOMER_COMMENT
                      - NEWSLETTER
                      - TERMS_AND_CONDITIONS
                      - TABLE_NUMBER
                      - DONATION
                      - TIP
                  type:
                    type: string
                    enum:
                      - date
                  min:
                    type: string
                  max:
                    type: string
                required:
                  - required
                  - label
                  - sortOrder
                  - intent
                  - type
              - type: object
                properties:
                  required:
                    type: boolean
                  label:
                    type: string
                  sortOrder:
                    type: number
                  placeholder:
                    type: string
                  description:
                    type: string
                  autoComplete:
                    type: string
                  intent:
                    type: string
                    enum:
                      - ONLINE_CREDIT
                      - CUSTOM
                      - CUSTOMER_COMMENT
                      - NEWSLETTER
                      - TERMS_AND_CONDITIONS
                      - TABLE_NUMBER
                      - DONATION
                      - TIP
                  type:
                    type: string
                    enum:
                      - tel
                required:
                  - required
                  - label
                  - sortOrder
                  - intent
                  - type
              - type: object
                properties:
                  required:
                    type: boolean
                  label:
                    type: string
                  sortOrder:
                    type: number
                  placeholder:
                    type: string
                  description:
                    type: string
                  autoComplete:
                    type: string
                  intent:
                    type: string
                    enum:
                      - ONLINE_CREDIT
                      - CUSTOM
                      - CUSTOMER_COMMENT
                      - NEWSLETTER
                      - TERMS_AND_CONDITIONS
                      - TABLE_NUMBER
                      - DONATION
                      - TIP
                  type:
                    type: string
                    enum:
                      - file
                  fileType:
                    type: string
                    enum:
                      - avatar
                      - document
                      - image
                  acceptedMimeTypes:
                    type: array
                    items:
                      type: string
                required:
                  - required
                  - label
                  - sortOrder
                  - intent
                  - type
                  - fileType
                  - acceptedMimeTypes
              - type: object
                properties:
                  required:
                    type: boolean
                  label:
                    type: string
                  sortOrder:
                    type: number
                  placeholder:
                    type: string
                  description:
                    type: string
                  autoComplete:
                    type: string
                  intent:
                    type: string
                    enum:
                      - ONLINE_CREDIT
                      - CUSTOM
                      - CUSTOMER_COMMENT
                      - NEWSLETTER
                      - TERMS_AND_CONDITIONS
                      - TABLE_NUMBER
                      - DONATION
                      - TIP
                  type:
                    type: string
                    enum:
                      - checkbox
                required:
                  - required
                  - label
                  - sortOrder
                  - intent
                  - type
              - type: object
                properties:
                  required:
                    type: boolean
                  label:
                    type: string
                  sortOrder:
                    type: number
                  type:
                    type: string
                    enum:
                      - donation
                  productVariantId:
                    type: number
                  intent:
                    type: string
                    enum:
                      - DONATION
                  placeholder:
                    type: string
                  description:
                    type: string
                  autoComplete:
                    type: string
                  mode:
                    type: string
                    enum:
                      - PERCENT_OF_TOTAL
                  percent:
                    type: number
                required:
                  - required
                  - label
                  - sortOrder
                  - type
                  - productVariantId
                  - intent
                  - mode
                  - percent
              - type: object
                properties:
                  required:
                    type: boolean
                  label:
                    type: string
                  sortOrder:
                    type: number
                  type:
                    type: string
                    enum:
                      - donation
                  productVariantId:
                    type: number
                  intent:
                    type: string
                    enum:
                      - DONATION
                  placeholder:
                    type: string
                  description:
                    type: string
                  autoComplete:
                    type: string
                  mode:
                    type: string
                    enum:
                      - FIXED_AMOUNT
                  amountCents:
                    type: number
                required:
                  - required
                  - label
                  - sortOrder
                  - type
                  - productVariantId
                  - intent
                  - mode
                  - amountCents
              - type: object
                properties:
                  required:
                    type: boolean
                  label:
                    type: string
                  sortOrder:
                    type: number
                  type:
                    type: string
                    enum:
                      - tip
                  productVariantId:
                    type: number
                  intent:
                    type: string
                    enum:
                      - TIP
                  placeholder:
                    type: string
                  description:
                    type: string
                  autoComplete:
                    type: string
                  computedOptions:
                    type: array
                    items:
                      type: object
                      properties:
                        percentage:
                          type: number
                        amount:
                          type: number
                        selected:
                          type: boolean
                      required:
                        - percentage
                        - amount
                        - selected
                  allowCustomAmount:
                    type: boolean
                  percentageOptions:
                    type: array
                    items:
                      type: number
                required:
                  - required
                  - label
                  - sortOrder
                  - type
                  - productVariantId
                  - intent
                  - allowCustomAmount
        values:
          type: object
          additionalProperties:
            type: object
            properties: {}
      required:
        - defaultValues
        - formDefinition
        - values
    Checkout_CheckoutItem:
      type: object
      properties:
        id:
          type: number
        parentItemId:
          type: number
          nullable: true
        status:
          type: string
          enum:
            - RESERVED
            - PENDING
            - ISSUED
            - CANCELED
        productVariant:
          $ref: '#/components/schemas/Checkout_CheckoutProductVariant'
        validity:
          type: object
          properties:
            from:
              type: string
            to:
              type: string
          required:
            - from
            - to
          nullable: true
        parentItem:
          $ref: '#/components/schemas/Checkout_CheckoutItem'
          nullable: true
        childItems:
          type: array
          items:
            $ref: '#/components/schemas/Checkout_CheckoutItem'
        listPriceGross:
          type: number
        listPriceNet:
          type: number
        promoCodeDiscount:
          type: number
        autoDiscount:
          $ref: '#/components/schemas/Checkout_AutoDiscount'
          nullable: true
        autoDiscountAmount:
          type: number
        totalDiscountGross:
          type: number
        totalDiscountNet:
          type: number
        totalGross:
          type: number
        totalNet:
          type: number
        vatRate:
          type: number
        displayPrice:
          type: boolean
        isDeletable:
          type: boolean
        requiresPersonalization:
          type: boolean
        requiresValidation:
          type: boolean
        requiresMedium:
          type: boolean
        isConfirmationRequired:
          type: boolean
        isFlexTicket:
          type: boolean
        isMaxOneTicketPerPerson:
          type: boolean
        isUniqueItem:
          type: boolean
        supportsWeatherGuarantee:
          type: boolean
        hasWeatherGuarantee:
          type: boolean
        personFieldsDefinition:
          type: object
          additionalProperties:
            oneOf:
              - type: object
                properties:
                  label:
                    type: object
                    properties:
                      en:
                        type: string
                      de:
                        type: string
                      fr:
                        type: string
                      it:
                        type: string
                  sortOrder:
                    type: number
                  type:
                    type: string
                    enum:
                      - text
                  required:
                    type: object
                    properties:
                      owner:
                        type: boolean
                      person:
                        type: boolean
                    required:
                      - owner
                      - person
                  enabled:
                    type: object
                    properties:
                      owner:
                        type: boolean
                      person:
                        type: boolean
                    required:
                      - owner
                      - person
                  placeholder:
                    type: object
                    properties:
                      en:
                        type: string
                      de:
                        type: string
                      fr:
                        type: string
                      it:
                        type: string
                    nullable: true
                  description:
                    type: object
                    properties:
                      en:
                        type: string
                      de:
                        type: string
                      fr:
                        type: string
                      it:
                        type: string
                    nullable: true
                  min:
                    type: number
                    nullable: true
                  max:
                    type: number
                    nullable: true
                  length:
                    type: number
                    nullable: true
                  defaultValue:
                    type: string
                    nullable: true
                required:
                  - label
                  - sortOrder
                  - type
                  - required
                  - enabled
              - type: object
                properties:
                  label:
                    type: object
                    properties:
                      en:
                        type: string
                      de:
                        type: string
                      fr:
                        type: string
                      it:
                        type: string
                  sortOrder:
                    type: number
                  type:
                    type: string
                    enum:
                      - number
                  required:
                    type: object
                    properties:
                      owner:
                        type: boolean
                      person:
                        type: boolean
                    required:
                      - owner
                      - person
                  enabled:
                    type: object
                    properties:
                      owner:
                        type: boolean
                      person:
                        type: boolean
                    required:
                      - owner
                      - person
                  placeholder:
                    type: object
                    properties:
                      en:
                        type: string
                      de:
                        type: string
                      fr:
                        type: string
                      it:
                        type: string
                    nullable: true
                  description:
                    type: object
                    properties:
                      en:
                        type: string
                      de:
                        type: string
                      fr:
                        type: string
                      it:
                        type: string
                    nullable: true
                  min:
                    type: number
                    nullable: true
                  max:
                    type: number
                    nullable: true
                  options:
                    type: array
                    items:
                      type: number
                    nullable: true
                  defaultValue:
                    type: number
                    nullable: true
                required:
                  - label
                  - sortOrder
                  - type
                  - required
                  - enabled
              - type: object
                properties:
                  label:
                    type: object
                    properties:
                      en:
                        type: string
                      de:
                        type: string
                      fr:
                        type: string
                      it:
                        type: string
                  sortOrder:
                    type: number
                  type:
                    type: string
                    enum:
                      - select
                  options:
                    type: array
                    items:
                      type: object
                      properties:
                        label:
                          type: object
                          properties:
                            en:
                              type: string
                            de:
                              type: string
                            fr:
                              type: string
                            it:
                              type: string
                        value:
                          type: string
                      required:
                        - label
                        - value
                  required:
                    type: object
                    properties:
                      owner:
                        type: boolean
                      person:
                        type: boolean
                    required:
                      - owner
                      - person
                  enabled:
                    type: object
                    properties:
                      owner:
                        type: boolean
                      person:
                        type: boolean
                    required:
                      - owner
                      - person
                  placeholder:
                    type: object
                    properties:
                      en:
                        type: string
                      de:
                        type: string
                      fr:
                        type: string
                      it:
                        type: string
                    nullable: true
                  description:
                    type: object
                    properties:
                      en:
                        type: string
                      de:
                        type: string
                      fr:
                        type: string
                      it:
                        type: string
                    nullable: true
                  defaultValue:
                    type: string
                    nullable: true
                required:
                  - label
                  - sortOrder
                  - type
                  - options
                  - required
                  - enabled
              - type: object
                properties:
                  label:
                    type: object
                    properties:
                      en:
                        type: string
                      de:
                        type: string
                      fr:
                        type: string
                      it:
                        type: string
                  sortOrder:
                    type: number
                  type:
                    type: string
                    enum:
                      - date
                  required:
                    type: object
                    properties:
                      owner:
                        type: boolean
                      person:
                        type: boolean
                    required:
                      - owner
                      - person
                  enabled:
                    type: object
                    properties:
                      owner:
                        type: boolean
                      person:
                        type: boolean
                    required:
                      - owner
                      - person
                  placeholder:
                    type: object
                    properties:
                      en:
                        type: string
                      de:
                        type: string
                      fr:
                        type: string
                      it:
                        type: string
                    nullable: true
                  description:
                    type: object
                    properties:
                      en:
                        type: string
                      de:
                        type: string
                      fr:
                        type: string
                      it:
                        type: string
                    nullable: true
                  min:
                    type: string
                    nullable: true
                  max:
                    type: string
                    nullable: true
                  defaultValue:
                    type: string
                    nullable: true
                required:
                  - label
                  - sortOrder
                  - type
                  - required
                  - enabled
              - type: object
                properties:
                  label:
                    type: object
                    properties:
                      en:
                        type: string
                      de:
                        type: string
                      fr:
                        type: string
                      it:
                        type: string
                  sortOrder:
                    type: number
                  type:
                    type: string
                    enum:
                      - tel
                  required:
                    type: object
                    properties:
                      owner:
                        type: boolean
                      person:
                        type: boolean
                    required:
                      - owner
                      - person
                  enabled:
                    type: object
                    properties:
                      owner:
                        type: boolean
                      person:
                        type: boolean
                    required:
                      - owner
                      - person
                  placeholder:
                    type: object
                    properties:
                      en:
                        type: string
                      de:
                        type: string
                      fr:
                        type: string
                      it:
                        type: string
                    nullable: true
                  description:
                    type: object
                    properties:
                      en:
                        type: string
                      de:
                        type: string
                      fr:
                        type: string
                      it:
                        type: string
                    nullable: true
                  defaultValue:
                    type: string
                    nullable: true
                required:
                  - label
                  - sortOrder
                  - type
                  - required
                  - enabled
              - type: object
                properties:
                  label:
                    type: object
                    properties:
                      en:
                        type: string
                      de:
                        type: string
                      fr:
                        type: string
                      it:
                        type: string
                  sortOrder:
                    type: number
                  type:
                    type: string
                    enum:
                      - file
                  fileType:
                    type: string
                    enum:
                      - avatar
                      - document
                      - image
                  acceptedMimeTypes:
                    type: array
                    items:
                      type: string
                  required:
                    type: object
                    properties:
                      owner:
                        type: boolean
                      person:
                        type: boolean
                    required:
                      - owner
                      - person
                  enabled:
                    type: object
                    properties:
                      owner:
                        type: boolean
                      person:
                        type: boolean
                    required:
                      - owner
                      - person
                  placeholder:
                    type: object
                    properties:
                      en:
                        type: string
                      de:
                        type: string
                      fr:
                        type: string
                      it:
                        type: string
                    nullable: true
                  description:
                    type: object
                    properties:
                      en:
                        type: string
                      de:
                        type: string
                      fr:
                        type: string
                      it:
                        type: string
                    nullable: true
                  defaultValue:
                    type: string
                    nullable: true
                required:
                  - label
                  - sortOrder
                  - type
                  - fileType
                  - acceptedMimeTypes
                  - required
                  - enabled
              - type: object
                properties:
                  label:
                    type: object
                    properties:
                      en:
                        type: string
                      de:
                        type: string
                      fr:
                        type: string
                      it:
                        type: string
                  sortOrder:
                    type: number
                  type:
                    type: string
                    enum:
                      - checkbox
                  required:
                    type: object
                    properties:
                      owner:
                        type: boolean
                      person:
                        type: boolean
                    required:
                      - owner
                      - person
                  enabled:
                    type: object
                    properties:
                      owner:
                        type: boolean
                      person:
                        type: boolean
                    required:
                      - owner
                      - person
                  placeholder:
                    type: object
                    properties:
                      en:
                        type: string
                      de:
                        type: string
                      fr:
                        type: string
                      it:
                        type: string
                    nullable: true
                  description:
                    type: object
                    properties:
                      en:
                        type: string
                      de:
                        type: string
                      fr:
                        type: string
                      it:
                        type: string
                    nullable: true
                  defaultValue:
                    oneOf:
                      - type: object
                        properties: {}
                      - nullable: true
                      - type: boolean
                      - type: boolean
                    nullable: true
                required:
                  - label
                  - sortOrder
                  - type
                  - required
                  - enabled
      required:
        - id
        - parentItemId
        - status
        - productVariant
        - validity
        - parentItem
        - childItems
        - listPriceGross
        - listPriceNet
        - promoCodeDiscount
        - autoDiscount
        - autoDiscountAmount
        - totalDiscountGross
        - totalDiscountNet
        - totalGross
        - totalNet
        - vatRate
        - displayPrice
        - isDeletable
        - requiresPersonalization
        - requiresValidation
        - requiresMedium
        - isConfirmationRequired
        - isFlexTicket
        - isMaxOneTicketPerPerson
        - isUniqueItem
        - supportsWeatherGuarantee
        - hasWeatherGuarantee
        - personFieldsDefinition
    Checkout_PromoCodeValid:
      type: object
      properties:
        id:
          type: number
        code:
          type: string
        displayName:
          type: string
        description:
          type: string
        discount:
          type: number
        discountType:
          type: string
          enum:
            - ABSOLUTE
            - RELATIVE
            - FIXED_PRICE
        valid:
          type: boolean
        totalAmount:
          type: number
      required:
        - id
        - code
        - displayName
        - description
        - discount
        - discountType
        - valid
        - totalAmount
    Checkout_PromoCodeInvalid:
      type: object
      properties:
        id:
          type: number
        code:
          type: string
        displayName:
          type: string
        description:
          type: string
        discount:
          type: number
        discountType:
          type: string
          enum:
            - ABSOLUTE
            - RELATIVE
            - FIXED_PRICE
        valid:
          type: boolean
        reason:
          oneOf:
            - $ref: '#/components/schemas/Checkout_PromoCodeInvalidUpcoming'
            - $ref: '#/components/schemas/Checkout_PromoCodeInvalidExpired'
            - $ref: '#/components/schemas/Checkout_PromoCodeInvalidGlobalLimitReached'
      required:
        - id
        - code
        - displayName
        - description
        - discount
        - discountType
        - valid
        - reason
    Checkout_AutoDiscount:
      type: object
      properties:
        id:
          type: number
        displayName:
          type: string
        description:
          type: string
        discountType:
          type: string
          enum:
            - ABSOLUTE
            - RELATIVE
            - FIXED_PRICE
        discount:
          type: number
      required:
        - id
        - displayName
        - description
        - discountType
        - discount
    Checkout_Donation:
      type: object
      properties:
        type:
          type: string
          enum:
            - DONATION
        amount:
          type: number
      required:
        - type
        - amount
    Checkout_Address:
      type: object
      properties:
        id:
          type: number
        addressLine1:
          type: string
        addressLine2:
          type: string
          nullable: true
        zip:
          type: string
        city:
          type: string
        state:
          type: string
          nullable: true
        countryCode:
          type: string
        purpose:
          type: array
          items:
            type: string
            enum:
              - BILLING
              - SHIPPING
      required:
        - id
        - addressLine1
        - addressLine2
        - zip
        - city
        - state
        - countryCode
        - purpose
    Checkout_Voucher:
      type: object
      properties:
        code:
          type: string
        system:
          type: string
          enum:
            - INCERT
            - EGUMA
        amount:
          type: number
      required:
        - code
        - system
        - amount
    Checkout_CheckoutProductVariant:
      type: object
      properties:
        productId:
          type: number
        name:
          type: string
        id:
          type: number
        vatRate:
          type: number
        attributes:
          type: array
          items:
            $ref: '#/components/schemas/Catalog_Attribute'
        translation:
          type: string
        product:
          $ref: '#/components/schemas/Checkout_CheckoutProduct'
        availableMedia:
          type: array
          items:
            $ref: '#/components/schemas/Checkout_CheckoutMedium'
      required:
        - productId
        - name
        - id
        - vatRate
        - attributes
        - translation
        - product
        - availableMedia
    Checkout_PromoCodeInvalidUpcoming:
      type: object
      properties:
        kind:
          type: string
          enum:
            - UPCOMING
        validFrom:
          type: string
          format: date-time
      required:
        - kind
        - validFrom
    Checkout_PromoCodeInvalidExpired:
      type: object
      properties:
        kind:
          type: string
          enum:
            - EXPIRED
        expiredAt:
          type: string
          format: date-time
      required:
        - kind
        - expiredAt
    Checkout_PromoCodeInvalidGlobalLimitReached:
      type: object
      properties:
        kind:
          type: string
          enum:
            - GLOBAL_LIMIT_REACHED
        maxUsages:
          type: number
        usages:
          type: number
      required:
        - kind
        - maxUsages
        - usages
    Catalog_Attribute:
      type: object
      properties:
        name:
          type: string
        identifier:
          type: string
        value:
          type: string
        sortOrder:
          type: number
        metaInformation:
          type: object
          additionalProperties:
            type: object
            properties: {}
        translation:
          type: string
      required:
        - name
        - identifier
        - value
        - sortOrder
        - metaInformation
        - translation
    Checkout_CheckoutProduct:
      type: object
      properties:
        id:
          type: number
        sortOrder:
          type: number
        name:
          type: string
        translation:
          type: string
        identifier:
          type: string
        type:
          type: string
          enum:
            - TICKET
            - ARTICLE
            - BUNDLE
            - DYNAMIC_BUNDLE
        isSubscription:
          type: boolean
        standalone:
          type: boolean
        hasValidity:
          type: boolean
        imageUrl:
          type: string
        merchant:
          $ref: '#/components/schemas/Catalog_Merchant'
        category:
          $ref: '#/components/schemas/ProductCategory'
        slug:
          type: string
      required:
        - id
        - sortOrder
        - name
        - translation
        - identifier
        - type
        - isSubscription
        - standalone
        - hasValidity
        - imageUrl
        - merchant
        - category
        - slug
    Checkout_CheckoutMedium:
      type: object
      properties:
        description:
          type: string
        name:
          type: string
        type:
          type: string
          enum:
            - SKIDATA
            - AXESS
            - SWISSPASS
            - LICENSEPLATE
            - FERATEL
            - SKIDATA_RENEWAL
            - SKIDATA_E_TICKET
            - AXESS_RENEWAL
            - ON_SITE
            - CODE_DIRECT
            - CODE_PICKUP
            - DELIVERY
        id:
          type: number
        priceComponents:
          type: array
          items:
            type: object
            properties:
              price:
                type: number
              productVariant:
                type: object
                properties:
                  id:
                    type: number
                  name:
                    type: string
                  translation:
                    type: string
                  vatRate:
                    type: number
                  productId:
                    type: number
                  attributes:
                    type: array
                    items:
                      $ref: '#/components/schemas/Catalog_Attribute'
                required:
                  - id
                  - name
                  - translation
                  - vatRate
                  - productId
                  - attributes
              intent:
                type: string
                enum:
                  - SENDING_FEE
                  - DEPOT
            required:
              - price
              - productVariant
              - intent
      required:
        - description
        - name
        - type
        - id
        - priceComponents
    Catalog_Merchant:
      type: object
      properties:
        identifier:
          type: string
        timezone:
          type: string
      required:
        - identifier
        - timezone
    ProductCategory:
      type: object
      properties:
        id:
          type: number
        name:
          type: string
      required:
        - id
        - name

````