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

# Glossary

> Key terms and concepts used across the Crave platform.

## A

<ParamField path="API key" type="concept">
  A server-only credential for private admin or partner integrations. Public Storefront API clients
  do not use an API key.
</ParamField>

<ParamField path="Analytics event" type="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](/guides/analytics).
</ParamField>

## C

<ParamField path="Cart" type="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.
</ParamField>

<ParamField path="Cart token" type="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`.
</ParamField>

<ParamField path="Category" type="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.
</ParamField>

<ParamField path="Clerk" type="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.
</ParamField>

## D

<ParamField path="Delivery zone" type="concept">
  The geographic area a location delivers to. Checked via `storefront.locations.distance()` before
  setting a delivery address on a cart.
</ParamField>

<ParamField path="Discount code" type="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()`.
</ParamField>

## F

<ParamField path="Fulfillment method" type="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](/guides/fulfillment-methods).
</ParamField>

## G

<ParamField path="Gratuity / Tip" type="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()`.
</ParamField>

## L

<ParamField path="Location" type="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.
</ParamField>

## M

<ParamField path="Menu" type="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.
</ParamField>

<ParamField path="Merchant" type="model">
  The top-level business entity. A merchant has one or more locations. Looked up by slug via
  `storefront.merchant.getBySlug()`.
</ParamField>

<ParamField path="Modifier group" type="model">
  A set of customization options for a product (e.g., Size, Toppings, Extras). Each group has
  `min`/`max` selection rules. Contains modifier items.
</ParamField>

<ParamField path="Modifier item" type="model">
  A single option within a modifier group (e.g., "Large", "Extra Cheese", "Bacon"). Has an optional
  price and max quantity.
</ParamField>

## O

<ParamField path="Order status" type="concept">
  The checkout result state returned to a customer: `payment_pending`, `order_pending`, `completed`,
  or `failed`.
</ParamField>

<ParamField path="Ordering session" type="concept">
  The entry point for a customer interaction. Starting a session returns the cart, its capability,
  and current revision. Created via `storefront.orderingSessions.start()`.
</ParamField>

## P

<ParamField path="Payment intent" type="concept">
  A Stripe PaymentIntent created for an authorized cart via
  `storefront.checkout.createPaymentIntent()`. Its `clientSecret` is passed to Stripe.js. See
  [Accept Payments guide](/guides/accept-payments).
</ParamField>

<ParamField path="Product" type="model">
  A menu item with name, description, price, images, and optional modifier groups. Added to carts
  with quantity and modifier selections.
</ParamField>

## R

<ParamField path="Rating" type="concept">
  A post-order experience rating (1-5 stars) with optional comment. Submitted via
  `storefront.ratings.submit()` while the completed cart capability is available.
</ParamField>

## S

<ParamField path="Sandbox mode" type="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.
</ParamField>

<ParamField path="Slug" type="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.
</ParamField>

<ParamField path="Storefront SDK" type="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](/getting-started/storefront-sdk).
</ParamField>

<ParamField path="Stripe Connect" type="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.
</ParamField>

## W

<ParamField path="Webhook" type="concept">
  An event delivered through an HTTP POST. Crave currently receives private inbound provider
  webhooks, but does not yet publish an outbound merchant subscription contract. See the [outbound
  webhook availability guide](/guides/webhooks).
</ParamField>
