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

# Save or withdraw existing revisioned catering commercial facts



## OpenAPI

````yaml /generated/catalog-workspace.openapi.json put /api/v1/catalog/workspace/commercial-facts
openapi: 3.0.3
info:
  title: Staff Menu Manager authoring
  version: 1.0.0
  description: >-
    Persistent tenant-scoped library/relationship authoring and scoped
    publication review. Prices and POS structure retain their existing
    authority. Food Unknown is null; a nullable override inherits while []
    disables inherited rules. Publication and menu-aware public serving activate
    together through S1.
servers: []
security: []
paths:
  /api/v1/catalog/workspace/commercial-facts:
    put:
      summary: Save or withdraw existing revisioned catering commercial facts
      operationId: catalogCommercialFactsEdit
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CatalogCommercialFactsMutationRequest'
      responses:
        '200':
          description: >-
            Committed authoring evidence or read-only review; no publication is
            activated by a review.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CatalogCommercialFactsMutationResult'
        '400':
          description: Invalid shape, units or identifier.
        '401':
          description: >-
            A current merchant staff session is required. Machine credentials
            are not admitted.
        '403':
          description: >-
            Current organization role/location grant or POS authority forbids
            the operation.
        '404':
          description: The record or location does not exist in the authorized tenant.
        '409':
          description: >-
            CATALOG_DRAFT_STALE_REVISION: refresh the current draft before
            retrying.
        '422':
          description: >-
            Invalid references, non-ready publication evidence or semantic
            validation blockers.
      security:
        - StaffSession: []
