# Create checkout

`POST /api/v1/Outlets/{outletId}/Checkouts`

Core API · Checkouts · base URL `https://core-api.ancon.io` · auth: `Access-Token` header · docs: https://ancon.dev/api/core/checkouts/create-checkout

## Path parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `outletId` | string (uuid) | yes |  |

## Header parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `correlationId` | string | no | Correlation Id for the request |

## Request body

Content type: `application/json`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `orderFormat` | integer (int32) | yes | Allowed values: `0`, `1`, `2`, `4`, `8`, `16`, `32`, `64`, `128`, `159`, `191`. |
| `serviceTime` | object | yes | Service time for the sale. No time is needed for Kind.AsSoonAsPossible it will be set as current UTC time on server side. |
| `serviceTime.kind` | integer (int32) | no | Allowed values: `0`, `1`, `-1`. |
| `serviceTime.time` | string (date-time) or null | no |  |
| `delivery` | object or null | no |  |
| `delivery.address` | object or null | no |  |
| `delivery.address.street` | string or null | no |  |
| `delivery.address.zipCode` | string or null | no |  |
| `delivery.address.city` | string or null | no |  |
| `delivery.address.state` | string or null | no |  |
| `delivery.address.country` | string or null | no |  |
| `delivery.address.location` | object or null | no |  |
| `delivery.address.location.latitude` | number (double) | no |  |
| `delivery.address.location.longitude` | number (double) | no |  |
| `delivery.phone` | string or null | no |  |
| `delivery.recipient` | string or null | no |  |
| `instructions` | string or null | no |  |
| `salesLocation` | object or null | no | Sales location is only needed for order format TableOrder, then it should be set to the table id. For other order formats it can be null. |
| `salesLocation.salesLocationId` | string (uuid) or null | no |  |
| `salesLocation.type` | integer (int32) | no | Allowed values: `0`, `1`, `2`, `3`. |
| `items` | array<object> | yes |  |
| `items[].variantId` | string (uuid) | no |  |
| `items[].quantity` | integer (int32) | no |  |
| `items[].modifications` | array<object> or null | no |  |
| `items[].modifications[].modification` | string or null | no | Type of modification can be one of the following values "add", "remove" or "replace" |
| `items[].modifications[].ingredientId` | string (uuid) or null | no | Add: The ingredient to be added. Remove: The ingredient to be removed. Replace: The ingredient that will be replaced. |
| `items[].modifications[].addOnGroupId` | string (uuid) or null | no | The add-on group id, used by modificaiton "add" |
| `items[].modifications[].replaceId` | string (uuid) or null | no | The replacement ingredient that will be used instead. |
| `items[].modifications[].quantity` | number (double) | no | How many modifications to add of the given ingredientId, used by modification "add". |
| `items[].modifications[].freeAmount` | number (double) | no | How many modificaitons to add that will count as free, used by modification "add". Cannot be more than quantity. This must follow the rules of the add-on group, free amount cannot be more than allowed per the add-on group configuration |

### Eat in

```json
{
  "orderFormat": 2,
  "serviceTime": {
    "kind": 1,
    "time": "2026-10-23T20:33:34.041788Z"
  },
  "delivery": null,
  "instructions": null,
  "salesLocation": {
    "salesLocationId": "3663d997-8aa5-4461-b9f8-e10a8e97a488",
    "type": 1
  },
  "items": [
    {
      "variantId": "db7b8f1d-29ae-498e-8b96-03edb9b815dc",
      "quantity": 1,
      "modifications": [
        {
          "modification": "Add",
          "ingredientId": "b03029bc-6a6b-4bc4-8603-67aa3d66522b",
          "addOnGroupId": "32076eea-716a-445b-bf25-8d7d41a6d88b",
          "replaceId": null,
          "quantity": 2,
          "freeAmount": 1
        },
        {
          "modification": "Add",
          "ingredientId": "47d9397b-13be-4e8e-9ec6-bc076752cb68",
          "addOnGroupId": "cb0d0a3b-bee5-4bf3-b9c0-be1eba3f3fab",
          "replaceId": null,
          "quantity": 1,
          "freeAmount": 0
        }
      ]
    },
    {
      "variantId": "1eebb990-084b-4dff-908c-76b12661fd32",
      "quantity": 2,
      "modifications": [
        {
          "modification": "Remove",
          "ingredientId": "dd7446c1-9089-4aa7-a29f-3e69c0b77972",
          "addOnGroupId": null,
          "replaceId": null,
          "quantity": 0,
          "freeAmount": 0
        },
        {
          "modification": "Replace",
          "ingredientId": "8cfcf8b8-6474-4e93-a5a0-93599b43942e",
          "addOnGroupId": null,
          "replaceId": "9861a404-0eff-44f2-a755-b92bf27d07dc",
          "quantity": 1,
          "freeAmount": 0
        }
      ]
    }
  ]
}
```

