---
title: Schema Reference
slug: devdocs/jCoY-schema-reference
docTags: 
createdAt: 2026-10-16T12:03:51.875Z
---

This page covers the parts of the schema beyond **Setup Queries**, **Place Order** and **Webhooks**. The customer and loyalty queries (customer profile, loyalty, vouchers, promotions) are in the **CRM & Loyalty API** pages.

:::BlockQuote
ℹ️ **INFO**
The queries on this page are validated against the schema (field names, argument names and types). Response examples aren't included. Run a query in the **GraphQL Playground** to see a live response.
:::

## Entry points

| Entry point    | What it gives you                                                                                                                  |
| -------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| `products`     | Products, product categories, sale price categories                                                                                |
| `customers`    | Customers, customer categories, and the loyalty data of each customer                                                              |
| `organization` | Locations, companies, streets, countries, currencies, VAT categories, payment methods, channels, shipping types, marketing actions |
| `loyalty`      | Promotions                                                                                                                         |
| `order`        | Orders, with payments and receipts                                                                                                 |
| `delivery`     | Delivery areas, delivery streets and fees, driver users                                                                            |

Connection fields accept the cursor arguments `first`, `after`, `last` and `before`. See **Rate Limits / Pagination Conventions**.

:::BlockQuote
ℹ️ **INFO**
Some names are spelled in the schema in a way you might not expect: the `orders` arguments are `perionBegin` and `perionEnd`, the `country` argument is `withDeliery`, and the webhook mutation is `post_OrderTransfered`. Use them exactly as written.
:::

## Orders and receipts

Reads orders with their payments and receipts. Each receipt carries the loyalty points earned (`credit`) and used (`debit`).

**Query**

```graphql
query GetOrders($customer: Guid, $from: DateTime, $to: DateTime, $first: Int, $after: String) {
  order {
    orders(customer: $customer, perionBegin: $from, perionEnd: $to, first: $first, after: $after) {
      totalCount
      pageInfo { hasNextPage endCursor }
      items {
        publicKey
        createdOn
        closedOn
        channelType { id name }
        location { publicKey name }
        customer { publicKey firstName lastName }
        deliveryOrder { status deliveryDate customerDeliveryFee customerComments }
        orders { productKey quantity salePrice discountAmount product { publicKey name } }
        payments {
          paidAmount
          paymentMethods { paidAmount paymentMethodType { publicKey name } }
        }
        receipts {
          publicKey
          createdOn
          number
          loyalty { points { credit debit } }
        }
      }
    }
  }
}
```

**Variables**

```json
{
  "customer": "<customerKey>",
  "from": "2026-01-01T00:00:00",
  "to": "2026-01-31T23:59:59",
  "first": 30,
  "after": null
}
```

**cURL**

```bash
curl --location 'https://sandbox.expressoft.eu/connect/api/interopgql' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>' \
--data '{"query": "query GetOrders($customer: Guid, $from: DateTime, $to: DateTime, $first: Int, $after: String) { order { orders(customer: $customer, perionBegin: $from, perionEnd: $to, first: $first, after: $after) { totalCount pageInfo { hasNextPage endCursor } items { publicKey createdOn closedOn channelType { id name } location { publicKey name } customer { publicKey firstName lastName } deliveryOrder { status deliveryDate customerDeliveryFee customerComments } orders { productKey quantity salePrice discountAmount product { publicKey name } } payments { paidAmount paymentMethods { paidAmount paymentMethodType { publicKey name } } } receipts { publicKey createdOn number loyalty { points { credit debit } } } } } } }", "variables": {"customer": "<customerKey>", "from": "2026-01-01T00:00:00", "to": "2026-01-31T23:59:59", "first": 30, "after": null}}'
```

:::BlockQuote
ℹ️ **INFO**
`profileType`, `status`, `paymentMethodType` and `discountType` are enums. Their values are in **Enum values** below. Use `profileType` to limit the orders to one or more profiles.
:::

:::BlockQuote
⚠️ **WARNING**
`orders` needs at least one of these: order keys, or a period (`perionBegin` and `perionEnd`) of at most 1 year. Orders are sorted by creation date, newest first.
:::

## Delivery areas

Reads the delivery areas and the locations that serve them.

**Query**

```graphql
query GetDeliveryAreas {
  delivery {
    deliveryAreas {
      publicKey
      name
      active
      locations { publicKey name }
    }
  }
}
```

**cURL**

```bash
curl --location 'https://sandbox.expressoft.eu/connect/api/interopgql' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>' \
--data '{"query": "query GetDeliveryAreas { delivery { deliveryAreas { publicKey name active locations { publicKey name } } } }"}'
```

## Delivery streets and fees

Reads the streets served by a location, with the delivery fee for the customer and for the driver. `customerDeliveryFee` can depend on the order value, so pass `saleAmount`.

**Query**

```graphql
query GetDeliveryStreets($deliveryArea: Guid, $location: Guid, $saleAmount: Decimal, $first: Int, $after: String) {
  delivery {
    deliveryStreets(deliveryArea: $deliveryArea, location: $location, first: $first, after: $after) {
      totalCount
      pageInfo { hasNextPage endCursor }
      items {
        deliveryArea { publicKey name }
        location { publicKey name }
        street { publicKey name }
        customerDeliveryFee(saleAmount: $saleAmount)
        driverDeliveryFee
        priority
      }
    }
  }
}
```

**Variables**

