---
Title: Orders
Language: cs-CZ
Canonical URL to this Markdown version of this page: [https://docs.kvik.shop/cs/app-api/orders.md](https://docs.kvik.shop/cs/app-api/orders.md)
Canonical URL to HTML version of this page (for humans): [https://docs.kvik.shop/cs/app-api/orders](https://docs.kvik.shop/cs/app-api/orders)
---

# Orders

Breadcrumb: [App API](https://docs.kvik.shop/cs/app-api.md) > [Orders](https://docs.kvik.shop/cs/app-api/orders.md)



# Order API

Orders administration. Searching, updating, etc.

## Order States

```
GET /api/app/order/state
```

#### Request

```http
GET /api/app/order/state HTTP/1.1
Host: yourshopname.com
Authorization: Bearer ACCESS_TOKEN_STRING
Accept-Encoding: gzip
```

#### Response

```http
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Encoding: br

{
    "_type": "Pagination"
    "pageNumber": 1
    "hasNextPage": false
    "items": [
        {
            "_type": "NewOrderState",
            "codename": "new"
        },
        {
            "_type": "PendingOrderState",
            "codename": "pending"
        },
        {
            "_type": "SettledOrderState"
            "codename": "settled"
        }, 
        {
            "_type": "CancelledOrderState",
            "codename": "cancelled"
        },
        {
            "_type": "PendingOrderState"
            "codename": "toBePacked"
        }, 
        {
            "_type": "PendingOrderState"
            "codename": "packed"
        }
    ]
}
```

#### Pagination Type

- `pageNumber: int`
- `hasNextPage: bool`
- `items: array`

#### OrderState Type

- `codename: string`

#### NewOrderState Type

- extends `OrderState`

#### PendingOrderState Type

- extends `OrderState`

#### SettledOrderState Type

- extends `OrderState`

#### CancelledOrderState Type

- extends `OrderState`

## Order Search

```http
GET /api/app/order/search
```

#### Request Query Parameters

- `searchPhrase: string (optional)` - Search phrase
- `page: int (optional)` - Page number - default 1
- `orderStates: string[] (optional)` - Order state codenames from `/api/app/order/state`. Multiple values should be separated with comma.
- `dateType: string (optional)` - Date type of `dateFrom` and `dateTo` parameters. Possible values: `orderDatetime`, `invoiceIssueDate`, `invoiceDueDate`, `invoiceTaxableSupplyDate`
- `dateFrom: string (optional)` - Date from
- `dateTo: string (optional)` - Date to
- `isPaid: bool (optional)` - Only paid orders

#### Request

```http
GET /api/app/order/search?page=4&
searchPhrase=123&
orderStates=new,pending&
dateType=orderDatetime&
dateFrom=2020-01-22&
dateTo=2020-01-23&isPaid=false HTTP/1.1
Host: yourshopname.com
Authorization: Bearer ACCESS_TOKEN_STRING
Accept-Encoding: gzip
```

#### Response

```http
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Encoding: br

{
    "_type": "Pagination",
    "pageNumber": 4,
    "hasNextPage": true,
    "items": [
        {
            "_type": "OrderDetail",
            ...
            ... @see Get Order Detail
        }
    ]
}
```

## Order Detail

### Get Order Detail

```http
GET /api/app/order/detail/{code}
```

#### Path Parameter

- `code: string`

#### Request

```http
GET /api/app/order/detail/1234 HTTP/1.1
Host: yourshopname.com
Authorization: Bearer ACCESS_TOKEN_STRING
Accept-Encoding: gzip
```

#### Response

```http
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Encoding: br

{
    "_type": "OrderDetail",
    "code": "1234",
    "uuid": "c23ed8bd-f801-4fcb-b57c-8273ac789671",
    "orderState": {
        "_type": "NewOrderState",
        "codename": "new"
    },
    "invoiceNumber": "123456",
    "invoiceVariableNumber": 123456,
    "origin": {
        "_type": "ShopOrderOrigin",
        "statusId": null
    },
    "isPaid": false,
    "creationDatetime": "2021-03-25T16:11:07+01:00",
    "userAccount": {
        "_type": "UserAccount",
        "email": "test@test.com",
        "uuid": "414f4f78-0f8b-4c1b-bef5-07748dce30e1"
    },
    "totalPrice": {
        "_type": "Price",
        "amountWithVat": 24762.65,
        "amountWithoutVat": 20465.0,
        "currencyCode": "CZK",
        "vatAmount": 4297.65,
        "vatRateValue": 21.0
    },
    "comment": "some comment",
    "internalNote": "some internal note",
    "tags": [
        {
            "_type": "OrderTag",
            "name": "tag 1"
        },
        {
            "_type": "OrderTag",
            "name": "tag 2"
        }
    ],
    "isProcessedEmailSent": false,
    "isShippedEmailSent": false,
    "isReadyForPersonalPickupEmailSent": false,
    "isCancelledEmailSent": false
    "billingAddress": {
        "_type": "BillingAddress",
        "companyIdentification": {
            "_type": "CompanyIdentification",
            "companyName": "Awesome company",
            "companyRegNumber": "12345",
            "vatIdNumber": "54321",
            "taxIdNumber": "78945"
        },
        "postalAddress": {
            "_type": "PostalAddress",
            "streetAndHouseNumber": "Test 1",
            "city": "Ostrava",
            "postalCode": "78912",
            "country": "CZ",
            "detailedDescription": "First floor"
        }
    },
    "deliveryAddress": {
        "_type": "DeliveryAddress",
        "email": "delivery@test.com",
        "companyName": "Some company"
        "personName": {
            "_type": "PersonName",
            "givenName": "Steve",
            "familyName": "Doe",
            "honorificPrefix": "Ing.",
            "honorificSuffix": "Phd"
        },
        "phoneNumber": {
            "_type": "PhoneNumber",
            "countryPrefix": "420",
            "nationalNumber": "777666555"
        },
        "postalAddress": {
            "_type": "PostalAddress",
            "streetAndHouseNumber": "Test 2",
            "city": "Ostrava",
            "postalCode": "78912",
            "country": "CZ",
            "detailedDescription": "Second floor"
        }
    },
    "contactAddress": {
        "_type": "ContactAddress",
        "email": "test@test.com"
        "personName": {
            "_type": "PersonName",
            "givenName": "John",
            "familyName": "Doe",
            "honorificPrefix": "Ing.",
            "honorificSuffix": "Phd"
        },
        "phoneNumber": {
            "_type": "PhoneNumber",
            "countryPrefix": "420",
            "nationalNumber": "789456123"
        }
    },
    "orderItems": {
        "_type": "Pagination",
        "pageNumber": 1,
        "hasNextPage": false,
        "items": [
            {
                "_type": "DeliveryOrderItem",
                "uuid": "36155c3f-1a1f-42a8-9d57-9fee3ed7e0d6",
                "name": "Delivery 1",
                "codename": "delivery1",
                "count": 1,
                "customCode": "DEV1",
                "linkCustomCode": "DEV1PAY1",
                "deliveryMethodCodename": "upsParcelShop",
                "totalPrice": {
                    "_type": "Price",
                    "amountWithVat": 121.0,
                    "amountWithoutVat": 100.0,
                    "currencyCode": "CZK",
                    "vatAmount": 21.0,
                    "vatRateValue": 21.0
                },
                "unitPrice": {
                    "_type": "Price",
                    "amountWithVat": 121.0,
                    "amountWithoutVat": 100.0,
                    "currencyCode": "CZK",
                    "vatAmount": 21.0,
                    "vatRateValue": 21.0
                },
                "weight": {
                    "_type": "WeightParameter",
                    "value": 20.0,
                    "unit": "kg"                    
                },
                "store": {
                    "_type": "Store",
                    "code": "6532"
                }
            },
            {
                "_type": "PaymentOrderItem",
                "uuid": "71df8dc1-0651-4ca5-8edc-d8995f514132",
                "name": "Payment 1",
                "codename": "payment1",
                "count": 1,
                "customCode": "PAY1",
                "paymentMethodCodename": "stripe_all",
                "totalPrice": {
                    "_type": "Price",
                    "amountWithVat": 121.0,
                    "amountWithoutVat": 100.0,
                    "currencyCode": "CZK",
                    "vatAmount": 21.0,
                    "vatRateValue": 21.0
                },
                "unitPrice": {
                    "_type": "Price",
                    "amountWithVat": 121.0,
                    "amountWithoutVat": 100.0,
                    "currencyCode": "CZK",
                    "vatAmount": 21.0,
                    "vatRateValue": 21.0
                }
            },
            {
                "_type": "ProductOrderItem",
                "uuid": "8a32e944-f040-47bf-9606-1ceb6f46e41a",
                "name": "Product 1",
                "codename": "product1",
                "count": 2,
                "totalPrice": {
                    "_type": "Price",
                    "amountWithVat": 24200.0,
                    "amountWithoutVat": 20000.0,
                    "currencyCode": "CZK",
                    "vatAmount": 4200.0,
                    "vatRateValue": 21.0
                },
                "unitPrice": {
                    "_type": "Price",
                    "amountWithVat": 12100.0,
                    "amountWithoutVat": 10000.0,
                    "currencyCode": "CZK",
                    "vatAmount": 2100.0,
                    "vatRateValue": 21.0
                },
                "retailPrice": {
                    "_type": "Price",
                    "amountWithVat": 12100.0,
                    "amountWithoutVat": 10000.0,
                    "currencyCode": "CZK",
                    "vatAmount": 2100.0,
                    "vatRateValue": 21.0
                },
                "strikethroughPrice": null,
                "weight": {
                    "_type": "WeightParameter",
                    "value": 10.0,
                    "unit": "kg"
                },
                "product": {
                    "_type": "ShoppingProduct",
                    "codename": "product1",
                    "productCodes" : [
                        {
                            "_type": "ProductCode",
                            "type": "ean",
                            "abbreviation": "EAN",
                            "code": "6117148527048",
                            "codeSimplified": "6117148527048"
                        },
                        {
                            "_type": "ProductCode",
                            "type": "custom",
                            "abbreviation": "SKU",
                            "code": "12345",
                            "codeSimplified": "12345"
                        },
                        {
                            "_type": "ProductCode",
                            "type": "manufacturer",
                            "abbreviation": "MPN",
                            "code": "GDB1330",
                            "codeSimplified": "GDB1330"
                        },
                        {
                            "_type": "ProductCode",
                            "type": "oem",
                            "abbreviation": "OEM",
                            "code": "1J0 698 451 D",
                            "codeSimplified": "1J0698451D"
                        }
                    ]
                }
            },
            {
                "_type": "CommonOrderItem",
                "uuid": "b846e366-981e-42c3-9930-ed03fdee6553",
                "name": "Common 1",
                "codename": "common1",
                "count": 3,
                "totalPrice": {
                    "_type": "Price",
                    "amountWithVat": 163.35,
                    "amountWithoutVat": 135.0,
                    "currencyCode": "CZK",
                    "vatAmount": 28.35,
                    "vatRateValue": 21.0
                },
                "unitPrice": {
                    "_type": "Price",
                    "amountWithVat": 54.45,
                    "amountWithoutVat": 45.0,
                    "currencyCode": "CZK",
                    "vatAmount": 9.45,
                    "vatRateValue": 21.0
                }
            },
            {
                "_type": "DepositOrderItem",
                "uuid": "c99a86db-af6b-4946-9601-20014b72add5 ",
                "name": "Deposit to Product 1",
                "codename": "depositProduct1",
                "count": 2,
                "totalPrice": {
                    "_type": "Price",
                    "amountWithVat": 180.0,
                    "amountWithoutVat": 150.0,
                    "currencyCode": "CZK",
                    "vatAmount": 30.0,
                    "vatRateValue": 21.0
                },
                "unitPrice": {
                    "_type": "Price",
                    "amountWithVat": 90.75,
                    "amountWithoutVat": 75.0,
                    "currencyCode": "CZK",
                    "vatAmount": 15.75,
                    "vatRateValue": 21.0
                },
                "product": {
                    "_type": "ShoppingProduct",
                    "codename": "product1",
                    "productCodes" : [
                        {
                            "_type": "ProductCode",
                            "type": "ean",
                            "abbreviation": "EAN",
                            "code": "6117148527048",
                            "codeSimplified": "6117148527048"
                        },
                        {
                            "_type": "ProductCode",
                            "type": "custom",
                            "abbreviation": "SKU",
                            "code": "12345",
                            "codeSimplified": "12345"
                        },
                        {
                            "_type": "ProductCode",
                            "type": "manufacturer",
                            "abbreviation": "MPN",
                            "code": "GDB1330",
                            "codeSimplified": "GDB1330"
                        },
                        {
                            "_type": "ProductCode",
                            "type": "oem",
                            "abbreviation": "OEM",
                            "code": "1J0 698 451 D",
                            "codeSimplified": "1J0698451D"
                        }
                    ]
                }
            },
            {
                "_type": "BonusPointsOrderItem",
                "uuid": " b4a6578c-9434-4ab6-9b15-015446c9cc3e ",
                "name": "Applied bonus points",
                "codename": "bonusPoints1",
                "count": 1,
                "totalPrice": {
                    "_type": "Price",
                    "amountWithVat": 24.2,
                    "amountWithoutVat": 20.0,
                    "currencyCode": "CZK",
                    "vatAmount": 4.2,
                    "vatRateValue": 21.0
                },
                "unitPrice": {
                    "_type": "Price",
                    "amountWithVat": 24.2,
                    "amountWithoutVat": 20.0,
                    "currencyCode": "CZK",
                    "vatAmount": 4.2,
                    "vatRateValue": 21.0
                }
            }
        ]
    },
    "transportUrl": "https://sometransporturl.com/1234",
    "transportInfo": "Some transport info",
    "isReverseCharged": false
}
```

#### OrderDetail Type

- `code: string`
- `uuid: string`
- `orderState: OrderState`
- `invoiceNumber: string`
- `invoiceVariableNumber: int`
- `origin: OrderOrigin`
- `isPaid: bool`
- `creationDatetime: string`
- `userAccount: UserAccount`
- `totalPrice: Price`
- `comment: string`
- `internalNote: string`
- `tags: OrderTag[]`
- `isProcessedEmailSent: bool`
- `isShippedEmailSent: bool`
- `isReadyForPersonalPickupEmailSent: bool`
- `isCancelledEmailSent: bool`
- `billingAddress: BillingAddress`
- `deliveryAddress: DeliveryAddress`
- `contactAddress: ContactAddress`
- `orderItems: Pagination`
- `transportUrl: string` - It is for the full URL for tracking the shipment.
- `transportInfo: string` - It is for any text information that is related to the transport for the given order. For example, it can contain the shipment number with any text.
- `isReverseCharged: bool`

### Update OrderDetail

```http
PATCH /api/app/order/detail/{code}
```

#### Request Path Parameter

- `code: string`

#### Request

```http
PATCH /api/app/order/detail/1234 HTTP/1.1
Host: yourshopname.com
Content-Type: application/json
Authorization: Bearer ACCESS_TOKEN_STRING
Accept-Encoding: gzip

{
    "orderState": {
        "_type": "SettledOrderState",
        "codename": "settled"
    }
    "isPaid": true,
    "transportUrl": "https://sometransporturl.com/4321",
    "transportInfo": "Updated transport info"
}
```

#### Response

```http
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Encoding: br

{
    "_type": "OrderDetail",
    "code": "1234",
    "uuid": "c23ed8bd-f801-4fcb-b57c-8273ac789671",
    "orderState": {
        "_type": "SettledOrderState",
        "codename": "settled",
        "name": "VyÅ™Ã­zena"
    },
    "invoiceNumber": "123456",
    "invoiceVariableNumber": 123456,
    "origin": {
        "_type": "ShopOrderOrigin",
        "statusId": null
    },
    "isPaid": true,
    "transportUrl": "https://sometransporturl.com/4321",
    "transportInfo": "Updated transport info"
    ... 
    ... @see Get Order Detail
}
```

### Reverse Charge OrderDetail

```http
PATCH /api/app/order/detail/reverse-charge/{code}
```

#### Request Path Parameter

- `code: string` - Order code

#### Request

```http
POST /api/app/order/detail/reverse-charge/1234 HTTP/1.1
Host: yourshopname.com
Authorization: Bearer ACCESS_TOKEN_STRING
Accept-Encoding: gzip
Content-Type: application/json

```

#### Response

```http
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Encoding: br

{
    "_type": "OrderDetail",
    "code": "1234",
    "uuid": "c23ed8bd-f801-4fcb-b57c-8273ac789671",
    "orderState": {
        "_type": "SettledOrderState",
        "codename": "settled",
        "name": "VyÅ™Ã­zena"
    },
    "invoiceNumber": "123456",
    "invoiceVariableNumber": 123456,
    "origin": {
        "_type": "ShopOrderOrigin",
        "statusId": null
    },
    "isPaid": true,
    "transportUrl": "https://sometransporturl.com/4321",
    "transportInfo": "Updated transport info"
    "totalPrice": {
        "_type": "Price",
        "amountWithVat": 20465.0,
        "amountWithoutVat": 20465.0,
        "currencyCode": "CZK",
        "vatAmount": 0.0,
        "vatRateValue": 0.0
    },
    "isReverseCharged": true
    ... 
    ... @see Get Order Detail
}
```

## Order Items

### Get Order Items

```http
GET /api/app/order/items/{code}
```

#### Request path parameter

- `code: string` - Order code

#### Request query parameter

- `page: int`

#### Request

```http
GET /api/app/order/items/1234?page=2  HTTP/1.1
Host: yourshopname.com
Authorization: Bearer ACCESS_TOKEN_STRING
Accept-Encoding: gzip
```

#### Response

```http
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Encoding: br

{
    "_type": "Pagination",
    "pageNumber": 2,
    "hasNextPage": false,
    "items": [
        {
            "_type": "ProductOrderItem",
            ...            
            ... @see Get Order Item"
        }
    ]        
}
```

### Get Order Item

```http
GET /api/app/order/item/{uuid}
```

#### Request Path Parameter

- `uuid: UUID string`

#### Request

```http
GET /api/app/order/item/8a32e944-f040-47bf-9606-1ceb6f46e41a HTTP/1.1
Host: yourshopname.com
Authorization: Bearer ACCESS_TOKEN_STRING
Accept-Encoding: gzip
```

#### Response

```http
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Encoding: br

{
    "_type": "ProductOrderItem",
    "uuid": "8a32e944-f040-47bf-9606-1ceb6f46e41a",
    "name": "Product 1",
    "codename": "product1",
    "count": 2,
    "totalPrice": {
        "_type": "Price",
        "amountWithVat": 24200.0,
        "amountWithoutVat": 20000.0,
        "currencyCode": "CZK",
        "vatAmount": 4200.0,
        "vatRateValue": 21.0
    },
    "unitPrice": {
        "_type": "Price",
        "amountWithVat": 12100.0,
        "amountWithoutVat": 10000.0,
        "currencyCode": "CZK",
        "vatAmount": 2100.0,
        "vatRateValue": 21.0
    },
    "retailPrice": {
        "_type": "Price",
        "amountWithVat": 12100.0,
        "amountWithoutVat": 10000.0,
        "currencyCode": "CZK",
        "vatAmount": 2100.0,
        "vatRateValue": 21.0
    },
    "strikethroughPrice": null,
    "weight": {
        "_type": "WeightParameter",
        "value": 10.0,
        "unit": "kg"
    },
    "product": {
        "_type": "ShoppingProduct",
        "codename": "product1",
        "productCodes" : [
            {
                "_type": "ProductCode",
                "type": "ean",
                "abbreviation": "EAN",
                "code": "6117148527048",
                "codeSimplified": "6117148527048"
            },
            {
                "_type": "ProductCode",
                "type": "custom",
                "abbreviation": "SKU",
                "code": "12345",
                "codeSimplified": "12345"
            },
            {
                "_type": "ProductCode",
                "type": "manufacturer",
                "abbreviation": "MPN",
                "code": "GDB1330",
                "codeSimplified": "GDB1330"
            },
            {
                "_type": "ProductCode",
                "type": "oem",
                "abbreviation": "OEM",
                "code": "1J0 698 451 D",
                "codeSimplified": "1J0698451D"
            }
        ]
    },
    "supply": {
        "_type": "Supply",
        "type": "import",
        "supplierCodename": "supplier1",
        "supplierName": "Supplier 1",
        "code": "123456",
        "orderingNumber": "789546"
    }
}
```

#### OrderItem Type

- `uuid: string`
- `name: string`
- `codename: string`
- `count: int`
- `totalPrice: Price`
- `unitPrice: Price`
- `weight: float`

#### ProductOrderItem Type

- extends `OrderItem`
- `product: ShoppingProduct` - [ShoppingProduct](shopping-product.md#response) readonly
- `supply: Supply(optional)` - readonly [Supply](#supply-type)  
- `retailPrice: ?Price` - Price for non-logged in customers at the time of purchase.
- `strikthroughPrice: ?Price` - Strikthrough price displayed for the particular customer at the time of purchase.

#### DeliveryOrderItem Type

- extends `OrderItem`
- `store: Store` - readonly
- `customCode: string` - readonly
- `linkCustomCode: string` - readonly
- `deliveryMethodCodename: string` - readonly

#### PaymentOrderItem Type

- extends `OrderItem`
- `customCode: string` - readonly
- `paymentMethodCodename: string` - readonly

#### DepositOrderItem Type

- extends `OrderItem`
- `product: ShoppingProduct` - readonly

#### RoundingOrderItem Type

- extends `OrderItem`

#### CouponOrderItem Type

- extends `OrderItem`

#### CommonOrderItem Type

- extends `OrderItem`

#### BonusPointsOrderItem Type

- extends `OrderItem`

#### AdditionalServiceOrderItem Type

- extends `OrderItem`

#### Store Type

- `code: string` - Code of the store

#### Price Type

- `amountWithVat: float`
- `amountWithoutVat: float`
- `currencyCode: string`
- `vatAmount: float`
- `vatRateValue: float`

#### Supply type
- `type: string` - One of `custom`, `import`, `warehouse`
- `supplierCodename: string(optional)` - unique identifier of supplier
- `supplierName: string(optional)` - display name of supplier
- `code: string(optional)` - unique code for given supplier
- `orderingNumber: string(optional)` - ordering number

### Update Order Item

```
PATCH /api/app/order/item/{uuid}
```

#### Request Path Parameter

- `uuid: string`

#### Request

```http
PATCH /api/app/order/item/8a32e944-f040-47bf-9606-1ceb6f46e41a HTTP/1.1
Host: yourshopname.com
Content-Type: application/json
Authorization: Bearer ACCESS_TOKEN_STRING
Accept-Encoding: gzip

{
    "count": 10
}
```

#### Response

```http
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Encoding: br

{
    "_type:": "Pagination",
    "pageNumber": 1,
    "hasNextPage": false,
    "items":[
        {
            "_type": "ProductOrderItem",
            "uuid": "8a32e944-f040-47bf-9606-1ceb6f46e41a",
            "name": "Product 1",
            "codename": "product1",
            "count": 10,
            "totalPrice": {
                "_type": "Price",
                "amountWithVat": 24200.0,
                "amountWithoutVat": 20000.0,
                "currencyCode": "CZK",
                "vatAmount": 4200.0,
                "vatRateValue": 21.0
            },
            "unitPrice": {
                "_type": "Price",
                "amountWithVat": 12100.0,
                "amountWithoutVat": 10000.0,
                "currencyCode": "CZK",
                "vatAmount": 2100.0,
                "vatRateValue": 21.0
            },
            "retailPrice": {
                "_type": "Price",
                "amountWithVat": 12100.0,
                "amountWithoutVat": 10000.0,
                "currencyCode": "CZK",
                "vatAmount": 2100.0,
                "vatRateValue": 21.0
            },
            "strikethroughPrice": null,
            "weight": {
                "_type": "WeightParameter",
                "value": 10.0,
                "unit": "kg"
            }
        }
    ]
}
```

### Create New Order Item

```http
PUT /api/app/order/item/{code}
```

#### Request path parameter

- `code: string` - Order code

#### Request

```http
PUT /api/app/order/item/1234 HTTP/1.1
Host: yourshopname.com
Content-Type: application/json
Authorization: Bearer ACCESS_TOKEN_STRING
Accept-Encoding: gzip

{
    "_type": "ProductOrderItem",
    "codename": "product1",
    "count": 2
}
```

#### Response

```http
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Encoding: br

{
    "_type:": "Pagination",
    "pageNumber": 1,
    "hasNextPage": false,
    "items":[
        {
            "_type": "ProductOrderItem",
            "uuid": "8a32e944-f040-47bf-9606-1ceb6f46e41a",
            "name": "Product 1",
            "codename": "product1",
            "count": 2,
            "totalPrice": {
                "_type": "Price",
                "amountWithVat": 24200.0,
                "amountWithoutVat": 20000.0,
                "currencyCode": "CZK",
                "vatAmount": 4200.0,
                "vatRateValue": 21.0
            },
            "unitPrice": {
                "_type": "Price",
                "amountWithVat": 12100.0,
                "amountWithoutVat": 10000.0,
                "currencyCode": "CZK",
                "vatAmount": 2100.0,
                "vatRateValue": 21.0
            },
            "retailPrice": {
                "_type": "Price",
                "amountWithVat": 12100.0,
                "amountWithoutVat": 10000.0,
                "currencyCode": "CZK",
                "vatAmount": 2100.0,
                "vatRateValue": 21.0
            },
            "strikethroughPrice": null,
            "weight": {
                "_type": "WeightParameter",
                "value": 10.0,
                "unit": "kg"
            }
        }
    ]
}
```

### Delete Order Item

```http
DELETE /api/app/order/item/{uuid}
```

#### Request Path Parameter

- `uuid: UUID string`

#### Request

```http
DELETE /api/app/order/item/8a32e944-f040-47bf-9606-1ceb6f46e41a HTTP/1.1
Host: yourshopname.com
Authorization: Bearer ACCESS_TOKEN_STRING
Accept-Encoding: gzip
```

#### Response

```http
HTTP/1.1 200 OK
Content-Encoding: br
```

## Order History

### Get Order History

```http
GET /api/app/order/history/{code}
```

#### Request path parameter

- `code: string` - Order code

#### Request query parameter

- `page: int (optional)` - Page number - default 1

#### Request

```http
GET /api/app/order/items/1234?page=2  HTTP/1.1
Host: yourshopname.com
Authorization: Bearer ACCESS_TOKEN_STRING
Accept-Encoding: gzip
```

#### Response

```http
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Encoding: br

{
    "_type": "Pagination",
    "pageNumber": 2,
    "hasNextPage": false,
    "items": [
        {            
            "_type": "OrderHistory",
            "type": "InsertedOrderedProductHistory",
            "orderCode": "1234",
            "dateTime": "2021-04-22T09:38:15+02:00",
            "parameters": {
                "name": "Product 1",
                "codename": "product1"
            },
            "userAccount": {
                "_type": "UserAccount",
                "email": "test@test.com",
                "uuid": "d0bf1a66-a9e6-4f00-9f68-837012b63af2"
            },
            "orderItemUuid": "42570ab0-4ef0-44b2-9089-f930ccf9caff"        
        }
    ]
}
```

#### OrderHistory Type

- `type: string` - type of OrderHistory
- `orderCode: string|null` - code of order
- `dateTime: string` - Date and time string of order history
- `parameters: object` - additional parameters describing order history
- `userAccount: UserAccount|null` - user account info
- `orderItemUuid: string|null` - UUID string of related Order Item

## Order Use-case

```http
POST /api/app/order/use-case
```

#### Request

```http
POST /api/app/order/use-case HTTP/1.1
Host: yourshopname.com
Authorization: Bearer ACCESS_TOKEN_STRING
Accept-Encoding: gzip
Content-Type: application/json

{
    "_type": "SendEmailOrderUseCase",
    "orderFilter": {
        "_type": "OrderFilter",
        "codes": ["1234", "6541"]
    },
    "emailUseCaseType": "readyForPersonalPickup",
    "isForceSend": false
}
```

#### Response

```http
HTTP/1.1 200 OK
Content-Encoding: br

{
    "_type": "OrderUseCaseResult"
}
```

#### OrderUseCase Type

- `orderFilter: OrderFilter` - Order filter

#### OrderFiler Type

- `codes: string[]` - array of Order codes, maximum: 30 codes 

#### Request Type SendEmailOrderUseCase

- extends `OrderUseCase`
- `emailUseCaseType: string` - Possible values: `readyForPersonalPickup`, `cancelled`, `edited`, `processed`, `shipped`
- `isForceSend: bool`



Order JSON.

The full order data for the given order code serialized as JSON.

The JSON is derived from the order's XML representation. It preserves the same hierarchy and data as the XML export, but attributes become `@`-prefixed keys, text content becomes `#text` values, and repeated sibling elements are collected into arrays.


## JSON Structure Notes

### How XML maps to JSON

1. **XML attributes** become object keys prefixed with `@`.
   ```xml
   <status code="1" name="New"/>
   ```
   becomes
   ```json
   "status": [ { "@code": "1", "@name": "New" } ]
   ```

2. **Text content** of an element becomes `"#text"` when the element also has attributes or child elements.
   ```xml
   <comment>Please leave at door</comment>
   ```
   becomes
   ```json
   "comment": [ { "#text": "Please leave at door" } ]
   ```

3. **Repeated child elements** with the same name under the same parent become arrays.
   ```xml
   <ean>1234567890123</ean>
   <ean>9876543210987</ean>
   ```
   becomes
   ```json
   "ean": [
     { "#text": "1234567890123" },
     { "#text": "9876543210987" }
   ]
   ```

4. **Single child elements** also become arrays with one item, because `XmlUtils::toArray()` groups children by tag name.
   ```xml
   <time datetime="2024-01-15 09:30:00" timestamp="1705311000" timezone="Europe/Prague"/>
   ```
   becomes
   ```json
   "time": [
     { "@datetime": "2024-01-15 09:30:00", "@timestamp": "1705311000", "@timezone": "Europe/Prague" }
   ]
   ```

5. **Empty elements** (no attributes, no text, no children) become empty objects `{}`.

6. **CDATA sections** are treated as plain text and appear under `#text`.


## Element Reference

The JSON object is the root `<order>` element serialized as an array. It has the following keys:

- `@uuid`: Unique order identifier (UUID v4).
- `@code`: Human-readable order code (e.g. `ORD-2024-001`).
- `@variableNumber`: Legacy variable symbol for bank transfers. Same value as `@paymentReferenceNumber`, kept for backward compatibility.
- `@paymentReferenceNumber`: Payment reference number used for matching incoming bank transfers.
- `@invoiceNumber`: Issued invoice number, if any. Empty string when no invoice has been issued.
- `@originName`: Order origin channel (e.g. `"eshop"`, `"heureka"`, `"zbozi"`).
- `@originStatusId`: Marketplace-specific order status ID. Only present for marketplace-origin orders.
- `@originCode`: Marketplace-specific order code. Only present for marketplace-origin orders.
- `@currencyCode`: ISO 4217 currency code of the order (e.g. `CZK`, `EUR`).
- `@languageCode`: ISO 639-1 language code of the order (e.g. `cs`, `en`, `sk`).
- `@domainName`: Shop domain without `www` prefix.
- `status`: Array with one object containing `@code` and `@name`.
- `time`: Array with one object containing `@datetime`, `@timestamp`, and `@timezone`.
- `money`: Array with one object containing `@totalPrice`, `@totalPriceWithoutVat`, and `@currencyCode`.
- `comment`: Array with one object containing `#text`. Only present when the customer left a comment.
- `internalNote`: Array with one object containing `#text`. Only present when set by staff.
- `subscribedToNewsletter`: Array with one object containing `@email`. Only appears when the contact email belongs to a user account with an active newsletter agreement.
- `user`: Array with one object for registered user accounts linked to the order contact email. Omitted entirely for guest checkouts. Contains:
  - `@id`, `@uuid`, `@email`, `@codename`, `@registered`, `@banned`
  - `internalNote`: Array with one object containing `#text`. Only present when non-empty.
  - `lastEditTime`: Array with one object containing `@datetime`, `@timestamp`, `@timezone`.
  - `registrationTime`: Array with one object containing `@datetime`, `@timestamp`, `@timezone`. Only present for registered accounts.
  - `bonusPoints`: Array with one object containing `@sum` and `@lastChange`. Only present for registered accounts.
  - `addresses`: Array with one object containing:
    - `contactAddress`: Array of objects with `@uuid`, `@primary`, `personName`, `emailAddress`, `phoneNumber`.
    - `deliveryAddress`: Array of objects with `@uuid`, `@primary`, `personName`, `companyName`, `postalAddress`, `emailAddress`, `phoneNumber`.
    - `billingAddress`: Array of objects with `@uuid`, `@primary`, `companyIdentification`, `postalAddress`.
  - `userGroups`: Array with one object containing `userGroup` array. Each `userGroup` has `@type`, `@codename`, `@name`, `@membership`, and optionally `userGroupLinkHistory`.
  - `referrerUrl`: Array with one object containing `@url`. Only present when captured.
  - `ip`: Array with one object containing `#text`. Only present when captured.
- `contactInfo`: Array with one object containing `@firstName`, `@familyName`, `@email`, `@phoneNumber`, and a nested `phoneNumber` array with `@countryPrefix` and `@nationalNumber`.
- `billingInfo`: Array with one object containing `@countryCode`, `@companyName`, `@companyRegNumber`, `@ic`, `@vatIdNumber`, `@taxIdNumber`, `@dic`, `@isVatIdVerified`, `address`, and optionally `addressAutocomplete`.
  - `address`: Array with one object containing `@detailedDescription`, `@street`, `@city`, `@postcode`, `@countryCode`.
  - `addressAutocomplete`: Array with one object containing `@type`, `postalAddress`, and optionally `location`.
- `deliveryInfo`: Array with one object containing `@countryCode`, `@companyName`, `@firstName`, `@familyName`, `@email`, `@phoneNumber`, `phoneNumber`, `address`, and optionally `addressAutocomplete`.
  - `address`: Array with one object containing `@detailedDescription`, `@street`, `@city`, `@postcode`, `@countryCode`, and optionally `county`.
    - `county`: Array with one object containing `@name`, `@code`, `@type`.
- `payments`: Array with one object containing a `payment` array.
  - `payment`: Array of objects. When payment entities exist, one object per transaction; otherwise a single legacy payment object.
    - Attributes: `@methodName`, `@customCode`, `@linkCustomCode`, `@externalNumber`, `@externalState`, `@priceAmount`, `@currency`, `@createdDatetime`, `@updatedDatetime` (legacy path may omit `createdDatetime` and conditionally include `updatedDatetime`).
    - `paymentDoneCheck`: Array with one object containing `@done`.
    - `k2Payment`: Array with one object containing `@paymentId` and `@paymentDeliveryLinkId`. Only present when xmlToDatabase module has `enableK2ElementsInOrder` enabled.
- `deliveries`: Array with one object containing a `delivery` array.
  - `delivery`: Array of objects with `@methodName`, `@packageCount`, `@customCode`, `@priceCustomCode`, optionally `store`, and optionally `k2Delivery`.
    - `store`: The element name matches the method name (e.g. `dpd`, `zasilkovna`) with `@storeId`, `@storeCode`, `@storeName`.
    - `k2Delivery`: Array with one object containing `@deliveryId` and `@deliveryPriceId`. Only present when `enableK2ElementsInOrder` is enabled.
- `deliveryDateTime`: Array with one object containing `@text` and `#text`. Only present when set.
- `deliveryPartialConfirmed`, `deliveryAfternoonConfirmed`, `deliveryTodayConfirmed`: Arrays with one object containing `#text`. Only present when confirmed tags are configured.
- `bonusPoints`: Array with one object containing `@changeAmount` and `@totalAmount`. Only present when bonusSystem module is enabled and rewards are active.
- `orderedProducts`: Array with one object containing a `orderedProduct` array.
  - `orderedProduct`: Array of polymorphic objects.
    - `type="product"`: Contains `@name`, `@count`, `@vat`, `@type`, `@id`, `money`, and optionally `strikethroughPrice`, `retailPrice`, `vehicle`, `vehicleSearchResultDetail`, `deliveryDateTime`, `deliveryDateTimePickupInStore`, `deliveryPartialConfirmed`, `deliveryAfternoonConfirmed`, `deliveryTodayConfirmed`, `primarySupply`, `availableSupplies`, `ean`, `upc`, `tecdoc`, `mainPartNo`, `brandName`, `product`, `k2Product`, `refundableDeposit`, `availabilityLabel`.
      - `money`: Array with one object containing `@price`, `@priceWithoutVat`, `@totalPrice`, `@totalPriceWithoutVat`, `@currencyCode`, `@vat`.
      - `strikethroughPrice` / `retailPrice`: Array with one object containing `@amountWithoutVat`, `@amountWithVat`, `@currencyCode`, `@vatRateName`, `@vatRate`, `@vatAmount`.
      - `pricing`: Array with one object containing `pricingSteps`. Only present when pricing history exists.
        - `pricingSteps`: Array with one object. Each XML pricing step element appears under its own key derived from the XML element name (e.g. `productPricePricingStep`, `supplyPricingStep`, `discountPricingStep`). Because each step name typically appears once, each key holds an array with one object containing `@finalPrice` (price query string) plus the step's type-specific attributes. Nested complex values such as `currencyPair`, `surchargePricingStep`, and `retailApplicationSurchargePricingStep` become nested child arrays.
            - Price query string format: a set of `&`-separated key/value pairs. `@finalPrice` example: `"C=CZK&A=1500.00&Z=1815.00&VAT=315.00&VATRATE=21"`. `C` is the ISO 4217 currency code, `A` is the amount without VAT, `Z` is the amount with VAT (included only when it differs from `A`), `VAT` is the VAT amount, and `VATRATE` is the VAT percentage. Both `VAT` and `VATRATE` are included only when VAT is non-zero.
      - `vehicle`: Array with one object containing `@slugPath`, `@vehicleBrandName`, `@vehicleModelName`, `@name`, `@powerKwFrom`, `@powerHpFrom`, `@monthFrom`, `@monthTo`.
      - `primarySupply` / `availableSupplies`: Contain `supply` arrays with `@supplierName`, `@supplierCodename`, `@supplierKey`, `@supplierCustomCode`, `@orderingNumber`, `@disabled`, `@multipleBuyQuantity`, `money`, `stock`.
      - `tecdoc`: Array with one object containing `@articleNo`, `@simplifiedArticleNo`, `@brandNo`, `@brandName`, `@crossed`, `@genericArticleId`.
      - `brandName`: Array with one object containing `@isOriginal` and `#text`.
      - `product`: Array with one object containing `@codename`, `@name`, `url`, `note`, `unit`, `piecesCount`, `warranty`, `productPrices`, `productGroups`, `productCodes`, `images`, `supplies`.
      - `k2Product`: Array with one object containing `@productId`.
      - `refundableDeposit`: Array with one object containing `#text` (`yes`, `probably`, or `no`).
      - `availabilityLabel`: Array with one object containing `@code`, `@label`, `@shortLabel`, `@shortSubLabel`, `@subLabel`, `@color`, `description`, `shortDescription`.
    - `type="delivery"`: Contains `@name`, `@count`, `@vat`, `@type`, `@id`, `money`, and optionally `k2Delivery`.
    - `type="payment"`: Contains `@name`, `@count`, `@vat`, `@type`, `@id`, `money`, and optionally `k2Payment`.
- `invoices`: Array with one object containing an `invoice` array. Only present when invoice number is assigned.
  - `invoice`: Array of objects with `@invoiceNumber`, `issueDate`, `dueDate`, `taxableSupplyDate`.
    - `issueDate`: Array with one object containing `date` array with `@date` and `@timezone`.
    - `dueDate`: Same structure as `issueDate`. Only present when set.
    - `taxableSupplyDate`: Same structure as `issueDate`. Only present when set.
- `receipts`: Produced by the factory but intentionally omitted from this example.


## Conditional Elements

The JSON conditional behavior mirrors the XML exactly:

- `comment` appears only when the customer left a non-empty comment during checkout.
- `internalNote` at the order level appears only when staff has set an internal note.
- `subscribedToNewsletter` appears only when the contact email is linked to a registered user account that has an active newsletter agreement.
- `user` appears only for registered customers. Inside `user`, `registrationTime`, `bonusPoints`, and `addresses` are omitted for unregistered placeholder accounts. Guest checkouts omit the entire `user` object, which also means `referrerUrl` and `ip` are absent because they are nested inside `user`.
- `referrerUrl` and `ip` inside `user` appear only when the respective values were captured during order placement.
- `billingInfo` and `deliveryInfo` `addressAutocomplete` objects appear only when the address was resolved via an autocomplete service during checkout.
- `deliveryInfo` `address` may contain a `county` sub-array depending on the country address format.
- `payments` always exists. When payment entities exist, `payment` contains multiple objects per transaction; otherwise it falls back to a single legacy `payment` object.
- `deliveries` `delivery` may contain a `store` child for pickup-point deliveries.
- `k2Delivery` and `k2Payment` appear only when the xmlToDatabase module has `enableK2ElementsInOrder` enabled.
- `deliveryPartialConfirmed`, `deliveryAfternoonConfirmed`, and `deliveryTodayConfirmed` at both order and product level appear only when the corresponding order item tags are configured as confirmed.
- `bonusPoints` at the order level appears only when the bonusSystem module is enabled and rewards are active.
- `orderedProduct` is polymorphic:
    - `type="product"` represents a merchandise line item. Many child objects are conditional on product configuration and module settings.
    - `type="delivery"` represents shipping costs.
    - `type="payment"` represents payment fees.
- `invoices` appears only when an invoice number has been assigned.
- `pricing` appears only for product-type ordered products that have stored pricing step history. The step objects appear under keys named after the XML step element names (e.g. `productPricePricingStep`, `supplyPricingStep`).
- Marketplace orders (e.g. Heureka) include `@originStatusId` and `@originCode` on the root object.


## Example JSON

```json
{
    "@uuid": "a3f7c912-1d4b-4e6f-8c2a-3b9d0e5f7a18",
    "@code": "ORD-2024-001",
    "@variableNumber": "1234567890",
    "@paymentReferenceNumber": "1234567890",
    "@invoiceNumber": "INV-2024-001",
    "@originName": "eshop",
    "@originStatusId": "42",
    "@originCode": "HEU-12345",
    "@currencyCode": "CZK",
    "@languageCode": "en",
    "@domainName": "example.com",
    "status": [
        {
            "@code": "1",
            "@name": "New"
        }
    ],
    "time": [
        {
            "@datetime": "2024-01-15 09:30:00",
            "@timestamp": "1705311000",
            "@timezone": "Europe/Prague"
        }
    ],
    "money": [
        {
            "@totalPrice": "1250.00",
            "@totalPriceWithoutVat": "1033.06",
            "@currencyCode": "CZK"
        }
    ],
    "comment": [
        {
            "#text": "Please leave the package at the front door"
        }
    ],
    "internalNote": [
        {
            "#text": "VIP customer - handle with care"
        }
    ],
    "subscribedToNewsletter": [
        {
            "@email": "customer@example.com"
        }
    ],
    "user": [
        {
            "@id": "123",
            "@uuid": "b4g8d023-2e5c-5f7g-9d3b-4c0e1f6g8b29",
            "@email": "customer@example.com",
            "@codename": "customer001",
            "@registered": "true",
            "@banned": "false",
            "internalNote": [
                {
                    "#text": "VIP customer"
                }
            ],
            "lastEditTime": [
                {
                    "@datetime": "2024-01-10 14:20:00",
                    "@timestamp": "1704897600",
                    "@timezone": "Europe/Prague"
                }
            ],
            "registrationTime": [
                {
                    "@datetime": "2023-06-01 10:00:00",
                    "@timestamp": "1685606400",
                    "@timezone": "Europe/Prague"
                }
            ],
            "bonusPoints": [
                {
                    "@sum": "150",
                    "@lastChange": "2024-01-10T14:20:00+01:00"
                }
            ],
            "addresses": [
                {
                    "contactAddress": [
                        {
                            "@uuid": "c5h9e134-3f6d-6g8h-0e4c-5d1f2g7h9c30",
                            "@primary": "true",
                            "personName": [
                                {
                                    "@givenName": "John",
                                    "@familyName": "Doe"
                                }
                            ],
                            "emailAddress": [
                                {
                                    "@email": "customer@example.com"
                                }
                            ],
                            "phoneNumber": [
                                {
                                    "@countryPrefix": "+420",
                                    "@nationalNumber": "123456789"
                                }
                            ]
                        }
                    ],
                    "deliveryAddress": [
                        {
                            "@uuid": "d6i0f245-4g7e-7h9i-1f5d-6e2g3h8i0d41",
                            "@primary": "true",
                            "personName": [
                                {
                                    "@givenName": "John",
                                    "@familyName": "Doe"
                                }
                            ],
                            "companyName": [
                                {
                                    "#text": "Acme Ltd."
                                }
                            ],
                            "postalAddress": [
                                {
                                    "@streetAndHouseNumber": "Main Street 123",
                                    "@city": "Prague",
                                    "@postalCode": "11000",
                                    "@countryCode": "CZ",
                                    "@detailedDescription": "Floor 2"
                                }
                            ],
                            "emailAddress": [
                                {
                                    "@email": "customer@example.com"
                                }
                            ],
                            "phoneNumber": [
                                {
                                    "@countryPrefix": "+420",
                                    "@nationalNumber": "123456789"
                                }
                            ]
                        }
                    ],
                    "billingAddress": [
                        {
                            "@uuid": "e7g1h356-5h8f-8i0j-2g6e-7f3h4i9j1e52",
                            "@primary": "true",
                            "companyIdentification": [
                                {
                                    "@companyName": "Acme Ltd.",
                                    "@companyRegNumber": "12345678",
                                    "@vatIdNumber": "CZ12345678",
                                    "@taxIdNumber": "CZ12345678"
                                }
                            ],
                            "postalAddress": [
                                {
                                    "@streetAndHouseNumber": "Main Street 123",
                                    "@city": "Prague",
                                    "@postalCode": "11000",
                                    "@countryCode": "CZ",
                                    "@detailedDescription": "Floor 2"
                                }
                            ]
                        }
                    ]
                }
            ],
            "userGroups": [
                {
                    "userGroup": [
                        {
                            "@type": "agreement",
                            "@codename": "newsletter",
                            "@name": "Newsletter",
                            "@membership": "included",
                            "userGroupLinkHistory": [
                                {
                                    "@variantName": "Newsletter",
                                    "ip": [
                                        {
                                            "#text": "192.168.1.1"
                                        }
                                    ],
                                    "userAgent": [
                                        {
                                            "#text": "Mozilla/5.0"
                                        }
                                    ],
                                    "time": [
                                        {
                                            "@datetime": "2023-06-01 10:00:00",
                                            "@timestamp": "1685606400",
                                            "@timezone": "Europe/Prague"
                                        }
                                    ]
                                }
                            ]
                        }
                    ]
                }
            ],
            "referrerUrl": [
                {
                    "@url": "https://google.com"
                }
            ],
            "ip": [
                {
                    "#text": "192.168.1.1"
                }
            ]
        }
    ],
    "contactInfo": [
        {
            "@firstName": "John",
            "@familyName": "Doe",
            "@email": "customer@example.com",
            "@phoneNumber": "+420123456789",
            "phoneNumber": [
                {
                    "@countryPrefix": "+420",
                    "@nationalNumber": "123456789"
                }
            ]
        }
    ],
    "billingInfo": [
        {
            "@countryCode": "CZ",
            "@companyName": "Acme Ltd.",
            "@companyRegNumber": "12345678",
            "@ic": "12345678",
            "@vatIdNumber": "CZ12345678",
            "@taxIdNumber": "CZ12345678",
            "@dic": "CZ12345678",
            "@isVatIdVerified": "true",
            "address": [
                {
                    "@detailedDescription": "Floor 2",
                    "@street": "Main Street 123",
                    "@city": "Prague",
                    "@postcode": "11000",
                    "@countryCode": "CZ"
                }
            ],
            "addressAutocomplete": [
                {
                    "@type": "addressAutocomplete",
                    "postalAddress": [
                        {
                            "streetAndHouseNumber": [
                                {
                                    "#text": "Main Street 123"
                                }
                            ],
                            "city": [
                                {
                                    "#text": "Prague"
                                }
                            ],
                            "postalCode": [
                                {
                                    "#text": "110 00"
                                }
                            ]
                        }
                    ],
                    "location": [
                        {
                            "lat": [
                                {
                                    "#text": "50.0755"
                                }
                            ],
                            "lng": [
                                {
                                    "#text": "14.4378"
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    ],
    "deliveryInfo": [
        {
            "@countryCode": "CZ",
            "@companyName": "Acme Ltd.",
            "@firstName": "John",
            "@familyName": "Doe",
            "@email": "customer@example.com",
            "@phoneNumber": "+420123456789",
            "phoneNumber": [
                {
                    "@countryPrefix": "+420",
                    "@nationalNumber": "123456789"
                }
            ],
            "address": [
                {
                    "@detailedDescription": "Floor 2",
                    "@street": "Main Street 123",
                    "@city": "Prague",
                    "@postcode": "11000",
                    "@countryCode": "CZ",
                    "county": [
                        {
                            "@name": "Prague",
                            "@code": "CZ010",
                            "@type": "region"
                        }
                    ]
                }
            ],
            "addressAutocomplete": [
                {
                    "@type": "addressAutocomplete",
                    "postalAddress": [
                        {
                            "streetAndHouseNumber": [
                                {
                                    "#text": "Main Street 123"
                                }
                            ],
                            "city": [
                                {
                                    "#text": "Prague"
                                }
                            ],
                            "postalCode": [
                                {
                                    "#text": "110 00"
                                }
                            ]
                        }
                    ],
                    "location": [
                        {
                            "lat": [
                                {
                                    "#text": "50.0755"
                                }
                            ],
                            "lng": [
                                {
                                    "#text": "14.4378"
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    ],
    "payments": [
        {
            "payment": [
                {
                    "@methodName": "card",
                    "@customCode": "CARD-01",
                    "@linkCustomCode": "LINK-01",
                    "@externalNumber": "PAY-12345",
                    "@externalState": "done",
                    "@priceAmount": "1250.00",
                    "@currency": "CZK",
                    "@createdDatetime": "2024-01-15T09:30:00+01:00",
                    "@updatedDatetime": "2024-01-15T09:35:00+01:00",
                    "paymentDoneCheck": [
                        {
                            "@done": "true"
                        }
                    ],
                    "k2Payment": [
                        {
                            "@paymentId": "CARD-01",
                            "@paymentDeliveryLinkId": "LINK-01"
                        }
                    ]
                }
            ]
        }
    ],
    "deliveries": [
        {
            "delivery": [
                {
                    "@methodName": "dpd",
                    "@packageCount": "1",
                    "@customCode": "DPD-01",
                    "@priceCustomCode": "DPD-PRICE-01",
                    "dpd": [
                        {
                            "@storeId": "DPD-123",
                            "@storeCode": "DP123",
                            "@storeName": "Prague Central"
                        }
                    ],
                    "k2Delivery": [
                        {
                            "@deliveryId": "DPD-01",
                            "@deliveryPriceId": "DPD-PRICE-01"
                        }
                    ]
                }
            ]
        }
    ],
    "deliveryDateTime": [
        {
            "@text": "Monday, Jan 15",
            "#text": "2024-01-15"
        }
    ],
    "deliveryPartialConfirmed": [
        {
            "#text": "true"
        }
    ],
    "deliveryAfternoonConfirmed": [
        {
            "#text": "false"
        }
    ],
    "deliveryTodayConfirmed": [
        {
            "#text": "true"
        }
    ],
    "bonusPoints": [
        {
            "@changeAmount": "50",
            "@totalAmount": "150"
        }
    ],
    "orderedProducts": [
        {
            "orderedProduct": [
                {
                    "@name": "Bosch Brake Pads",
                    "@count": "2",
                    "@vat": "21.0",
                    "@type": "product",
                    "@id": "BPB-123456",
                    "money": [
                        {
                            "@price": "500.00",
                            "@priceWithoutVat": "413.22",
                            "@totalPrice": "1000.00",
                            "@totalPriceWithoutVat": "826.45",
                            "@currencyCode": "CZK",
                            "@vat": "21.0"
                        }
                    ],
                    "strikethroughPrice": [
                        {
                            "@amountWithoutVat": "450.00",
                            "@amountWithVat": "544.50",
                            "@currencyCode": "CZK",
                            "@vatRateName": "Standard",
                            "@vatRate": "21",
                            "@vatAmount": "94.50"
                        }
                    ],
                    "retailPrice": [
                        {
                            "@amountWithoutVat": "413.22",
                            "@amountWithVat": "500.00",
                            "@currencyCode": "CZK",
                            "@vatRateName": "Standard",
                            "@vatRate": "21",
                            "@vatAmount": "86.78"
                        }
                    ],
                    "pricing": [
                        {
                            "pricingSteps": [
                                {
                                    "supplyPricingStep": [
                                        {
                                            "@finalPrice": "C=CZK&A=1200.00&Z=1452.00&VAT=252.00&VATRATE=21",
                                            "@supplierCodename": "autopartssupplier",
                                            "@supplierKey": "A98765",
                                            "@supplyPriceAmount": "1200",
                                            "@supplyCurrencyCode": "CZK",
                                            "@supplierPriceAdjustmentMultiplier": "1",
                                            "@supplierPriceAdjustmentAdd": "0",
                                            "@supplierPriceAdjustmentCurrencyCode": "CZK"
                                        }
                                    ],
                                    "productPricePricingStep": [
                                        {
                                            "@finalPrice": "C=CZK&A=1500.00&Z=1815.00&VAT=315.00&VATRATE=21",
                                            "@productPriceType": "retail",
                                            "@productPriceUuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
                                            "@forAllUsers": "true",
                                            "@productCodename": "BPB-123456"
                                        }
                                    ],
                                    "discountPricingStep": [
                                        {
                                            "@finalPrice": "C=CZK&A=1350.00&Z=1633.50&VAT=283.50&VATRATE=21",
                                            "@discountUuid": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
                                            "@discountPrice": "C=CZK&A=150.00&Z=181.50&VAT=31.50&VATRATE=21",
                                            "@discountPercents": "10",
                                            "@discountType": "product_discount",
                                            "@discountCode": "SUMMER10"
                                        }
                                    ]
                                }
                            ]
                        }
                    ],
                    "vehicle": [
                        {
                            "@slugPath": "skoda/octavia-iii",
                            "@vehicleBrandName": "Skoda",
                            "@vehicleModelName": "Octavia III",
                            "@name": "Skoda Octavia III 1.6 TDI",
                            "@powerKwFrom": "77",
                            "@powerHpFrom": "105",
                            "@monthFrom": "2012-11",
                            "@monthTo": "2020-12"
                        }
                    ],
                    "vehicleSearchResultDetail": [
                        {
                            "#text": "VIN detail"
                        }
                    ],
                    "deliveryDateTime": [
                        {
                            "@text": "Monday, Jan 15",
                            "#text": "2024-01-15"
                        }
                    ],
                    "deliveryDateTimePickupInStore": [
                        {
                            "@text": "Tuesday, Jan 16",
                            "#text": "2024-01-16"
                        }
                    ],
                    "deliveryPartialConfirmed": [
                        {
                            "#text": "true"
                        }
                    ],
                    "deliveryAfternoonConfirmed": [
                        {
                            "#text": "false"
                        }
                    ],
                    "deliveryTodayConfirmed": [
                        {
                            "#text": "true"
                        }
                    ],
                    "primarySupply": [
                        {
                            "supply": [
                                {
                                    "@supplierName": "LocalStock",
                                    "@supplierCodename": "localstock",
                                    "@supplierKey": "BOS-BP1234",
                                    "@supplierCustomCode": "LOC-01",
                                    "@orderingNumber": "BOS-BP1234",
                                    "@disabled": "false",
                                    "@multipleBuyQuantity": "1",
                                    "money": [
                                        {
                                            "@priceWithoutVat": "300.00",
                                            "@purchasePrice": "200.00",
                                            "@currencyCode": "CZK"
                                        }
                                    ],
                                    "stock": [
                                        {
                                            "@status": "available",
                                            "@availableCount": "15"
                                        }
                                    ]
                                }
                            ]
                        }
                    ],
                    "availableSupplies": [
                        {
                            "supply": [
                                {
                                    "@supplierName": "LocalStock",
                                    "@supplierCodename": "localstock",
                                    "@supplierKey": "BOS-BP1234",
                                    "@supplierCustomCode": "LOC-01",
                                    "@orderingNumber": "BOS-BP1234",
                                    "@disabled": "false",
                                    "money": [
                                        {
                                            "@priceWithoutVat": "300.00",
                                            "@purchasePrice": "200.00",
                                            "@currencyCode": "CZK"
                                        }
                                    ],
                                    "stock": [
                                        {
                                            "@status": "available",
                                            "@availableCount": "15"
                                        }
                                    ]
                                }
                            ]
                        }
                    ],
                    "ean": [
                        {
                            "#text": "1234567890123"
                        }
                    ],
                    "upc": [
                        {
                            "#text": "123456789012"
                        }
                    ],
                    "tecdoc": [
                        {
                            "@articleNo": "BP1234",
                            "@simplifiedArticleNo": "BP1234",
                            "@brandNo": "123",
                            "@brandName": "Bosch",
                            "@crossed": "no",
                            "@genericArticleId": "456"
                        }
                    ],
                    "mainPartNo": [
                        {
                            "#text": "BP1234"
                        }
                    ],
                    "brandName": [
                        {
                            "@isOriginal": "true",
                            "#text": "Bosch"
                        }
                    ],
                    "product": [
                        {
                            "@codename": "3b9d0e5f7a18a3f7c912",
                            "@name": "Bosch Brake Pads BP1234",
                            "url": [
                                {
                                    "#text": "https://example.com/bosch-brake-pads-bp1234"
                                }
                            ],
                            "note": [
                                {
                                    "#text": "High quality brake pads"
                                }
                            ],
                            "unit": [
                                {
                                    "#text": "pcs"
                                }
                            ],
                            "piecesCount": [
                                {
                                    "#text": "1"
                                }
                            ],
                            "warranty": [
                                {
                                    "#text": "24"
                                }
                            ],
                            "productPrices": [
                                {
                                    "productPrice": [
                                        {
                                            "@type": "retail",
                                            "price": [
                                                {
                                                    "@amountWithoutVat": "413.22",
                                                    "@amountWithVat": "500.00",
                                                    "@currencyCode": "CZK",
                                                    "@vatRateName": "Standard",
                                                    "@vatRate": "21",
                                                    "@vatAmount": "86.78"
                                                }
                                            ]
                                        }
                                    ]
                                }
                            ],
                            "productGroups": [
                                {
                                    "productGroup": [
                                        {
                                            "@type": "category",
                                            "@name": "Brake Pads",
                                            "@codename": "brake-pads"
                                        }
                                    ]
                                }
                            ],
                            "productCodes": [
                                {
                                    "productCode": [
                                        {
                                            "@type": "ean",
                                            "@code": "1234567890123",
                                            "@codeSimplified": "1234567890123",
                                            "@abbreviation": "EAN"
                                        },
                                        {
                                            "@type": "mpn",
                                            "@code": "BP1234",
                                            "@codeSimplified": "BP1234",
                                            "@abbreviation": "MPN",
                                            "@brandName": "Bosch"
                                        }
                                    ]
                                }
                            ],
                            "images": [
                                {
                                    "image": [
                                        {
                                            "url": [
                                                {
                                                    "#text": "https://cdn.example.com/img/bp1234.jpg"
                                                }
                                            ]
                                        }
                                    ]
                                }
                            ],
                            "supplies": [
                                {
                                    "supply": [
                                        {
                                            "@supplierName": "LocalStock",
                                            "@supplierCodename": "localstock",
                                            "@supplierKey": "BOS-BP1234",
                                            "@supplierCustomCode": "LOC-01",
                                            "@orderingNumber": "BOS-BP1234",
                                            "@disabled": "false",
                                            "money": [
                                                {
                                                    "@priceWithoutVat": "300.00",
                                                    "@purchasePrice": "200.00",
                                                    "@currencyCode": "CZK"
                                                }
                                            ],
                                            "stock": [
                                                {
                                                    "@status": "available",
                                                    "@availableCount": "15"
                                                }
                                            ]
                                        }
                                    ]
                                }
                            ]
                        }
                    ],
                    "k2Product": [
                        {
                            "@productId": "BOS-BP1234"
                        }
                    ],
                    "refundableDeposit": [
                        {
                            "#text": "yes"
                        }
                    ],
                    "availabilityLabel": [
                        {
                            "@code": "in-stock",
                            "@label": "In stock",
                            "@shortLabel": "In stock",
                            "@shortSubLabel": "Shipping today",
                            "@subLabel": "Ships within 24 hours",
                            "@color": "#00AA00",
                            "description": [
                                {
                                    "#text": "Item is in stock and ships immediately."
                                }
                            ],
                            "shortDescription": [
                                {
                                    "#text": "In stock"
                                }
                            ]
                        }
                    ]
                },
                {
                    "@name": "DPD",
                    "@count": "1",
                    "@vat": "21.0",
                    "@type": "delivery",
                    "@id": "DPD-01",
                    "money": [
                        {
                            "@price": "150.00",
                            "@priceWithoutVat": "123.97",
                            "@totalPrice": "150.00",
                            "@totalPriceWithoutVat": "123.97",
                            "@currencyCode": "CZK",
                            "@vat": "21.0"
                        }
                    ],
                    "k2Delivery": [
                        {
                            "@deliveryId": "DPD-01",
                            "@deliveryPriceId": "DPD-PRICE-01"
                        }
                    ]
                },
                {
                    "@name": "Card payment",
                    "@count": "1",
                    "@vat": "21.0",
                    "@type": "payment",
                    "@id": "CARD-01",
                    "money": [
                        {
                            "@price": "0.00",
                            "@priceWithoutVat": "0.00",
                            "@totalPrice": "0.00",
                            "@totalPriceWithoutVat": "0.00",
                            "@currencyCode": "CZK",
                            "@vat": "21.0"
                        }
                    ],
                    "k2Payment": [
                        {
                            "@paymentId": "CARD-01",
                            "@paymentDeliveryLinkId": "LINK-01"
                        }
                    ]
                }
            ]
        }
    ],
    "invoices": [
        {
            "invoice": [
                {
                    "@invoiceNumber": "INV-2024-001",
                    "issueDate": [
                        {
                            "date": [
                                {
                                    "@date": "2024-01-15",
                                    "@timezone": "Europe/Prague"
                                }
                            ]
                        }
                    ],
                    "dueDate": [
                        {
                            "date": [
                                {
                                    "@date": "2024-01-29",
                                    "@timezone": "Europe/Prague"
                                },
                                {
                                    "@date": "2024-01-29",
                                    "@timezone": "Europe/Prague"
                                }
                            ]
                        }
                    ],
                    "taxableSupplyDate": [
                        {
                            "date": [
                                {
                                    "@date": "2024-01-15",
                                    "@timezone": "Europe/Prague"
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    ]
}
```