# Checkout

### CheckoutType

<table><thead><tr><th width="326">Attribute</th><th>Description</th></tr></thead><tbody><tr><td><strong>token: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Unique identifier for the checkout session</td></tr><tr><td><strong>cartId: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Associated cart identifier</td></tr><tr><td><strong>customer</strong>: <a href="#customer"><mark style="color:blue;"><strong>Customer</strong></mark></a></td><td>Customer information </td></tr><tr><td><strong>hasAgeVerify: </strong><mark style="color:blue;"><strong>boolean</strong></mark></td><td>Should the checkout verify age</td></tr><tr><td><strong>hasSubstitutionPolicy: </strong><mark style="color:blue;"><strong>boolean</strong></mark></td><td>Should the checkout allow for substitutions</td></tr><tr><td><strong>isGift: </strong><mark style="color:blue;"><strong>boolean</strong></mark></td><td>When the order is set as gift (isGift is set to true), the system adds gift messaging, special packaging, and gift receipts with optional sender anonymity.</td></tr><tr><td><strong>createdAt: </strong><mark style="color:blue;"><strong>dateString</strong></mark></td><td>Checkout date of creation</td></tr><tr><td><strong>updatedAt: </strong><mark style="color:blue;"><strong>dateString</strong></mark></td><td>Checkout last updated at date</td></tr><tr><td><strong>isPresaleLocked: </strong><mark style="color:blue;"><strong>boolean</strong></mark></td><td>Indicates if the checkout is locked to a single presale item</td></tr><tr><td><strong>presaleExpiresAt: </strong><mark style="color:blue;"><strong>Date | null</strong></mark></td><td></td></tr><tr><td><strong>billingSameAsShipping: </strong><mark style="color:blue;"><strong>boolean</strong></mark></td><td>Checkout billing address same as shipping address</td></tr><tr><td><strong>acceptedAccountCreation: </strong><mark style="color:blue;"><strong>boolean</strong></mark></td><td>Whether customer accepted account creation</td></tr><tr><td><strong>giftOptions:</strong> <a href="#giftoptions"><mark style="color:blue;"><strong>GiftOptions</strong></mark></a></td><td>Checkout gift options</td></tr><tr><td><strong>marketingPreferences:</strong> <a href="#marketingpreferences"><mark style="color:blue;"><strong>MarketingPreferences</strong></mark></a></td><td>Checkout marketing opt-ins</td></tr><tr><td><strong>shippingAddress:</strong>  <a href="/pages/IvoedyWb8YqfzF59Ppft#address"><mark style="color:blue;"><strong>Address</strong></mark></a></td><td>Checkout shipping address info, (<strong>this is address is propagated from the address set in the cart, if you need to update it you must update the cart. Address changes might produce price changes</strong>)</td></tr><tr><td><strong>billingAddress:</strong> <a href="#billingaddress"><mark style="color:blue;"><strong>BillingAddress</strong></mark></a> <mark style="color:blue;"><strong>|</strong></mark> <a href="#checkout-billingaddress"><mark style="color:blue;"><strong>Checkout BillingAddress</strong></mark></a></td><td>Checkout billing address info. <a href="#billingaddress"><mark style="color:blue;"><strong>BillingAddress</strong></mark></a>   information supporting both new and legacy formats. Recommended to use <a href="#checkout-billingaddress"><mark style="color:blue;"><strong>Checkout BillingAddress</strong></mark></a> for new implementations</td></tr><tr><td><strong>amounts:</strong> <a href="#checkoutamounts"><mark style="color:blue;"><strong>CheckoutAmounts</strong></mark></a></td><td>Checkout total amounts info</td></tr><tr><td><strong>items: </strong><mark style="color:purple;"><strong>Array&#x3C;</strong></mark><a href="#checkoutitem"><mark style="color:blue;"><strong>CheckoutItem</strong></mark></a><mark style="color:purple;"><strong>></strong></mark></td><td>All checkout items</td></tr><tr><td><strong>retailers: </strong><mark style="color:purple;"><strong>Array&#x3C;</strong></mark><a href="#checkoutretailer"><mark style="color:blue;"><strong>CheckoutRetailer</strong></mark></a><mark style="color:purple;"><strong>></strong></mark></td><td>All checkout retailers</td></tr><tr><td><strong>payment</strong>: <mark style="color:blue;"><strong>string</strong></mark> <mark style="color:orange;"><strong>[optional]</strong></mark></td><td>Payment method identifier</td></tr><tr><td><strong>giftCards</strong>:<mark style="color:purple;"><strong>Array&#x3C;</strong></mark><a href="#checkoutgiftcard"><mark style="color:blue;"><strong>CheckoutGiftCard</strong></mark></a><mark style="color:purple;"><strong>></strong></mark></td><td>Gift card codes to apply as payment methods</td></tr><tr><td><strong>events</strong>:<mark style="color:purple;"><strong>Array&#x3C;</strong></mark><a href="#checkoutevents"><mark style="color:blue;"><strong>CheckoutEvents</strong></mark></a><mark style="color:purple;"><strong>></strong></mark></td><td>Events related to the checkout process</td></tr><tr><td><strong>promoCode</strong>: <a href="#checkoutpromocode"><mark style="color:blue;"><strong>CheckoutPromoCode</strong></mark></a></td><td>Promotional code infos to apply a discount to the checkout</td></tr><tr><td><strong>isInternationalAllowed: </strong><mark style="color:blue;"><strong>boolean</strong></mark></td><td>Whether the checkout supports international billing addresses and phone numbers. </td></tr></tbody></table>