```json
{
  "deliveryArea": "<deliveryAreaKey>",
  "location": "<locationKey>",
  "saleAmount": 50,
  "first": 30,
  "after": null
}
```

**cURL**

```bash
curl --location 'https://sandbox.expressoft.eu/connect/api/interopgql' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>' \
--data '{"query": "query GetDeliveryStreets($deliveryArea: Guid, $location: Guid, $saleAmount: Decimal, $first: Int, $after: String) { delivery { deliveryStreets(deliveryArea: $deliveryArea, location: $location, first: $first, after: $after) { totalCount pageInfo { hasNextPage endCursor } items { deliveryArea { publicKey name } location { publicKey name } street { publicKey name } customerDeliveryFee(saleAmount: $saleAmount) driverDeliveryFee priority } } } }", "variables": {"deliveryArea": "<deliveryAreaKey>", "location": "<locationKey>", "saleAmount": 50, "first": 30, "after": null}}'
```

## Driver users

Reads the users that deliver orders, with their shipping type.

**Query**

```graphql
query GetDriverUsers($first: Int, $after: String) {
  delivery {
    driverUsers(first: $first, after: $after) {
      totalCount
      pageInfo { hasNextPage endCursor }
      items {
        shippingType { id name }
        user { publicKey firstName lastName email }
      }
    }
  }
}
```

**Variables**

```json
{
  "first": 30,
  "after": null
}
```

**cURL**

```bash
curl --location 'https://sandbox.expressoft.eu/connect/api/interopgql' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>' \
--data '{"query": "query GetDriverUsers($first: Int, $after: String) { delivery { driverUsers(first: $first, after: $after) { totalCount pageInfo { hasNextPage endCursor } items { shippingType { id name } user { publicKey firstName lastName email } } } } }", "variables": {"first": 30, "after": null}}'
```

## Organization reference data

Reads currencies, VAT categories, payment methods, channels, shipping types, marketing actions and company categories in one request.

**Query**

```graphql
query GetReferenceData {
  organization {
    organizations { publicKey name isActive }
    currencies { publicKey symbol isActive }
    vatCategories { publicKey percentageValue isActive }
    paymentMethods {
      publicKey
      name
      paymentMethodType
      tickets { publicKey ticketValue active }
    }
    channelType { id name }
    shippingType { id name }
    marketingactions { publicKey name }
    companyCategories { publicKey name active }
  }
}
```

**cURL**

```bash
curl --location 'https://sandbox.expressoft.eu/connect/api/interopgql' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>' \
--data '{"query": "query GetReferenceData { organization { organizations { publicKey name isActive } currencies { publicKey symbol isActive } vatCategories { publicKey percentageValue isActive } paymentMethods { publicKey name paymentMethodType tickets { publicKey ticketValue active } } channelType { id name } shippingType { id name } marketingactions { publicKey name } companyCategories { publicKey name active } } }"}'
```

## Companies

Searches companies by name or fiscal code.

**Query**

```graphql
query GetCompanies($name: String, $fiscalCode: String, $first: Int, $after: String) {
  organization {
    companies(name: $name, fiscalCode: $fiscalCode, first: $first, after: $after) {
      totalCount
      pageInfo { hasNextPage endCursor }
      items {
        publicKey
        name
        fiscalAttribute
        fiscalCode
        registrationCode
        category { publicKey name }
        addresses { publicKey streetName streetNumber isPrimaryAddress city { publicKey name } }
      }
    }
  }
}
```

**Variables**

```json
{
  "name": "<company name>",
  "fiscalCode": null,
  "first": 30,
  "after": null
}
```

**cURL**

```bash
curl --location 'https://sandbox.expressoft.eu/connect/api/interopgql' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>' \
--data '{"query": "query GetCompanies($name: String, $fiscalCode: String, $first: Int, $after: String) { organization { companies(name: $name, fiscalCode: $fiscalCode, first: $first, after: $after) { totalCount pageInfo { hasNextPage endCursor } items { publicKey name fiscalAttribute fiscalCode registrationCode category { publicKey name } addresses { publicKey streetName streetNumber isPrimaryAddress city { publicKey name } } } } } }", "variables": {"name": "<company name>", "fiscalCode": null, "first": 30, "after": null}}'
```

## Enum values

| Enum                        | Values                                                                                                                                                                                                                                                                                                                     |
| --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `BillDeliveryStatusType`    | `NONE`, `HELD`, `UNCONFIRMED`, `PICKED_UP`, `READY`, `DISPATCHED`, `DELIVERED`, `HANDED_OVER`, `CANCELED`, `ASSIGNED`, `IN_TRANSIT`, `REASSIGN`                                                                                                                                                                            |
| `PaymentType`               | `CASH`, `CARD`, `MEAL_TICKET`, `VIRAMENT`, `MOBILE`, `PMS`, `CONTACT_DEBT`, `ACCOUNT_DEBT`, `ELECTRONIC_MEAL_TICKET`                                                                                                                                                                                                       |
| `DiscountType`              | `PERCENT`, `AMOUNT`                                                                                                                                                                                                                                                                                                        |
| `PromotionType`             | `PRODUCT_DISCOUNT`, `PRODUCT_SALE_PRICE`, `CUSTOMER_DISCOUNT`, `BUY_X_GET_Y`, `BUY_X_AND_Y_GET_DISCOUNT`, `BUY_X_GET_Y_FREE_LOWEST_PRICE_ITEM`, `BUY_PRODUCT_COMBINATION_GET_SPECIAL_PRICES`, `CUSTOMER_DISCOUNT_ON_PAYMENT_METHOD`, `BUY_CERTAIN_VALUE_GET_PRODUCTS_WITH_DISCOUNTS_OR_SPECIAL_PRICES`, `COMPANY_DISCOUNT` |
| `OrderSubtotalDiscountType` | `DEFAULT`, `PROMOTION`, `LOYALTY_POINT`, `VOUCHER`                                                                                                                                                                                                                                                                         |
| `DeliveryCarryType`         | `DELIVERY`, `TAKE_AWAY`, `SELF_PICK_UP`, `DINE_IN`                                                                                                                                                                                                                                                                         |
| `InvoiceClientType`         | `CUSTOMER`, `COMPANY`                                                                                                                                                                                                                                                                                                      |

