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

# List catalog items

> Lists the catalog items (listings) customers can book or buy, with filtering and pagination.



## OpenAPI

````yaml https://server.twicecommerce.com/api/admin/openapi-mintlify.json get /v1/admin/catalog/
openapi: 3.0.2
info:
  title: TWICE Admin API
  description: "The TWICE Admin API is the merchant-facing API of the Twice platform. It is currently in alpha: endpoints and schemas may change without notice.\n\n## Webhooks\n\nWebhooks notify your systems when resources change in Twice. A webhook subscription pairs one event type with one HTTPS endpoint of yours; whenever a matching event occurs, we POST the event to that endpoint. Subscriptions and their delivery logs are managed in the Twice admin under **Account → Integrations**.\n\n### Event types\n\n- `order.created`\n- `order.deleted`\n- `order.updated`\n\n### Payload\n\nEvery delivery is an HTTP POST with a JSON body sharing a common envelope. The typed payload of each event type is documented in the **Webhooks** section of the sidebar.\n\n```json\n{\n\t\"eventId\": \"5f2eb3a6-6cbd-4a2e-9350-6e0d1e2f9a11\",\n\t\"eventType\": \"order.created\",\n\t\"eventTime\": \"2026-08-06T12:34:56.789Z\",\n\t\"resource\": \"order\",\n\t\"resourceId\": \"0d9e0a7c-3fd1-4c8f-9c0d-2b7c6f7f2a55\",\n\t\"apiVersion\": \"2025-06\",\n\t\"data\": { \"…\": \"the API representation of the resource, or null for deletes\" }\n}\n```\n\n`data` carries the resource in the same shape the REST API returns it, as of the API version in `apiVersion`. Each subscription is pinned to the API version that was the latest when the subscription was created, so a new API version never changes the payload shape you receive — moving to a newer version is an explicit update of the subscription.\n\n### Acknowledging deliveries\n\nRespond with any **2xx** status to acknowledge a delivery. Any other status — or a timeout — counts as a failed attempt. Respond as quickly as possible and do heavy processing asynchronously after acknowledging.\n\n### Delivery semantics\n\nDeliveries are **at-least-once**: the same event can occasionally be delivered more than once, so deduplicate on the `X-Twice-Event-Id` header (or the equal `eventId` body field). Ordering is not guaranteed — when it matters, use `eventTime` or re-fetch the current state of the resource via the API.\n\n### Retries\n\nFailed deliveries are retried up to 3 times (4 attempts in total) with growing backoff — roughly 10 s, 20 s, 40 s after the preceding attempt — giving up 10 minutes after the first attempt. After 3 consecutive events fail all their attempts, the subscription is automatically disabled (`disabledReason: TOO_MANY_FAILED_DELIVERY_ATTEMPTS`) and must be re-enabled manually in the admin. Individual deliveries can also be redelivered manually from the delivery log.\n\n### Verifying signatures\n\nEach subscription has a signing secret (prefixed `whsec_`), available in the admin. Deliveries carry an HMAC-SHA256 signature of the exact raw request body in the `X-Twice-Signature` header, formatted `sha256=<hex>`. Verify it against the raw body bytes — parse the JSON only after the signature checks out:\n\n```js\nimport { createHmac, timingSafeEqual } from 'node:crypto';\n\nconst expected = 'sha256=' + createHmac('sha256', secret).update(rawBody, 'utf8').digest('hex');\nconst signature = req.headers['x-twice-signature'];\nconst isValid =\n\ttypeof signature === 'string' &&\n\tsignature.length === expected.length &&\n\ttimingSafeEqual(Buffer.from(signature), Buffer.from(expected));\n```"
  version: 2025-06
servers:
  - url: https://server.twicecommerce.com
security:
  - ApiKeyAuth: []