### Customer

<table><thead><tr><th width="306">Attribute</th><th>Description</th></tr></thead><tbody><tr><td><strong>id: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Customer's identifier</td></tr><tr><td><strong>firstName: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Customer's first name</td></tr><tr><td><strong>lastName: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Customer's last name</td></tr><tr><td><strong>email: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Customer's email</td></tr><tr><td><strong>company</strong>:<mark style="color:blue;"><strong>string</strong></mark></td><td>Customer's company</td></tr><tr><td><strong>phone: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Customer's phone</td></tr><tr><td><strong>birthDate: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Customer's birthDate</td></tr><tr><td><strong>profileImage: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Customer's profile image</td></tr><tr><td><strong>hasAgeVerify: </strong><mark style="color:blue;"><strong>boolean</strong></mark> <mark style="color:orange;"><strong>(moved to</strong></mark> <a href="#checkouttype"><mark style="color:orange;"><strong>CheckoutType</strong></mark></a> <mark style="color:orange;"><strong>level)</strong></mark></td><td>Should the checkout verify age</td></tr><tr><td><strong>createdAt: </strong><mark style="color:blue;"><strong>Date</strong></mark></td><td>Customer's creation time</td></tr><tr><td><strong>updatedAt: </strong><mark style="color:blue;"><strong>Date</strong></mark></td><td>Customer's profile updated time</td></tr></tbody></table>

### GiftOptions

<table><thead><tr><th width="290">Attribute</th><th>Description</th></tr></thead><tbody><tr><td><strong>message: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Checkout gift order message, <strong>max length: 500 characters</strong></td></tr><tr><td><strong>recipient:</strong> <a href="#giftrecipient"><mark style="color:blue;"><strong>GiftRecipient</strong></mark></a></td><td>Checkout gift order recipient</td></tr></tbody></table>

### GiftRecipient

<table><thead><tr><th width="290">Attribute</th><th>Description</th></tr></thead><tbody><tr><td><strong>name: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Checkout gift order recipient name</td></tr><tr><td><strong>email: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Checkout gift order recipient email</td></tr><tr><td><strong>phone: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Checkout gift order recipient phone</td></tr></tbody></table>