### Profiles (`ProfileType`)

| Value                | Default profile    |
| -------------------- | ------------------ |
| `DELIVERY`           | Delivery           |
| `RESTAURANT`         | Restaurant         |
| `RETAIL_FOOD`        | Retail Food        |
| `BEAUTY`             | Beauty             |
| `QUICK_SERVICE`      | QuickService       |
| `RETAIL_NON_FOOD`    | Retail NonFood     |
| `SELF_SERVICE_KIOSK` | Self Service Kiosk |
| `CASHLESS`           | Cashless           |

### Sort values (`orderBy`)

Pass one or more of these values in `orderBy`. The names ending in `_DESC` sort in descending order.

| Enum                             | Values                                                                                                                                                             |
| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `CustomerConnnectionOrderType`   | `FIRST_NAME`, `FIRST_NAME_DESC`, `LAST_NAME`, `LAST_NAME_DESC`                                                                                                     |
| `ProductConnnectionOrderType`    | `NAME`, `NAME_DESC`                                                                                                                                                |
| `StreetConnnectionOrderType`     | `NAME`, `NAME_DESC`, `CREATE_ON`, `CREATED_ON_DESC`                                                                                                                |
| `CompanyConnnectionOrderType`    | `NAME`, `NAME_DESC`                                                                                                                                                |
| `CountryConnnectionOrderType`    | `NAME`, `NAME_DESC`                                                                                                                                                |
| `CityConnnectionOrderType`       | `NAME`, `NAME_DESC`                                                                                                                                                |
| `CountyConnnectionOrderType`     | `NAME`, `NAME_DESC`                                                                                                                                                |
| `PromotionConnnectionOrderType`  | `NAME`, `NAME_DESC`                                                                                                                                                |
| `OrderConnnectionOrderType`      | `CREATED_ON`, `CREATED_ON_DESC`                                                                                                                                    |
| `LocationConnnectionOrderType`   | `DELIVERY_AREA_NAME`, `DELIVERY_AREA_NAME_DESC`, `LOCATION_NAME`, `LOCATION_NAME_DESC`, `STREET_NAME`, `STREET_NAME_DESC`, `STREET_PRIORTY`, `STREET_PRIORTY_DESC` |
| `DriverUserConnnectionOrderType` | `CREATED_ON`, `CREATED_ON_DESC`, `LAST_MODIFIED_ON`, `LAST_MODIFIED_ON_DESC`                                                                                       |

:::BlockQuote
ℹ️ **INFO**
The supported numbers of the **Order Status Changed** webhook match the positions of the `BillDeliveryStatusType` values, starting at 0 for `NONE`.
:::

## Mutations

Every mutation returns `result`, `errorCode`, `errorMessage` and `errorData`. The table lists every mutation in the schema. The payload fields of each input type are in **Input types** below.

| Mutation                                | Argument                                       | Returns                     | Documented          |
| --------------------------------------- | ---------------------------------------------- | --------------------------- | ------------------- |
| `customer.create`                       | `payload: CustomerCreateInputType!`            | `CustomerTypeResult`        | Place Order, step 2 |
| `customer.update`                       | `payload: CustomerUpdateInputType!`            | `CustomerTypeResult`        | Input types         |
| `customer.delete`                       | `payload: Guid!`                               | `BooleanGraphTypeResult`    | Input types         |
| `customer.createAddress`                | `payload: CustomerAddressCreateInputType!`     | `CustomerAddressTypeResult` | Place Order, step 3 |
| `customer.updateCustomerAddress`        | `payload: CustomerAddressUpdateInputType!`     | `CustomerAddressTypeResult` | Input types         |
| `customer.deleteAddress`                | `payload: Guid!`                               | `BooleanGraphTypeResult`    | Input types         |
| `customer.linkCompany`                  | `payload: CustomerCompanyLinkInputType!`       | `CustomerTypeResult`        | Input types         |
| `customer.unlinkCompany`                | `payload: CustomerCompanyLinkInputType!`       | `CustomerTypeResult`        | Input types         |
| `customer.upsertMarketingActions`       | `payload: [CustomerMarketingActionInputType]!` | `BooleanGraphTypeResult`    | Input types         |
| `organization.createStreet`             | `payload: StreetCreateInputType!`              | `StreetTypeResult`          | Input types         |
| `organization.updateStreet`             | `payload: StreetUpdateInputType!`              | `StreetTypeResult`          | Input types         |
| `organization.upsertLocationStreet`     | `payload: LocationStreetUpsertInputType!`      | `BooleanGraphTypeResult`    | Input types         |
| `organization.deleteLocationStreet`     | `payload: LocationStreetUpsertInputType!`      | `BooleanGraphTypeResult`    | Input types         |
| `organization.createCompany`            | `payload: CompanyCreateInputType!`             | `CompanyTypeResult`         | Place Order, step 4 |
| `organization.updateCompany`            | `payload: CompanyUpdateInputType!`             | `CompanyTypeResult`         | Input types         |
| `organization.deleteCompany`            | `publicKey: Guid!`                             | `BooleanGraphTypeResult`    | Input types         |
| `organization.createCompanyAddress`     | `payload: CompanyAddressCreateInputType!`      | `CompanyAddressTypeResult`  | Place Order, step 5 |
| `organization.updateCompanyAddress`     | `payload: CompanyAddressUpdateInputType!`      | `CompanyAddressTypeResult`  | Input types         |
| `organization.deleteCompanyAddress`     | `publicKey: Guid!`                             | `BooleanGraphTypeResult`    | Input types         |
| `organization.setPrimaryCompanyAddress` | `publicKey: Guid!`                             | `BooleanGraphTypeResult`    | Input types         |
| `organization.createCity`               | `payload: CityCreateInputType!`                | `CityTypeResult`            | Input types         |
| `organization.createGiftCard`           | `payload: CreateGiftCardInputType!`            | `GiftCardTypeResult`        | Input types         |
| `deliveryOrder.create`                  | `payload: DeliveryOrderCreateInputType!`       | `OrderTypeResult`           | Place Order, step 6 |

