Gett Developer Portal
  • Welcome
  • Distribution Partners
  • Brand Partners
  • Commerce Partners
  • Ecosystem Partners
  • Errors
  • API Reference
Documentation
  • Get Started
  • Marketfront SDK
  • API Reference
Resources
  • Payments
Company
  • Gett
  • Terms of Service
  • Privacy Policy

Copyright 2026 Gett. All rights reserved.

Information
Stores
    Discover StorespostGet Storeget
Catalog
    Get CatalogSetget
Orders
    Place orderpostValidate orderpost
Cart
    Add item to cartpostRemove item from cartpostUpdate item quantitypost
Schemas
powered by Zuplo
Gett Marketfront API
Gett Marketfront API

Schemas


AddAddressResponse

addressId
​string · uuid · required

AddCartItemRequest

Request body for `addCartItem`.
​LineItem · required

A line item in a shopping cart

​Cart

Shopping cart with line items. Carts are client-managed — there is no server-side cart storage.

catalogSetId
​null | string · uuid

Catalog set ID (required if cart is empty)

storeId
​null | string · uuid

Store ID (required if cart is empty)

AddPaymentCardRequest

​AddressInput · required

Billing address for the card. Server upserts (deduplicating by deterministic hash) and binds the resulting address to the saved card. Callers don't thread address ids through the API.

bin
​null | string · required
cardNumber
​null | string · required
cardType
​null | string · required
cvc
​null | string · required
expiration
​string · date · required
lastFour
​null | string · required

AddressInput

Address fields supplied by the client. Used as the body of `addAddress` and as the `BillingAddress` field on `addPaymentCard`; the server deduplicates by deterministic hash, so callers don't thread address ids through the API.
address1
​null | string · required
city
​null | string · required
postalCode
​null | string · required
state
​null | string · required
address2
​null | string

AmountDetail

amount
​number · double · required
description
​null | string · required

Amounts

Represents the monetary breakdown of an order including subtotal, fees, taxes, and total amount
adjustments
​number · double

Any manual adjustments made to the order amount

​null | array

Breakdown of the adjustments made to the order. The sum of the values should equal the Adjustments amount.

fees
​number · double

Additional fees applied to the order (e.g., service fees, booking fees)

​null | array

Breakdown of the fees applied to the order. The sum of the values should equal the Fees amount.

promotions
​number · double

The total amount of promotions or discounts applied to the order.
A discount should be represented as a POSITIVE value.

​null | array

Breakdown of the promotions or discounts applied. A discount should be represented as a POSITIVE value.

subTotal
​number · double

The subtotal amount of amounts being purchased before any fees, taxes, or adjustments

taxes
​number · double

Total tax amount applied to the order. This includes line item specific taxes.

​null | array

Breakdown of the taxes applied to the order. The sum of the values should equal the Taxes amount.

tip
​number · double

Tip amount added to the order. This should be a full pass-through to the merchant for them to distribute appropriately.

tipDescription
​null | string

Breakdown of the tip added to the order.
This may specify how the tip total is to be distributed ex:[("Staff", 5), ("Driver", 5)] The sum of the values should equal the Tip amount.

total
​number · double

The final total amount of the order. SubTotal + Fees + (-Promotions) + Taxes + Adjustments + Tip = Total

Availability

A time window when a catalog is available for ordering. Overnight availability (e.g., 10 PM - 2 AM) must be split into two windows: one ending at 00:00:00 on the first day, and one starting at 00:00:00 on the next day.
dayOfWeek
​DayOfWeek · enum · required

Day of week this availability window applies to

Enum values:
Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
end
​string · time · required

End time of the availability window. Use 00:00:00 to represent end-of-day.

start
​string · time · required

Start time of the availability window

AvailabilityWindow

One opening-hours window in a store's weekly schedule. Times are local to the store's Gett.Service.Marketfront.DTOs.Store.TimeZone, in `HH:mm` form.
dayOfWeek
​DayOfWeek · enum · required
Enum values:
Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
end
​null | string · required
start
​null | string · required

Cart

Shopping cart with line items. Carts are client-managed — there is no server-side cart storage.
catalogSetId
​string · uuid · required