paths:
  /v1/admin/catalog/:
    get:
      tags:
        - catalog
      summary: List catalog items
      description: >-
        Lists the catalog items (listings) customers can book or buy, with
        filtering and pagination.
      operationId: admin.catalog.list
      parameters:
        - name: filters
          in: query
          style: deepObject
          schema:
            type: object
            properties:
              name:
                type: object
                properties:
                  operator:
                    type: string
                    enum:
                      - startsWith
                      - endsWith
                      - contains
                      - doesNotContain
                      - eq
                      - ne
                      - gt
                      - gte
                      - lt
                      - lte
                      - inArray
                      - notInArray
                      - between
                      - notBetween
                      - isEmpty
                      - isNotEmpty
                      - isToday
                      - isBeforeToday
                      - isAfterToday
                  value:
                    anyOf:
                      - type: array
                        items:
                          type: string
                      - type: string
                required:
                  - operator
                  - value
              internalName:
                type: object
                properties:
                  operator:
                    type: string
                    enum:
                      - startsWith
                      - endsWith
                      - contains
                      - doesNotContain
                      - eq
                      - ne
                      - gt
                      - gte
                      - lt
                      - lte
                      - inArray
                      - notInArray
                      - between
                      - notBetween
                      - isEmpty
                      - isNotEmpty
                      - isToday
                      - isBeforeToday
                      - isAfterToday
                  value:
                    anyOf:
                      - type: array
                        items:
                          type: string
                      - type: string
                required:
                  - operator
                  - value
              description:
                type: object
                properties:
                  operator:
                    type: string
                    enum:
                      - startsWith
                      - endsWith
                      - contains
                      - doesNotContain
                      - eq
                      - ne
                      - gt
                      - gte
                      - lt
                      - lte
                      - inArray
                      - notInArray
                      - between
                      - notBetween
                      - isEmpty
                      - isNotEmpty
                      - isToday
                      - isBeforeToday
                      - isAfterToday
                  value:
                    anyOf:
                      - type: array
                        items:
                          type: string
                      - type: string
                required:
                  - operator
                  - value
              category:
                type: object
                properties:
                  operator:
                    type: string
                    enum:
                      - startsWith
                      - endsWith
                      - contains
                      - doesNotContain
                      - eq
                      - ne
                      - gt
                      - gte
                      - lt
                      - lte
                      - inArray
                      - notInArray
                      - between
                      - notBetween
                      - isEmpty
                      - isNotEmpty
                      - isToday
                      - isBeforeToday
                      - isAfterToday
                  value:
                    anyOf:
                      - type: array
                        items:
                          type: string
                      - type: string
                required:
                  - operator
                  - value
              createdAt:
                type: object
                properties:
                  operator:
                    type: string
                    enum:
                      - startsWith
                      - endsWith
                      - contains
                      - doesNotContain
                      - eq
                      - ne
                      - gt
                      - gte
                      - lt
                      - lte
                      - inArray
                      - notInArray
                      - between
                      - notBetween
                      - isEmpty
                      - isNotEmpty
                      - isToday
                      - isBeforeToday
                      - isAfterToday
                  value:
                    anyOf:
                      - type: array
                        items:
                          anyOf:
                            - type: string
                              format: date-time
                              pattern: >-
                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                            - type: string
                              format: date
                              pattern: >-
                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                      - anyOf:
                          - type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          - type: string
                            format: date
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
                required:
                  - operator
                  - value
              serviceLocationIds:
                type: array
                items:
                  type: string
              ids:
                type: array
                items:
                  type: string
              status:
                type: object
                properties:
                  operator:
                    type: string
                    enum:
                      - startsWith
                      - endsWith
                      - contains
                      - doesNotContain
                      - eq
                      - ne
                      - gt
                      - gte
                      - lt
                      - lte
                      - inArray
                      - notInArray
                      - between
                      - notBetween
                      - isEmpty
                      - isNotEmpty
                      - isToday
                      - isBeforeToday
                      - isAfterToday
                  value:
                    anyOf:
                      - type: array
                        items:
                          type: string
                      - type: string
                required:
                  - operator
                  - value
              tags:
                type: object
                properties:
                  operator:
                    type: string
                    enum:
                      - startsWith
                      - endsWith
                      - contains
                      - doesNotContain
                      - eq
                      - ne
                      - gt
                      - gte
                      - lt
                      - lte
                      - inArray
                      - notInArray
                      - between
                      - notBetween
                      - isEmpty
                      - isNotEmpty
                      - isToday
                      - isBeforeToday
                      - isAfterToday
                  value:
                    anyOf:
                      - type: array
                        items:
                          type: string
                      - type: string
                required:
                  - operator
                  - value
              tagIds:
                type: array
                items:
                  type: string
              search:
                type: string
              collectionId:
                type: string
                format: uuid
                pattern: >-
                  ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
              forChannel:
                type: string
                enum:
                  - admin
                  - online
                  - store
              attributes:
                type: object
                properties:
                  id:
                    type: string
                  operator:
                    type: string
                    enum:
                      - startsWith
                      - endsWith
                      - contains
                      - doesNotContain
                      - eq
                      - ne
                      - gt
                      - gte
                      - lt
                      - lte
                      - inArray
                      - notInArray
                      - between
                      - notBetween
                      - isEmpty
                      - isNotEmpty
                      - isToday
                      - isBeforeToday
                      - isAfterToday
                  value:
                    anyOf:
                      - type: array
                        items:
                          anyOf:
                            - type: boolean
                            - type: string
                            - type: number
                      - anyOf:
                          - type: boolean
                          - type: string
                          - type: number
                  format:
                    type: string
                    enum:
                      - text
                      - number
                      - boolean
                      - date
                      - datetime
                      - select
                      - multiselect
                required:
                  - id
                  - operator
                  - value
              addonOnly:
                type: boolean
              scope:
                type: string
                enum:
                  - active
                  - archived
                  - all
        - name: orderBy
          in: query
          style: deepObject
          schema:
            type: object
            properties:
              field:
                type: string
                enum:
                  - createdAt
                  - name
                  - internalName
                  - status
                  - description
                  - tags
              direction:
                type: string
                enum:
                  - asc
                  - desc
            required:
              - field
              - direction
        - name: pagination
          in: query
          style: deepObject
          schema:
            type: object
            properties:
              pageSize:
                type: number
              page:
                type: number
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                      name:
                        type: string
                      internalName:
                        nullable: true
                        type: string
                      description:
                        nullable: true
                        type: string
                      descriptionJson:
                        nullable: true
                      sections:
                        nullable: true
                        type: object
                        properties:
                          id:
                            type: string
                          heading: {}
                          content: {}
                          orderIndex:
                            type: number
                        required:
                          - id
                          - heading
                          - content
                          - orderIndex
                        additionalProperties: false
                      taxonomyCategoryId:
                        nullable: true
                        type: string
                      status:
                        type: string
                        enum:
                          - active
                          - draft
                          - template
                      minBookingDuration:
                        nullable: true
                        type: object
                        properties:
                          value:
                            type: integer
                            exclusiveMinimum: true
                            maximum: 9007199254740991
                          unit:
                            type: string
                            enum:
                              - seconds
                              - minutes
                              - hours
                              - days
                              - weeks
                              - months
                        required:
                          - value
                          - unit
                        additionalProperties: false
                      maxBookingDuration:
                        nullable: true
                        type: object
                        properties:
                          value:
                            type: integer
                            exclusiveMinimum: true
                            maximum: 9007199254740991
                          unit:
                            type: string
                            enum:
                              - seconds
                              - minutes
                              - hours
                              - days
                              - weeks
                              - months
                        required:
                          - value
                          - unit
                        additionalProperties: false
                      bookingDurationIncrement:
                        nullable: true
                        type: object
                        properties:
                          value:
                            type: integer
                            exclusiveMinimum: true
                            maximum: 9007199254740991
                          unit:
                            type: string
                            enum:
                              - seconds
                              - minutes
                              - hours
                              - days
                              - weeks
                              - months
                        required:
                          - value
                          - unit
                        additionalProperties: false
                      orderDeadline:
                        nullable: true
                        anyOf:
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - absolute
                              value:
                                type: integer
                                exclusiveMinimum: true
                                maximum: 9007199254740991
                              unit:
                                type: string
                                enum:
                                  - minutes
                                  - hours
                                  - days
                            required:
                              - type
                              - value
                              - unit
                            additionalProperties: false
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - relative
                              daysBefore:
                                type: integer
                                minimum: 0
                                maximum: 9007199254740991
                              time:
                                type: string
                                pattern: ^([01]\d|2[0-3]):[0-5]\d$
                            required:
                              - type
                              - daysBefore
                              - time
                            additionalProperties: false
                      rules:
                        type: object
                        properties:
                          id:
                            type: string
                          label:
                            type: string
                          conditions:
                            type: object
                            properties:
                              id:
                                type: string
                              label:
                                type: string
                              filters:
                                nullable: true
                                type: object
                                properties:
                                  attributeId:
                                    type: string
                                  key:
                                    type: string
                                    enum:
                                      - attribute
                                      - item_code
                                      - sku_code
                                      - item_name
                                      - sku_name
                                  operator:
                                    type: string
                                    enum:
                                      - startsWith
                                      - endsWith
                                      - contains
                                      - doesNotContain
                                      - eq
                                      - ne
                                      - gt
                                      - gte
                                      - lt
                                      - lte
                                      - inArray
                                      - notInArray
                                      - between
                                      - notBetween
                                      - isEmpty
                                      - isNotEmpty
                                  values:
                                    type: array
                                    items:
                                      anyOf:
                                        - type: string
                                        - type: number
                                        - type: boolean
                                required:
                                  - key
                                  - operator
                                  - values
                                additionalProperties: false
                              quantity:
                                type: number
                              createdAt:
                                type: string
                                format: date-time
                                pattern: >-
                                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                            required:
                              - id
                              - label
                              - filters
                              - quantity
                              - createdAt
                            additionalProperties: false
                          quantity:
                            type: number
                          createdAt:
                            type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          isVisible:
                            type: boolean
                          variantRules:
                            type: object
                            properties:
                              id:
                                type: string
                              variantValueId:
                                type: string
                              baseRuleId:
                                type: string
                              conditions:
                                type: object
                                properties:
                                  id:
                                    type: string
                                  label:
                                    type: string
                                  filters:
                                    nullable: true
                                    type: object
                                    properties:
                                      attributeId:
                                        type: string
                                      key:
                                        type: string
                                        enum:
                                          - attribute
                                          - item_code
                                          - sku_code
                                          - item_name
                                          - sku_name
                                      operator:
                                        type: string
                                        enum:
                                          - startsWith
                                          - endsWith
                                          - contains
                                          - doesNotContain
                                          - eq
                                          - ne
                                          - gt
                                          - gte
                                          - lt
                                          - lte
                                          - inArray
                                          - notInArray
                                          - between
                                          - notBetween
                                          - isEmpty
                                          - isNotEmpty
                                      values:
                                        type: array
                                        items:
                                          anyOf:
                                            - type: string
                                            - type: number
                                            - type: boolean
                                    required:
                                      - key
                                      - operator
                                      - values
                                    additionalProperties: false
                                  quantity:
                                    type: number
                                  createdAt:
                                    type: string
                                    format: date-time
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                required:
                                  - id
                                  - label
                                  - filters
                                  - quantity
                                  - createdAt
                                additionalProperties: false
                              quantity:
                                type: number
                              createdAt:
                                type: string
                                format: date-time
                                pattern: >-
                                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                            required:
                              - id
                              - variantValueId
                              - baseRuleId
                              - conditions
                              - quantity
                              - createdAt
                            additionalProperties: false
                          revenueSplitRate:
                            nullable: true
                            type: number
                        required:
                          - id
                          - label
                          - conditions
                          - quantity
                          - createdAt
                          - isVisible
                        additionalProperties: false
                      serviceLocationLinks:
                        type: object
                        properties:
                          id:
                            type: string
                            format: uuid
                            pattern: >-
                              ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                          catalogItemId:
                            type: string
                            format: uuid
                            pattern: >-
                              ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                          serviceLocationId:
                            type: string
                            format: uuid
                            pattern: >-
                              ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                          createdAt:
                            type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          serviceLocation:
                            type: object
                            properties:
                              id:
                                type: string
                                format: uuid
                                pattern: >-
                                  ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                              name:
                                type: string
                              publicName:
                                nullable: true
                                type: string
                              isDefault:
                                type: boolean
                              isActive:
                                type: boolean
                              description:
                                nullable: true
                                type: string
                              costCenter:
                                nullable: true
                                type: string
                              address:
                                nullable: true
                                type: string
                              country:
                                nullable: true
                                type: string
                              state:
                                nullable: true
                                type: string
                              city:
                                nullable: true
                                type: string
                              street:
                                nullable: true
                                type: string
                              zipCode:
                                nullable: true
                                type: string
                              email:
                                nullable: true
                                type: string
                              phone:
                                nullable: true
                                type: string
                              openingHours:
                                nullable: true
                                type: object
                                properties:
                                  validityDateRange:
                                    nullable: true
                                    type: object
                                    properties:
                                      start:
                                        type: string
                                        format: date-time
                                        pattern: >-
                                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                      end:
                                        type: string
                                        format: date-time
                                        pattern: >-
                                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                    required:
                                      - start
                                      - end
                                    additionalProperties: false
                                  weekday:
                                    nullable: true
                                    type: number
                                    minimum: 1
                                    maximum: 7
                                  specificDate:
                                    nullable: true
                                    type: string
                                    format: date-time
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                  timeRanges:
                                    nullable: true
                                    type: object
                                    properties:
                                      start:
                                        type: string
                                      end:
                                        type: string
                                    required:
                                      - start
                                      - end
                                    additionalProperties: false
                                  isClosed:
                                    default: false
                                    type: boolean
                                  id:
                                    type: string
                                    format: uuid
                                    pattern: >-
                                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                                  serviceLocationId:
                                    type: string
                                    format: uuid
                                    pattern: >-
                                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                                  createdAt:
                                    type: string
                                    format: date-time
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                required:
                                  - validityDateRange
                                  - weekday
                                  - specificDate
                                  - timeRanges
                                  - isClosed
                                  - id
                                  - serviceLocationId
                                  - createdAt
                                additionalProperties: false
                              fulfillmentHours:
                                nullable: true
                                type: object
                                properties:
                                  validityDateRange:
                                    nullable: true
                                    type: object
                                    properties:
                                      start:
                                        type: string
                                        format: date-time
                                        pattern: >-
                                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                      end:
                                        type: string
                                        format: date-time
                                        pattern: >-
                                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                    required:
                                      - start
                                      - end
                                    additionalProperties: false
                                  weekday:
                                    nullable: true
                                    type: number
                                    minimum: 1
                                    maximum: 7
                                  specificDate:
                                    nullable: true
                                    type: string
                                    format: date-time
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                  timeRanges:
                                    nullable: true
                                    type: object
                                    properties:
                                      start:
                                        type: string
                                      end:
                                        type: string
                                    required:
                                      - start
                                      - end
                                    additionalProperties: false
                                  isClosed:
                                    default: false
                                    type: boolean
                                  id:
                                    type: string
                                    format: uuid
                                    pattern: >-
                                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                                  serviceLocationId:
                                    type: string
                                    format: uuid
                                    pattern: >-
                                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                                  createdAt:
                                    type: string
                                    format: date-time
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                  scheduleType:
                                    type: string
                                    enum:
                                      - pickup
                                      - dropoff
                                required:
                                  - validityDateRange
                                  - weekday
                                  - specificDate
                                  - timeRanges
                                  - isClosed
                                  - id
                                  - serviceLocationId
                                  - createdAt
                                  - scheduleType
                                additionalProperties: false
                              fulfillmentSettings:
                                nullable: true
                                type: object
                                properties:
                                  scheduleType:
                                    type: string
                                    enum:
                                      - pickup
                                      - dropoff
                                  source:
                                    type: string
                                    enum:
                                      - opening_hours
                                      - offset
                                      - custom
                                  startBufferMinutes:
                                    type: integer
                                    minimum: 0
                                    maximum: 9007199254740991
                                  endBufferMinutes:
                                    type: integer
                                    minimum: 0
                                    maximum: 9007199254740991
                                required:
                                  - scheduleType
                                  - source
                                  - startBufferMinutes
                                  - endBufferMinutes
                                additionalProperties: false
                              timezone:
                                type: string
                                enum:
                                  - Africa/Abidjan
                                  - Africa/Accra
                                  - Brazil/Acre
                                  - Australia/ACT
                                  - America/Adak
                                  - Africa/Addis_Ababa
                                  - Australia/Adelaide
                                  - Asia/Aden
                                  - US/Alaska
                                  - US/Aleutian
                                  - Africa/Algiers
                                  - Asia/Almaty
                                  - Asia/Amman
                                  - Europe/Amsterdam
                                  - Asia/Anadyr
                                  - America/Anchorage
                                  - Europe/Andorra
                                  - America/Anguilla
                                  - Indian/Antananarivo
                                  - America/Antigua
                                  - Pacific/Apia
                                  - Asia/Aqtau
                                  - Asia/Aqtobe
                                  - America/Araguaina
                                  - US/Arizona
                                  - America/Aruba
                                  - Asia/Ashgabat
                                  - Asia/Ashkhabad
                                  - Africa/Asmara
                                  - Africa/Asmera
                                  - Europe/Astrakhan
                                  - America/Asuncion
                                  - Europe/Athens
                                  - America/Atikokan
                                  - America/Atka
                                  - Canada/Atlantic
                                  - Asia/Atyrau
                                  - Pacific/Auckland
                                  - Atlantic/Azores
                                  - Asia/Baghdad
                                  - America/Bahia
                                  - America/Bahia_Banderas
                                  - Asia/Bahrain
                                  - Mexico/BajaNorte
                                  - Mexico/BajaSur
                                  - Asia/Baku
                                  - Africa/Bamako
                                  - Asia/Bangkok
                                  - Africa/Bangui
                                  - Africa/Banjul
                                  - America/Barbados
                                  - Asia/Barnaul
                                  - Asia/Beirut
                                  - America/Belem
                                  - Europe/Belfast
                                  - Europe/Belgrade
                                  - America/Belize
                                  - Europe/Berlin
                                  - Atlantic/Bermuda
                                  - America/North_Dakota/Beulah
                                  - Asia/Bishkek
                                  - Africa/Bissau
                                  - America/Blanc-Sablon
                                  - Africa/Blantyre
                                  - America/Boa_Vista
                                  - America/Bogota
                                  - America/Boise
                                  - Pacific/Bougainville
                                  - Europe/Bratislava
                                  - Africa/Brazzaville
                                  - Australia/Brisbane
                                  - Australia/Broken_Hill
                                  - Asia/Brunei
                                  - Europe/Brussels
                                  - Europe/Bucharest
                                  - Europe/Budapest
                                  - America/Buenos_Aires
                                  - America/Argentina/Buenos_Aires
                                  - Africa/Bujumbura
                                  - Europe/Busingen
                                  - Africa/Cairo
                                  - Asia/Calcutta
                                  - America/Cambridge_Bay
                                  - America/Campo_Grande
                                  - Atlantic/Canary
                                  - Australia/Canberra
                                  - America/Cancun
                                  - Atlantic/Cape_Verde
                                  - America/Caracas
                                  - Africa/Casablanca
                                  - Antarctica/Casey
                                  - America/Catamarca
                                  - America/Argentina/Catamarca
                                  - America/Cayenne
                                  - America/Cayman
                                  - America/North_Dakota/Center
                                  - US/Central
                                  - Canada/Central
                                  - CET
                                  - Africa/Ceuta
                                  - Indian/Chagos
                                  - Pacific/Chatham
                                  - America/Chicago
                                  - America/Chihuahua
                                  - Europe/Chisinau
                                  - Asia/Chita
                                  - Asia/Choibalsan
                                  - Asia/Chongqing
                                  - Indian/Christmas
                                  - Asia/Chungking
                                  - Pacific/Chuuk
                                  - Indian/Cocos
                                  - Asia/Colombo
                                  - America/Argentina/ComodRivadavia
                                  - Indian/Comoro
                                  - Africa/Conakry
                                  - Chile/Continental
                                  - Europe/Copenhagen
                                  - America/Coral_Harbour
                                  - America/Cordoba
                                  - America/Argentina/Cordoba
                                  - America/Costa_Rica
                                  - America/Creston
                                  - CST6CDT
                                  - Cuba
                                  - America/Cuiaba
                                  - America/Curacao
                                  - Australia/Currie
                                  - Asia/Dacca
                                  - Africa/Dakar
                                  - Asia/Damascus
                                  - America/Danmarkshavn
                                  - Africa/Dar_es_Salaam
                                  - Australia/Darwin
                                  - Antarctica/Davis
                                  - America/Dawson
                                  - America/Dawson_Creek
                                  - Brazil/DeNoronha
                                  - America/Denver
                                  - America/Detroit
                                  - Asia/Dhaka
                                  - Asia/Dili
                                  - Africa/Djibouti
                                  - America/Dominica
                                  - Africa/Douala
                                  - Asia/Dubai
                                  - Europe/Dublin
                                  - Antarctica/DumontDUrville
                                  - Asia/Dushanbe
                                  - Brazil/East
                                  - US/East-Indiana
                                  - Pacific/Easter
                                  - Chile/EasterIsland
                                  - US/Eastern
                                  - Canada/Eastern
                                  - America/Edmonton
                                  - EET
                                  - Pacific/Efate
                                  - Egypt
                                  - Eire
                                  - America/Eirunepe
                                  - Africa/El_Aaiun
                                  - America/El_Salvador
                                  - Pacific/Enderbury
                                  - America/Ensenada
                                  - EST
                                  - EST5EDT
                                  - Australia/Eucla
                                  - Atlantic/Faeroe
                                  - Pacific/Fakaofo
                                  - Asia/Famagusta
                                  - Atlantic/Faroe
                                  - Pacific/Fiji
                                  - America/Fort_Nelson
                                  - America/Fort_Wayne
                                  - America/Fortaleza
                                  - Africa/Freetown
                                  - Pacific/Funafuti
                                  - Africa/Gaborone
                                  - Pacific/Galapagos
                                  - Pacific/Gambier
                                  - Asia/Gaza
                                  - GB
                                  - GB-Eire
                                  - Mexico/General
                                  - Europe/Gibraltar
                                  - America/Glace_Bay
                                  - Etc/GMT
                                  - GMT
                                  - GMT-0
                                  - Etc/GMT-0
                                  - Etc/GMT-1
                                  - Etc/GMT-10
                                  - Etc/GMT-11
                                  - Etc/GMT-12
                                  - Etc/GMT-13
                                  - Etc/GMT-14
                                  - Etc/GMT-2
                                  - Etc/GMT-3
                                  - Etc/GMT-4
                                  - Etc/GMT-5
                                  - Etc/GMT-6
                                  - Etc/GMT-7
                                  - Etc/GMT-8
                                  - Etc/GMT-9
                                  - Etc/GMT+0
                                  - GMT+0
                                  - Etc/GMT+1
                                  - Etc/GMT+10
                                  - Etc/GMT+11
                                  - Etc/GMT+12
                                  - Etc/GMT+2
                                  - Etc/GMT+3
                                  - Etc/GMT+4
                                  - Etc/GMT+5
                                  - Etc/GMT+6
                                  - Etc/GMT+7
                                  - Etc/GMT+8
                                  - Etc/GMT+9
                                  - Etc/GMT0
                                  - GMT0
                                  - America/Godthab
                                  - America/Goose_Bay
                                  - America/Grand_Turk
                                  - Etc/Greenwich
                                  - Greenwich
                                  - America/Grenada
                                  - Pacific/Guadalcanal
                                  - America/Guadeloupe
                                  - Pacific/Guam
                                  - America/Guatemala
                                  - America/Guayaquil
                                  - Europe/Guernsey
                                  - America/Guyana
                                  - America/Halifax
                                  - Africa/Harare
                                  - Asia/Harbin
                                  - America/Havana
                                  - US/Hawaii
                                  - Asia/Hebron
                                  - Europe/Helsinki
                                  - America/Hermosillo
                                  - Asia/Ho_Chi_Minh
                                  - Australia/Hobart
                                  - Asia/Hong_Kong
                                  - Hongkong
                                  - Pacific/Honolulu
                                  - Asia/Hovd
                                  - HST
                                  - Iceland
                                  - US/Indiana-Starke
                                  - America/Indiana/Indianapolis
                                  - America/Indianapolis
                                  - America/Inuvik
                                  - America/Iqaluit
                                  - Iran
                                  - Asia/Irkutsk
                                  - Europe/Isle_of_Man
                                  - Israel
                                  - Asia/Istanbul
                                  - Europe/Istanbul
                                  - Asia/Jakarta
                                  - Jamaica
                                  - America/Jamaica
                                  - Atlantic/Jan_Mayen
                                  - Japan
                                  - Asia/Jayapura
                                  - Europe/Jersey
                                  - Asia/Jerusalem
                                  - Africa/Johannesburg
                                  - Pacific/Johnston
                                  - Africa/Juba
                                  - America/Jujuy
                                  - America/Argentina/Jujuy
                                  - America/Juneau
                                  - Asia/Kabul
                                  - Europe/Kaliningrad
                                  - Asia/Kamchatka
                                  - Africa/Kampala
                                  - Asia/Karachi
                                  - Asia/Kashgar
                                  - Asia/Kathmandu
                                  - Asia/Katmandu
                                  - Indian/Kerguelen
                                  - Asia/Khandyga
                                  - Africa/Khartoum
                                  - Europe/Kiev
                                  - Africa/Kigali
                                  - Africa/Kinshasa
                                  - Pacific/Kiritimati
                                  - Europe/Kirov
                                  - America/Indiana/Knox
                                  - America/Knox_IN
                                  - Asia/Kolkata
                                  - Pacific/Kosrae
                                  - America/Kralendijk
                                  - Asia/Krasnoyarsk
                                  - Asia/Kuala_Lumpur
                                  - Asia/Kuching
                                  - Asia/Kuwait
                                  - Kwajalein
                                  - Pacific/Kwajalein
                                  - America/La_Paz
                                  - America/Argentina/La_Rioja
                                  - Africa/Lagos
                                  - Australia/LHI
                                  - Africa/Libreville
                                  - Libya
                                  - America/Lima
                                  - Australia/Lindeman
                                  - Europe/Lisbon
                                  - Europe/Ljubljana
                                  - Africa/Lome
                                  - Europe/London
                                  - Arctic/Longyearbyen
                                  - Australia/Lord_Howe
                                  - America/Los_Angeles
                                  - America/Louisville
                                  - America/Kentucky/Louisville
                                  - America/Lower_Princes
                                  - Africa/Luanda
                                  - Africa/Lubumbashi
                                  - Africa/Lusaka
                                  - Europe/Luxembourg
                                  - Asia/Macao
                                  - Asia/Macau
                                  - America/Maceio
                                  - Antarctica/Macquarie
                                  - Atlantic/Madeira
                                  - Europe/Madrid
                                  - Asia/Magadan
                                  - Indian/Mahe
                                  - Pacific/Majuro
                                  - Asia/Makassar
                                  - Africa/Malabo
                                  - Indian/Maldives
                                  - Europe/Malta
                                  - America/Managua
                                  - America/Manaus
                                  - Asia/Manila
                                  - Africa/Maputo
                                  - America/Indiana/Marengo
                                  - Europe/Mariehamn
                                  - America/Marigot
                                  - Pacific/Marquesas
                                  - America/Martinique
                                  - Africa/Maseru
                                  - America/Matamoros
                                  - Indian/Mauritius
                                  - Antarctica/Mawson
                                  - Indian/Mayotte
                                  - America/Mazatlan
                                  - Africa/Mbabane
                                  - Antarctica/McMurdo
                                  - Australia/Melbourne
                                  - America/Mendoza
                                  - America/Argentina/Mendoza
                                  - America/Menominee
                                  - America/Merida
                                  - MET
                                  - America/Metlakatla
                                  - America/Mexico_City
                                  - US/Michigan
                                  - Pacific/Midway
                                  - Europe/Minsk
                                  - America/Miquelon
                                  - Africa/Mogadishu
                                  - Europe/Monaco
                                  - America/Moncton
                                  - Africa/Monrovia
                                  - America/Monterrey
                                  - America/Montevideo
                                  - America/Kentucky/Monticello
                                  - America/Montreal
                                  - America/Montserrat
                                  - Europe/Moscow
                                  - US/Mountain
                                  - Canada/Mountain
                                  - MST
                                  - MST7MDT
                                  - Asia/Muscat
                                  - Africa/Nairobi
                                  - America/Nassau
                                  - Pacific/Nauru
                                  - Navajo
                                  - Africa/Ndjamena
                                  - America/North_Dakota/New_Salem
                                  - America/New_York
                                  - Canada/Newfoundland
                                  - Africa/Niamey
                                  - Europe/Nicosia
                                  - Asia/Nicosia
                                  - America/Nipigon
                                  - Pacific/Niue
                                  - America/Nome
                                  - Pacific/Norfolk
                                  - America/Noronha
                                  - Australia/North
                                  - Africa/Nouakchott
                                  - Pacific/Noumea
                                  - Asia/Novokuznetsk
                                  - Asia/Novosibirsk
                                  - Australia/NSW
                                  - America/Nuuk
                                  - NZ
                                  - NZ-CHAT
                                  - America/Ojinaga
                                  - Asia/Omsk
                                  - Asia/Oral
                                  - Europe/Oslo
                                  - Africa/Ouagadougou
                                  - US/Pacific
                                  - Canada/Pacific
                                  - Pacific/Pago_Pago
                                  - Pacific/Palau
                                  - Antarctica/Palmer
                                  - America/Panama
                                  - America/Pangnirtung
                                  - America/Paramaribo
                                  - Europe/Paris
                                  - Australia/Perth
                                  - America/Indiana/Petersburg
                                  - Asia/Phnom_Penh
                                  - America/Phoenix
                                  - Pacific/Pitcairn
                                  - Europe/Podgorica
                                  - Pacific/Pohnpei
                                  - Poland
                                  - Pacific/Ponape
                                  - Asia/Pontianak
                                  - Pacific/Port_Moresby
                                  - America/Port_of_Spain
                                  - America/Port-au-Prince
                                  - America/Porto_Acre
                                  - America/Porto_Velho
                                  - Africa/Porto-Novo
                                  - Portugal
                                  - Europe/Prague
                                  - PRC
                                  - PST8PDT
                                  - America/Puerto_Rico
                                  - America/Punta_Arenas
                                  - Asia/Pyongyang
                                  - Asia/Qatar
                                  - Asia/Qostanay
                                  - Australia/Queensland
                                  - Asia/Qyzylorda
                                  - America/Rainy_River
                                  - Asia/Rangoon
                                  - America/Rankin_Inlet
                                  - Pacific/Rarotonga
                                  - America/Recife
                                  - America/Regina
                                  - America/Resolute
                                  - Indian/Reunion
                                  - Atlantic/Reykjavik
                                  - Europe/Riga
                                  - America/Rio_Branco
                                  - America/Argentina/Rio_Gallegos
                                  - Asia/Riyadh
                                  - ROC
                                  - ROK
                                  - Europe/Rome
                                  - America/Rosario
                                  - Antarctica/Rothera
                                  - Asia/Saigon
                                  - Pacific/Saipan
                                  - Asia/Sakhalin
                                  - America/Argentina/Salta
                                  - Europe/Samara
                                  - Asia/Samarkand
                                  - Pacific/Samoa
                                  - US/Samoa
                                  - America/Argentina/San_Juan
                                  - America/Argentina/San_Luis
                                  - Europe/San_Marino
                                  - America/Santa_Isabel
                                  - America/Santarem
                                  - America/Santiago
                                  - America/Santo_Domingo
                                  - America/Sao_Paulo
                                  - Africa/Sao_Tome
                                  - Europe/Sarajevo
                                  - Europe/Saratov
                                  - Canada/Saskatchewan
                                  - America/Scoresbysund
                                  - Asia/Seoul
                                  - Asia/Shanghai
                                  - America/Shiprock
                                  - Europe/Simferopol
                                  - Asia/Singapore
                                  - Singapore
                                  - America/Sitka
                                  - Europe/Skopje
                                  - Europe/Sofia
                                  - Australia/South
                                  - Atlantic/South_Georgia
                                  - Antarctica/South_Pole
                                  - Asia/Srednekolymsk
                                  - America/St_Barthelemy
                                  - Atlantic/St_Helena
                                  - America/St_Johns
                                  - America/St_Kitts
                                  - America/St_Lucia
                                  - America/St_Thomas
                                  - America/St_Vincent
                                  - Atlantic/Stanley
                                  - Europe/Stockholm
                                  - America/Swift_Current
                                  - Australia/Sydney
                                  - Antarctica/Syowa
                                  - Pacific/Tahiti
                                  - Asia/Taipei
                                  - Europe/Tallinn
                                  - Pacific/Tarawa
                                  - Asia/Tashkent
                                  - Australia/Tasmania
                                  - Asia/Tbilisi
                                  - America/Tegucigalpa
                                  - Asia/Tehran
                                  - Asia/Tel_Aviv
                                  - America/Indiana/Tell_City
                                  - Asia/Thimbu
                                  - Asia/Thimphu
                                  - America/Thule
                                  - America/Thunder_Bay
                                  - America/Tijuana
                                  - Africa/Timbuktu
                                  - Europe/Tirane
                                  - Europe/Tiraspol
                                  - Asia/Tokyo
                                  - Asia/Tomsk
                                  - Pacific/Tongatapu
                                  - America/Toronto
                                  - America/Tortola
                                  - Africa/Tripoli
                                  - Antarctica/Troll
                                  - Pacific/Truk
                                  - America/Argentina/Tucuman
                                  - Africa/Tunis
                                  - Turkey
                                  - Etc/UCT
                                  - UCT
                                  - Asia/Ujung_Pandang
                                  - Asia/Ulaanbaatar
                                  - Asia/Ulan_Bator
                                  - Europe/Ulyanovsk
                                  - Etc/Universal
                                  - Universal
                                  - Asia/Urumqi
                                  - America/Argentina/Ushuaia
                                  - Asia/Ust-Nera
                                  - UTC
                                  - Etc/UTC
                                  - Europe/Uzhgorod
                                  - Europe/Vaduz
                                  - America/Vancouver
                                  - Europe/Vatican
                                  - America/Indiana/Vevay
                                  - Australia/Victoria
                                  - Europe/Vienna
                                  - Asia/Vientiane
                                  - Europe/Vilnius
                                  - America/Indiana/Vincennes
                                  - America/Virgin
                                  - Asia/Vladivostok
                                  - Europe/Volgograd
                                  - Antarctica/Vostok
                                  - W-SU
                                  - Pacific/Wake
                                  - Pacific/Wallis
                                  - Europe/Warsaw
                                  - Brazil/West
                                  - Australia/West
                                  - WET
                                  - America/Whitehorse
                                  - America/Indiana/Winamac
                                  - Africa/Windhoek
                                  - America/Winnipeg
                                  - America/Yakutat
                                  - Asia/Yakutsk
                                  - Australia/Yancowinna
                                  - Asia/Yangon
                                  - Pacific/Yap
                                  - Asia/Yekaterinburg
                                  - America/Yellowknife
                                  - Asia/Yerevan
                                  - Canada/Yukon
                                  - Europe/Zagreb
                                  - Europe/Zaporozhye
                                  - Etc/Zulu
                                  - Zulu
                                  - Europe/Zurich
                              orderFulfillmentEnabled:
                                type: boolean
                              orderFulfillmentUseSpecificRules:
                                type: boolean
                              orderReturnsEnabled:
                                type: boolean
                              orderReturnsUseSpecificRules:
                                type: boolean
                              salesChannelAdmin:
                                type: boolean
                              salesChannelOnline:
                                type: boolean
                              salesChannelStore:
                                type: boolean
                              fulfillmentRules:
                                nullable: true
                                type: object
                                properties:
                                  ruleType:
                                    type: string
                                    enum:
                                      - fulfillment
                                      - order_return
                                  purchaseType:
                                    type: string
                                    enum:
                                      - booking
                                      - sales
                                      - subscription
                                      - buyback
                                  serviceLocationId:
                                    type: string
                                    format: uuid
                                    pattern: >-
                                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                                  inStoreEnabled:
                                    type: boolean
                                  shippingEnabled:
                                    type: boolean
                                  localDeliveryEnabled:
                                    type: boolean
                                required:
                                  - ruleType
                                  - purchaseType
                                additionalProperties: false
                              createdAt:
                                type: string
                                format: date-time
                                pattern: >-
                                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                              archivedAt:
                                nullable: true
                                type: string
                                format: date-time
                                pattern: >-
                                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                              useAutoAssign:
                                type: boolean
                              orderNumbering:
                                nullable: true
                                type: object
                                properties:
                                  format:
                                    nullable: true
                                    type: object
                                    properties:
                                      prefix:
                                        nullable: true
                                        type: string
                                        maxLength: 16
                                      suffix:
                                        nullable: true
                                        type: string
                                        maxLength: 16
                                      minNumberLength:
                                        nullable: true
                                        type: integer
                                        minimum: 0
                                        maximum: 20
                                      padCharacter:
                                        nullable: true
                                        type: string
                                        maxLength: 1
                                    additionalProperties: false
                                  sequence:
                                    nullable: true
                                    type: object
                                    properties:
                                      nextValue:
                                        type: integer
                                        minimum: 0
                                        maximum: 9007199254740991
                                    required:
                                      - nextValue
                                    additionalProperties: false
                                required:
                                  - format
                                additionalProperties: false
                            required:
                              - id
                              - name
                              - isDefault
                              - isActive
                              - timezone
                              - createdAt
                              - useAutoAssign
                            additionalProperties: false
                        required:
                          - id
                          - catalogItemId
                          - serviceLocationId
                          - createdAt
                        additionalProperties: false
                      pricingTables:
                        type: object
                        properties:
                          id:
                            type: string
                            format: uuid
                            pattern: >-
                              ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                          catalogItemId:
                            nullable: true
                            type: string
                            format: uuid
                            pattern: >-
                              ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                          label:
                            type: string
                          availabilityRange:
                            nullable: true
                            type: object
                            properties:
                              start:
                                nullable: true
                                type: string
                                format: date-time
                                pattern: >-
                                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                              end:
                                nullable: true
                                type: string
                                format: date-time
                                pattern: >-
                                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                            required:
                              - start
                              - end
                            additionalProperties: false
                          isDefault:
                            type: boolean
                          bookingsEnabled:
                            type: boolean
                          salesEnabled:
                            type: boolean
                          subscriptionsEnabled:
                            type: boolean
                          bookingPricingRows:
                            type: object
                            properties:
                              id:
                                type: string
                                format: uuid
                                pattern: >-
                                  ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                              pricingTableId:
                                type: string
                                format: uuid
                                pattern: >-
                                  ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                              label:
                                type: string
                              translatedLabel:
                                type: string
                              availabilityRange:
                                nullable: true
                                type: object
                                properties:
                                  start:
                                    nullable: true
                                    type: string
                                    format: date-time
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                  end:
                                    nullable: true
                                    type: string
                                    format: date-time
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                required:
                                  - start
                                  - end
                                additionalProperties: false
                              weekdays:
                                nullable: true
                                type: array
                                items:
                                  type: integer
                                  minimum: 1
                                  maximum: 7
                              timeOfDayRange:
                                nullable: true
                                type: object
                                properties:
                                  start:
                                    nullable: true
                                    type: string
                                    format: date-time
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                  end:
                                    nullable: true
                                    type: string
                                    format: date-time
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                required:
                                  - start
                                  - end
                                additionalProperties: false
                              timeUnit:
                                type: string
                                enum:
                                  - seconds
                                  - minutes
                                  - hours
                                  - days
                                  - weeks
                                  - months
                                  - years
                              timeUnitAmount:
                                type: integer
                                exclusiveMinimum: true
                                maximum: 9007199254740991
                              timeUnitPrice:
                                type: integer
                                minimum: -9007199254740991
                                maximum: 9007199254740991
                              timeCalculation:
                                type: string
                                enum:
                                  - standard
                                  - cap_to_closing
                              timeBasis:
                                type: string
                                enum:
                                  - rolling
                                  - capped
                              counterTimeUnitPrice:
                                nullable: true
                                type: integer
                                minimum: -9007199254740991
                                maximum: 9007199254740991
                              additionalTimeUnitPrice:
                                nullable: true
                                type: integer
                                minimum: -9007199254740991
                                maximum: 9007199254740991
                              additionalTimeUnitCalculationType:
                                type: string
                                enum:
                                  - add
                                  - multiply
                              isHidden:
                                type: boolean
                              isDynamicPricing:
                                type: boolean
                              isEnabled:
                                type: boolean
                            required:
                              - id
                              - pricingTableId
                              - label
                              - weekdays
                              - timeOfDayRange
                              - timeUnit
                              - timeUnitAmount
                              - timeUnitPrice
                              - timeCalculation
                              - timeBasis
                              - counterTimeUnitPrice
                              - additionalTimeUnitPrice
                              - additionalTimeUnitCalculationType
                              - isHidden
                              - isDynamicPricing
                              - isEnabled
                            additionalProperties: false
                          salesPricingRows:
                            type: object
                            properties:
                              id:
                                type: string
                                format: uuid
                                pattern: >-
                                  ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                              pricingTableId:
                                type: string
                                format: uuid
                                pattern: >-
                                  ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                              price:
                                type: integer
                                minimum: 0
                                maximum: 9007199254740991
                              compareAtPrice:
                                nullable: true
                                type: integer
                                minimum: 0
                                maximum: 9007199254740991
                              availabilityRange:
                                nullable: true
                                type: object
                                properties:
                                  start:
                                    nullable: true
                                    type: string
                                    format: date-time
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                  end:
                                    nullable: true
                                    type: string
                                    format: date-time
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                required:
                                  - start
                                  - end
                                additionalProperties: false
                              isEnabled:
                                type: boolean
                            required:
                              - id
                              - pricingTableId
                              - price
                              - compareAtPrice
                              - isEnabled
                            additionalProperties: false
                          subscriptionPricingRows:
                            type: object
                            properties:
                              id:
                                type: string
                                format: uuid
                                pattern: >-
                                  ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                              pricingTableId:
                                type: string
                                format: uuid
                                pattern: >-
                                  ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                              label:
                                type: string
                                minLength: 1
                              translatedLabel:
                                type: string
                              price:
                                type: integer
                                exclusiveMinimum: true
                                maximum: 9007199254740991
                              commitmentCycles:
                                type: integer
                                exclusiveMinimum: true
                                maximum: 9007199254740991
                              paymentCycleUnit:
                                type: string
                                enum:
                                  - days
                                  - weeks
                                  - months
                                  - years
                              paymentCycleAmount:
                                type: integer
                                exclusiveMinimum: true
                                maximum: 9007199254740991
                              initialChargeType:
                                type: string
                                enum:
                                  - order_creation
                                  - subscription_start
                              renewalType:
                                type: string
                                enum:
                                  - none
                                  - auto_renew
                              collectionMethod:
                                type: string
                                enum:
                                  - charge_automatically
                                  - send_invoice
                              renewalPrice:
                                nullable: true
                                type: integer
                                exclusiveMinimum: true
                                maximum: 9007199254740991
                              cancellationLeadTimeUnit:
                                type: string
                                enum:
                                  - hours
                                  - days
                                  - weeks
                                  - months
                                  - years
                              cancellationLeadTimeAmount:
                                type: integer
                                exclusiveMinimum: true
                                maximum: 9007199254740991
                              availabilityRange:
                                nullable: true
                                type: object
                                properties:
                                  start:
                                    nullable: true
                                    type: string
                                    format: date-time
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                  end:
                                    nullable: true
                                    type: string
                                    format: date-time
                                    pattern: >-
                                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                                required:
                                  - start
                                  - end
                                additionalProperties: false
                              isEnabled:
                                type: boolean
                            required:
                              - id
                              - pricingTableId
                              - label
                              - price
                              - commitmentCycles
                              - paymentCycleUnit
                              - paymentCycleAmount
                              - initialChargeType
                              - renewalType
                              - cancellationLeadTimeUnit
                              - cancellationLeadTimeAmount
                              - isEnabled
                            additionalProperties: false
                          variants:
                            type: object
                            properties:
                              id:
                                type: string
                                format: uuid
                                pattern: >-
                                  ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                              variantName:
                                type: string
                              values:
                                type: object
                                properties:
                                  id:
                                    type: string
                                    format: uuid
                                    pattern: >-
                                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                                  variantId:
                                    type: string
                                    format: uuid
                                    pattern: >-
                                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                                  value:
                                    type: string
                                  orderIndex:
                                    type: number
                                required:
                                  - id
                                  - variantId
                                  - value
                                  - orderIndex
                                additionalProperties: false
                              booking:
                                type: object
                                properties:
                                  id:
                                    type: string
                                    format: uuid
                                    pattern: >-
                                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                                  rateMultiplier:
                                    type: number
                                  basePricingRowId:
                                    type: string
                                    format: uuid
                                    pattern: >-
                                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                                  additionalRateMultiplier:
                                    type: number
                                required:
                                  - id
                                  - rateMultiplier
                                  - basePricingRowId
                                additionalProperties: false
                              sales:
                                type: object
                                properties:
                                  id:
                                    type: string
                                    format: uuid
                                    pattern: >-
                                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                                  rateMultiplier:
                                    type: number
                                  basePricingRowId:
                                    type: string
                                    format: uuid
                                    pattern: >-
                                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                                required:
                                  - id
                                  - rateMultiplier
                                  - basePricingRowId
                                additionalProperties: false
                              subscription:
                                type: object
                                properties:
                                  id:
                                    type: string
                                    format: uuid
                                    pattern: >-
                                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                                  rateMultiplier:
                                    type: number
                                  basePricingRowId:
                                    type: string
                                    format: uuid
                                    pattern: >-
                                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                                required:
                                  - id
                                  - rateMultiplier
                                  - basePricingRowId
                                additionalProperties: false
                              rateMultiplier:
                                type: number
                              pricingTableId:
                                type: string
                                format: uuid
                                pattern: >-
                                  ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                            required:
                              - id
                              - variantName
                              - values
                              - booking
                              - sales
                              - subscription
                              - rateMultiplier
                              - pricingTableId
                            additionalProperties: false
                          createdAt:
                            type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          archivedAt:
                            nullable: true
                            type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          isShared:
                            type: boolean
                          linkedCatalogItemsCount:
                            type: number
                        required:
                          - id
                          - catalogItemId
                          - label
                          - availabilityRange
                          - isDefault
                          - bookingsEnabled
                          - salesEnabled
                          - subscriptionsEnabled
                          - bookingPricingRows
                          - salesPricingRows
                          - subscriptionPricingRows
                          - createdAt
                          - isShared
                          - linkedCatalogItemsCount
                        additionalProperties: false
                      taxonomyCategory:
                        nullable: true
                        type: object
                        properties:
                          id:
                            type: string
                          name:
                            type: string
                          fullName:
                            type: string
                          level:
                            type: number
                          parentId:
                            nullable: true
                            type: string
                          isLeaf:
                            type: boolean
                        required:
                          - id
                          - name
                          - fullName
                          - level
                          - parentId
                          - isLeaf
                        additionalProperties: false
                      createdAt:
                        type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                      archivedAt:
                        nullable: true
                        type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                      inventoryTrackingEnabled:
                        type: boolean
                      pageTitle:
                        nullable: true
                        type: string
                      metaDescription:
                        nullable: true
                        type: string
                      urlHandle:
                        nullable: true
                        type: string
                      slug:
                        nullable: true
                        type: string
                      slugs:
                        type: array
                        items:
                          type: string
                      ogTitle:
                        nullable: true
                        type: string
                      ogDescription:
                        nullable: true
                        type: string
                      ogImage:
                        nullable: true
                        type: object
                        properties:
                          id:
                            type: string
                          tenantId:
                            type: string
                          fileUrl:
                            type: string
                          mimeType:
                            type: string
                          originalName:
                            type: string
                          folderPath:
                            nullable: true
                            type: string
                          size:
                            type: number
                          createdAt:
                            type: string
                          updatedAt:
                            type: string
                          deletedAt:
                            nullable: true
                            type: string
                          updatedById:
                            nullable: true
                            type: string
                          createdById:
                            nullable: true
                            type: string
                        required:
                          - id
                          - tenantId
                          - fileUrl
                          - mimeType
                          - originalName
                          - folderPath
                          - size
                          - createdAt
                          - updatedAt
                          - deletedAt
                          - updatedById
                          - createdById
                        additionalProperties: false
                      noindex:
                        type: boolean
                      salesChannelAdmin:
                        type: boolean
                      salesChannelOnline:
                        type: boolean
                      salesChannelStore:
                        type: boolean
                      media:
                        nullable: true
                        type: object
                        properties:
                          fileId:
                            type: string
                          catalogItemId:
                            type: string
                          media:
                            type: object
                            properties:
                              id:
                                type: string
                              tenantId:
                                type: string
                              fileUrl:
                                type: string
                              mimeType:
                                type: string
                              originalName:
                                type: string
                              folderPath:
                                nullable: true
                                type: string
                              size:
                                type: number
                              createdAt:
                                type: string
                              updatedAt:
                                type: string
                              deletedAt:
                                nullable: true
                                type: string
                              updatedById:
                                nullable: true
                                type: string
                              createdById:
                                nullable: true
                                type: string
                            required:
                              - id
                              - tenantId
                              - fileUrl
                              - mimeType
                              - originalName
                              - folderPath
                              - size
                              - createdAt
                              - updatedAt
                              - deletedAt
                              - updatedById
                              - createdById
                            additionalProperties: false
                          orderIndex:
                            type: number
                        required:
                          - fileId
                          - catalogItemId
                          - orderIndex
                        additionalProperties: false
                      documents:
                        nullable: true
                        type: object
                        properties:
                          fileId:
                            type: string
                          catalogItemId:
                            type: string
                          document:
                            type: object
                            properties:
                              id:
                                type: string
                              tenantId:
                                type: string
                              fileUrl:
                                type: string
                              mimeType:
                                type: string
                              originalName:
                                type: string
                              folderPath:
                                nullable: true
                                type: string
                              size:
                                type: number
                              createdAt:
                                type: string
                              updatedAt:
                                type: string
                              deletedAt:
                                nullable: true
                                type: string
                              updatedById:
                                nullable: true
                                type: string
                              createdById:
                                nullable: true
                                type: string
                            required:
                              - id
                              - tenantId
                              - fileUrl
                              - mimeType
                              - originalName
                              - folderPath
                              - size
                              - createdAt
                              - updatedAt
                              - deletedAt
                              - updatedById
                              - createdById
                            additionalProperties: false
                          orderIndex:
                            type: number
                          comment:
                            nullable: true
                            type: string
                          attachToOrderConfirmation:
                            type: boolean
                          copyToOrder:
                            type: boolean
                        required:
                          - fileId
                          - catalogItemId
                          - orderIndex
                          - comment
                        additionalProperties: false
                      tags:
                        nullable: true
                        type: object
                        properties:
                          id:
                            type: string
                          value:
                            type: string
                          scope:
                            type: string
                            enum:
                              - inventory
                              - catalog
                              - customers
                              - orders
                          createdAt:
                            type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          updatedAt:
                            type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                        required:
                          - id
                          - value
                          - scope
                          - createdAt
                          - updatedAt
                        additionalProperties: false
                      variants:
                        type: object
                        properties:
                          id:
                            type: string
                            format: uuid
                            pattern: >-
                              ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                          catalogItemId:
                            type: string
                            format: uuid
                            pattern: >-
                              ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                          name:
                            type: string
                          orderIndex:
                            type: number
                          values:
                            type: object
                            properties:
                              id:
                                type: string
                                format: uuid
                                pattern: >-
                                  ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                              variantId:
                                type: string
                                format: uuid
                                pattern: >-
                                  ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                              value:
                                type: string
                              orderIndex:
                                type: number
                            required:
                              - id
                              - variantId
                              - value
                              - orderIndex
                            additionalProperties: false
                        required:
                          - id
                          - catalogItemId
                          - name
                          - orderIndex
                        additionalProperties: false
                      checkoutRequirements:
                        type: object
                        properties:
                          assignToCustomer:
                            type: boolean
                          fields:
                            type: object
                            properties:
                              id:
                                type: string
                              name:
                                type: string
                              type:
                                type: string
                                enum:
                                  - text
                                  - select
                                  - number
                                  - checkbox
                                  - customer_attribute
                              placeholder:
                                type: string
                              required:
                                type: boolean
                              internal:
                                type: boolean
                              attributeId:
                                type: string
                              attributeFormat:
                                type: string
                                enum:
                                  - text
                                  - number
                                  - boolean
                                  - date
                                  - datetime
                                  - formula
                                  - select
                                  - multiselect
                              valueMasks:
                                type: array
                                items:
                                  type: string
                              options:
                                type: object
                                properties:
                                  name:
                                    type: string
                                required:
                                  - name
                                additionalProperties: false
                            required:
                              - id
                              - name
                              - type
                            additionalProperties: false
                        required:
                          - assignToCustomer
                          - fields
                        additionalProperties: false
                      taxes:
                        type: object
                        properties:
                          id:
                            type: string
                          label:
                            type: string
                          decimalRate:
                            type: number
                            minimum: 0
                            maximum: 1
                          locationOverrides:
                            type: object
                            additionalProperties:
                              type: number
                              minimum: 0
                              maximum: 1
                        required:
                          - id
                          - label
                          - decimalRate
                          - locationOverrides
                        additionalProperties: false
                      aggregateData:
                        type: object
                        properties:
                          totalCount:
                            type: number
                          lastCreated:
                            nullable: true
                            type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                          lastUpdated:
                            nullable: true
                            type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                        required:
                          - totalCount
                          - lastCreated
                          - lastUpdated
                        additionalProperties: false
                      attributes:
                        type: object
                        properties:
                          id:
                            type: string
                          name:
                            type: string
                          key:
                            type: string
                          value:
                            nullable: true
                            anyOf:
                              - type: string
                              - type: number
                              - type: boolean
                              - type: array
                                items:
                                  type: string
                          format:
                            type: string
                            enum:
                              - text
                              - number
                              - boolean
                              - date
                              - datetime
                              - formula
                              - select
                              - multiselect
                          groupId:
                            nullable: true
                            type: string
                          groupName:
                            nullable: true
                            type: string
                          systemGroup:
                            nullable: true
                            type: string
                            enum:
                              - sustainability
                              - system
                          origin:
                            type: string
                            enum:
                              - article
                              - sku
                              - customer
                              - catalog
                        required:
                          - id
                          - name
                          - key
                          - value
                          - format
                          - groupId
                          - groupName
                          - systemGroup
                          - origin
                        additionalProperties: false
                      addonOnly:
                        type: boolean
                      addonPricingMode:
                        type: string
                        enum:
                          - standalone
                          - percentage
                      addonPricePercentage:
                        nullable: true
                        type: integer
                        minimum: 1
                        maximum: 200
                      relatedListingIds:
                        type: array
                        items:
                          type: string
                      bookingDeposit:
                        nullable: true
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                    required:
                      - id
                      - name
                      - internalName
                      - description
                      - taxonomyCategoryId
                      - createdAt
                      - salesChannelAdmin
                      - salesChannelOnline
                      - salesChannelStore
                      - addonOnly
                      - addonPricePercentage
                      - relatedListingIds
                    additionalProperties: false
                  pagination:
                    type: object
                    properties:
                      page:
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                      pageSize:
                        type: integer
                        minimum: 1
                        maximum: 200
                      total:
                        type: number
                      totalPages:
                        type: number
                    required:
                      - page
                      - pageSize
                      - total
                      - totalPages
                    additionalProperties: false
                required:
                  - data
                  - pagination
                additionalProperties: false
        '400':
          description: '400'
        '401':
          description: '401'
        '403':
          description: '403'
        '404':
          description: '404'
        '429':
          description: '429'
        '500':
          description: '500'
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      name: X-API-KEY
      in: header
      description: API key for the Twice API

````