The webhook mutations (`miscellaneous.webHooks`) are documented on the **Webhooks** pages.

:::BlockQuote
ℹ️ **INFO**
`organization.createGiftCard` creates a gift card. See **Gift Cards** in the CRM & Loyalty API. The card appears in the application, in **Carduri cadou**.
:::

## Input types

### CityCreateInputType

| Field       | Type      | Required | Default | Description        |
| ----------- | --------- | -------- | ------- | ------------------ |
| `name`      | `String!` | yes      |         | City name.         |
| `countyKey` | `Guid!`   | yes      |         | County public key. |

### CompanyAddressCreateInputType

| Field              | Type      | Required | Default | Description                                    |
| ------------------ | --------- | -------- | ------- | ---------------------------------------------- |
| `companyKey`       | `Guid!`   | yes      |         | Company public key.                            |
| `name`             | `String`  | no       |         | Address label/name.                            |
| `email`            | `String`  | no       |         | Contact email.                                 |
| `fax`              | `String`  | no       |         | Fax number.                                    |
| `roomNumber`       | `String`  | no       |         | Room/office number.                            |
| `floor`            | `String`  | no       |         | Floor information.                             |
| `buildingNumber`   | `String`  | no       |         | Building number/identifier.                    |
| `streetName`       | `String`  | no       |         | Street name (free-text).                       |
| `streetNumber`     | `String`  | no       |         | Street number (free-text).                     |
| `postalCode`       | `String`  | no       |         | Postal code.                                   |
| `telephone`        | `String`  | no       |         | Telephone number.                              |
| `mobilePhone`      | `String`  | no       |         | Mobile phone.                                  |
| `phone`            | `String`  | no       |         | Phone contact.                                 |
| `isPrimaryAddress` | `Boolean` | no       | `false` | Marks this address as primary (default false). |
| `cityKey`          | `Guid`    | no       |         | City public key.                               |

### CompanyAddressUpdateInputType

| Field            | Type     | Required | Default                                  | Description                            |
| ---------------- | -------- | -------- | ---------------------------------------- | -------------------------------------- |
| `publicKey`      | `Guid!`  | yes      |                                          | Address public key.                    |
| `name`           | `String` | no       | `" "`                                    | Address label/name (optional).         |
| `email`          | `String` | no       | `" "`                                    | Contact email (optional).              |
| `fax`            | `String` | no       | `" "`                                    | Fax number (optional).                 |
| `roomNumber`     | `String` | no       | `" "`                                    | Room/office number (optional).         |
| `floor`          | `String` | no       | `" "`                                    | Floor information (optional).          |
| `buildingNumber` | `String` | no       | `" "`                                    | Building number/identifier (optional). |
| `streetName`     | `String` | no       | `" "`                                    | Street name (optional).                |
| `streetNumber`   | `String` | no       | `" "`                                    | Street number (optional).              |
| `postalCode`     | `String` | no       | `" "`                                    | Postal code (optional).                |
| `telephone`      | `String` | no       | `" "`                                    | Telephone number (optional).           |
| `mobilePhone`    | `String` | no       | `" "`                                    | Mobile phone (optional).               |
| `phone`          | `String` | no       | `" "`                                    | Phone contact (optional).              |
| `cityKey`        | `Guid`   | no       | `"00000000-0000-0000-0000-000000000000"` | City public key (optional).            |

### CompanyCreateInputType

| Field              | Type      | Required | Default | Description                    |
| ------------------ | --------- | -------- | ------- | ------------------------------ |
| `name`             | `String!` | yes      |         | Company name.                  |
| `fiscalAttribute`  | `String`  | no       |         | Fiscal attribute.              |
| `fiscalCode`       | `String!` | yes      |         | Fiscal code (VAT ID).          |
| `registrationCode` | `String`  | no       |         | Registration code.             |
| `bankAccount1`     | `String`  | no       |         | Primary bank account (IBAN).   |
| `bankAccount2`     | `String`  | no       |         | Secondary bank account (IBAN). |
| `bankName1`        | `String`  | no       |         | Primary bank name.             |
| `bankName2`        | `String`  | no       |         | Secondary bank name.           |
| `category`         | `Guid!`   | yes      |         | Company category key.          |