### MarketingPreferences

<table><thead><tr><th width="290">Attribute</th><th>Description</th></tr></thead><tbody><tr><td><strong>canEmail: </strong><mark style="color:blue;"><strong>boolean</strong></mark></td><td>Checkout marketing opt-in for email</td></tr><tr><td><strong>canSms: </strong><mark style="color:blue;"><strong>boolean</strong></mark></td><td>Checkout marketing opt-in for sms</td></tr></tbody></table>

### DeliveryTip

<table><thead><tr><th width="290">Attribute</th><th>Description</th></tr></thead><tbody><tr><td><strong>fulfillmentId: </strong><mark style="color:blue;"><strong>boolean</strong></mark></td><td>Identifier of fulfillment</td></tr><tr><td><strong>tip: </strong><mark style="color:blue;"><strong>number</strong></mark></td><td>The value of the tip</td></tr></tbody></table>

### CheckoutGiftCard

<table><thead><tr><th width="290">Attribute</th><th>Description</th></tr></thead><tbody><tr><td><strong>code: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>The unique code of the gift card used for identification</td></tr><tr><td><strong>applied: </strong><mark style="color:blue;"><strong>number</strong></mark></td><td>The amount deducted from the gift card during the current transaction</td></tr><tr><td><strong>balance: </strong><mark style="color:blue;"><strong>number</strong></mark></td><td>The remaining balance on the gift card after the applied amount is deducted</td></tr></tbody></table>

### CheckoutEvents

<table><thead><tr><th width="290">Attribute</th><th>Description</th></tr></thead><tbody><tr><td><strong>type: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>The type of the checkout event</td></tr><tr><td><strong>message: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>A message providing additional context or details about the event</td></tr><tr><td><strong>items: </strong><mark style="color:purple;"><strong>Array&#x3C;Partial&#x3C;</strong></mark><a href="#checkoutitem"><mark style="color:blue;"><strong>CheckoutItem</strong></mark></a><mark style="color:purple;"><strong>>></strong></mark><strong> </strong><mark style="color:orange;"><strong>[optional]</strong></mark></td><td>Array of products details affecting the event</td></tr></tbody></table>

### BillingAddress

<table><thead><tr><th width="236">Attribute</th><th>Description</th></tr></thead><tbody><tr><td><strong>firstName: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Billing address's recipient first name</td></tr><tr><td><strong>lastName: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Billing address's recipient last name</td></tr><tr><td><strong>email: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Billing address's recipient email</td></tr><tr><td><strong>phone: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Billing address's recipient phone</td></tr><tr><td><strong>one: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Billing address street address</td></tr><tr><td><strong>two: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Billing address apt, suite, floor, etc</td></tr><tr><td><strong>city: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Billing address city</td></tr><tr><td><strong>state: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Billing address state, 2 letter code</td></tr><tr><td><strong>zip: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Billing address zip code</td></tr><tr><td><strong>country: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Billing address country</td></tr></tbody></table>

### Checkout BillingAddress

<table><thead><tr><th width="236">Attribute</th><th>Description</th></tr></thead><tbody><tr><td><strong>id: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Billing address's recipient identifier</td></tr><tr><td><strong>firstName: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Billing address's recipient first name</td></tr><tr><td><strong>lastName: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Billing address's recipient last name</td></tr><tr><td><strong>email: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Billing address's recipient email</td></tr><tr><td><strong>company</strong>: <mark style="color:blue;"><strong>string</strong></mark></td><td>Billing address's recipient company</td></tr><tr><td><strong>phone: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Billing address's recipient phone</td></tr><tr><td><strong>one: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Billing address street address</td></tr><tr><td><strong>two: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Billing address apt, suite, floor, etc</td></tr><tr><td><strong>city: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Billing address city</td></tr><tr><td><strong>state: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Billing address state, 2 letter code</td></tr><tr><td><strong>zip: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Billing address zip code</td></tr><tr><td><strong>country</strong>: <mark style="color:blue;"><strong>string</strong></mark></td><td>Billing address country</td></tr></tbody></table>

