Skip to main content

A

API key
concept
A location-scoped secret (sk_live_... or sk_test_...) used to authenticate Storefront API requests. Generate keys from the Dashboard under Settings > API Keys. Each key is tied to a single location.
Analytics event
concept
A tracked action in the ordering funnel: SCAN, CART_VIEW, CHECKOUT_VIEW, or ORDER_PLACED. Fired via storefront.analyticsEvents.track(). See Analytics guide.

C

Cart
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.
Cart token
concept
The cartId string returned when starting an ordering session. Persist it in localStorage or a cookie so returning customers resume their cart.
Category
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.
Clerk
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

Delivery zone
concept
The geographic area a location delivers to. Checked via storefront.locations.getDistance() before setting a delivery address on a cart. Out-of-range addresses return a DELIVERY_OUT_OF_RANGE error.
Discount code
concept
A promo code (e.g., SAVE10) applied to a cart for a percentage or fixed discount. Applied via storefront.discounts.apply(), removed via storefront.discounts.remove().

F

Fulfillment method
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

Gratuity / Tip
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

Location
model
A physical or virtual restaurant location within a merchant organization. Each location has its own menus, hours, fulfillment methods, payment settings, and API keys. Identified by ObjectId or slug.

M

Menu
model
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.
Merchant
model
The top-level business entity. A merchant has one or more locations. Looked up by slug via storefront.merchant.getBySlug().
Modifier group
model
A set of customization options for a product (e.g., Size, Toppings, Extras). Each group has min/max selection rules. Contains modifier items.
Modifier item
model
A single option within a modifier group (e.g., “Large”, “Extra Cheese”, “Bacon”). Has an optional price and max quantity.

O

Order status
concept
The lifecycle state of an order: OPEN (cart active) → LOCKED (payment processing) → COMPLETED (confirmed). Admin-side statuses include confirmed, ready, dispatched, completed, cancelled.
Ordering session
concept
The entry point for a customer interaction. Starting a session creates a cart and returns a cartId. Created via storefront.orderingSessions.start().

P

Payment intent
concept
A Stripe PaymentIntent created via storefront.payments.createIntent(). Returns a clientSecret for Stripe.js and a stripeAccountId for the restaurant’s connected Stripe account. See Accept Payments guide.
Product
model
A menu item with name, description, price, images, and optional modifier groups. Added to carts with quantity and modifier selections.

R

Rating
concept
A post-order experience rating (1-5 stars) with optional comment. Submitted via storefront.locations.submitRating().

S

Sandbox mode
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.
Slug
concept
A URL-safe identifier for merchants and locations (e.g., downtown-pizza). Used interchangeably with ObjectIds in API paths.
Storefront SDK
tool
The typed TypeScript client (@craveup/storefront-sdk) for the Storefront API. Wraps all endpoints with type-safe methods organized into namespaces: merchant, locations, orderingSessions, cart, discounts, payments, analyticsEvents. See SDK Reference.
Stripe Connect
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

Webhook
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.