Catalog set identifier (canonical Guid).

​null | array · required

Line items in the cart

storeId
​string · uuid · required

Store identifier (canonical Guid).

CartModifierGroup

Selected modifier group within a cart line item
​null | array · required

Selected modifier line items

modifierGroupId
​string · uuid · required

Reference to modifier group in CatalogSet

DayOfWeek

string · enum
Enum values:
Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday

DefaultItem

A pre-selected modifier option within a ModifierGroup (e.g., 'Comes with lettuce and tomato by default').
itemId
​string · uuid

Item ID — must be one of the modifier group's itemIds

quantity
​integer · int32

Number of times this item is pre-selected

DeliveryType

string · enum
Enum values:
DoorToDoor
LeaveAtDoor

Type of delivery handoff

DiscoverStoresRequest

Request to discover stores near a location
​Location · required

Location to search near

fulfillmentType
​FulfillmentType · enum

Filter by fulfillment method (delivery or pickup).

Enum values:
PickUp
DeliveryByMerchant
limit
​integer · int32

Maximum number of results to return

offset
​integer · int32

Offset for pagination

query
​null | string

Free-text search query. Accepts anything from single keywords like "pizza" to natural language requests like "healthy lunch spots with outdoor seating".

DiscoverStoresResponse

Store discovery results with pagination
hasMore
​boolean · required

Whether more results are available

​null | array · required

Stores matching the discovery criteria.

totalCount
​integer · int32 · required

Total number of matching stores (for pagination)

DishHighlights

Highlighted dish-field variants — match tokens wrapped in `«…»`.
description
​null | string
name
​null | string

ExternalAddress

Physical address for external/partner-facing APIs. Excludes internal references (AddressId).
address1
​null | string · required
city
​null | string · required
postalCode
​null | string · required
state
​null | string · required
address2
​null | string
​LatLong

Server-geocoded coordinates. Populated on responses; ignored on requests (the server always geocodes from the address fields to avoid trusting partner-supplied points).

ExternalCatalog

Partner-facing Catalog (menu). Excludes internal fields (ProviderMetadata).
sectionIds
​null | array · required

Ordered list of section IDs

​null | array

Time windows when this catalog is available. Empty or null = the catalog is never open; supply explicit windows for every day to declare 24/7 availability. Mirrors the same fail-closed semantic as Store.Availability. See the CatalogSet Guide for overnight handling.

catalogId
​string · uuid

Unique catalog identifier

name
​null | string

Menu name (e.g., 'Lunch Menu')

ExternalCatalogSet

Complete menu structure for a store, using normalized dictionaries (id-to-object maps) for O(1) lookups and zero duplication. CatalogSets are immutable — cache aggressively using `catalogSetId`. See the [CatalogSet Guide](/distribution-partners/marketfront-api/guides/catalog-structure) for structure, business rules, and pricing.
​null | object · required

Menus keyed by catalog ID

​null | object · required

Menu items keyed by item ID

​null | object · required

Modifier groups keyed by modifier group ID

​null | object · required

Menu sections keyed by section ID

catalogSetId
​string · uuid

Unique identifier for this catalog version

ExternalCustomer

Customer contact information for external/partner-facing APIs. Excludes internal identity fields (UserId, UserState).
email
​null | string · required
firstName
​null | string · required
lastName
​null | string · required
phone
​null | string · required
partnerUserId
​null | string

Partner-side stable identifier for this customer. Used as the durable bridge key to a Gett User via DistributionPartnerUser. Required on api-key direct-order requests; null on session-derived customers (the session JWT already pins the user).

ExternalDeliveryInfo

Delivery details for external/partner-facing APIs. Replaces AddressId with an inline address.
type
​DeliveryType · enum · required

Type of delivery handoff

Enum values:
DoorToDoor
LeaveAtDoor
​ExternalAddress

Physical address for external/partner-facing APIs. Excludes internal references (AddressId).

instructions
​null | string

ExternalItem

Partner-facing Item. Excludes internal fields (ProviderMetadata).
name
​null | string · required

Item display name