### CheckoutAmounts

<table><thead><tr><th width="309">Attribute</th><th>Description</th></tr></thead><tbody><tr><td><strong>subtotal: </strong><mark style="color:blue;"><strong>number</strong></mark></td><td>Amounts total subtotal</td></tr><tr><td><strong>engraving: </strong><mark style="color:blue;"><strong>number</strong></mark></td><td>Amounts total engraving</td></tr><tr><td><strong>service</strong>: <mark style="color:blue;"><strong>number</strong></mark></td><td>Amounts total service</td></tr><tr><td><strong>shipping: </strong><mark style="color:blue;"><strong>number</strong></mark></td><td>Amounts total shipping</td></tr><tr><td><strong>delivery: </strong><mark style="color:blue;"><strong>number</strong></mark></td><td>Amounts total delivery</td></tr><tr><td><strong>platform: </strong><mark style="color:blue;"><strong>number</strong></mark></td><td>Amounts total platform</td></tr><tr><td><strong>discounts: </strong><mark style="color:blue;"><strong>number</strong></mark></td><td>Amounts total discounts</td></tr><tr><td><strong>giftCards: </strong><mark style="color:blue;"><strong>number</strong></mark></td><td>Amounts total giftCards</td></tr><tr><td><strong>tax: </strong><mark style="color:blue;"><strong>number</strong></mark></td><td>Amounts total tax</td></tr><tr><td><strong>tip: </strong><mark style="color:blue;"><strong>number</strong></mark></td><td>Amounts total tip</td></tr><tr><td><strong>total: </strong><mark style="color:blue;"><strong>number</strong></mark></td><td>Amounts total</td></tr><tr><td><strong>details:</strong> <a href="#amountsdetails"><mark style="color:blue;"><strong>AmountsDetails</strong></mark></a></td><td>Total amounts details, tax and discount breakdown</td></tr></tbody></table>

### **AmountsDetails**

<table><thead><tr><th width="342">Attribute</th><th>Description</th></tr></thead><tbody><tr><td><strong>taxes:</strong> <a href="#amountsdetailstaxes"><mark style="color:blue;"><strong>AmountDetailsTaxes</strong></mark></a></td><td>Amounts total taxes breakdown</td></tr><tr><td><strong>discounts:</strong> <a href="#amountsdetailsdiscounts"><mark style="color:blue;"><strong>AmountDetailsDiscounts</strong></mark></a></td><td>Amounts total discounts breakdown</td></tr></tbody></table>

### **AmountsDetailsTaxes**

<table><thead><tr><th width="309">Attribute</th><th>Description</th></tr></thead><tbody><tr><td><strong>bag: </strong><mark style="color:blue;"><strong>number</strong></mark></td><td>Amounts total bag tax fee, ex: Checkout bag fees are required for certain states</td></tr><tr><td><strong>bottleDeposits: </strong><mark style="color:blue;"><strong>number</strong></mark></td><td>Amounts total bottle deposit tax fee, ex: bottle deposit fees  are required for certain states</td></tr><tr><td><strong>retailDelivery: </strong><mark style="color:blue;"><strong>number</strong></mark></td><td>Amounts total retail delivery tax fee, only required for the state of Colorado (<strong>CO</strong>)</td></tr><tr><td><strong>delivery: </strong><mark style="color:blue;"><strong>number</strong></mark></td><td>Amounts total delivery tax fee, for on demand delivery only</td></tr><tr><td><strong>shipping: </strong><mark style="color:blue;"><strong>number</strong></mark></td><td>Amounts total shipping tax fee, for shipping based order only</td></tr><tr><td><strong>products: </strong><mark style="color:blue;"><strong>number</strong></mark></td><td>Amounts total product sales tax fee</td></tr></tbody></table>