### Delivery

```json
{
  "orderFormat": 8,
  "serviceTime": {
    "kind": 0,
    "time": null
  },
  "delivery": {
    "address": {
      "street": "Kungliga slottet",
      "zipCode": "107 70",
      "city": "Stockholm",
      "state": null,
      "country": "Sweden",
      "location": {
        "latitude": 101,
        "longitude": 201
      }
    },
    "phone": "084026100",
    "recipient": "Head waiter"
  },
  "instructions": "Enter the main doors and take the flight of stars to the left.",
  "salesLocation": {
    "salesLocationId": "f7e613bc-a264-4171-9bad-3a0c160d8bbe",
    "type": 1
  },
  "items": [
    {
      "variantId": "1ae2594a-14dd-48e8-a8d6-013aa0c073f7",
      "quantity": 1,
      "modifications": [
        {
          "modification": "Add",
          "ingredientId": "1a6a9c1c-a89d-40b5-80d6-4b38f237169d",
          "addOnGroupId": "5409ec61-03eb-4cea-899d-ed06ab136ce1",
          "replaceId": null,
          "quantity": 2,
          "freeAmount": 1
        },
        {
          "modification": "Add",
          "ingredientId": "ff3c48dd-b78a-4b8f-8162-eba4c5d44a23",
          "addOnGroupId": "70d3c43d-3716-4237-924a-cd77903c6496",
          "replaceId": null,
          "quantity": 1,
          "freeAmount": 0
        }
      ]
    },
    {
      "variantId": "0c3f91d4-2fc9-4f59-bed5-c9da9cdb0696",
      "quantity": 2,
      "modifications": [
        {
          "modification": "Remove",
          "ingredientId": "3e5efaa6-a467-40af-b526-52eca86e281b",
          "addOnGroupId": null,
          "replaceId": null,
          "quantity": 0,
          "freeAmount": 0
        },
        {
          "modification": "Replace",
          "ingredientId": "9479e206-ba3e-4b77-8cae-0397a79fdad5",
          "addOnGroupId": null,
          "replaceId": "3798fe38-539c-4d83-b6d1-1d17ea54f6b3",
          "quantity": 1,
          "freeAmount": 0
        }
      ]
    }
  ]
}
```

## Responses

| Status | Description |
| --- | --- |
| 201 | Created |
| 400 | Bad Request |
| 401 | Unauthorized |
| 404 | Not Found |

