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

# Glossary

> Key terms and concepts used across the Crave platform.

## A

**API key** `concept`

A server-only credential for private admin or partner integrations. Public
Storefront API clients do not use an API key.

**Analytics event** `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](/docs/guides/analytics.md).

## 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 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`.

**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.distance()` before setting a delivery address on a cart.

**Discount code** `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

**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](/docs/guides/fulfillment-methods.md).

## 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, and payment settings.
Identified by UUID 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 order-submission outcome returned to a customer: `PROCESSING`,
`CUSTOMER_ACTION_REQUIRED`, `PAID`, `ACCEPTED`, or `ACTION_REQUIRED`.

**Ordering session** `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

**Order submission** `concept`

The order-first aggregate created through `storefront.checkout.submitOrder()`.
An online `CUSTOMER_ACTION_REQUIRED` outcome exposes only the Stripe client
fields for its immutable connected account. See [Accept Payments
guide](/docs/guides/accept-payments.md).

**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.ratings.submit()` while the completed cart capability is
available.

## S

**Sandbox mode** `concept`

An isolated project environment for menus and test orders, with its own API,
Business Manager and storefront URLs. Launch retains Sandbox alongside
Production. Test payments do not charge real money. Selecting an environment
does not change the payment mode of another installation.

**Slug** `concept`

A URL-safe identifier for merchants and locations (e.g., `downtown-pizza`).
Used in storefront location paths as a human-readable alternative to UUIDs.

**Storefront SDK** `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](/docs/getting-started/storefront-sdk.md).

**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`

A signed, versioned event delivered through an HTTP POST. Outbound merchant
webhooks use an immutable event ID, timestamped HMAC signature, durable retry
evidence, and at-least-once semantics. They remain separate from private
inbound provider callbacks. See [Outbound Webhooks](/docs/guides/webhooks.md).


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