---
title: "Cart Model"
description: "A cart holds a user's in-progress selection, checkout choices, payment context, and eventual order reference."
canonical: https://docs.ordering.co/api-reference/guides/cart-model/
---

# Cart Model

A cart holds a user's in-progress selection, checkout choices, payment context, and eventual order reference. The public API reference lists cart operations separately.

Representative fields include `id`, `uuid`, `status`, `business_id`, `user_id`, `offer_id`, `driver_tip`, `paymethod_id`, `delivery_zone_id`, `address_id`, `order_type`, `moment`, `order_id`, `request_data`, `delivery_option_id`, `cart_group_id`, and `site_id`. Relations can include products, business, user, address, payment method, offer, wallets, and metafields.

The status meanings are: `0` open, `1` completed, `2` pending payment confirmation, and `4` payment failed with retry possible. Transitions depend on the operation and payment flow; consult the relevant operation for its behavior.

Cart operations require authentication and normally scope data to the caller. See [Update order options](https://docs.ordering.co/api-reference/guides/update-order-options/), [Place an order from a cart](https://docs.ordering.co/api-reference/guides/placer-order-with-cart/), and [Confirm a cart](https://docs.ordering.co/api-reference/guides/confirm-cart/).

## Schema properties

**Schema:** `Cart`

| Name                 | Type            | Description |
| -------------------- | --------------- | ----------- |
| `address`            | object \| null  | —           |
| `address_id`         | integer \| null | —           |
| `agent_id`           | integer \| null | —           |
| `business_id`        | integer \| null | —           |
| `cart_group_id`      | integer \| null | —           |
| `comment`            | any             | —           |
| `conversation_id`    | integer \| null | —           |
| `created_at`         | string \| null  | —           |
| `delivery_option_id` | integer \| null | —           |
| `delivery_zone_id`   | integer \| null | —           |
| `driver_tip`         | any             | —           |
| `driver_tip_rate`    | number \| null  | —           |
| `id`                 | integer \| null | —           |
| `moment`             | string \| null  | —           |
| `offer_id`           | integer \| null | —           |
| `on_behalf_of`       | any             | —           |
| `order_id`           | integer \| null | —           |
| `order_type`         | any             | —           |
| `pay_reference`      | any             | —           |
| `paymethod_data`     | object \| null  | —           |
| `paymethod_id`       | integer \| null | —           |
| `place_id`           | integer \| null | —           |
| `request_data`       | object \| null  | —           |
| `reservation`        | object \| null  | —           |
| `site_id`            | integer \| null | —           |
| `spot_number`        | integer \| null | —           |
| `status`             | any             | —           |
| `student_id`         | integer \| null | —           |
| `type`               | any             | —           |
| `updated_at`         | string \| null  | —           |
| `user_id`            | integer \| null | —           |
| `uuid`               | any             | —           |
| `vehicle`            | object \| null  | —           |