### **AmountsDetailsDiscounts**

<table><thead><tr><th width="309">Attribute</th><th>Description</th></tr></thead><tbody><tr><td><strong>engraving:</strong> <mark style="color:blue;"><strong>number</strong></mark></td><td>Amounts total engraving fee discounts</td></tr><tr><td><strong>delivery: </strong><mark style="color:blue;"><strong>number</strong></mark></td><td>Amounts total delivery fee discounts, for on demand delivery only</td></tr><tr><td><strong>shipping: </strong><mark style="color:blue;"><strong>number</strong></mark></td><td>Amounts total shipping fee discounts, for shipping based order only</td></tr><tr><td><strong>products: </strong><mark style="color:blue;"><strong>number</strong></mark></td><td>Amounts total product discounts</td></tr><tr><td><strong>service: </strong><mark style="color:blue;"><strong>number</strong></mark></td><td>Amounts total service discounts</td></tr></tbody></table>

### CheckoutItem

<table><thead><tr><th width="362">Attribute</th><th>Description</th></tr></thead><tbody><tr><td><strong>variantId: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Unique retailer item ID for the checkout item</td></tr><tr><td><strong>retailerId: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Item's retailer id</td></tr><tr><td><strong>liquidId</strong>: <mark style="color:blue;"><strong>string</strong></mark></td><td>Internal product identifier</td></tr><tr><td><strong>salsifyPid</strong>: <mark style="color:blue;"><strong>string</strong></mark></td><td>Salsify product identifier</td></tr><tr><td><strong>salsifyGrouping: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Salsify grouping identifier</td></tr><tr><td><strong>uom</strong>: <mark style="color:blue;"><strong>string</strong></mark></td><td>Unit of measure</td></tr><tr><td><strong>mainImage: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Main product image URL</td></tr><tr><td><strong>unitTax</strong>: <mark style="color:blue;"><strong>number</strong></mark></td><td>Tax per unit</td></tr><tr><td><strong>partNumber: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Product part number</td></tr><tr><td><strong>fulfillmentId: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Item's fulfillment id</td></tr><tr><td><strong>cartItemId: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Unique cart item ID</td></tr><tr><td><strong>pack: </strong><mark style="color:blue;"><strong>boolean</strong></mark></td><td>If the product is a pack, then <strong>true</strong></td></tr><tr><td><strong>packDesc: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Product pack description</td></tr><tr><td><strong>container: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Product container, ex: Bottle</td></tr><tr><td><strong>containerType: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Product container type, ex: Glass</td></tr><tr><td><strong>customerPlacement:</strong> <a href="/pages/1OwPN1FcCN3v9WXlVXEA#customerplacement"><mark style="color:blue;"><strong>CustomerPlacement</strong></mark></a></td><td>Indicates fulfillment type</td></tr><tr><td><strong>name: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Product name</td></tr><tr><td><strong>brand: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Product brand</td></tr><tr><td><strong>upc: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Product upc</td></tr><tr><td><strong>abv: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Product's alcohol by volume</td></tr><tr><td><strong>proof: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Product's alcohol proof</td></tr><tr><td><strong>volume: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Product's volume</td></tr><tr><td><strong>size: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Product size</td></tr><tr><td><strong>catPath: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Product category path based on the <a href="https://github.com/liquidcommerce/cloud-sdk/blob/beta/src/enums/taxonomy.ts"><mark style="color:blue;"><strong>Taxonomy</strong></mark></a></td></tr><tr><td><strong>quantity: </strong><mark style="color:blue;"><strong>number</strong></mark></td><td>Item's quantity</td></tr><tr><td><strong>unitPrice: </strong><mark style="color:blue;"><strong>number</strong></mark></td><td>Individual item price</td></tr><tr><td><strong>price: </strong><mark style="color:blue;"><strong>number</strong></mark></td><td>Total item price according to the quantity added</td></tr><tr><td><strong>bottleDeposits: </strong><mark style="color:blue;"><strong>number</strong></mark></td><td>Total item's bottle deposit tax fee</td></tr><tr><td><strong>tax: </strong><mark style="color:blue;"><strong>number</strong></mark></td><td>Total item's sales tax</td></tr><tr><td><strong>attributes:</strong> <a href="#itemattributes"><mark style="color:blue;"><strong>ItemAttributes</strong></mark></a></td><td>Item configuration attributes</td></tr></tbody></table>

