A
concept
A server-only credential for private admin or partner integrations. Public
Storefront API clients do not use an API key.
concept
A tracked action in the ordering funnel. Clients may fire cart-authorized
SCAN, CART_VIEW, or CHECKOUT_VIEW; Crave records ORDER_PLACED
server-side after authoritative order creation. See Analytics
guide.C
model
A temporary container holding a customer’s selected items, modifiers,
fulfillment method, and order timing. Created when an ordering session starts.
Identified by
cartId. Carts expire after inactivity.concept
The secret
cartAccessToken returned when starting an ordering session.
Persist it with the cart ID and revision in tab-scoped browser storage or
secure mobile storage, and send it only in X-Cart-Token.model
A grouping of products within a menu (e.g., “Appetizers”, “Mains”, “Drinks”).
Contains an ordered list of
productIds. Displayed as tabs or sections in the
storefront.service
Authentication provider used for the Admin API and Dashboard. Clerk manages
user sessions, organization memberships, and JWT tokens. Not used for
storefront customer-facing flows.
D
concept
The geographic area a location delivers to. Checked via
storefront.locations.distance() before setting a delivery address on a cart.concept
A promo code (e.g.,
SAVE10) applied to a cart for a percentage or fixed
discount. Applied via storefront.cart.applyDiscount(), removed via
storefront.cart.removeDiscount().F
concept
How a customer receives their order. Four options:
takeout (counter pickup),
delivery (address-based), table_side (dine-in to a table number),
room_service (hotel room delivery). Set on the cart before checkout. See
Fulfillment Methods guide.G
concept
An optional tip amount added during checkout. Locations configure whether
tipping is enabled, suggested percentages, a default percentage, and whether
custom amounts are allowed. Set via
storefront.cart.updateGratuity().L
model
A physical or virtual restaurant location within a merchant organization. Each
location has its own menus, hours, fulfillment methods, and payment settings.
Identified by ObjectId or slug.
M
A collection of categories and products for a location. Locations can have
multiple menus (e.g., Lunch, Dinner, Weekend Brunch). The active menu depends
on the current time and the location’s schedule.
model
The top-level business entity. A merchant has one or more locations. Looked up
by slug via
storefront.merchant.getBySlug().model
A set of customization options for a product (e.g., Size, Toppings, Extras).
Each group has
min/max selection rules. Contains modifier items.model
A single option within a modifier group (e.g., “Large”, “Extra Cheese”,
“Bacon”). Has an optional price and max quantity.
O
concept
The checkout result state returned to a customer:
payment_pending,
order_pending, completed, or failed.concept
The entry point for a customer interaction. Starting a session returns the
cart, its capability, and current revision. Created via
storefront.orderingSessions.start().P
concept
A Stripe PaymentIntent created for an authorized cart via
storefront.checkout.createPaymentIntent(). Its clientSecret is passed to
Stripe.js. See Accept Payments guide.model
A menu item with name, description, price, images, and optional modifier
groups. Added to carts with quantity and modifier selections.
R
concept
A post-order experience rating (1-5 stars) with optional comment. Submitted
via
storefront.ratings.submit() while the completed cart capability is
available.S
concept
A developer mode toggle that routes all operations through Stripe test mode.
Orders are logged but not sent to the restaurant. Toggled via the Admin API’s
/developer-mode endpoint.concept
A URL-safe identifier for merchants and locations (e.g.,
downtown-pizza).
Used interchangeably with ObjectIds in API paths.tool
The typed TypeScript client (
@craveup/storefront-sdk) for the Storefront
API. It manages public reads, cart capabilities/revisions, customer JWTs,
checkout, receipts, ratings, and loyalty. See SDK
Reference.service
Stripe’s platform for marketplace payments. Each restaurant connects their
Stripe account to receive payouts. Crave handles the Connect setup;
storefronts only need the publishable key for Stripe.js.
W
concept
An HTTP POST sent to your server when events occur (e.g.,
order.created,
order.completed, cart.abandoned). Signed with HMAC-SHA256 for
verification. See Webhooks guide.