### 201 response (`application/json`)

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `checkout` | object or null | no |  |
| `checkout.id` | string (uuid) | no |  |
| `checkout.incrementalNumbers` | object or null | no |  |
| `checkout.incrementalNumbers.ticketNumber` | integer (int64) or null | no | Unique number per outlet per Z-Report, it will reset when a Z-Report is made and start on 1 again. Used alot in the UI to give a simple to read number, will also be printed on tickets. |
| `checkout.incrementalNumbers.serialNumber` | integer (int64) or null | no | Unbroken sequence per outlet which statisfies the needs of certain pos system laws, is only used on Checks. |
| `checkout.incrementalNumbers.referenceNumber` | integer (int64) or null | no | Unbroken sequence per outlet which is used for all types of sales. Suitable for correlation between systems. |
| `checkout.incrementalNumbers.refundSerialNumber` | integer (int64) or null | no | Uses same series as SerialNumber and is set on orders which is refunded. |
| `checkout.created` | string (date-time) | no |  |
| `checkout.modified` | string (date-time) | no |  |
| `checkout.outlet` | object or null | no |  |
| `checkout.outlet.id` | string (uuid) | no |  |
| `checkout.outlet.name` | string or null | no |  |
| `checkout.salesLocation` | object or null | no |  |
| `checkout.salesLocation.salesLocationId` | string (uuid) or null | no |  |
| `checkout.salesLocation.type` | integer (int32) | no | Allowed values: `0`, `1`, `2`, `3`. |
| `checkout.table` | object or null | no |  |
| `checkout.table.id` | string (uuid) | no |  |
| `checkout.table.number` | integer (int32) | no |  |
| `checkout.discount` | object or null | no |  |
| `checkout.discount.id` | string (uuid) or null | no |  |
| `checkout.discount.name` | string or null | no |  |
| `checkout.status` | integer (int32) | no | Allowed values: `0`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `-2`, `-1`. |
| `checkout.customer` | object or null | no |  |
| `checkout.customer.email` | string or null | no |  |
| `checkout.customer.fullName` | string or null | no |  |
| `checkout.customer.customerId` | string (uuid) or null | no |  |
| `checkout.customer.identityUserId` | string (uuid) or null | no |  |
| `checkout.customer.address` | object or null | no |  |
| `checkout.customer.address.street` | string or null | no |  |
| `checkout.customer.address.zipCode` | string or null | no |  |
| `checkout.customer.address.city` | string or null | no |  |
| `checkout.customer.address.state` | string or null | no |  |
| `checkout.customer.address.country` | string or null | no |  |
| `checkout.customer.address.location` | object or null | no |  |
| `checkout.customer.address.location.latitude` | number (double) | no |  |
| `checkout.customer.address.location.longitude` | number (double) | no |  |
| `checkout.customer.phone` | string or null | no |  |
| `checkout.delivery` | object or null | no |  |
| `checkout.delivery.address` | object or null | no |  |
| `checkout.delivery.address.street` | string or null | no |  |
| `checkout.delivery.address.zipCode` | string or null | no |  |
| `checkout.delivery.address.city` | string or null | no |  |
| `checkout.delivery.address.state` | string or null | no |  |
| `checkout.delivery.address.country` | string or null | no |  |
| `checkout.delivery.address.location` | object or null | no |  |
| `checkout.delivery.address.location.latitude` | number (double) | no |  |
| `checkout.delivery.address.location.longitude` | number (double) | no |  |
| `checkout.delivery.phone` | string or null | no |  |
| `checkout.delivery.recipient` | string or null | no |  |
| `checkout.instructions` | string or null | no |  |
| `checkout.orderFormat` | integer (int32) | no | Allowed values: `0`, `1`, `2`, `4`, `8`, `16`, `32`, `64`, `128`, `159`, `191`. |
| `checkout.orderType` | integer (int32) | no | Allowed values: `0`, `1`, `2`, `3`, `4`, `5`. |
| `checkout.serviceTime` | object or null | no | Service time for the sale. No time is needed for Kind.AsSoonAsPossible it will be set as current UTC time on server side. |
| `checkout.serviceTime.kind` | integer (int32) | no | Allowed values: `0`, `1`, `-1`. |
| `checkout.serviceTime.time` | string (date-time) or null | no |  |
| `checkout.source` | string or null | no |  |
| `checkout.saleSourceId` | string (uuid) | no |  |
| `checkout.orderId` | string (uuid) or null | no |  |
| `checkout.authorizedAt` | string (date-time) or null | no |  |
| `checkout.capturedAt` | string (date-time) or null | no |  |
| `checkout.canceledAt` | string (date-time) or null | no |  |
| `checkout.cancelInfo` | object or null | no |  |
| `checkout.cancelInfo.actor` | string or null | no |  |
| `checkout.cancelInfo.actorId` | string or null | no |  |
| `checkout.cancelInfo.reason` | string or null | no |  |
| `checkout.cancelInfo.reasonDesc` | string or null | no |  |
| `checkout.totalAmount` | object or null | no |  |
| `checkout.totalAmount.amount` | number (double) | no |  |
| `checkout.totalAmount.currency` | string or null | no |  |
| `checkout.taxAmount` | object or null | no |  |
| `checkout.taxAmount.amount` | number (double) | no |  |
| `checkout.taxAmount.currency` | string or null | no |  |
| `checkout.subtotalInclTax` | object or null | no |  |
| `checkout.subtotalInclTax.amount` | number (double) | no |  |
| `checkout.subtotalInclTax.currency` | string or null | no |  |
| `checkout.subtotalExclTax` | object or null | no |  |
| `checkout.subtotalExclTax.amount` | number (double) | no |  |
| `checkout.subtotalExclTax.currency` | string or null | no |  |
| `checkout.subTotalDiscountInclTax` | object or null | no |  |
| `checkout.subTotalDiscountInclTax.amount` | number (double) | no |  |
| `checkout.subTotalDiscountInclTax.currency` | string or null | no |  |
| `checkout.subTotalDiscountExclTax` | object or null | no |  |
| `checkout.subTotalDiscountExclTax.amount` | number (double) | no |  |
| `checkout.subTotalDiscountExclTax.currency` | string or null | no |  |
| `checkout.feeAmountInclTax` | object or null | no |  |
| `checkout.feeAmountInclTax.amount` | number (double) | no |  |
| `checkout.feeAmountInclTax.currency` | string or null | no |  |
| `checkout.feeAmountExclTax` | object or null | no |  |
| `checkout.feeAmountExclTax.amount` | number (double) | no |  |
| `checkout.feeAmountExclTax.currency` | string or null | no |  |
| `checkout.minimumOrderDifferenceAmount` | object or null | no |  |
| `checkout.minimumOrderDifferenceAmount.amount` | number (double) | no |  |
| `checkout.minimumOrderDifferenceAmount.currency` | string or null | no |  |
| `checkout.summary` | string or null | no |  |
| `checkout.currency` | string or null | no |  |
| `checkout.minimumOrderAmount` | object or null | no |  |
| `checkout.minimumOrderAmount.amount` | number (double) | no |  |
| `checkout.minimumOrderAmount.currency` | string or null | no |  |
| `checkout.items` | array<object> or null | no |  |
| `checkout.items[].id` | string (uuid) | no |  |
| `checkout.items[].checkoutId` | string (uuid) | no |  |
| `checkout.items[].product` | object or null | no |  |
| `checkout.items[].product.productId` | string (uuid) | no |  |
| `checkout.items[].product.productName` | string or null | no |  |
| `checkout.items[].product.productType` | integer (int32) | no | Allowed values: `0`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`. |
| `checkout.items[].product.variantId` | string (uuid) | no |  |
| `checkout.items[].product.variantName` | string or null | no |  |
| `checkout.items[].product.hasVariants` | boolean | no |  |
| `checkout.items[].product.productGroupId` | string (uuid) | no |  |
| `checkout.items[].product.productGroupName` | string or null | no |  |
| `checkout.items[].product.useBasePrice` | boolean | no |  |
| `checkout.items[].quantity` | number (double) | no |  |
| `checkout.items[].unitQuantity` | number (double) | no |  |
| `checkout.items[].unit` | object or null | no |  |
| `checkout.items[].unit.name` | string or null | no |  |
| `checkout.items[].unit.type` | integer (int32) | no | Allowed values: `0`, `1`, `2`, `3`. |
| `checkout.items[].productPriceInclTax` | object or null | no |  |
| `checkout.items[].productPriceInclTax.unitPrice` | object or null | no |  |
| `checkout.items[].productPriceInclTax.unitPrice.amount` | number (double) | no |  |
| `checkout.items[].productPriceInclTax.unitPrice.currency` | string or null | no |  |
| `checkout.items[].productPriceInclTax.additionalPrice` | object or null | no |  |
| `checkout.items[].productPriceInclTax.additionalPrice.amount` | number (double) | no |  |
| `checkout.items[].productPriceInclTax.additionalPrice.currency` | string or null | no |  |
| `checkout.items[].productPriceExclTax` | object or null | no |  |
| `checkout.items[].productPriceExclTax.unitPrice` | object or null | no |  |
| `checkout.items[].productPriceExclTax.unitPrice.amount` | number (double) | no |  |
| `checkout.items[].productPriceExclTax.unitPrice.currency` | string or null | no |  |
| `checkout.items[].productPriceExclTax.additionalPrice` | object or null | no |  |
| `checkout.items[].productPriceExclTax.additionalPrice.amount` | number (double) | no |  |
| `checkout.items[].productPriceExclTax.additionalPrice.currency` | string or null | no |  |
| `checkout.items[].productMaterialCostExclTax` | object or null | no |  |
| `checkout.items[].productMaterialCostExclTax.unitPrice` | object or null | no |  |
| `checkout.items[].productMaterialCostExclTax.unitPrice.amount` | number (double) | no |  |
| `checkout.items[].productMaterialCostExclTax.unitPrice.currency` | string or null | no |  |
| `checkout.items[].productMaterialCostExclTax.additionalPrice` | object or null | no |  |
| `checkout.items[].productMaterialCostExclTax.additionalPrice.amount` | number (double) | no |  |
| `checkout.items[].productMaterialCostExclTax.additionalPrice.currency` | string or null | no |  |
| `checkout.items[].hasVariants` | boolean | no |  |
| `checkout.items[].discount` | object or null | no |  |
| `checkout.items[].discount.value` | number (double) or null | no |  |
| `checkout.items[].discount.type` | integer (int32) or null | no | Allowed values: `0`, `1`. |
| `checkout.items[].taxes` | array<object> or null | no |  |
| `checkout.items[].taxes[].type` | integer (int32) | no | Allowed values: `1`, `2`. |
| `checkout.items[].taxes[].rate` | number (double) | no |  |
| `checkout.items[].modifications` | array<object> or null | no |  |
| `checkout.items[].modifications[].modification` | string or null | no |  |
| `checkout.items[].modifications[].ingredientId` | string (uuid) or null | no |  |
| `checkout.items[].modifications[].name` | string or null | no |  |
| `checkout.items[].modifications[].replaceId` | string (uuid) or null | no |  |
| `checkout.items[].modifications[].replacementName` | string or null | no |  |
| `checkout.items[].modifications[].addOnGroupId` | string (uuid) or null | no |  |
| `checkout.items[].modifications[].addOnGroupName` | string or null | no |  |
| `checkout.items[].modifications[].quantity` | number (double) | no |  |
| `checkout.items[].modifications[].freeAmount` | number (double) | no |  |
| `checkout.items[].modifications[].cost` | number (double) | no |  |
| `checkout.items[].modifications[].totalCost` | number (double) | no |  |
| `checkout.items[].modifications[].position` | integer (int32) | no |  |
| `checkout.items[].totalPriceInclTax` | object or null | no |  |
| `checkout.items[].totalPriceInclTax.amount` | number (double) | no |  |
| `checkout.items[].totalPriceInclTax.currency` | string or null | no |  |
| `checkout.items[].totalPriceExclTax` | object or null | no |  |
| `checkout.items[].totalPriceExclTax.amount` | number (double) | no |  |
| `checkout.items[].totalPriceExclTax.currency` | string or null | no |  |
| `checkout.items[].totalMaterialCostExclTax` | object or null | no |  |
| `checkout.items[].totalMaterialCostExclTax.amount` | number (double) | no |  |
| `checkout.items[].totalMaterialCostExclTax.currency` | string or null | no |  |
| `checkout.items[].discountAmountInclTax` | object or null | no |  |
| `checkout.items[].discountAmountInclTax.amount` | number (double) | no |  |
| `checkout.items[].discountAmountInclTax.currency` | string or null | no |  |
| `checkout.items[].discountAmountExclTax` | object or null | no |  |
| `checkout.items[].discountAmountExclTax.amount` | number (double) | no |  |
| `checkout.items[].discountAmountExclTax.currency` | string or null | no |  |
| `checkout.items[].stock` | object or null | no |  |
| `checkout.items[].stock.id` | string (uuid) | no |  |
| `checkout.items[].stock.productId` | string (uuid) | no |  |
| `checkout.items[].stock.variantId` | string (uuid) | no |  |
| `checkout.items[].stock.count` | number (double) | no |  |
| `checkout.items[].stock.reorderCount` | number (double) | no |  |
| `checkout.items[].upsellGroupId` | string (uuid) or null | no |  |
| `checkout.fees` | array<object> or null | no |  |
| `checkout.fees[].id` | string (uuid) | no |  |
| `checkout.fees[].feeId` | string (uuid) | no |  |
| `checkout.fees[].feeName` | string or null | no |  |
| `checkout.fees[].amountInclTax` | object or null | no |  |
| `checkout.fees[].amountInclTax.amount` | number (double) | no |  |
| `checkout.fees[].amountInclTax.currency` | string or null | no |  |
| `checkout.fees[].amountExclTax` | object or null | no |  |
| `checkout.fees[].amountExclTax.amount` | number (double) | no |  |
| `checkout.fees[].amountExclTax.currency` | string or null | no |  |
| `checkout.fees[].taxes` | array<object> or null | no |  |
| `checkout.fees[].taxes[].type` | integer (int32) | no | Allowed values: `1`, `2`. |
| `checkout.fees[].taxes[].rate` | number (double) | no |  |
| `checkout.payments` | array<object> or null | no |  |
| `checkout.payments[].id` | string (uuid) | no |  |
| `checkout.payments[].created` | string (date-time) | no |  |
| `checkout.payments[].modified` | string (date-time) | no |  |
| `checkout.payments[].status` | integer (int32) | no | Allowed values: `0`, `1`, `3`, `4`, `5`, `6`, `7`, `8`. |
| `checkout.payments[].amount` | object or null | no |  |
| `checkout.payments[].amount.amount` | number (double) | no |  |
| `checkout.payments[].amount.currency` | string or null | no |  |
| `checkout.payments[].provider` | integer (int32) | no | Allowed values: `0`, `1`, `2`, `3`, `-1`. |
| `checkout.payments[].method` | object or null | no |  |
| `checkout.payments[].method.id` | string or null | no |  |
| `checkout.payments[].method.type` | integer (int32) | no | Allowed values: `0`, `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12`, `13`, `14`, `15`, `16`, `17`, `18`, `19`, `20`, `21`, `22`, `23`. |
| `checkout.payments[].method.displayName` | string or null | no |  |
| `checkout.payments[].transactions` | array<object> or null | no |  |
| `checkout.payments[].transactions[].id` | string (uuid) | no |  |
| `checkout.payments[].transactions[].created` | string (date-time) | no |  |
| `checkout.payments[].transactions[].modified` | string (date-time) | no |  |
| `checkout.payments[].transactions[].type` | integer (int32) | no | Allowed values: `0`, `1`, `2`, `3`, `4`, `5`, `6`. |
| `checkout.payments[].transactions[].status` | integer (int32) | no | Allowed values: `0`, `1`, `2`, `3`, `4`, `5`, `6`. |
| `checkout.payments[].transactions[].providerTransactionId` | string or null | no |  |
| `checkout.payments[].transactions[].providerDataJson` | string or null | no |  |
| `checkout.payments[].transactions[].errorDetails` | string or null | no |  |
| `checkout.payments[].transactions[].notificationJson` | string or null | no |  |
| `checkout.payments[].transactions[].paymentProviderCode` | string or null | no |  |
| `checkout.payments[].transactions[].paymentProviderData` | string or null | no |  |
| `checkout.payments[].transactions[].notificationReceived` | boolean | no |  |
| `checkout.payments[].transactions[].providerAdditionalData` | string or null | no |  |
| `checkout.tickets` | array<object> or null | no |  |
| `checkout.tickets[].id` | string (uuid) | no |  |
| `checkout.tickets[].status` | integer (int32) | no | Allowed values: `0`, `1`, `2`, `3`, `4`, `5`. |
| `checkout.tickets[].preparationTime` | string or null | no |  |
| `checkout.tickets[].ticketId` | string (uuid) | no |  |

#### Example (from schema)

```json
{
  "checkout": {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "incrementalNumbers": {
      "ticketNumber": 0,
      "serialNumber": 0,
      "referenceNumber": 0,
      "refundSerialNumber": 0
    },
    "created": "2026-01-15T12:00:00Z",
    "modified": "2026-01-15T12:00:00Z",
    "outlet": {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "name": "string"
    },
    "salesLocation": {
      "salesLocationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "type": 0
    },
    "table": {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "number": 0
    },
    "discount": {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "name": "string"
    },
    "status": 0,
    "customer": {
      "email": "string",
      "fullName": "string",
      "customerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "identityUserId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "address": {
        "street": "string",
        "zipCode": "string",
        "city": "string",
        "state": "string",
        "country": "string",
        "location": {
          "latitude": 0,
          "longitude": 0
        }
      },
      "phone": "string"
    },
    "delivery": {
      "address": {
        "street": "string",
        "zipCode": "string",
        "city": "string",
        "state": "string",
        "country": "string",
        "location": {
          "latitude": 0,
          "longitude": 0
        }
      },
      "phone": "string",
      "recipient": "string"
    },
    "instructions": "string",
    "orderFormat": 0,
    "orderType": 0,
    "serviceTime": {
      "kind": 0,
      "time": "2026-01-15T12:00:00Z"
    },
    "source": "string",
    "saleSourceId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "orderId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "authorizedAt": "2026-01-15T12:00:00Z",
    "capturedAt": "2026-01-15T12:00:00Z",
    "canceledAt": "2026-01-15T12:00:00Z",
    "cancelInfo": {
      "actor": "string",
      "actorId": "string",
      "reason": "string",
      "reasonDesc": "string"
    },
    "totalAmount": {
      "amount": 0,
      "currency": "string"
    },
    "taxAmount": {
      "amount": 0,
      "currency": "string"
    },
    "subtotalInclTax": {
      "amount": 0,
      "currency": "string"
    },
    "subtotalExclTax": {
      "amount": 0,
      "currency": "string"
    },
    "subTotalDiscountInclTax": {
      "amount": 0,
      "currency": "string"
    },
    "subTotalDiscountExclTax": {
      "amount": 0,
      "currency": "string"
    },
    "feeAmountInclTax": {
      "amount": 0,
      "currency": "string"
    },
    "feeAmountExclTax": {
      "amount": 0,
      "currency": "string"
    },
    "minimumOrderDifferenceAmount": {
      "amount": 0,
      "currency": "string"
    },
    "summary": "string",
    "currency": "string",
    "minimumOrderAmount": {
      "amount": 0,
      "currency": "string"
    },
    "items": [
      {
        "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "checkoutId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "product": {
          "productId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
          "productName": "string",
          "productType": 0,
          "variantId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
          "variantName": "string",
          "hasVariants": true,
          "productGroupId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
          "productGroupName": "string",
          "useBasePrice": true
        },
        "quantity": 0,
        "unitQuantity": 0,
        "unit": {
          "name": "string",
          "type": 0
        },
        "productPriceInclTax": {
          "unitPrice": {
            "amount": 0,
            "currency": "string"
          },
          "additionalPrice": {
            "amount": 0,
            "currency": "string"
          }
        },
        "productPriceExclTax": {
          "unitPrice": {
            "amount": 0,
            "currency": "string"
          },
          "additionalPrice": {
            "amount": 0,
            "currency": "string"
          }
        },
        "productMaterialCostExclTax": {
          "unitPrice": {
            "amount": 0,
            "currency": "string"
          },
          "additionalPrice": {
            "amount": 0,
            "currency": "string"
          }
        },
        "hasVariants": true,
        "discount": {
          "value": 0,
          "type": 0
        },
        "taxes": [
          {
            "type": 1,
            "rate": 0
          }
        ],
        "modifications": [
          {
            "modification": "string",
            "ingredientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "name": "string",
            "replaceId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "replacementName": "string",
            "addOnGroupId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "addOnGroupName": "string",
            "quantity": 0,
            "freeAmount": 0,
            "cost": 0,
            "totalCost": 0,
            "position": 0
          }
        ],
        "totalPriceInclTax": {
          "amount": 0,
          "currency": "string"
        },
        "totalPriceExclTax": {
          "amount": 0,
          "currency": "string"
        },
        "totalMaterialCostExclTax": {
          "amount": 0,
          "currency": "string"
        },
        "discountAmountInclTax": {
          "amount": 0,
          "currency": "string"
        },
        "discountAmountExclTax": {
          "amount": 0,
          "currency": "string"
        },
        "stock": {
          "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
          "productId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
          "variantId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
          "count": 0,
          "reorderCount": 0
        },
        "upsellGroupId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
      }
    ],
    "fees": [
      {
        "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "feeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "feeName": "string",
        "amountInclTax": {
          "amount": 0,
          "currency": "string"
        },
        "amountExclTax": {
          "amount": 0,
          "currency": "string"
        },
        "taxes": [
          {
            "type": 1,
            "rate": 0
          }
        ]
      }
    ],
    "payments": [
      {
        "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "created": "2026-01-15T12:00:00Z",
        "modified": "2026-01-15T12:00:00Z",
        "status": 0,
        "amount": {
          "amount": 0,
          "currency": "string"
        },
        "provider": 0,
        "method": {
          "id": "string",
          "type": 0,
          "displayName": "string"
        },
        "transactions": [
          {
            "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "created": "2026-01-15T12:00:00Z",
            "modified": "2026-01-15T12:00:00Z",
            "type": 0,
            "status": 0,
            "providerTransactionId": "string",
            "providerDataJson": "string",
            "errorDetails": "string",
            "notificationJson": "string",
            "paymentProviderCode": "string",
            "paymentProviderData": "string",
            "notificationReceived": true,
            "providerAdditionalData": "string"
          }
        ]
      }
    ],
    "tickets": [
      {
        "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "status": 0,
        "preparationTime": "string",
        "ticketId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
      }
    ]
  }
}
```

### 400 response (`application/json`)

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `message` | string or null | no |  |
| `errorCode` | string (uuid) | no |  |
| `additionalData` | any or null | no |  |

#### Delivery request is not valid

```json
{
  "message": "Delivery information is not valid!",
  "errorCode": "41fcedd1-dfef-4d0d-a5b3-2e28da7dfc9a",
  "additionalData": null
}
```

### 401 response (`application/json`)

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `message` | string or null | no |  |

#### Example (from schema)

```json
{
  "message": "string"
}
```

### 404 response (`application/json`)

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `message` | string or null | no |  |
| `errorCode` | string (uuid) | no |  |

#### Example (from schema)

```json
{
  "message": "string",
  "errorCode": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
```

## Example request

```bash
curl -X POST "https://core-api.ancon.io/api/v1/Outlets/{outletId}/Checkouts" \
  -H "Access-Token: $ANCON_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "orderFormat": 2,
  "serviceTime": {
    "kind": 1,
    "time": "2026-10-23T20:33:34.041788Z"
  },
  "delivery": null,
  "instructions": null,
  "salesLocation": {
    "salesLocationId": "3663d997-8aa5-4461-b9f8-e10a8e97a488",
    "type": 1
  },
  "items": [
    {
      "variantId": "db7b8f1d-29ae-498e-8b96-03edb9b815dc",
      "quantity": 1,
      "modifications": [
        {
          "modification": "Add",
          "ingredientId": "b03029bc-6a6b-4bc4-8603-67aa3d66522b",
          "addOnGroupId": "32076eea-716a-445b-bf25-8d7d41a6d88b",
          "replaceId": null,
          "quantity": 2,
          "freeAmount": 1
        },
        {
          "modification": "Add",
          "ingredientId": "47d9397b-13be-4e8e-9ec6-bc076752cb68",
          "addOnGroupId": "cb0d0a3b-bee5-4bf3-b9c0-be1eba3f3fab",
          "replaceId": null,
          "quantity": 1,
          "freeAmount": 0
        }
      ]
    },
    {
      "variantId": "1eebb990-084b-4dff-908c-76b12661fd32",
      "quantity": 2,
      "modifications": [
        {
          "modification": "Remove",
          "ingredientId": "dd7446c1-9089-4aa7-a29f-3e69c0b77972",
          "addOnGroupId": null,
          "replaceId": null,
          "quantity": 0,
          "freeAmount": 0
        },
        {
          "modification": "Replace",
          "ingredientId": "8cfcf8b8-6474-4e93-a5a0-93599b43942e",
          "addOnGroupId": null,
          "replaceId": "9861a404-0eff-44f2-a755-b92bf27d07dc",
          "quantity": 1,
          "freeAmount": 0
        }
      ]
    }
  ]
}'
```