### ItemAttributes

<table><thead><tr><th width="286">Attribute</th><th>Description</th></tr></thead><tbody><tr><td><strong>giftCard:</strong> <a href="#itemgiftcard"><mark style="color:blue;"><strong>ItemGiftCard</strong></mark></a></td><td>item giftcard configurations</td></tr><tr><td><strong>engraving:</strong> <a href="#itemengraving"><mark style="color:blue;"><strong>ItemEngraving</strong></mark></a></td><td>item engraving configurations</td></tr><tr><td><strong>presale:</strong> <a href="#itemengraving"><mark style="color:blue;"><strong>ItemP</strong></mark></a><mark style="color:blue;"><strong>resale</strong></mark></td><td>item presale configurations</td></tr></tbody></table>

### ItemGiftCard

<table><thead><tr><th width="292">Attribute</th><th>Description</th></tr></thead><tbody><tr><td><strong>sender:</strong> <mark style="color:blue;"><strong>string</strong></mark></td><td>name of the gift card sender</td></tr><tr><td><strong>message: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>message from the gift card sender</td></tr><tr><td><strong>recipients: </strong><mark style="color:blue;"><strong>string[]</strong></mark></td><td>recipients to receive the gift card</td></tr><tr><td><strong>sendDate: </strong><mark style="color:blue;"><strong>date</strong></mark></td><td>date in which to send the gift card</td></tr></tbody></table>

### ItemEngraving

<table><thead><tr><th width="293">Attribute</th><th>Description</th></tr></thead><tbody><tr><td><strong>isEngravable: </strong><mark style="color:blue;"><strong>boolean</strong></mark></td><td>true when the item allows engraving</td></tr><tr><td><strong>hasEngraving: </strong><mark style="color:blue;"><strong>boolean</strong></mark></td><td>true when the item is engraved</td></tr><tr><td><strong>maxCharsPerLine: </strong><mark style="color:blue;"><strong>number</strong></mark></td><td>maximum of characters per engraving line</td></tr><tr><td><strong>maxLines: </strong><mark style="color:blue;"><strong>number</strong></mark></td><td>max of engraving lines</td></tr><tr><td><strong>location: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>location of the engraving</td></tr><tr><td><strong>fee:</strong> <mark style="color:blue;"><strong>number</strong></mark></td><td>fee of the engraving</td></tr><tr><td><strong>lines: </strong><mark style="color:blue;"><strong>string[]</strong></mark></td><td><p>engraving message lines, ex: </p><pre class="language-json"><code class="lang-json">"lines": [
  "Engraving line 1",
  "Engraving line 2"
]
</code></pre></td></tr></tbody></table>

### ItemPresale

<table><thead><tr><th width="292">Attribute</th><th>Description</th></tr></thead><tbody><tr><td><strong>canPurchaseOn:</strong> <mark style="color:blue;"><strong>Date | null</strong></mark></td><td>the date when the product can be purchased</td></tr><tr><td><strong>estimatedShipBy: </strong><mark style="color:blue;"><strong>Date | null</strong></mark></td><td>the date when the product is expected to ship</td></tr><tr><td><strong>isActive: </strong><mark style="color:blue;"><strong>boolean</strong></mark></td><td>whether the presale is currently active</td></tr><tr><td><strong>language: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>the language associated with the product presale</td></tr></tbody></table>

