Checkout revolves around the concept of carts. It involves creating, managing, and submitting carts, which ultimately result in an order. The goal of any checkout experience is to complete a cart and generate an order.

With Violet, you can offer a seamless end-to-end checkout experience to your shoppers without redirecting them to another platform. To understand how to integrate cross-platform checkout in Violet, it is important to grasp the key concepts of Carts, Bags, and Orders.

Order ID = Cart ID

In Violet, a Cart refers to an Order that is still in progress. These terms can be used interchangeably, including their ids. An Order will have the same id as the cart had before it was completed. The Cart encapsulates all the data that the shopper gathers for checkout, such as items, addresses, and payment methods.

Multi-Merchant Checkout

A single Cart can include items from multiple Merchants. Each Merchant has its own nested Bag within the cart. In Cart and Order objects, a Bag is essentially the child of a Cart or an Order related to a single merchant. Bag data contains the items, prices, and tax and shipping rates related to items for a single merchant. This Bag is synchronized with the respective Merchant’s platform. Data from all nested Bags within the order are consolidated into the Cart or Order object.

A Cart contains at least one Bag. A sample Order that had successfully been placed through our Sandbox API can be seen below:

You can learn more about each of the states that exist for Orders and Bags in the subsequent pages.