### CompanyUpdateInputType

| Field              | Type      | Required | Default                                  | Description                             |
| ------------------ | --------- | -------- | ---------------------------------------- | --------------------------------------- |
| `publicKey`        | `String!` | yes      |                                          | Company public key.                     |
| `name`             | `String`  | no       | `" "`                                    | Company name (optional).                |
| `fiscalAttribute`  | `String`  | no       | `" "`                                    | Fiscal attribute (optional).            |
| `fiscalCode`       | `String`  | no       | `" "`                                    | Fiscal code/VAT ID (optional).          |
| `registrationCode` | `String`  | no       | `" "`                                    | Registration code (optional).           |
| `bankAccount1`     | `String`  | no       | `" "`                                    | Primary bank account/IBAN (optional).   |
| `bankAccount2`     | `String`  | no       | `" "`                                    | Secondary bank account/IBAN (optional). |
| `bankName1`        | `String`  | no       | `" "`                                    | Primary bank name (optional).           |
| `bankName2`        | `String`  | no       | `" "`                                    | Secondary bank name (optional).         |
| `category`         | `Guid`    | no       | `"00000000-0000-0000-0000-000000000000"` | Company category key (optional).        |

### CreateGiftCardInputType

| Field             | Type        | Required | Default | Description                                                                    |
| ----------------- | ----------- | -------- | ------- | ------------------------------------------------------------------------------ |
| `organizationKey` | `Guid!`     | yes      |         | Organization that owns the gift card.                                          |
| `amount`          | `Decimal!`  | yes      |         | Gift card face value (TotalAmountWithVAT).                                     |
| `vatCategoryKey`  | `Guid!`     | yes      |         | VAT category applied to the gift card amount.                                  |
| `currencyKey`     | `Guid!`     | yes      |         | Currency of the gift card amount.                                              |
| `code`            | `String`    | no       |         | External code (max 8 alphanumeric). Generated randomly if omitted.             |
| `name`            | `String`    | no       |         | Gift card display name/title, shown in CRM. Falls back to the code if omitted. |
| `startOn`         | `DateTime!` | yes      |         | Validity start date (non-UTC, as stored).                                      |
| `expireOn`        | `DateTime!` | yes      |         | Expiry date (non-UTC, as stored).                                              |

### CustomerAddressCreateInputType

| Field            | Type                   | Required | Default | Description                     |
| ---------------- | ---------------------- | -------- | ------- | ------------------------------- |
| `customerKey`    | `Guid!`                | yes      |         | Customer public key.            |
| `streetKey`      | `Guid!`                | yes      |         | Street public key.              |
| `streetNumber`   | `String`               | no       |         | Street number (free-text).      |
| `buildingNumber` | `String`               | no       |         | Building number/identifier.     |
| `staircase`      | `String`               | no       |         | Staircase/entrance identifier.  |
| `floor`          | `String`               | no       |         | Floor information.              |
| `roomNumber`     | `String`               | no       |         | Room/apartment number.          |
| `intercom`       | `String`               | no       |         | Intercom code.                  |
| `landmark`       | `String`               | no       |         | Landmark near the address.      |
| `geoLocation`    | `GeoLocationInputType` | no       |         | Latitude/Longitude coordinates. |

### CustomerAddressUpdateInputType

| Field            | Type                   | Required | Default                                  | Description                     |
| ---------------- | ---------------------- | -------- | ---------------------------------------- | ------------------------------- |
| `publicKey`      | `Guid!`                | yes      |                                          | Address public key.             |
| `streetKey`      | `Guid`                 | no       | `"00000000-0000-0000-0000-000000000000"` | Street public key (optional).   |
| `streetNumber`   | `String`               | no       | `" "`                                    | Street number (optional).       |
| `buildingNumber` | `String`               | no       | `" "`                                    | Building number (optional).     |
| `staircase`      | `String`               | no       | `" "`                                    | Staircase (optional).           |
| `floor`          | `String`               | no       | `" "`                                    | Floor (optional).               |
| `roomNumber`     | `String`               | no       | `" "`                                    | Room number (optional).         |
| `intercom`       | `String`               | no       | `" "`                                    | Intercom (optional).            |
| `landmark`       | `String`               | no       | `" "`                                    | Landmark (optional).            |
| `geoLocation`    | `GeoLocationInputType` | no       |                                          | Latitude/Longitude coordinates. |

### CustomerCompanyLinkInputType

| Field         | Type    | Required | Default | Description          |
| ------------- | ------- | -------- | ------- | -------------------- |
| `customerKey` | `Guid!` | yes      |         | Customer public key. |
| `companyKey`  | `Guid!` | yes      |         | Company public key.  |

### CustomerCreateInputType

| Field         | Type       | Required | Default | Description                        |
| ------------- | ---------- | -------- | ------- | ---------------------------------- |
| `category`    | `Guid!`    | yes      |         | Customer category key.             |
| `firstName`   | `String!`  | yes      |         | Customer first name.               |
| `lastName`    | `String!`  | yes      |         | Customer last name.                |
| `code`        | `String`   | no       |         | Customer code/reference.           |
| `email`       | `String`   | no       |         | Customer email.                    |
| `mobilePhone` | `String!`  | yes      |         | Mobile phone (mandatory).          |
| `workPhone`   | `String`   | no       |         | Work phone.                        |
| `homePhone`   | `String`   | no       |         | Home phone.                        |
| `birthDate`   | `DateTime` | no       |         | Customer date of birth (optional). |

