---
title: "Create order quote"
method: POST
path: "/orders/quote"
tags: ["Orders"]
---

# Create order quote

`POST /orders/quote`

## Request body

- object
  - `eventId` string, required — Unique identifier of the event for which to generate a price quote
  - `items` object[], required — List of items to include in the price quote calculation
    - `quantity` integer, required — Number of items purchased (minimum 1)
    - `admissionId` string — Unique identifier of the admission ticket type, required for ADMISSION items
    - `sectionId` string — Unique identifier of the venue section for this admission
    - `admission` Admission — Admission represents a specific type or category of ticket available for an event
      - `id` string, required — A unique identifier for this admission
      - `name` string, required — The display name of the admission type shown to customers
      - `subtitle` string — Short supporting text shown below the admission name
      - `description` string — Detailed information shown when customers expand 'More info'
      - `capacity` number — Maximum number of tickets that can be sold for this admission type. A value of -1 indicates unlimited
      - `limit` number — Maximum number of tickets of this admission type that can be purchased in a single order. A value of -1 indicates unlimited
      - `available` number, required — Current number of tickets available for purchase, calculated as capacity minus sold minus reserved. A value of -1 indicates unlimited
      - `sold` number, required — Total number of tickets of this admission type that have been purchased
      - `reserved` number, required — Number of tickets held for customers during checkout and not available to others
      - `order` number, required — Determines the position in which this admission type appears when listed. Lower values appear first
      - `createdAt` string, date-time, required — Timestamp in ISO 8601 format when this admission type was created
      - `updatedAt` string, date-time, required — Timestamp in ISO 8601 format when this admission type was last updated
      - `entryStartsAt` string, required — Wall clock time from which tickets of this type are valid for entry (no timezone)
      - `entryEndsAt` string, required — Wall clock time until which tickets of this type are valid for entry (no timezone)
      - `saleStartsAt` string, required — Wall clock time when ticket sales for this admission type begin (no timezone)
      - `saleEndsAt` string, required — Wall clock time when ticket sales for this admission type end (no timezone)
      - `saleEndsBehavior` 'SALE_ENDED' | 'SOLD_OUT' | 'DOOR' — Label to display for this admission after ticket sales have ended
      - `price` object, required — Pricing details for this admission type, including base cost and fees in cents, and currency
        - `base` integer, required — Base cost of a ticket for this admission type before fees, in cents
        - `booking` integer, required — Additional booking fee applied to the ticket price, in cents
        - `currency` 'AED' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BZD' | 'CAD' | 'CHF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MNT' | 'MOP' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MYR' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SEK' | 'SGD' | 'SHP' | 'SLE' | 'SRD' | 'SVC' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'UYU' | 'UZS' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XCD' | 'XOF' | 'XPF' | 'ZAR' | 'ZMW' | 'ZWL', required — Three-letter ISO 4217 currency code for the ticket price
        - `override` object — Optional pricing override used to calculate derived fee amounts.
          - `booking` number, required — Booking fee percentage used to calculate the booking fee.
      - `visibility` 'ALWAYS' | 'HIDDEN' | 'AFTER_ADMISSION' — Controls whether this admission type is shown publicly, revealed by a scoped coupon, or unlocked after another admission.
      - `visibleAfterAdmissionId` string, nullable — Unique admission identifier
      - `sectionId` string, nullable — Unique section identifier
      - `teamId` string, required — Team that owns this admission. Denormalized for efficient queries.
      - `promoterId` string, required — Identifier of the promoter responsible for this admission type
      - `eventId` string, required — Identifier of the event to which this admission type is linked
      - `eventSlug` string, required — URL-friendly slug for the event associated with this admission type
    - `section` Section — A section represents a distinct area or tier within an event venue with its own capacity and pricing
      - `id` string, required — Unique identifier for the section
      - `createdAt` string, date-time, required — Timestamp when the section was created in ISO 8601 format
      - `updatedAt` string, date-time, required — Timestamp when the section was last updated in ISO 8601 format
      - `name` string, required — Display name of the section (e.g., 'VIP Area', 'General Admission')
      - `capacity` number — Maximum number of attendees for this section. Use -1 for unlimited capacity
      - `limit` number — Maximum number of tickets for this section that can be purchased in a single order. A value of -1 indicates unlimited
      - `available` number, required — Number of tickets currently available for purchase in this section. Use -1 when capacity is unlimited
      - `sold` number, required — Number of tickets sold for this section
      - `reserved` number, required — Number of tickets currently reserved (in pending orders) for this section
      - `order` number, required — Display order of the section. Lower numbers appear first in listings
      - `visibility` 'ALWAYS' | 'STACKED' | 'HIDDEN' — Controls how this section is shown: always list all visible admissions, stack to show the cheapest available admission, or hide until a scoped coupon reveals it.
      - `location` object, required — Physical location details for the section
        - `id` string, required — Location identifier
        - `googlePlaceId` string — Google Place ID for this location
        - `createdAt` string, date-time, required — Timestamp in ISO 8601 format when the location was created
        - `updatedAt` string, date-time, required — Timestamp in ISO 8601 format when the location was last updated
        - `name` string, required — Location name
        - `address` string, required — Formatted address
        - `city` string — City name
        - `state` string — State or region
        - `postcode` string — Postal code
        - `country` string, required — Country name
        - `latitude` number, required — Latitude coordinate
        - `longitude` number, required — Longitude coordinate
        - `timeZone` string, required — IANA timezone identifier (e.g., 'America/New_York', 'Europe/London', 'Australia/Sydney', 'UTC'). Must be validated against the IANA timezone database where used.
        - `types` string[] — Google Place types indicating the category and nature of this location
        - `description` string — AI-generated description of the place, when available
        - `image` object — Primary location photo
          - `src` string, uri, required
          - `alt` string, required
          - `width` number, required
          - `height` number, required
        - `venueId` string — Venue identifier if this location is a managed venue on the platform
      - `teamId` string, required — Team that owns this section. Denormalized for efficient queries.
      - `promoterId` string, required — Unique identifier of the promoter who owns this section
      - `eventId` string, required — Unique identifier of the event this section belongs to
      - `eventSlug` string, required — URL-friendly identifier of the event this section belongs to
    - `id` string — Unique identifier for this order item. When omitted, the server assigns an id during processing
  - `couponCode` string — Optional coupon code to apply discount to the quote