basePrice
​number · double

Raw price of the item before modifiers, and the ONLY authority for commerce. The running/cart total is ALWAYS BasePrice + Σ(modifier BasePrice); see the CatalogSet Guide #price-calculation. Never compute a total from StartingAt.

compareAt
​null | number · double

Original/marketplace price for showing savings (e.g., strikethrough pricing). Present when the item is priced below a comparable marketplace listing.

description
​null | string

Item description

imageUrl
​null | string

Item image URL

itemId
​string · uuid

Unique item identifier

modifierGroupIds
​null | array

List of modifier group IDs for this item

startingAt
​null | number · double

Headline "from $X" DISPLAY price only (e.g., 'Starting at $12.00') — the cheapest orderable configuration. It already folds in the cheapest required modifier of each group, so NEVER add modifiers to it; doing so double-counts. The cart total is computed from raw BasePrice, not from StartingAt. CompareAt (not StartingAt) drives savings/strikethrough.

ExternalModifierGroup

Customization options for a menu item. Modifier options are Item objects referenced by `itemIds` — these items can have their own `modifierGroupIds`, enabling nested customization. See the [CatalogSet Guide](/distribution-partners/marketfront-api/guides/catalog-structure#modifier-groups) for selection rules, tiered pricing, and examples.
itemIds
​null | array · required

Available modifier options (references items)

maximumAllowed
​integer · int32 · required

Maximum selections allowed

minimumAllowed
​integer · int32 · required

Minimum selections required

name
​null | string · required

Display name (e.g., 'Choose Size')

​null | array

Pre-selected modifier options. Total quantity across all defaults must not exceed maximumAllowed.

enableDuplicateItems
​boolean

Whether same modifier can be selected multiple times (e.g., 'Extra Pepperoni' x2). Required for scenarios like dozen bagels where fewer unique items than minimumAllowed exist.

modifierGroupId
​string · uuid

Unique modifier group identifier

​null | array

Quantity-based pricing tiers. When present, overrides item basePrice for selections in this group. See the CatalogSet Guide for calculation details.

ExternalOrder

Clean, partner-facing order representation. Used as both request and response for the Marketfront API. Excludes internal fields: UserId, PaymentId, DistributionPartnerId, ProviderMetadata.
​Cart · required

Shopping cart with line items.

fulfillmentType
​FulfillmentType · enum · required

Flat fulfillment mode for the partner-facing wire shape. Lives on ExternalOrder only — the internal Gett.Core.Order.Order carries a discriminated Gett.Core.Order.Fulfillment variant instead. Projected from Order.Fulfillment.Mode by Gett.Core.Order.ExternalOrderMapper on the way out; read and used to construct Order.Fulfillment on the way in.

Enum values:
PickUp
DeliveryByMerchant
​Amounts

Pricing breakdown. On validateOrder, the partner supplies Amounts.Tip; the server computes and returns the rest of the breakdown. On placeOrder, the provider returns the authoritative post-place breakdown that gets persisted. Nullable because validate-only flows may omit it.

​ExternalCustomer

Customer contact information.

Required for partner api-key flows. Optional when the request is authenticated with a Marketfront session JWT — the server resolves the customer from the session user's profile.

​ExternalDeliveryInfo

Delivery details. Required when FulfillmentType is DeliveryByMerchant.

​null | array

Validation or placement errors, if any. Same element shape as Gett.Core.ProblemDetail.Errors so partners get one parser across both inline-on-200 and 4xx error paths.

gettOrderId
​string · uuid

Unique order identifier assigned by Gett. Empty in wire requests — set by server on placement.

isValid
​boolean · readOnly

Whether the order passed validation (no errors).

partnerOrderId
​null | string

Partner's own order identifier, assigned after placement by the provider.

placedAt
​null | string · date-time

When the order was placed.

traceId
​null | string

W3C trace id (32-hex) for this response, populated only when Gett.Core.Order.ExternalOrder.Errors is non-empty. Lets a tester or support agent jump straight from a failed validation/placement to the distributed trace and correlated logs in SigNoz — the bridge that was missing when a generic OTHER error gave no handle back to the server-side exception. Null on success.

ExternalSection

Partner-facing Section. Excludes internal fields (ProviderMetadata).
name
​null | string · required

Section name (e.g., 'Appetizers')

itemIds
​null | array

Ordered list of item IDs

sectionId
​string · uuid

Unique section identifier

sectionIds
​null | array

Child section IDs for nested hierarchies (e.g., 'Food' → 'Hot Food' → 'Pizza')

FulfillmentContextDto

Atomic mode+address primitive exposed to partner session clients. Returned in Gett.Service.Marketfront.DTOs.SessionMeResponse; the address resolved by Gett.Service.Marketfront.DTOs.FulfillmentContextDto.AddressId is also surfaced verbatim on Gett.Service.Marketfront.DTOs.SessionMeResponse.Address.
addressId
​string · uuid · required
mode
​FulfillmentType · enum · required

Fulfillment method for the order

Enum values:
PickUp
DeliveryByMerchant

FulfillmentType

string · enum
Enum values:
PickUp
DeliveryByMerchant

Fulfillment method for the order

HoistSessionRequest

Request body for `POST /v1/marketplace/session/hoist`. SDK-internal endpoint: promotes an L0 session to L1 using a gett.co Google ID token. Not exposed in the partner OAS.
googleIdToken
​null | string · required

A Google ID token obtained from the gett.co Google OAuth client. The server validates the token signature, expiry, and audience (pinned to gett.co client IDs) before promoting the session.

LatLong

lat
​number · double
lng
​number · double

LineItem

A line item in a shopping cart
itemId
​string · uuid · required

Reference to item in CatalogSet

​null | array · required

Selected modifier groups for this item

quantity
​integer · int32 · required

Item quantity

lineItemId
​null | string · uuid

Unique identifier for this line item

Location

Location coordinates for store discovery
latitude
​number · double · required

Latitude coordinate

longitude
​number · double · required

Longitude coordinate

MatchedDish

A dish that matched the search query — shown alongside its store to explain why the store surfaced.
itemId
​string · uuid · required

Unique item identifier within the store catalog.

name
​null | string · required

Dish display name.

basePrice
​number · double

Base price of the dish.

description
​null | string

Dish description.

​DishHighlights

Highlighted versions of text fields, with match tokens wrapped in «…» sentinels.

imageUrl
​null | string

Dish image URL.

PaymentInfo

Payment method specification. Three mutually-exclusive types: - `gettPayment` — payment is handled by Gett (SDK integrations). - `cardOnFile` — partner's processor card token; requires `CardToken` + `ProcessorType`. - `savedCard` — Gett-managed saved card (iframe checkout); requires `PaymentId`.
type
​null | string · required

Payment method type — one of gettPayment, cardOnFile, savedCard.

cardToken
​null | string

For cardOnFile: Your processor's card token

paymentId
​null | string · uuid

For savedCard: id of a Gett-managed payment owned by the session user.

processorType
​null | string

For cardOnFile: stripe, braintree, square, etc.

PlaceOrderRequest

Request to place an order. Extends ExternalOrder with payment details. For validation, use ExternalOrder directly.
​Cart · required

Shopping cart with line items.

fulfillmentType
​FulfillmentType · enum · required

Flat fulfillment mode for the partner-facing wire shape. Lives on ExternalOrder only — the internal Gett.Core.Order.Order carries a discriminated Gett.Core.Order.Fulfillment variant instead. Projected from Order.Fulfillment.Mode by Gett.Core.Order.ExternalOrderMapper on the way out; read and used to construct Order.Fulfillment on the way in.

Enum values:
PickUp
DeliveryByMerchant
​PaymentInfo · required

Payment details — see the Payments Guide.

​Amounts

Pricing breakdown. On validateOrder, the partner supplies Amounts.Tip; the server computes and returns the rest of the breakdown. On placeOrder, the provider returns the authoritative post-place breakdown that gets persisted. Nullable because validate-only flows may omit it.

​ExternalCustomer

Customer contact information.

Required for partner api-key flows. Optional when the request is authenticated with a Marketfront session JWT — the server resolves the customer from the session user's profile.

​ExternalDeliveryInfo

Delivery details. Required when FulfillmentType is DeliveryByMerchant.

​null | array

Validation or placement errors, if any. Same element shape as Gett.Core.ProblemDetail.Errors so partners get one parser across both inline-on-200 and 4xx error paths.

gettOrderId
​string · uuid

Unique order identifier assigned by Gett. Empty in wire requests — set by server on placement.

isValid
​boolean · readOnly

Whether the order passed validation (no errors).

partnerOrderId
​null | string

Partner's own order identifier, assigned after placement by the provider.

placedAt
​null | string · date-time

When the order was placed.

traceId
​null | string

W3C trace id (32-hex) for this response, populated only when Gett.Core.Order.ExternalOrder.Errors is non-empty. Lets a tester or support agent jump straight from a failed validation/placement to the distributed trace and correlated logs in SigNoz — the bridge that was missing when a generic OTHER error gave no handle back to the server-side exception. Null on success.

ProblemDetail

RFC 9457 Problem Details for HTTP APIs. Standard error response format with operational extension members for deterministic retry/escalation decisions.
status
​integer · int32 · required

The HTTP status code.

title
​null | string · required

A short, human-readable summary of the problem type.

type
​null | string · required

A URI reference that identifies the problem type.

detail
​null | string

A human-readable explanation specific to this occurrence.

errorCategory
​null | string

Machine-readable error category (e.g. validation, rate_limit, payment, availability, server_error).

errorCode
​null | string

Machine-readable error code for domain-specific errors.

​null | array

Validation error details, when applicable.

instance
​null | string

A URI reference that identifies the specific occurrence.

requestId
​null | string

Unique identifier for this request, useful for support.

retryAfter
​null | integer · int32

Seconds to wait before retrying. Present when retryable is true and a wait period is known.

retryable
​null | boolean

Whether the request can be retried with a reasonable expectation of success.

timestamp
​null | string · date-time

When the error occurred.

traceId
​null | string

W3C trace id (32-hex) for this request. Paste into SigNoz trace search to find the distributed trace and correlated logs. Populated by the global exception filter.

RemoveCartItemRequest

Request body for `removeCartItem`.
​Cart · required

Shopping cart with line items. Carts are client-managed — there is no server-side cart storage.

lineItemId
​string · uuid · required

ID of the line item to remove

SessionAddress

address1
​null | string · required
city
​null | string · required
postalCode
​null | string · required
state
​null | string · required
address2
​null | string
addressId
​null | string · uuid
​LatLong

SessionCreateRequest

Session identity is binary and atomic: <list type="bullet"><item><b>Anonymous</b> — empty body. No Gett.Service.Marketfront.DTOs.SessionCreateRequest.PartnerUserId, no identity fields. The session has no cross-partner attribution; the server mints a `gen_<guid>`Gett.Service.Marketfront.DTOs.SessionCreateRequest.PartnerUserId for within-session FulfillmentContext continuity (rekeyed to sessionId at session-create).</item><item><b>Identified</b> — strict 4-tuple Gett.Service.Marketfront.DTOs.SessionCreateRequest.PartnerUserId, Gett.Service.Marketfront.DTOs.SessionCreateRequest.Email, Gett.Service.Marketfront.DTOs.SessionCreateRequest.FirstName, Gett.Service.Marketfront.DTOs.SessionCreateRequest.LastName. All four required together. Any partial combination — including bare Gett.Service.Marketfront.DTOs.SessionCreateRequest.PartnerUserId alone — is rejected with 400 `INCOMPLETE_IDENTITY`. The full tuple resolves a Gett user.</item></list> Order-readiness data (Gett.Service.Marketfront.DTOs.SessionCreateRequest.Address, Gett.Service.Marketfront.DTOs.SessionCreateRequest.Phone, payment) is progressive — supply at create-time for a head-start, or add later via the dedicated endpoints. See `SessionCreateResponse.Level` / `SessionMeResponse.LevelMissing` for the gating contract. Token lifetime is server-policy and is not negotiable per request.
​SessionAddress
email
​null | string
firstName
​null | string
lastName
​null | string
partnerUserId
​null | string
phone
​null | string

SessionCreateResponse

expiresAt
​string · date-time · required
isAnonymous
​boolean · required

Partner-facing identity flag. true when no identity tuple was supplied at session-create; false when the full {partnerUserId, email, firstName, lastName} tuple resolved a Gett user. Orthogonal to Gett.Service.Marketfront.DTOs.SessionCreateResponse.Level (which encodes order-readiness progression).

level
​integer · int32 · required

Order-readiness progression: 0 (anonymous), 1 (identified, no delivery info), 2 (identified + address AND phone), 3 (identified + delivery + payment, fully order-ready). Create-time max is 2 — L3 requires payment tokenization via Evervault post-create. Identity is binary and orthogonal (Gett.Service.Marketfront.DTOs.SessionCreateResponse.IsAnonymous); Gett.Service.Marketfront.DTOs.SessionCreateResponse.Level only progresses for identified sessions. ProfileCompleteness.IsComplete remains the canonical place-order gate.

partnerUserId
​null | string · required

Always set. Echoes the caller-supplied id for identified sessions, or a server-minted gen_<guid> for anonymous sessions. For anonymous sessions the value is ephemeral — the within-session FulfillmentContext blob uses it as a key but it is not promised across fresh anonymous sessions.

sessionId
​null | string · required

Stable per-token identifier — the JWT's jti claim surfaced for clients that key session-scoped state without parsing the token. Same value across Gett.Service.Marketfront.DTOs.SessionCreateResponse and Gett.Service.Marketfront.DTOs.SessionMeResponse for one token. Distinct on every fresh session-create (anonymous or identified). Used by the SDK Web Component as the mf:<sessionId>:* localStorage prefix.

token
​null | string · required

SessionMePartner

partnerId
​string · uuid · required
​null | object · required

SessionMeResponse

expiresAt
​string · date-time · required
isAnonymous
​boolean · required

Partner-facing identity flag. true when the session has no identity tuple resolved (anonymous browse); false when the session is identified. Orthogonal to Gett.Service.Marketfront.DTOs.SessionMeResponse.Level.

level
​integer · int32 · required

Order-readiness progression computed from the user's current DB state: 0 (anonymous), 1 (identified, no delivery info), 2 (identified + address AND phone), 3 (identified + delivery + payment, fully order-ready). ProfileCompleteness.IsComplete remains the canonical place-order gate.

levelMissing
​null | array · required

Subset of ["address", "phone", "payment"] the user has not yet supplied. Empty when Gett.Service.Marketfront.DTOs.SessionMeResponse.Level is 3 (fully order-ready); ["address", "phone", "payment"] for anonymous sessions. Drives session-level "tap to add" UX without re-deriving from the User block.

​SessionMePartner · required
sessionId
​null | string · required

Stable per-token identifier — the JWT's jti claim surfaced for clients that key session-scoped state without parsing the token. Same value as on Gett.Service.Marketfront.DTOs.SessionCreateResponse for one token. Used by the SDK Web Component as the mf:<sessionId>:* localStorage prefix.

​SessionAddress
​FulfillmentContextDto

Current atomic fulfillment context for the session, or null if the user has not committed one yet. When set, the address referenced by AddressId is guaranteed to belong to the authenticated user. Anonymous sessions always receive null.

​SessionMeUser

Authenticated user block. null for anonymous sessions — the JWT carries no Id claim, no Gett user resolved. Populated for identified sessions.

SessionMeUser

email
​null | string · required
userId
​string · uuid · required
firstName
​null | string
lastName
​null | string
lastPaymentId
​null | string · uuid

Last-used saved payment. Drives "default for next order" payment selection on the consumer client.

lastUserAddressId
​null | string · uuid

Last-used address from the user's address book. Drives "default for next order" selection on the consumer client.

phone
​null | string

SetFulfillmentContextRequest

Request body for `setFulfillmentContext`. Always carries the address fields verbatim — the server upserts (deduplicating by deterministic hash) and enriches with lat/lng + timezone before persisting. Callers don't need to thread address ids through the API.
​SessionAddress · required
mode
​FulfillmentType · enum · required

Fulfillment method for the order

Enum values:
PickUp
DeliveryByMerchant

Store

A store available for ordering
categories
​null | array · required

Tags the client groups and filters by. Mixes cuisine names from the store's category metadata with synthetic system tags computed at request time: Closest — in the closest cluster by distance.Popular — high average rating.Savings — currently runs a meaningful discount.Exclusive — catalog set is partner-supplied (no discount). Synthetic tags are best-effort on search-mode results — index data is sufficient for cuisine + Popular but Savings/Exclusive are skipped when not derivable from the search hit.

deliveryAllowed
​boolean · required

Whether this store supports delivery fulfillment.

name
​null | string · required

Store display name

​StoreOptions · required

Per-store capability flags. Unlike availability (Gett.Service.Marketfront.DTOs.Store.DeliveryAllowed/ Gett.Service.Marketfront.DTOs.Store.PickupAllowed), options describe how the store can be interacted with. Extension point for future capabilities (min-order, scheduling modes, …).

pickupAllowed
​boolean · required

Whether this store supports pickup fulfillment.

stem
​null | string · required

URL-safe slug used to navigate to the store page: /store/{stem}.

storeId
​string · uuid · required

Unique store identifier

​ExternalAddress

Physical address for external/partner-facing APIs. Excludes internal references (AddressId).

​null | array

Weekly opening-hours pattern. Null when the store does not publish availability windows. The server treats null/empty as "closed" when computing Gett.Service.Marketfront.DTOs.Store.IsAcceptingOrders — partners should rely on that flag rather than deriving open-state from this field.

catalogSetId
​null | string · uuid

ID for fetching the store's catalog

description
​null | string

Store description

distanceMiles
​number · double

Distance from search location in miles

​StoreHighlights

Highlighted versions of text fields, with match tokens wrapped in «…» sentinels. Populated only for search-mode results so the UI can bold the matched substring.

imageUrl
​null | string

Store hero image

isAcceptingOrders
​boolean

Whether the store is accepting orders right now. Computed server-side by intersecting the request instant with Gett.Service.Marketfront.DTOs.Store.Availability in the store's Gett.Service.Marketfront.DTOs.Store.TimeZone. False when the store is disabled, has no catalog, has no published windows, or has no zone.

​null | array

Dishes on this store's menu that matched the query. Populated only when the search query surfaced the store through a dish hit (e.g. "pad thai" landing you on a restaurant whose name has no mention of Thai food).

priceLevel
​integer · int32

Price tier (1=cheap … 4=expensive).

rating
​null | number · double

Average rating (1-5)

reviewCount
​integer · int32

Number of reviews

savings
​null | integer · int32

Active discount as a percentage (0–100). Null when no discount is running. The "Savings" entry in Gett.Service.Marketfront.DTOs.Store.Categories is the presentation flag; this is the underlying number for display (e.g. "SAVE 11%").

timeZone
​null | string

IANA timezone of the store's address (e.g. "America/Los_Angeles"). Used by the client to interpret Gett.Service.Marketfront.DTOs.Store.Availability windows against the user's clock.

StoreHighlights

Highlighted field variants — each string has match tokens wrapped in `«…»`. The frontend parses these into JSX without raw HTML.
description
​null | string
name
​null | string

StoreOptions

Per-store capability flags surfaced to partner API consumers. Distinct from availability flags (DeliveryAllowed / PickupAllowed) which describe whether a fulfillment mode can be used at all.
acceptsDeliveryTips
​boolean · required

Whether this store accepts tips on delivery orders.

acceptsPickupTips
​boolean · required

Whether this store accepts tips on pickup orders.

Tier

A pricing tier for quantity-based modifier pricing. Tiers must be in ascending offset order. When tieredPricing is present on a ModifierGroup, it replaces item basePrice for calculating modifier costs.
offset
​integer · int32

0-based selection index where this tier begins. For the k-th selection, use the tier with the greatest offset that is <= k.

price
​number · double

Price charged per selection at this tier

UpdateCartItemRequest

Request body for `updateCartItem`.
​Cart · required

Shopping cart with line items. Carts are client-managed — there is no server-side cart storage.

lineItemId
​string · uuid · required

ID of the line item to update

quantity
​integer · int32 · required

New quantity (0 removes the item)

UpdateProfileRequest

Phone-only profile update. Identity fields (`email`, `firstName`, `lastName`) are set ONCE at session-create as part of the atomic identified-session tuple and cannot be patched after the fact — that would re-introduce the progressive-disclosure surface the new contract is designed to remove. Address mutations go through `/checkout/addresses`; payment via Evervault tokenization on `/checkout/payments`.
phone
​null | string

UserAddressResponse

One entry in the session user's address book. Returned by `getAddresses`; consumed by clients building "saved addresses" pickers.
​SessionAddress · required
userAddressId
​string · uuid · required
instructions
​null | string

UserAddressResponsePagedResult

Standard envelope for list responses. New list endpoints adopt this shape; downstream clients can rely on `items`/`limit`/`offset`/ `totalCount`/`hasMore` being present without per-endpoint destructuring.
hasMore
​boolean · required

True when offset + limit < totalCount.

​null | array · required

The page of results.

limit
​integer · int32 · required

Effective page size after clamping.

offset
​integer · int32 · required

Effective offset after clamping.

totalCount
​integer · int32 · required

Total number of items matching the query, across all pages.

UserPaymentResponse

cardType
​null | string · required
lastFour
​null | string · required
paymentId
​string · uuid · required
expirationDate
​null | string · date

UserPaymentResponsePagedResult

Standard envelope for list responses. New list endpoints adopt this shape; downstream clients can rely on `items`/`limit`/`offset`/ `totalCount`/`hasMore` being present without per-endpoint destructuring.
hasMore
​boolean · required

True when offset + limit < totalCount.

​null | array · required

The page of results.

limit
​integer · int32 · required

Effective page size after clamping.

offset
​integer · int32 · required

Effective offset after clamping.

totalCount
​integer · int32 · required

Total number of items matching the query, across all pages.

ValidationError

Validation error detail. Used in two contexts with the same shape: (1) inline on `ExternalOrder.errors[]` when `POST /orders/validate` returns 200 with `isValid: false`; (2) inside `ProblemDetail.errors` on 4xx validation responses.
code
​null | string

Specific validation error code identifying the issue.

itemId
​null | string

Affected item ID (if applicable)

jsonPath
​null | string

JSON path to the offending field (e.g. $.cart.lineItems[0], $.fulfillmentType). More general than Gett.Core.ValidationError.ItemId.

message
​null | string

User-friendly error message

On this page
  • AddAddressResponse
  • AddCartItemRequest
  • AddPaymentCardRequest
  • AddressInput
  • AmountDetail
  • Amounts
  • Availability
  • AvailabilityWindow
  • Cart
  • CartModifierGroup
  • DayOfWeek
  • DefaultItem
  • DeliveryType
  • DiscoverStoresRequest
  • DiscoverStoresResponse
  • DishHighlights
  • ExternalAddress
  • ExternalCatalog
  • ExternalCatalogSet
  • ExternalCustomer
  • ExternalDeliveryInfo
  • ExternalItem
  • ExternalModifierGroup
  • ExternalOrder
  • ExternalSection
  • FulfillmentContextDto
  • FulfillmentType
  • HoistSessionRequest
  • LatLong
  • LineItem
  • Location
  • MatchedDish
  • PaymentInfo
  • PlaceOrderRequest
  • ProblemDetail
  • RemoveCartItemRequest
  • SessionAddress
  • SessionCreateRequest
  • SessionCreateResponse
  • SessionMePartner
  • SessionMeResponse
  • SessionMeUser
  • SetFulfillmentContextRequest
  • Store
  • StoreHighlights
  • StoreOptions
  • Tier
  • UpdateCartItemRequest
  • UpdateProfileRequest
  • UserAddressResponse
  • UserAddressResponsePagedResult
  • UserPaymentResponse
  • UserPaymentResponsePagedResult
  • ValidationError