### CustomerMarketingActionInputType

| Field                | Type       | Required | Default | Description                                         |
| -------------------- | ---------- | -------- | ------- | --------------------------------------------------- |
| `customerKey`        | `Guid!`    | yes      |         | Customer public key.                                |
| `marketingActionKey` | `Guid!`    | yes      |         | Marketing action public key.                        |
| `value`              | `Boolean!` | yes      |         | Action flag value (opt-in = true, opt-out = false). |

### CustomerUpdateInputType

| Field         | Type       | Required | Default                                  | Description                         |
| ------------- | ---------- | -------- | ---------------------------------------- | ----------------------------------- |
| `publicKey`   | `Guid!`    | yes      |                                          | Customer public key.                |
| `category`    | `Guid`     | no       | `"00000000-0000-0000-0000-000000000000"` | Customer category key (optional).   |
| `firstName`   | `String`   | no       | `" "`                                    | Customer first name (optional).     |
| `lastName`    | `String`   | no       | `" "`                                    | Customer last name (optional).      |
| `code`        | `String`   | no       | `" "`                                    | Customer code/reference (optional). |
| `email`       | `String`   | no       | `" "`                                    | Customer email (optional).          |
| `mobilePhone` | `String`   | no       | `" "`                                    | Mobile phone (optional).            |
| `workPhone`   | `String`   | no       | `" "`                                    | Work phone (optional).              |
| `homePhone`   | `String`   | no       | `" "`                                    | Home phone (optional).              |
| `birthDate`   | `DateTime` | no       | `"0001-01-01T00:00:00"`                  | Customer date of birth (optional).  |

### DeliveryOrderCreateInputType

| Field                  | Type                        | Required | Default | Description                                                                                                                                                              |
| ---------------------- | --------------------------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `channelType`          | `Short`                     | no       |         | Sales channel type ID.                                                                                                                                                   |
| `key`                  | `Guid`                      | no       |         | Optional client-supplied idempotency key. If a delivery order with this key already exists, the mutation returns the DuplicateKey error instead of creating a new order. |
| `attendedOrder`        | `Boolean`                   | no       | `true`  | TRUE when order must be confirmed by any system user                                                                                                                     |
| `customerKey`          | `Guid!`                     | yes      |         | Customer public key.                                                                                                                                                     |
| `customerAddressKey`   | `Guid`                      | no       |         | Customer address public key.                                                                                                                                             |
| `locationKey`          | `Guid`                      | no       |         | Fulfillment location public key.                                                                                                                                         |
| `callCenterKey`        | `Guid`                      | no       |         | Call center public key (if applicable).                                                                                                                                  |
| `salePriceCategoryKey` | `Guid!`                     | yes      |         | Sale price category used for this order.                                                                                                                                 |
| `customerComments`     | `String`                    | no       |         | Comments from the customer.                                                                                                                                              |
| `deliveryFee`          | `Decimal`                   | no       |         | Custom delivery fee override.                                                                                                                                            |
| `deliveryTime`         | `DateTime`                  | no       |         | Requested delivery time (null or UTC datetime).                                                                                                                          |
| `subtotalDiscount`     | `SubtotalDiscountInputType` | no       |         | Order-level discount.                                                                                                                                                    |
| `serviceChargeFee`     | `Decimal`                   | no       |         | Service charge fee amount.                                                                                                                                               |
| `orders`               | `[OrderProductInputType]!`  | no       | `[]`    | List of products/items in the order.                                                                                                                                     |
| `payments`             | `[OrderPaymentInputType]`   | no       | `[]`    | Payment methods used for the order.                                                                                                                                      |
| `invoice`              | `OrderInvoiceInputType`     | no       |         | Invoice billing details (if requested).                                                                                                                                  |

### GeoLocationInputType

| Field | Type     | Required | Default | Description |
| ----- | -------- | -------- | ------- | ----------- |
| `lat` | `Float!` | yes      |         |             |
| `lng` | `Float!` | yes      |         |             |

### LocationStreetUpsertInputItemType

| Field                 | Type      | Required | Default | Description                                |
| --------------------- | --------- | -------- | ------- | ------------------------------------------ |
| `deliveryAreaKey`     | `Guid!`   | yes      |         | Delivery area public key.                  |
| `locationKey`         | `Guid!`   | yes      |         | Location public key.                       |
| `streetKey`           | `Guid!`   | yes      |         | Street public key.                         |
| `customerDeliveryFee` | `Decimal` | no       |         | Customer delivery fee (optional override). |
| `driverDeliveryFee`   | `Decimal` | no       |         | Driver delivery fee (optional override).   |
| `priority`            | `Short`   | no       |         | Priority level (optional override).        |

### LocationStreetUpsertInputType

| Field   | Type                                   | Required | Default | Description                                      |
| ------- | -------------------------------------- | -------- | ------- | ------------------------------------------------ |
| `items` | `[LocationStreetUpsertInputItemType]!` | yes      |         | List of location-street mapping items to upsert. |

### OrderAddonInputType

| Field      | Type                                  | Required | Default | Description              |
| ---------- | ------------------------------------- | -------- | ------- | ------------------------ |
| `variants` | `[OrderAddonVariantProductInputType]` | no       | `[]`    | Selected addon variants. |
| `options`  | `[OrderAddonOptionProductInputType]`  | no       | `[]`    | Selected addon options.  |