### **CheckoutRetailer**

Checkout retailer includes accumulated totals using all the same properties from the [<mark style="color:blue;">**CheckoutAmounts**</mark>](#checkoutamounts) type for all their available fulfillments. **Below are all the values additional to the amounts values.**

<table><thead><tr><th width="429">Attribute</th><th>Description</th></tr></thead><tbody><tr><td><strong>id:</strong> <mark style="color:blue;"><strong>string</strong></mark></td><td>Retailers identifier</td></tr><tr><td><strong>name: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Retailers name</td></tr><tr><td><strong>subtotal</strong>: <mark style="color:blue;"><strong>number</strong></mark></td><td>Amounts total subtotal</td></tr><tr><td><strong>engraving</strong>: <mark style="color:blue;"><strong>number</strong></mark></td><td>Amounts total engraving</td></tr><tr><td><strong>service: </strong><mark style="color:blue;"><strong>number</strong></mark></td><td>Amounts total service</td></tr><tr><td><strong>shipping: </strong><mark style="color:blue;"><strong>number</strong></mark></td><td>Amounts total shipping</td></tr><tr><td><strong>delivery</strong>: <mark style="color:blue;"><strong>number</strong></mark></td><td>Amounts total delivery</td></tr><tr><td><strong>discounts</strong>: <mark style="color:blue;"><strong>number</strong></mark></td><td>Amounts total discounts</td></tr><tr><td><strong>platform : </strong><mark style="color:blue;"><strong>number</strong></mark></td><td>Amounts total platform</td></tr><tr><td><strong>giftCards</strong>: <mark style="color:blue;"><strong>number</strong></mark></td><td>Amounts total gifts card</td></tr><tr><td><strong>tax</strong>: <mark style="color:blue;"><strong>number</strong></mark></td><td>Amounts total tax</td></tr><tr><td><strong>tip</strong>: <mark style="color:blue;"><strong>number</strong></mark></td><td>Amounts total tip</td></tr><tr><td><strong>total</strong>: <mark style="color:blue;"><strong>number</strong></mark></td><td>Amounts total</td></tr><tr><td><strong>details:</strong> <a href="#amountsdetails"><mark style="color:blue;"><strong>AmountsDetails</strong></mark></a></td><td>Total amounts details, tax and discount breakdown</td></tr><tr><td><strong>address:</strong> <a href="/pages/IvoedyWb8YqfzF59Ppft#address"><mark style="color:blue;"><strong>Address</strong></mark></a></td><td>Retailers address</td></tr><tr><td><strong>fulfillments: </strong><mark style="color:purple;"><strong>Array&#x3C;</strong></mark><a href="#checkoutretailerfulfillments"><mark style="color:blue;"><strong>CheckoutRetailerFulfillments</strong></mark></a><mark style="color:purple;"><strong>></strong></mark></td><td>Retailers fulfillment methods</td></tr></tbody></table>

### **CheckoutRetailerFulfillments**

Checkout retailer fulfillments includes accumulated totals using all the same properties from the [<mark style="color:blue;">**CheckoutAmounts**</mark>](#checkoutamounts) type for the fulfillments. **Below are all the values additional to the amounts values.**

<table><thead><tr><th width="411">Attribute</th><th>Description</th></tr></thead><tbody><tr><td><strong>id:</strong> <mark style="color:blue;"><strong>string</strong></mark></td><td>Fulfillment identifier</td></tr><tr><td><strong>scheduledFor: </strong><mark style="color:blue;"><strong>string | Date</strong></mark></td><td>If the fulfillment method is <code>type: onDemand</code> the scheduled date and time in an ISO date string</td></tr><tr><td><strong>deliveryInstructions: </strong><mark style="color:blue;"><strong>string</strong></mark> </td><td>Delivery instructions </td></tr><tr><td><strong>type: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>Fulfillment type, <code>"onDemand" | "shipping"</code></td></tr><tr><td><strong>expectation:</strong> <a href="#checkoutfulfillmentexpectation"><mark style="color:blue;"><strong>CheckoutFulfillmentExpectation</strong></mark></a></td><td>Fulfillment expectation configurations</td></tr><tr><td><strong>items: </strong><mark style="color:blue;"><strong>string[]</strong></mark></td><td>Fulfillment item ids</td></tr><tr><td><strong>doesAllowPromos</strong>: <mark style="color:blue;"><strong>boolean</strong></mark></td><td>indicates whether the retailer per fulfillment level support promo codes for cart &#x26; checkout</td></tr><tr><td><strong>doesAllowGiftCards</strong>: <mark style="color:blue;"><strong>boolean</strong></mark></td><td>indicates whether the retailer per fulfillment level support gift cards for  checkout</td></tr></tbody></table>

### **CheckoutFulfillmentExpectation**

<table><thead><tr><th width="288">Attribute</th><th>Context</th></tr></thead><tbody><tr><td><strong>detail: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>detailed expectation of fulfillment, <em>ex: Ships in 3 days</em></td></tr><tr><td><strong>short: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>short expectation of fulfillment, <em>ex: 3 days</em></td></tr></tbody></table>

### **DeliveryInstruction**

<table><thead><tr><th width="288">Attribute</th><th>Context</th></tr></thead><tbody><tr><td><strong>fulfillmentId: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>unique identifier for the delivery method</td></tr><tr><td><strong>instructions: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>delivery guidelines for the selected method, <strong>max length: 250 characters</strong></td></tr></tbody></table>

### Sample `checkout`

### **CheckoutPromoCode**

<table><thead><tr><th width="343">Attribute</th><th>Description</th></tr></thead><tbody><tr><td><strong>value: </strong><mark style="color:blue;"><strong>string</strong></mark></td><td>The promotional code value</td></tr><tr><td><strong>discount: </strong><mark style="color:blue;"><strong>number</strong></mark></td><td>The discount promo code number</td></tr><tr><td><strong>freeDelivery: </strong><mark style="color:blue;"><strong>boolean</strong></mark></td><td>Whether promo provides free delivery</td></tr><tr><td><strong>freeServiceFee: </strong><mark style="color:blue;"><strong>boolean</strong></mark></td><td>Whether promo waives service fees</td></tr><tr><td><strong>freeShipping: </strong><mark style="color:blue;"><strong>boolean</strong></mark></td><td>Whether promo provides free shipping</td></tr></tbody></table>

### Sample `checkout`

<details>

<summary>Checkout Object</summary>

```json
{
    "cartId": "cartId_123abc123abc",
    "hasSubstitutionPolicy": true,
    "isGift": true,
    "customer": {
        "id": "customerId_123abc123abc",
        "firstName": "Jon",
        "lastName": "Doe",
        "email": "john@doe.com",
        "company": "ReserveBar",
        "phone": "(601) 952-1325",
        "birthDate": "2003-11-12"
    },
    "billingSameAsShipping": false,
    "shippingAddressTwo": "Apartment 4",
    "acceptedAccountCreation": true,
    "marketingPreferences": {
        "canEmail": true,
        "canSms": true
    },
    "billingAddress": {
        "firstName": "Jon",
        "lastName": "Doe",
        "email": "test@example.us",
        "phone": "(601) 952-1311",
        "company": "ReserveBar",
        "one": "1600 Amphitheatre Parkway",
        "two": "Apartment 1",
        "city": "New york",
        "state": "FL",
        "zip": "10016"
    },
    "giftOptions": {
        "message": "Cheers!",
        "recipient": {
            "name": "User",
            "phone": "(601) 952-1325",
            "email": "user@user.com"
        }
    },
    "hasAgeVerify": false
}
```

</details>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.liquidcommerce.cloud/types/checkout.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