## Response `200`

OK

- object
  - `quote` object, required
    - `items` object[], required — List of order items with complete pricing and admission details
      - `id` string, required — Unique identifier for this order item
      - `kind` 'ADMISSION' | 'ADDON', required — Type of item: ADMISSION for tickets, ADDON for additional products or services
      - `quantity` integer, required — Number of items purchased (minimum 1)
      - `admissionId` string — Unique identifier of the admission ticket type, required for ADMISSION items
      - `sectionId` string — Unique identifier of the venue section for this admission
      - `admission` Admission — Admission represents a specific type or category of ticket available for an event
        - `id` string, required — A unique identifier for this admission
        - `name` string, required — The display name of the admission type shown to customers
        - `subtitle` string — Short supporting text shown below the admission name
        - `description` string — Detailed information shown when customers expand 'More info'
        - `capacity` number — Maximum number of tickets that can be sold for this admission type. A value of -1 indicates unlimited
        - `limit` number — Maximum number of tickets of this admission type that can be purchased in a single order. A value of -1 indicates unlimited
        - `available` number, required — Current number of tickets available for purchase, calculated as capacity minus sold minus reserved. A value of -1 indicates unlimited
        - `sold` number, required — Total number of tickets of this admission type that have been purchased
        - `reserved` number, required — Number of tickets held for customers during checkout and not available to others
        - `order` number, required — Determines the position in which this admission type appears when listed. Lower values appear first
        - `createdAt` string, date-time, required — Timestamp in ISO 8601 format when this admission type was created
        - `updatedAt` string, date-time, required — Timestamp in ISO 8601 format when this admission type was last updated
        - `entryStartsAt` string, required — Wall clock time from which tickets of this type are valid for entry (no timezone)
        - `entryEndsAt` string, required — Wall clock time until which tickets of this type are valid for entry (no timezone)
        - `saleStartsAt` string, required — Wall clock time when ticket sales for this admission type begin (no timezone)
        - `saleEndsAt` string, required — Wall clock time when ticket sales for this admission type end (no timezone)
        - `saleEndsBehavior` 'SALE_ENDED' | 'SOLD_OUT' | 'DOOR' — Label to display for this admission after ticket sales have ended
        - `price` object, required — Pricing details for this admission type, including base cost and fees in cents, and currency
          - `base` integer, required — Base cost of a ticket for this admission type before fees, in cents
          - `booking` integer, required — Additional booking fee applied to the ticket price, in cents
          - `currency` 'AED' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BZD' | 'CAD' | 'CHF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MNT' | 'MOP' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MYR' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SEK' | 'SGD' | 'SHP' | 'SLE' | 'SRD' | 'SVC' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'UYU' | 'UZS' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XCD' | 'XOF' | 'XPF' | 'ZAR' | 'ZMW' | 'ZWL', required — Three-letter ISO 4217 currency code for the ticket price
          - `override` object — Optional pricing override used to calculate derived fee amounts.
            - `booking` number, required — Booking fee percentage used to calculate the booking fee.
        - `visibility` 'ALWAYS' | 'HIDDEN' | 'AFTER_ADMISSION' — Controls whether this admission type is shown publicly, revealed by a scoped coupon, or unlocked after another admission.
        - `visibleAfterAdmissionId` string, nullable — Unique admission identifier
        - `sectionId` string, nullable — Unique section identifier
        - `teamId` string, required — Team that owns this admission. Denormalized for efficient queries.
        - `promoterId` string, required — Identifier of the promoter responsible for this admission type
        - `eventId` string, required — Identifier of the event to which this admission type is linked
        - `eventSlug` string, required — URL-friendly slug for the event associated with this admission type
      - `section` Section — A section represents a distinct area or tier within an event venue with its own capacity and pricing
        - `id` string, required — Unique identifier for the section
        - `createdAt` string, date-time, required — Timestamp when the section was created in ISO 8601 format
        - `updatedAt` string, date-time, required — Timestamp when the section was last updated in ISO 8601 format
        - `name` string, required — Display name of the section (e.g., 'VIP Area', 'General Admission')
        - `capacity` number — Maximum number of attendees for this section. Use -1 for unlimited capacity
        - `limit` number — Maximum number of tickets for this section that can be purchased in a single order. A value of -1 indicates unlimited
        - `available` number, required — Number of tickets currently available for purchase in this section. Use -1 when capacity is unlimited
        - `sold` number, required — Number of tickets sold for this section
        - `reserved` number, required — Number of tickets currently reserved (in pending orders) for this section
        - `order` number, required — Display order of the section. Lower numbers appear first in listings
        - `visibility` 'ALWAYS' | 'STACKED' | 'HIDDEN' — Controls how this section is shown: always list all visible admissions, stack to show the cheapest available admission, or hide until a scoped coupon reveals it.
        - `location` object, required — Physical location details for the section
          - `id` string, required — Location identifier
          - `googlePlaceId` string — Google Place ID for this location
          - `createdAt` string, date-time, required — Timestamp in ISO 8601 format when the location was created
          - `updatedAt` string, date-time, required — Timestamp in ISO 8601 format when the location was last updated
          - `name` string, required — Location name
          - `address` string, required — Formatted address
          - `city` string — City name
          - `state` string — State or region
          - `postcode` string — Postal code
          - `country` string, required — Country name
          - `latitude` number, required — Latitude coordinate
          - `longitude` number, required — Longitude coordinate
          - `timeZone` string, required — IANA timezone identifier (e.g., 'America/New_York', 'Europe/London', 'Australia/Sydney', 'UTC'). Must be validated against the IANA timezone database where used.
          - `types` string[] — Google Place types indicating the category and nature of this location
          - `description` string — AI-generated description of the place, when available
          - `image` object — Primary location photo
            - `src` string, uri, required
            - `alt` string, required
            - `width` number, required
            - `height` number, required
          - `venueId` string — Venue identifier if this location is a managed venue on the platform
        - `teamId` string, required — Team that owns this section. Denormalized for efficient queries.
        - `promoterId` string, required — Unique identifier of the promoter who owns this section
        - `eventId` string, required — Unique identifier of the event this section belongs to
        - `eventSlug` string, required — URL-friendly identifier of the event this section belongs to
      - `price` object, required — Pricing breakdown for this order item including all fees and discounts
        - `net` integer, required — Total amount to pay to promoter in cents. Calculated as: total - booking - refunded
        - `total` integer, required — Total amount the customer should pay in cents. Calculated as: gross - discount
        - `gross` integer, required — Total amount before refunds and discounts in cents. Calculated as: base + booking
        - `base` integer, required — Total ticket price in cents
        - `booking` integer, required — Total booking fees in cents (non-refundable)
        - `refunded` integer, required — Total amount refunded in cents
        - `discount` integer, required — Total amount discounted in cents
        - `currency` 'AED' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BZD' | 'CAD' | 'CHF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MNT' | 'MOP' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MYR' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SEK' | 'SGD' | 'SHP' | 'SLE' | 'SRD' | 'SVC' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'UYU' | 'UZS' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XCD' | 'XOF' | 'XPF' | 'ZAR' | 'ZMW' | 'ZWL', required — Currency code in ISO 4217 format.
    - `price` object, required — Total pricing breakdown for the entire order quote
      - `net` integer, required — Total amount to pay to promoter in cents. Calculated as: total + booking + refunded + dispute
      - `total` integer, required — Total amount the customer should pay in cents. Calculated as: gross + discount
      - `gross` integer, required — Total amount before refunds and discounts in cents. Calculated as: base + booking + shipping
      - `base` integer, required — Total ticket price in cents
      - `booking` integer, required — Total booking fees in cents (non-refundable)
      - `shipping` integer, required — Total shipping amount in cents
      - `sms` integer — SMS delivery fee in cents (customer-facing price in event currency)
      - `refunded` integer, required — Total amount refunded in cents (negative value)
      - `discount` integer, required — Total amount discounted in cents (negative value)
      - `gateway` integer, required — Total absorbed payment gateway fees in cents (negative value)
      - `dispute` integer, required — Total non-absorbed payment gateway fees in cents (negative value)
      - `currency` 'AED' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BZD' | 'CAD' | 'CHF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MNT' | 'MOP' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MYR' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SEK' | 'SGD' | 'SHP' | 'SLE' | 'SRD' | 'SVC' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'UYU' | 'UZS' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XCD' | 'XOF' | 'XPF' | 'ZAR' | 'ZMW' | 'ZWL', required — Currency code in ISO 4217 format
    - `couponCode` CouponCode — coupon-code
      - `id` string, required — A unique identifier for this coupon code.
      - `createdAt` string, date-time, required — Timestamp in ISO 8601 format when this coupon code was created.
      - `updatedAt` string, date-time, required — Timestamp in ISO 8601 format when this coupon code was last updated.
      - `name` string, required — The code string that customers enter to redeem the coupon.
      - `active` boolean, required — Whether this coupon code is currently enabled for use.
      - `couponId` string, required — Identifier of the coupon to which this code belongs.
      - `teamId` string, required — Team that created this coupon code.
      - `uses` integer — Number of times this specific coupon code has been used in successful orders.
    - `stripeConnectAvailability` object — Stripe Connect availability metadata for tenant checkout UI.
      - `available` boolean, required — Whether Stripe Connect can be used for the selected team, event, and currency.
      - `reasons` string[], required — Machine-readable reasons Stripe Connect is unavailable. Empty when available is true.
      - `supportedCurrencies` string[], required — Currencies currently supported for Stripe Connect routing in this tenant flow.

## Other responses

- `400` — 400
- `401` — 401
- `403` — 403
- `404` — 404
- `409` — 409
- `412` — 412
- `422` — 422
- `429` — 429
- `500` — 500
- `501` — 501
- `503` — 503

---

[API](https://skmtc.net/session/apis/session-services-api.md) · [All operations](https://skmtc.net/session/apis/session-services-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/session/session-services-api/versions/bec3de84da9e/schema)