### OrderAddonOptionProductInputType

| Field        | Type                        | Required | Default | Description                              |
| ------------ | --------------------------- | -------- | ------- | ---------------------------------------- |
| `default`    | `Boolean!`                  | yes      |         | Indicates if this is the default option. |
| `productKey` | `Guid!`                     | yes      |         | Product public key.                      |
| `salePrice`  | `Decimal!`                  | yes      |         | Unit price with VAT.                     |
| `quantity`   | `Decimal!`                  | yes      |         | Quantity selected.                       |
| `packaging`  | `ProductPackagingInputType` | no       |         | Packaging details for the option.        |

### OrderAddonVariantProductInputType

| Field        | Type                        | Required | Default | Description                        |
| ------------ | --------------------------- | -------- | ------- | ---------------------------------- |
| `variantKey` | `Guid!`                     | yes      |         | Variant public key.                |
| `productKey` | `Guid!`                     | yes      |         | Product public key.                |
| `salePrice`  | `Decimal!`                  | yes      |         | Unit price with VAT.               |
| `packaging`  | `ProductPackagingInputType` | no       |         | Packaging details for the variant. |

### OrderBundleInputType

| Field     | Type                                  | Required | Default | Description                           |
| --------- | ------------------------------------- | -------- | ------- | ------------------------------------- |
| `options` | `[OrderBundleOptionProductInputType]` | no       | `[]`    | List of selected bundle option items. |

### OrderBundleOptionProductInputType

| Field         | Type                        | Required | Default | Description                                            |
| ------------- | --------------------------- | -------- | ------- | ------------------------------------------------------ |
| `optionIndex` | `Short!`                    | yes      |         | Zero-based index of the bundle option.                 |
| `productKey`  | `Guid!`                     | yes      |         | Selected product public key.                           |
| `salePrice`   | `Decimal!`                  | yes      |         | Price override or unit price with VAT.                 |
| `preparation` | `String`                    | no       |         | Preparation instructions specific to this bundle item. |
| `addon`       | `OrderAddonInputType`       | no       |         | bundle item addons content                             |
| `packaging`   | `ProductPackagingInputType` | no       |         | Packaging details for this bundle item.                |

### OrderInvoiceInputType

| Field              | Type                 | Required | Default | Description                               |
| ------------------ | -------------------- | -------- | ------- | ----------------------------------------- |
| `clientType`       | `InvoiceClientType!` | yes      |         | Target client type (Customer or Company). |
| `clientKey`        | `Guid!`              | yes      |         | Target client public key.                 |
| `clientAddressKey` | `Guid!`              | yes      |         | Target client address public key.         |

### OrderPaymentCardInputType

| Field             | Type     | Required | Default | Description                                                                          |
| ----------------- | -------- | -------- | ------- | ------------------------------------------------------------------------------------ |
| `transactionId`   | `String` | no       |         | External transaction ID (max 255 characters, longer values are truncated).           |
| `auhtorizationId` | `String` | no       |         | External authorization code (max 50 characters, longer values are truncated).        |
| `cardInfo`        | `String` | no       |         | Masked card number or description (max 255 characters, longer values are truncated). |
| `cardType`        | `String` | no       |         | Card brand/type (max 50 characters, longer values are truncated).                    |
| `cardExpiration`  | `String` | no       |         | Card expiration date string (max 50 characters, longer values are truncated).        |

### OrderPaymentInputType

| Field            | Type                            | Required | Default | Description                                                                     |
| ---------------- | ------------------------------- | -------- | ------- | ------------------------------------------------------------------------------- |
| `paymentKey`     | `Guid!`                         | yes      |         | Payment method public key.                                                      |
| `paymentAmount`  | `Decimal!`                      | yes      |         | Payment amount.                                                                 |
| `processed`      | `Boolean`                       | no       | `false` | Indicates if payment was already processed by external gateway (default false). |
| `cardPayment`    | `OrderPaymentCardInputType`     | no       |         | Card transaction details (if applicable).                                       |
| `ticketPayments` | `[OrderPaymentTicketInputType]` | no       | `[]`    | Meal ticket details (if applicable).                                            |

### OrderPaymentTicketInputType

| Field         | Type       | Required | Default | Description                 |
| ------------- | ---------- | -------- | ------- | --------------------------- |
| `companyKey`  | `Guid!`    | yes      |         | Ticket issuing company key. |
| `ticketValue` | `Decimal!` | yes      |         | Unit value of one ticket.   |
| `ticketCount` | `UInt!`    | yes      |         | Number of tickets used.     |

### OrderProductInputType

| Field                | Type                        | Required | Default | Description                                                             |
| -------------------- | --------------------------- | -------- | ------- | ----------------------------------------------------------------------- |
| `productKey`         | `Guid!`                     | yes      |         | Product public key.                                                     |
| `quantity`           | `Decimal!`                  | yes      |         | Quantity ordered.                                                       |
| `salePrice`          | `Decimal!`                  | yes      |         | Unit price with VAT.                                                    |
| `discountAmount`     | `Decimal`                   | no       |         | Discount amount applied to item.                                        |
| `preparation`        | `String`                    | no       |         | Preparation instructions/comments.                                      |
| `voucherKey`         | `Guid`                      | no       |         | Voucher key applied to this item.                                       |
| `promotionKey`       | `Guid`                      | no       |         | Promotion key applied.                                                  |
| `promotionGroupKey`  | `Guid`                      | no       |         | single or multiple products belong on the same promotion unit / context |
| `isPromotionBenefit` | `Boolean`                   | no       |         | Indicates if this item is a benefit of a promotion.                     |
| `bundle`             | `OrderBundleInputType`      | no       |         | order budle content items                                               |
| `addon`              | `OrderAddonInputType`       | no       |         | order addons content                                                    |
| `packaging`          | `ProductPackagingInputType` | no       |         | Packaging details for the item.                                         |