components:
  schemas:
    CatalogCommercialFactsMutationRequest:
      type: object
      properties:
        expectedDraftRevision:
          type: integer
          minimum: 0
          exclusiveMinimum: true
          maximum: 9007199254740991
        locationId:
          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)$
        canonicalId:
          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)$
        commercialFacts:
          nullable: true
          oneOf:
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - menu
                facts:
                  type: object
                  properties:
                    rules:
                      type: object
                      properties:
                        all:
                          type: object
                          properties:
                            minimumGuests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            maximumGuests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            minimumUnits:
                              type: string
                              pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                            maximumUnits:
                              type: string
                              pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                            minimumSpend:
                              type: object
                              properties:
                                amountCents:
                                  type: integer
                                  minimum: 0
                                  maximum: 99999999
                                basis:
                                  type: string
                                  enum:
                                    - eligible_food_beverage_before_discounts
                              required:
                                - amountCents
                                - basis
                              additionalProperties: false
                            leadTimeHours:
                              type: integer
                              minimum: 0
                              maximum: 8760
                          additionalProperties: false
                        byServiceStyle:
                          type: object
                          additionalProperties:
                            type: object
                            properties:
                              minimumGuests:
                                type: integer
                                minimum: 0
                                exclusiveMinimum: true
                                maximum: 10000
                              maximumGuests:
                                type: integer
                                minimum: 0
                                exclusiveMinimum: true
                                maximum: 10000
                              minimumUnits:
                                type: string
                                pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                              maximumUnits:
                                type: string
                                pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                              minimumSpend:
                                type: object
                                properties:
                                  amountCents:
                                    type: integer
                                    minimum: 0
                                    maximum: 99999999
                                  basis:
                                    type: string
                                    enum:
                                      - eligible_food_beverage_before_discounts
                                required:
                                  - amountCents
                                  - basis
                                additionalProperties: false
                              leadTimeHours:
                                type: integer
                                minimum: 0
                                maximum: 8760
                            additionalProperties: false
                      additionalProperties: false
                    allocationGroups:
                      maxItems: 100
                      type: array
                      items:
                        type: object
                        properties:
                          groupId:
                            type: string
                            minLength: 1
                            maxLength: 200
                          minimumGuests:
                            type: integer
                            minimum: 0
                            exclusiveMinimum: true
                            maximum: 10000
                          maximumGuests:
                            type: integer
                            minimum: 0
                            exclusiveMinimum: true
                            maximum: 10000
                          minimumGuestsPerProduct:
                            type: integer
                            minimum: 0
                            exclusiveMinimum: true
                            maximum: 10000
                          maximumDistinctProducts:
                            type: integer
                            minimum: 0
                            exclusiveMinimum: true
                            maximum: 100
                          total:
                            type: string
                            enum:
                              - event_headcount
                        required:
                          - groupId
                          - minimumGuests
                          - maximumGuests
                          - minimumGuestsPerProduct
                          - maximumDistinctProducts
                          - total
                        additionalProperties: false
                    reviewFacts:
                      maxItems: 50
                      type: array
                      items:
                        type: object
                        properties:
                          code:
                            type: string
                            enum:
                              - conflicting_lead_time
                              - unsupported_minimum_spend_basis
                              - unresolved_choice_scope
                              - ambiguous_category_scope
                              - staff_pricing
                          sourceText:
                            type: string
                            minLength: 1
                            maxLength: 2000
                          reason:
                            type: string
                            minLength: 1
                            maxLength: 2000
                        required:
                          - code
                          - sourceText
                          - reason
                        additionalProperties: false
                  additionalProperties: false
              required:
                - kind
                - facts
              additionalProperties: false
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - category
                facts:
                  type: object
                  properties:
                    rules:
                      type: object
                      properties:
                        all:
                          type: object
                          properties:
                            minimumGuests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            maximumGuests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            minimumUnits:
                              type: string
                              pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                            maximumUnits:
                              type: string
                              pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                            minimumSpend:
                              type: object
                              properties:
                                amountCents:
                                  type: integer
                                  minimum: 0
                                  maximum: 99999999
                                basis:
                                  type: string
                                  enum:
                                    - eligible_food_beverage_before_discounts
                              required:
                                - amountCents
                                - basis
                              additionalProperties: false
                            leadTimeHours:
                              type: integer
                              minimum: 0
                              maximum: 8760
                          additionalProperties: false
                        byServiceStyle:
                          type: object
                          additionalProperties:
                            type: object
                            properties:
                              minimumGuests:
                                type: integer
                                minimum: 0
                                exclusiveMinimum: true
                                maximum: 10000
                              maximumGuests:
                                type: integer
                                minimum: 0
                                exclusiveMinimum: true
                                maximum: 10000
                              minimumUnits:
                                type: string
                                pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                              maximumUnits:
                                type: string
                                pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                              minimumSpend:
                                type: object
                                properties:
                                  amountCents:
                                    type: integer
                                    minimum: 0
                                    maximum: 99999999
                                  basis:
                                    type: string
                                    enum:
                                      - eligible_food_beverage_before_discounts
                                required:
                                  - amountCents
                                  - basis
                                additionalProperties: false
                              leadTimeHours:
                                type: integer
                                minimum: 0
                                maximum: 8760
                            additionalProperties: false
                      additionalProperties: false
                    serves:
                      nullable: true
                      oneOf:
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - exact
                            guests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            sourceText:
                              type: string
                              minLength: 1
                              maxLength: 2000
                          required:
                            - kind
                            - guests
                            - sourceText
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - range
                            minGuests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            maxGuests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            sourceText:
                              type: string
                              minLength: 1
                              maxLength: 2000
                          required:
                            - kind
                            - minGuests
                            - maxGuests
                            - sourceText
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - up_to
                            maxGuests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            sourceText:
                              type: string
                              minLength: 1
                              maxLength: 2000
                          required:
                            - kind
                            - maxGuests
                            - sourceText
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - approximate
                            minGuests:
                              nullable: true
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            maxGuests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            sourceText:
                              type: string
                              minLength: 1
                              maxLength: 2000
                          required:
                            - kind
                            - minGuests
                            - maxGuests
                            - sourceText
                          additionalProperties: false
                    planningYield:
                      nullable: true
                      type: object
                      properties:
                        guests:
                          type: string
                          pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                        quantity:
                          type: string
                          pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                        reviewNote:
                          type: string
                          minLength: 1
                          maxLength: 2000
                      required:
                        - guests
                        - quantity
                        - reviewNote
                      additionalProperties: false
                  additionalProperties: false
              required:
                - kind
                - facts
              additionalProperties: false
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - product
                facts:
                  type: object
                  properties:
                    priceBasis:
                      type: string
                      enum:
                        - per_person
                        - per_item
                        - per_dozen
                        - per_tray
                        - per_pack
                        - per_lb
                        - per_oz
                        - per_kg
                        - per_g
                        - per_gallon
                        - per_quart
                        - per_liter
                        - per_ml
                        - per_fl_oz
                    printedPrice:
                      oneOf:
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - exact
                            amountCents:
                              type: integer
                              minimum: 0
                              maximum: 99999999
                          required:
                            - kind
                            - amountCents
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - range
                            minCents:
                              type: integer
                              minimum: 0
                              maximum: 99999999
                            maxCents:
                              type: integer
                              minimum: 0
                              maximum: 99999999
                          required:
                            - kind
                            - minCents
                            - maxCents
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - quote_only
                          required:
                            - kind
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - unknown
                            reason:
                              type: string
                              minLength: 1
                              maxLength: 2000
                          required:
                            - kind
                            - reason
                          additionalProperties: false
                    serves:
                      nullable: true
                      oneOf:
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - exact
                            guests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            sourceText:
                              type: string
                              minLength: 1
                              maxLength: 2000
                          required:
                            - kind
                            - guests
                            - sourceText
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - range
                            minGuests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            maxGuests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            sourceText:
                              type: string
                              minLength: 1
                              maxLength: 2000
                          required:
                            - kind
                            - minGuests
                            - maxGuests
                            - sourceText
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - up_to
                            maxGuests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            sourceText:
                              type: string
                              minLength: 1
                              maxLength: 2000
                          required:
                            - kind
                            - maxGuests
                            - sourceText
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - approximate
                            minGuests:
                              nullable: true
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            maxGuests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            sourceText:
                              type: string
                              minLength: 1
                              maxLength: 2000
                          required:
                            - kind
                            - minGuests
                            - maxGuests
                            - sourceText
                          additionalProperties: false
                    quantityRules:
                      type: object
                      properties:
                        increment:
                          type: string
                          pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                        minimum:
                          type: string
                          pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                        maximum:
                          nullable: true
                          type: string
                          pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                      required:
                        - increment
                        - minimum
                        - maximum
                      additionalProperties: false
                    contents:
                      maxItems: 100
                      type: array
                      items:
                        type: object
                        properties:
                          name:
                            type: string
                            minLength: 1
                            maxLength: 2000
                          quantity:
                            type: string
                            pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                          unit:
                            type: string
                            enum:
                              - person
                              - item
                              - dozen
                              - tray
                              - pack
                              - lb
                              - oz
                              - kg
                              - g
                              - gallon
                              - quart
                              - liter
                              - ml
                              - fl_oz
                        required:
                          - name
                          - quantity
                          - unit
                        additionalProperties: false
                    planningYield:
                      nullable: true
                      type: object
                      properties:
                        guests:
                          type: string
                          pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                        quantity:
                          type: string
                          pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                        reviewNote:
                          type: string
                          minLength: 1
                          maxLength: 2000
                      required:
                        - guests
                        - quantity
                        - reviewNote
                      additionalProperties: false
                    minimumSpendEligibility:
                      type: string
                      enum:
                        - food_beverage
                        - excluded
                        - unreviewed
                    allocationGroupId:
                      type: string
                      minLength: 1
                      maxLength: 200
                    rules:
                      type: object
                      properties:
                        all:
                          type: object
                          properties:
                            minimumGuests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            maximumGuests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            minimumUnits:
                              type: string
                              pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                            maximumUnits:
                              type: string
                              pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                            minimumSpend:
                              type: object
                              properties:
                                amountCents:
                                  type: integer
                                  minimum: 0
                                  maximum: 99999999
                                basis:
                                  type: string
                                  enum:
                                    - eligible_food_beverage_before_discounts
                              required:
                                - amountCents
                                - basis
                              additionalProperties: false
                            leadTimeHours:
                              type: integer
                              minimum: 0
                              maximum: 8760
                          additionalProperties: false
                        byServiceStyle:
                          type: object
                          additionalProperties:
                            type: object
                            properties:
                              minimumGuests:
                                type: integer
                                minimum: 0
                                exclusiveMinimum: true
                                maximum: 10000
                              maximumGuests:
                                type: integer
                                minimum: 0
                                exclusiveMinimum: true
                                maximum: 10000
                              minimumUnits:
                                type: string
                                pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                              maximumUnits:
                                type: string
                                pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                              minimumSpend:
                                type: object
                                properties:
                                  amountCents:
                                    type: integer
                                    minimum: 0
                                    maximum: 99999999
                                  basis:
                                    type: string
                                    enum:
                                      - eligible_food_beverage_before_discounts
                                required:
                                  - amountCents
                                  - basis
                                additionalProperties: false
                              leadTimeHours:
                                type: integer
                                minimum: 0
                                maximum: 8760
                            additionalProperties: false
                      additionalProperties: false
                    reviewFacts:
                      maxItems: 50
                      type: array
                      items:
                        type: object
                        properties:
                          code:
                            type: string
                            enum:
                              - conflicting_lead_time
                              - unsupported_minimum_spend_basis
                              - unresolved_choice_scope
                              - ambiguous_category_scope
                              - staff_pricing
                          sourceText:
                            type: string
                            minLength: 1
                            maxLength: 2000
                          reason:
                            type: string
                            minLength: 1
                            maxLength: 2000
                        required:
                          - code
                          - sourceText
                          - reason
                        additionalProperties: false
                  required:
                    - priceBasis
                    - printedPrice
                    - serves
                  additionalProperties: false
              required:
                - kind
                - facts
              additionalProperties: false
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - modifier_group
                facts:
                  type: object
                  properties:
                    semanticRole:
                      type: string
                      enum:
                        - size
                        - choice
                  required:
                    - semanticRole
                  additionalProperties: false
              required:
                - kind
                - facts
              additionalProperties: false
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - modifier_option
                facts:
                  type: object
                  properties:
                    priceSemantics:
                      type: string
                      enum:
                        - replaces_item
                        - adds_to_item
                    printedPrice:
                      nullable: true
                      oneOf:
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - exact
                            amountCents:
                              type: integer
                              minimum: 0
                              maximum: 99999999
                          required:
                            - kind
                            - amountCents
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - range
                            minCents:
                              type: integer
                              minimum: 0
                              maximum: 99999999
                            maxCents:
                              type: integer
                              minimum: 0
                              maximum: 99999999
                          required:
                            - kind
                            - minCents
                            - maxCents
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - quote_only
                          required:
                            - kind
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - unknown
                            reason:
                              type: string
                              minLength: 1
                              maxLength: 2000
                          required:
                            - kind
                            - reason
                          additionalProperties: false
                    serves:
                      nullable: true
                      oneOf:
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - exact
                            guests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            sourceText:
                              type: string
                              minLength: 1
                              maxLength: 2000
                          required:
                            - kind
                            - guests
                            - sourceText
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - range
                            minGuests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            maxGuests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            sourceText:
                              type: string
                              minLength: 1
                              maxLength: 2000
                          required:
                            - kind
                            - minGuests
                            - maxGuests
                            - sourceText
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - up_to
                            maxGuests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            sourceText:
                              type: string
                              minLength: 1
                              maxLength: 2000
                          required:
                            - kind
                            - maxGuests
                            - sourceText
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - approximate
                            minGuests:
                              nullable: true
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            maxGuests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            sourceText:
                              type: string
                              minLength: 1
                              maxLength: 2000
                          required:
                            - kind
                            - minGuests
                            - maxGuests
                            - sourceText
                          additionalProperties: false
                    planningYield:
                      nullable: true
                      type: object
                      properties:
                        guests:
                          type: string
                          pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                        quantity:
                          type: string
                          pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                        reviewNote:
                          type: string
                          minLength: 1
                          maxLength: 2000
                      required:
                        - guests
                        - quantity
                        - reviewNote
                      additionalProperties: false
                    charge:
                      type: object
                      properties:
                        chargeId:
                          type: string
                          minLength: 1
                          maxLength: 200
                        scope:
                          type: string
                          enum:
                            - sold_unit
                            - affected_person
                            - order
                        minimumSpendEligibility:
                          type: string
                          enum:
                            - food_beverage
                            - excluded
                            - unreviewed
                      required:
                        - chargeId
                        - scope
                        - minimumSpendEligibility
                      additionalProperties: false
                    reviewFacts:
                      maxItems: 50
                      type: array
                      items:
                        type: object
                        properties:
                          code:
                            type: string
                            enum:
                              - conflicting_lead_time
                              - unsupported_minimum_spend_basis
                              - unresolved_choice_scope
                              - ambiguous_category_scope
                              - staff_pricing
                          sourceText:
                            type: string
                            minLength: 1
                            maxLength: 2000
                          reason:
                            type: string
                            minLength: 1
                            maxLength: 2000
                        required:
                          - code
                          - sourceText
                          - reason
                        additionalProperties: false
                  required:
                    - priceSemantics
                    - printedPrice
                    - serves
                  additionalProperties: false
              required:
                - kind
                - facts
              additionalProperties: false
      required:
        - expectedDraftRevision
        - locationId
        - canonicalId
        - commercialFacts
      additionalProperties: false
    CatalogCommercialFactsMutationResult:
      type: object
      properties:
        draftRevision:
          type: integer
          minimum: 0
          exclusiveMinimum: true
          maximum: 9007199254740991
        locationId:
          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)$
        canonicalId:
          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)$
        commercialFacts:
          nullable: true
          oneOf:
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - menu
                facts:
                  type: object
                  properties:
                    rules:
                      type: object
                      properties:
                        all:
                          type: object
                          properties:
                            minimumGuests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            maximumGuests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            minimumUnits:
                              type: string
                              pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                            maximumUnits:
                              type: string
                              pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                            minimumSpend:
                              type: object
                              properties:
                                amountCents:
                                  type: integer
                                  minimum: 0
                                  maximum: 99999999
                                basis:
                                  type: string
                                  enum:
                                    - eligible_food_beverage_before_discounts
                              required:
                                - amountCents
                                - basis
                              additionalProperties: false
                            leadTimeHours:
                              type: integer
                              minimum: 0
                              maximum: 8760
                          additionalProperties: false
                        byServiceStyle:
                          type: object
                          additionalProperties:
                            type: object
                            properties:
                              minimumGuests:
                                type: integer
                                minimum: 0
                                exclusiveMinimum: true
                                maximum: 10000
                              maximumGuests:
                                type: integer
                                minimum: 0
                                exclusiveMinimum: true
                                maximum: 10000
                              minimumUnits:
                                type: string
                                pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                              maximumUnits:
                                type: string
                                pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                              minimumSpend:
                                type: object
                                properties:
                                  amountCents:
                                    type: integer
                                    minimum: 0
                                    maximum: 99999999
                                  basis:
                                    type: string
                                    enum:
                                      - eligible_food_beverage_before_discounts
                                required:
                                  - amountCents
                                  - basis
                                additionalProperties: false
                              leadTimeHours:
                                type: integer
                                minimum: 0
                                maximum: 8760
                            additionalProperties: false
                      additionalProperties: false
                    allocationGroups:
                      maxItems: 100
                      type: array
                      items:
                        type: object
                        properties:
                          groupId:
                            type: string
                            minLength: 1
                            maxLength: 200
                          minimumGuests:
                            type: integer
                            minimum: 0
                            exclusiveMinimum: true
                            maximum: 10000
                          maximumGuests:
                            type: integer
                            minimum: 0
                            exclusiveMinimum: true
                            maximum: 10000
                          minimumGuestsPerProduct:
                            type: integer
                            minimum: 0
                            exclusiveMinimum: true
                            maximum: 10000
                          maximumDistinctProducts:
                            type: integer
                            minimum: 0
                            exclusiveMinimum: true
                            maximum: 100
                          total:
                            type: string
                            enum:
                              - event_headcount
                        required:
                          - groupId
                          - minimumGuests
                          - maximumGuests
                          - minimumGuestsPerProduct
                          - maximumDistinctProducts
                          - total
                        additionalProperties: false
                    reviewFacts:
                      maxItems: 50
                      type: array
                      items:
                        type: object
                        properties:
                          code:
                            type: string
                            enum:
                              - conflicting_lead_time
                              - unsupported_minimum_spend_basis
                              - unresolved_choice_scope
                              - ambiguous_category_scope
                              - staff_pricing
                          sourceText:
                            type: string
                            minLength: 1
                            maxLength: 2000
                          reason:
                            type: string
                            minLength: 1
                            maxLength: 2000
                        required:
                          - code
                          - sourceText
                          - reason
                        additionalProperties: false
                  additionalProperties: false
              required:
                - kind
                - facts
              additionalProperties: false
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - category
                facts:
                  type: object
                  properties:
                    rules:
                      type: object
                      properties:
                        all:
                          type: object
                          properties:
                            minimumGuests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            maximumGuests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            minimumUnits:
                              type: string
                              pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                            maximumUnits:
                              type: string
                              pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                            minimumSpend:
                              type: object
                              properties:
                                amountCents:
                                  type: integer
                                  minimum: 0
                                  maximum: 99999999
                                basis:
                                  type: string
                                  enum:
                                    - eligible_food_beverage_before_discounts
                              required:
                                - amountCents
                                - basis
                              additionalProperties: false
                            leadTimeHours:
                              type: integer
                              minimum: 0
                              maximum: 8760
                          additionalProperties: false
                        byServiceStyle:
                          type: object
                          additionalProperties:
                            type: object
                            properties:
                              minimumGuests:
                                type: integer
                                minimum: 0
                                exclusiveMinimum: true
                                maximum: 10000
                              maximumGuests:
                                type: integer
                                minimum: 0
                                exclusiveMinimum: true
                                maximum: 10000
                              minimumUnits:
                                type: string
                                pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                              maximumUnits:
                                type: string
                                pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                              minimumSpend:
                                type: object
                                properties:
                                  amountCents:
                                    type: integer
                                    minimum: 0
                                    maximum: 99999999
                                  basis:
                                    type: string
                                    enum:
                                      - eligible_food_beverage_before_discounts
                                required:
                                  - amountCents
                                  - basis
                                additionalProperties: false
                              leadTimeHours:
                                type: integer
                                minimum: 0
                                maximum: 8760
                            additionalProperties: false
                      additionalProperties: false
                    serves:
                      nullable: true
                      oneOf:
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - exact
                            guests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            sourceText:
                              type: string
                              minLength: 1
                              maxLength: 2000
                          required:
                            - kind
                            - guests
                            - sourceText
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - range
                            minGuests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            maxGuests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            sourceText:
                              type: string
                              minLength: 1
                              maxLength: 2000
                          required:
                            - kind
                            - minGuests
                            - maxGuests
                            - sourceText
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - up_to
                            maxGuests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            sourceText:
                              type: string
                              minLength: 1
                              maxLength: 2000
                          required:
                            - kind
                            - maxGuests
                            - sourceText
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - approximate
                            minGuests:
                              nullable: true
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            maxGuests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            sourceText:
                              type: string
                              minLength: 1
                              maxLength: 2000
                          required:
                            - kind
                            - minGuests
                            - maxGuests
                            - sourceText
                          additionalProperties: false
                    planningYield:
                      nullable: true
                      type: object
                      properties:
                        guests:
                          type: string
                          pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                        quantity:
                          type: string
                          pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                        reviewNote:
                          type: string
                          minLength: 1
                          maxLength: 2000
                      required:
                        - guests
                        - quantity
                        - reviewNote
                      additionalProperties: false
                  additionalProperties: false
              required:
                - kind
                - facts
              additionalProperties: false
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - product
                facts:
                  type: object
                  properties:
                    priceBasis:
                      type: string
                      enum:
                        - per_person
                        - per_item
                        - per_dozen
                        - per_tray
                        - per_pack
                        - per_lb
                        - per_oz
                        - per_kg
                        - per_g
                        - per_gallon
                        - per_quart
                        - per_liter
                        - per_ml
                        - per_fl_oz
                    printedPrice:
                      oneOf:
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - exact
                            amountCents:
                              type: integer
                              minimum: 0
                              maximum: 99999999
                          required:
                            - kind
                            - amountCents
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - range
                            minCents:
                              type: integer
                              minimum: 0
                              maximum: 99999999
                            maxCents:
                              type: integer
                              minimum: 0
                              maximum: 99999999
                          required:
                            - kind
                            - minCents
                            - maxCents
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - quote_only
                          required:
                            - kind
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - unknown
                            reason:
                              type: string
                              minLength: 1
                              maxLength: 2000
                          required:
                            - kind
                            - reason
                          additionalProperties: false
                    serves:
                      nullable: true
                      oneOf:
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - exact
                            guests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            sourceText:
                              type: string
                              minLength: 1
                              maxLength: 2000
                          required:
                            - kind
                            - guests
                            - sourceText
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - range
                            minGuests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            maxGuests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            sourceText:
                              type: string
                              minLength: 1
                              maxLength: 2000
                          required:
                            - kind
                            - minGuests
                            - maxGuests
                            - sourceText
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - up_to
                            maxGuests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            sourceText:
                              type: string
                              minLength: 1
                              maxLength: 2000
                          required:
                            - kind
                            - maxGuests
                            - sourceText
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - approximate
                            minGuests:
                              nullable: true
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            maxGuests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            sourceText:
                              type: string
                              minLength: 1
                              maxLength: 2000
                          required:
                            - kind
                            - minGuests
                            - maxGuests
                            - sourceText
                          additionalProperties: false
                    quantityRules:
                      type: object
                      properties:
                        increment:
                          type: string
                          pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                        minimum:
                          type: string
                          pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                        maximum:
                          nullable: true
                          type: string
                          pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                      required:
                        - increment
                        - minimum
                        - maximum
                      additionalProperties: false
                    contents:
                      maxItems: 100
                      type: array
                      items:
                        type: object
                        properties:
                          name:
                            type: string
                            minLength: 1
                            maxLength: 2000
                          quantity:
                            type: string
                            pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                          unit:
                            type: string
                            enum:
                              - person
                              - item
                              - dozen
                              - tray
                              - pack
                              - lb
                              - oz
                              - kg
                              - g
                              - gallon
                              - quart
                              - liter
                              - ml
                              - fl_oz
                        required:
                          - name
                          - quantity
                          - unit
                        additionalProperties: false
                    planningYield:
                      nullable: true
                      type: object
                      properties:
                        guests:
                          type: string
                          pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                        quantity:
                          type: string
                          pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                        reviewNote:
                          type: string
                          minLength: 1
                          maxLength: 2000
                      required:
                        - guests
                        - quantity
                        - reviewNote
                      additionalProperties: false
                    minimumSpendEligibility:
                      type: string
                      enum:
                        - food_beverage
                        - excluded
                        - unreviewed
                    allocationGroupId:
                      type: string
                      minLength: 1
                      maxLength: 200
                    rules:
                      type: object
                      properties:
                        all:
                          type: object
                          properties:
                            minimumGuests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            maximumGuests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            minimumUnits:
                              type: string
                              pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                            maximumUnits:
                              type: string
                              pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                            minimumSpend:
                              type: object
                              properties:
                                amountCents:
                                  type: integer
                                  minimum: 0
                                  maximum: 99999999
                                basis:
                                  type: string
                                  enum:
                                    - eligible_food_beverage_before_discounts
                              required:
                                - amountCents
                                - basis
                              additionalProperties: false
                            leadTimeHours:
                              type: integer
                              minimum: 0
                              maximum: 8760
                          additionalProperties: false
                        byServiceStyle:
                          type: object
                          additionalProperties:
                            type: object
                            properties:
                              minimumGuests:
                                type: integer
                                minimum: 0
                                exclusiveMinimum: true
                                maximum: 10000
                              maximumGuests:
                                type: integer
                                minimum: 0
                                exclusiveMinimum: true
                                maximum: 10000
                              minimumUnits:
                                type: string
                                pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                              maximumUnits:
                                type: string
                                pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                              minimumSpend:
                                type: object
                                properties:
                                  amountCents:
                                    type: integer
                                    minimum: 0
                                    maximum: 99999999
                                  basis:
                                    type: string
                                    enum:
                                      - eligible_food_beverage_before_discounts
                                required:
                                  - amountCents
                                  - basis
                                additionalProperties: false
                              leadTimeHours:
                                type: integer
                                minimum: 0
                                maximum: 8760
                            additionalProperties: false
                      additionalProperties: false
                    reviewFacts:
                      maxItems: 50
                      type: array
                      items:
                        type: object
                        properties:
                          code:
                            type: string
                            enum:
                              - conflicting_lead_time
                              - unsupported_minimum_spend_basis
                              - unresolved_choice_scope
                              - ambiguous_category_scope
                              - staff_pricing
                          sourceText:
                            type: string
                            minLength: 1
                            maxLength: 2000
                          reason:
                            type: string
                            minLength: 1
                            maxLength: 2000
                        required:
                          - code
                          - sourceText
                          - reason
                        additionalProperties: false
                  required:
                    - priceBasis
                    - printedPrice
                    - serves
                  additionalProperties: false
              required:
                - kind
                - facts
              additionalProperties: false
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - modifier_group
                facts:
                  type: object
                  properties:
                    semanticRole:
                      type: string
                      enum:
                        - size
                        - choice
                  required:
                    - semanticRole
                  additionalProperties: false
              required:
                - kind
                - facts
              additionalProperties: false
            - type: object
              properties:
                kind:
                  type: string
                  enum:
                    - modifier_option
                facts:
                  type: object
                  properties:
                    priceSemantics:
                      type: string
                      enum:
                        - replaces_item
                        - adds_to_item
                    printedPrice:
                      nullable: true
                      oneOf:
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - exact
                            amountCents:
                              type: integer
                              minimum: 0
                              maximum: 99999999
                          required:
                            - kind
                            - amountCents
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - range
                            minCents:
                              type: integer
                              minimum: 0
                              maximum: 99999999
                            maxCents:
                              type: integer
                              minimum: 0
                              maximum: 99999999
                          required:
                            - kind
                            - minCents
                            - maxCents
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - quote_only
                          required:
                            - kind
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - unknown
                            reason:
                              type: string
                              minLength: 1
                              maxLength: 2000
                          required:
                            - kind
                            - reason
                          additionalProperties: false
                    serves:
                      nullable: true
                      oneOf:
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - exact
                            guests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            sourceText:
                              type: string
                              minLength: 1
                              maxLength: 2000
                          required:
                            - kind
                            - guests
                            - sourceText
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - range
                            minGuests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            maxGuests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            sourceText:
                              type: string
                              minLength: 1
                              maxLength: 2000
                          required:
                            - kind
                            - minGuests
                            - maxGuests
                            - sourceText
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - up_to
                            maxGuests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            sourceText:
                              type: string
                              minLength: 1
                              maxLength: 2000
                          required:
                            - kind
                            - maxGuests
                            - sourceText
                          additionalProperties: false
                        - type: object
                          properties:
                            kind:
                              type: string
                              enum:
                                - approximate
                            minGuests:
                              nullable: true
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            maxGuests:
                              type: integer
                              minimum: 0
                              exclusiveMinimum: true
                              maximum: 10000
                            sourceText:
                              type: string
                              minLength: 1
                              maxLength: 2000
                          required:
                            - kind
                            - minGuests
                            - maxGuests
                            - sourceText
                          additionalProperties: false
                    planningYield:
                      nullable: true
                      type: object
                      properties:
                        guests:
                          type: string
                          pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                        quantity:
                          type: string
                          pattern: ^(?:0|[1-9]\d{0,4})(?:\.\d{1,6})?$
                        reviewNote:
                          type: string
                          minLength: 1
                          maxLength: 2000
                      required:
                        - guests
                        - quantity
                        - reviewNote
                      additionalProperties: false
                    charge:
                      type: object
                      properties:
                        chargeId:
                          type: string
                          minLength: 1
                          maxLength: 200
                        scope:
                          type: string
                          enum:
                            - sold_unit
                            - affected_person
                            - order
                        minimumSpendEligibility:
                          type: string
                          enum:
                            - food_beverage
                            - excluded
                            - unreviewed
                      required:
                        - chargeId
                        - scope
                        - minimumSpendEligibility
                      additionalProperties: false
                    reviewFacts:
                      maxItems: 50
                      type: array
                      items:
                        type: object
                        properties:
                          code:
                            type: string
                            enum:
                              - conflicting_lead_time
                              - unsupported_minimum_spend_basis
                              - unresolved_choice_scope
                              - ambiguous_category_scope
                              - staff_pricing
                          sourceText:
                            type: string
                            minLength: 1
                            maxLength: 2000
                          reason:
                            type: string
                            minLength: 1
                            maxLength: 2000
                        required:
                          - code
                          - sourceText
                          - reason
                        additionalProperties: false
                  required:
                    - priceSemantics
                    - printedPrice
                    - serves
                  additionalProperties: false
              required:
                - kind
                - facts
              additionalProperties: false
      required:
        - draftRevision
        - locationId
        - canonicalId
        - commercialFacts
      additionalProperties: false
  securitySchemes:
    StaffSession:
      type: http
      scheme: bearer
      bearerFormat: JWT

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.