### ProductPackagingInputType

| Field       | Type       | Required | Default | Description                    |
| ----------- | ---------- | -------- | ------- | ------------------------------ |
| `salePrice` | `Decimal!` | yes      |         | Packaging unit price with VAT. |

### StreetCreateInputType

| Field          | Type      | Required | Default | Description                     |
| -------------- | --------- | -------- | ------- | ------------------------------- |
| `name`         | `String!` | yes      |         | Street name.                    |
| `cityKey`      | `Guid!`   | yes      |         | City public key.                |
| `startNumber`  | `UInt!`   | yes      |         | Start street number.            |
| `endNumber`    | `UInt!`   | yes      |         | End street number.              |
| `externalCode` | `String`  | no       |         | External code for integrations. |
| `districtKey`  | `Guid`    | no       |         | District public key (optional). |

### StreetUpdateInputType

| Field          | Type     | Required | Default                                  | Description                     |
| -------------- | -------- | -------- | ---------------------------------------- | ------------------------------- |
| `publicKey`    | `Guid!`  | yes      |                                          | Street public key.              |
| `name`         | `String` | no       | `" "`                                    | Street name (optional)          |
| `cityKey`      | `Guid`   | no       |                                          | City public key (optional).     |
| `startNumber`  | `UInt`   | no       |                                          | Start street number (optional). |
| `endNumber`    | `UInt`   | no       |                                          | End street number (optional).   |
| `externalCode` | `String` | no       | `" "`                                    | External code (optional).       |
| `districtKey`  | `Guid`   | no       | `"00000000-0000-0000-0000-000000000000"` | District public key (optional). |

### SubtotalDiscountInputType

| Field                  | Type                         | Required | Default | Description                                              |
| ---------------------- | ---------------------------- | -------- | ------- | -------------------------------------------------------- |
| `value`                | `Decimal!`                   | yes      |         | Discount value (percentage or amount depending on type). |
| `subtotalDiscountType` | `OrderSubtotalDiscountType!` | yes      |         | Type of discount (Percentage, Amount, etc.).             |
| `promotionKey`         | `Guid`                       | no       |         | Promotion key causing the discount.                      |
| `voucherKey`           | `Guid`                       | no       |         | Voucher key causing the discount.                        |
| `loyaltyPoints`        | `Decimal`                    | no       |         | Number of loyalty points redeemed for this discount.     |

### WebHookLocationAvailabilityInputType

| Field         | Type       | Required | Default | Description                                    |
| ------------- | ---------- | -------- | ------- | ---------------------------------------------- |
| `urlPath`     | `String!`  | yes      |         | Target URL path for the webhook.               |
| `locationKey` | `Guid!`    | yes      |         | Location public key associated with the event. |
| `isAvailable` | `Boolean!` | yes      |         | Indicates if the location is available.        |

### WebHookLocationPreparationTimeInputType

| Field             | Type      | Required | Default | Description                                    |
| ----------------- | --------- | -------- | ------- | ---------------------------------------------- |
| `urlPath`         | `String!` | yes      |         | Target URL path for the webhook.               |
| `locationKey`     | `Guid!`   | yes      |         | Location public key associated with the event. |
| `preparationTime` | `UInt!`   | yes      |         | New preparation time in minutes.               |

### WebHookOrderStatusInputType

| Field         | Type      | Required | Default | Description                                                                                                                    |
| ------------- | --------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------ |
| `urlPath`     | `String!` | yes      |         | Target URL path for the webhook.                                                                                               |
| `locationKey` | `Guid!`   | yes      |         | Location public key associated with the event.                                                                                 |
| `orderKey`    | `Guid!`   | yes      |         | Order public key.                                                                                                              |
| `status`      | `Short!`  | yes      |         | supported values  Held = 1, PickedUp = 3, Ready = 4, Dispatched = 5, Delivered = 6, HandedOver = 7, Canceled = 8, Assigned = 9 |

### WebHookOrderTransferInputType

| Field         | Type      | Required | Default | Description                      |
| ------------- | --------- | -------- | ------- | -------------------------------- |
| `urlPath`     | `String!` | yes      |         | Target URL path for the webhook. |
| `orderKey`    | `Guid!`   | yes      |         | Previous order public key.       |
| `newOrderKey` | `Guid!`   | yes      |         | New order public key.            |

### WebHookProductStockAvailabilityInputType

| Field                 | Type      | Required | Default | Description                                                         |
| --------------------- | --------- | -------- | ------- | ------------------------------------------------------------------- |
| `urlPath`             | `String!` | yes      |         | Target URL path for the webhook.                                    |
| `locationKey`         | `Guid!`   | yes      |         | Location public key associated with the event.                      |
| `availableProducts`   | `[Guid]!` | yes      |         | List of product public keys that became available (in stock).       |
| `unavailableProducts` | `[Guid]!` | yes      |         | List of product public keys that became unavailable (out of stock). |

