{
  "x-generator": "NSwag v14.6.3.0 (NJsonSchema v11.5.2.0 (Newtonsoft.Json v13.0.0.0))",
  "openapi": "3.0.0",
  "info": {
    "title": "Query",
    "version": "v1"
  },
  "servers": [
    {
      "url": "https://norcecommerce.api-se.norce.tech/commerce/query/3.0"
    }
  ],
  "paths": {
    "/Application/ApplicationCultures": {
      "get": {
        "tags": [
          "Application"
        ],
        "summary": "Gets all application cultures.",
        "operationId": "Application_ApplicationCulturesAll",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of application cultures.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApplicationCulture"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Application/ApplicationCultures(ApplicationId={applicationId},CultureCode={code})": {
      "get": {
        "tags": [
          "Application"
        ],
        "summary": "Gets a single application culture by application identifier and culture code.",
        "operationId": "Application_ApplicationCultures",
        "parameters": [
          {
            "name": "applicationId",
            "in": "path",
            "required": true,
            "description": "The application identifier.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "code",
            "in": "path",
            "required": true,
            "description": "The culture code (e.g. \"sv-SE\").",
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A single application culture matching the specified key.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SingleResultOfApplicationCulture"
                }
              }
            }
          }
        }
      }
    },
    "/Application/ApplicationCountries": {
      "get": {
        "tags": [
          "Application"
        ],
        "summary": "Gets all application countries.",
        "operationId": "Application_ApplicationCountries",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of application countries.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApplicationCountry"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Application/ApplicationCurrencies": {
      "get": {
        "tags": [
          "Application"
        ],
        "summary": "Gets all application currencies.",
        "operationId": "Application_ApplicationCurrencies",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of application currencies.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApplicationCurrency"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Application/ApplicationPriceLists": {
      "get": {
        "tags": [
          "Application"
        ],
        "summary": "Gets all application price lists.",
        "operationId": "Application_ApplicationPriceLists",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of application price lists.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApplicationPriceList"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Application/ApplicationPriceLists(ApplicationId={applicationId},PriceListId={priceListId})": {
      "get": {
        "tags": [
          "Application"
        ],
        "summary": "Gets application price lists filtered by application and price list identifiers.",
        "operationId": "Application_ApplicationPriceList",
        "parameters": [
          {
            "name": "applicationId",
            "in": "path",
            "required": true,
            "description": "The application identifier.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "priceListId",
            "in": "path",
            "required": true,
            "description": "The price list identifier.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 2
          },
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of matching application price lists.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApplicationPriceList"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Application/ApplicationSalesAreas": {
      "get": {
        "tags": [
          "Application"
        ],
        "summary": "Gets all application sales areas.",
        "operationId": "Application_ApplicationSalesAreas",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of application sales areas.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApplicationSalesArea"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Application/ApplicationRoles": {
      "get": {
        "tags": [
          "Application"
        ],
        "summary": "Gets all application roles.",
        "operationId": "Application_ApplicationRoles",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of application roles.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApplicationRole"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Application/Categories": {
      "get": {
        "tags": [
          "Application"
        ],
        "summary": "Gets all categories.",
        "operationId": "Application_Categories",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of categories.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Category"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Application/SupplierCategoryMappings": {
      "get": {
        "tags": [
          "Application"
        ],
        "summary": "Gets all supplier-to-category mappings.",
        "operationId": "Application_SupplierCategoryMappings",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of supplier category mappings.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SupplierCategoryMapping"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Application/CategoryHierarchy": {
      "get": {
        "tags": [
          "Application"
        ],
        "summary": "Gets the category hierarchy (parent-child relationships).",
        "operationId": "Application_CategoryHierarchy",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of category hierarchy entries.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CategoryHierarchy"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Application/CategoryStructures": {
      "get": {
        "tags": [
          "Application"
        ],
        "summary": "Gets all category structures.",
        "operationId": "Application_CategoryStructures",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of category structures.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CategoryStructure"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Application/CategoryStructureItems": {
      "get": {
        "tags": [
          "Application"
        ],
        "summary": "Gets all category structure items.",
        "operationId": "Application_CategoryStructureItems",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of category structure items.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CategoryStructureItem"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Application/ClientCultures": {
      "get": {
        "tags": [
          "Application"
        ],
        "summary": "Gets all client cultures.",
        "operationId": "Application_ClientCultures",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of client cultures.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ClientCulture"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Application/ClientCurrencies": {
      "get": {
        "tags": [
          "Application"
        ],
        "summary": "Gets all client currencies.",
        "operationId": "Application_ClientCurrencies",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of client currencies.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CurrencyClient"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Application/ClientManufacturers": {
      "get": {
        "tags": [
          "Application"
        ],
        "summary": "Gets all client manufacturers.",
        "operationId": "Application_ClientManufacturers",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of client manufacturers.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ClientManufacturer"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Application/SupplierManufacturerMappings": {
      "get": {
        "tags": [
          "Application"
        ],
        "summary": "Gets all supplier-to-manufacturer mappings.",
        "operationId": "Application_SupplierManufacturerMappings",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of supplier manufacturer mappings.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SupplierManufacturerMapping"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Application/ClientManufacturers({id})": {
      "get": {
        "tags": [
          "Application"
        ],
        "summary": "Gets a single client manufacturer by its identifier.",
        "operationId": "Application_ClientManufacturer",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The manufacturer identifier.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A single client manufacturer matching the specified identifier.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SingleResultOfClientManufacturer"
                }
              }
            }
          }
        }
      }
    },
    "/Application/ClientPriceLists": {
      "get": {
        "tags": [
          "Application"
        ],
        "summary": "Gets all client price lists.",
        "operationId": "Application_ClientPriceLists",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of client price lists.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PriceListClient"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Application/ClientSuppliers": {
      "get": {
        "tags": [
          "Application"
        ],
        "summary": "Gets all client suppliers.",
        "operationId": "Application_ClientSuppliers",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of client suppliers.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ClientSupplier"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Application/ClientSuppliers({id})": {
      "get": {
        "tags": [
          "Application"
        ],
        "summary": "Gets a single client supplier by its identifier.",
        "operationId": "Application_ClientSupplier",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The supplier identifier.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A single client supplier matching the specified identifier.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SingleResultOfClientSupplier"
                }
              }
            }
          }
        }
      }
    },
    "/Application/ClientWarehouses": {
      "get": {
        "tags": [
          "Application"
        ],
        "summary": "Gets all client warehouses.",
        "operationId": "Application_ClientWarehouses",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of client warehouses.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ClientWarehouse"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Application/Families": {
      "get": {
        "tags": [
          "Application"
        ],
        "summary": "Gets all product families.",
        "operationId": "Application_Families",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of product families.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Family"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Application/FileInfos": {
      "get": {
        "tags": [
          "Application"
        ],
        "summary": "Gets all file info records.",
        "operationId": "Application_FileInfos",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of file info records and client-configured file and image types; these are called file types in the admin, Connect, and Commerce services.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FileInfo"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Application/Parametrics": {
      "get": {
        "tags": [
          "Application"
        ],
        "summary": "Gets all parametric definitions.",
        "operationId": "Application_Parametrics",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of parametric definitions.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Parametric"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Application/ParametricListValues": {
      "get": {
        "tags": [
          "Application"
        ],
        "summary": "Gets all parametric list values.",
        "operationId": "Application_ParametricListValues",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of parametric list values. All values from any parametric of type list are included.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ParametricList"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Application/ParametricMultipleValues": {
      "get": {
        "tags": [
          "Application"
        ],
        "summary": "Gets all parametric multiple-choice values.",
        "operationId": "Application_ParametricMultipleValues",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of parametric multiple values. All values from any parametric of type multiple-choice are included.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ParametricMultiple"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Application/ParametricGroups": {
      "get": {
        "tags": [
          "Application"
        ],
        "summary": "Gets all parametric groups.",
        "operationId": "Application_ParametricGroups",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of parametric groups.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ParametricGroup"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Application/ProductFlags": {
      "get": {
        "tags": [
          "Application"
        ],
        "summary": "Gets all product flags.",
        "operationId": "Application_ProductFlags",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of product flags.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProductFlag"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Application/ProductInfoTypes": {
      "get": {
        "tags": [
          "Application"
        ],
        "summary": "Gets all product info types.",
        "operationId": "Application_ProductInfoTypes",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of product info types. The custom fields configured by the client for price and onhand records.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProductInfoType"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Application/SalesAreas": {
      "get": {
        "tags": [
          "Application"
        ],
        "summary": "Gets all client sales areas.",
        "operationId": "Application_SalesAreas",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of client sales areas. All sales areas configured for the client are included.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ClientSalesArea"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Application/VariantGroups": {
      "get": {
        "tags": [
          "Application"
        ],
        "summary": "Gets all variant groups.",
        "operationId": "Application_VariantGroups",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of variant groups. Named variant type in admin and VariantDefinitionGroup in connect.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VariantGroup"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Application/CustomerInfoTypes": {
      "get": {
        "tags": [
          "Application"
        ],
        "summary": "Gets all customer info types.",
        "operationId": "Application_CustomerInfoTypes",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of customer info types. The custom fields configured by the client for customer, company and store (division) records.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerInfoType"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Application/ClientCustomerFlags": {
      "get": {
        "tags": [
          "Application"
        ],
        "summary": "Gets all client customer flags.",
        "operationId": "Application_ClientCustomerFlags",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of client customer flags. Both customer and company enabled flags are included.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerFlag"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Application/ShoppingInfoTypes": {
      "get": {
        "tags": [
          "Application"
        ],
        "summary": "Gets all shopping info types.",
        "operationId": "Application_ShoppingInfoTypes",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of shopping info types. The custom fields configured by the client for basket, and basketitem records.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ShoppingInfoType"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Application/OrderInfoTypes": {
      "get": {
        "tags": [
          "Application"
        ],
        "summary": "Gets all order info types.",
        "operationId": "Application_OrderInfoTypes",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of order info types. The custom fields configured by the client for order, and orderitem records.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrderInfoType"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Application/ClientDivisions": {
      "get": {
        "tags": [
          "Application"
        ],
        "summary": "Gets all client divisions.",
        "operationId": "Application_ClientDivisions",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of client divisions. Divisions are called \"stores\" in admin and commerce services.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ClientDivision"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Application/ProductRelationTypes": {
      "get": {
        "tags": [
          "Application"
        ],
        "summary": "Gets all product relation types.",
        "operationId": "Application_ProductRelationTypes",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of product relation types.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProductRelationType"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Application/ClientSkuTypes": {
      "get": {
        "tags": [
          "Application"
        ],
        "summary": "Gets all client SKU types.",
        "operationId": "Application_ClientSkuTypes",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of client SKU types. Called product types in admin.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ClientProductSkuTypeClient"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Core/Applications": {
      "get": {
        "tags": [
          "Core"
        ],
        "summary": "Gets all applications.",
        "operationId": "Core_Applications",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of applications.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Application"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Core/Applications({id})": {
      "get": {
        "tags": [
          "Core"
        ],
        "summary": "Gets a single application by its identifier.",
        "operationId": "Core_Application",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The application identifier.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A single application matching the specified identifier.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SingleResultOfApplication"
                }
              }
            }
          }
        }
      }
    },
    "/Core/Currencies": {
      "get": {
        "tags": [
          "Core"
        ],
        "summary": "Gets all currencies.",
        "operationId": "Core_Currencies",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of currencies.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Currency"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Core/Currencies({id})": {
      "get": {
        "tags": [
          "Core"
        ],
        "summary": "Gets a single currency by its identifier.",
        "operationId": "Core_Currency",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The currency identifier.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A single currency matching the specified identifier.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SingleResultOfCurrency"
                }
              }
            }
          }
        }
      }
    },
    "/Core/Files": {
      "get": {
        "tags": [
          "Core"
        ],
        "summary": "Gets all files.",
        "operationId": "Core_Files",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of legacy file types. Use Application.FileInfos for client configured file types.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/File"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Core/FileTypes": {
      "get": {
        "tags": [
          "Core"
        ],
        "summary": "Gets all file types.",
        "operationId": "Core_FileTypes",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of file MIME types.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FileType"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Core/SalesAreas": {
      "get": {
        "tags": [
          "Core"
        ],
        "summary": "Gets all sales areas.",
        "operationId": "Core_SalesAreas",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of all system sales areas.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SalesArea"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Core/SalesAreas({id})": {
      "get": {
        "tags": [
          "Core"
        ],
        "summary": "Gets a single sales area by its identifier.",
        "operationId": "Core_SalesArea",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The sales area identifier.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A single sales area matching the specified identifier.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SingleResultOfSalesArea"
                }
              }
            }
          }
        }
      }
    },
    "/Core/SkuStatuses": {
      "get": {
        "tags": [
          "Core"
        ],
        "summary": "Gets all SKU statuses.",
        "operationId": "Core_SkuStatuses",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of system SKU statuses. Called product status in admin.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ClientProductSkuStatus"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Core/SkuStatuses({id})": {
      "get": {
        "tags": [
          "Core"
        ],
        "summary": "Gets a single SKU status by its identifier.",
        "operationId": "Core_SkuStatus",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The SKU status identifier.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A single system SKU status matching the specified identifier. Called product status in admin.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SingleResultOfClientProductSkuStatus"
                }
              }
            }
          }
        }
      }
    },
    "/Core/VatCodes": {
      "get": {
        "tags": [
          "Core"
        ],
        "summary": "Gets all VAT codes.",
        "operationId": "Core_VatCodes",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of system VAT codes.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VatCode"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Core/VatCodes({id})": {
      "get": {
        "tags": [
          "Core"
        ],
        "summary": "Gets a single VAT code by its identifier.",
        "operationId": "Core_VatCode",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The VAT code identifier.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A single system VAT code matching the specified identifier.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SingleResultOfVatCode"
                }
              }
            }
          }
        }
      }
    },
    "/Core/Countries": {
      "get": {
        "tags": [
          "Core"
        ],
        "summary": "Gets all countries.",
        "operationId": "Core_Countries",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of system countries.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Country"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Core/Countries({id})": {
      "get": {
        "tags": [
          "Core"
        ],
        "summary": "Gets a single country by its identifier.",
        "operationId": "Core_Country",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The country identifier.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A single system country matching the specified identifier.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SingleResultOfCountry"
                }
              }
            }
          }
        }
      }
    },
    "/Core/GetClientSeed(clientId={clientId},applicationId={applicationId},typeId={typeId})": {
      "get": {
        "tags": [
          "Core"
        ],
        "summary": "Gets the next incremental seed value for a client.",
        "operationId": "Core_ClientSeed",
        "parameters": [
          {
            "name": "clientId",
            "in": "path",
            "required": true,
            "description": "The client identifier.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "applicationId",
            "in": "path",
            "required": true,
            "description": "The optional application identifier.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 2
          },
          {
            "name": "typeId",
            "in": "path",
            "required": true,
            "description": "The seed type identifier.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 3
          },
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The next seed value as a string.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/Core/DeliveryMethods": {
      "get": {
        "tags": [
          "Core"
        ],
        "summary": "Gets all delivery methods.",
        "operationId": "Core_DeliveryMethods",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of system delivery methods.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DeliveryMethod"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Core/PaymentMethods": {
      "get": {
        "tags": [
          "Core"
        ],
        "summary": "Gets all payment methods.",
        "operationId": "Core_PaymentMethods",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of system payment methods.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentMethod"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Core/ProductInfoTypeGroups": {
      "get": {
        "tags": [
          "Core"
        ],
        "summary": "Gets all product info type groups.",
        "operationId": "Core_ProductInfoTypeGroups",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of system product info type groups.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProductInfoTypeGroup"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Core/SkuTypes": {
      "get": {
        "tags": [
          "Core"
        ],
        "summary": "Gets all SKU types.",
        "operationId": "Core_SkuTypes",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of system SKU types, called product types in admin.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ClientProductSkuType"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Customers/Customers": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Gets all customers.",
        "operationId": "Customers_Customers",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of customers.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ClientCustomer"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Customers/Customers({id})": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Gets a single customer by its identifier.",
        "operationId": "Customers_Customer",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The customer identifier.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A single customer matching the specified identifier.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SingleResultOfClientCustomer"
                }
              }
            }
          }
        }
      }
    },
    "/Customers/Companies": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Gets all companies.",
        "operationId": "Customers_Companies",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of companies.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ClientCompany"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Customers/Companies({id})": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Gets a single company by its identifier.",
        "operationId": "Customers_Company",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The company identifier.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A single company matching the specified identifier.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SingleResultOfClientCompany"
                }
              }
            }
          }
        }
      }
    },
    "/Customers/Customers({customerId})/Companies": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Gets all companies associated with a specific customer.",
        "operationId": "Customers_CustomerCompanies",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "description": "The customer identifier.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of companies linked to the specified customer.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ClientCompany"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Orders/Orders": {
      "get": {
        "tags": [
          "Order"
        ],
        "summary": "Gets all orders.",
        "operationId": "Order_Orders",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of orders.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Order"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Orders/Quotations": {
      "get": {
        "tags": [
          "Order"
        ],
        "summary": "Gets all quotations.",
        "operationId": "Order_Quotations",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of quotations.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Quotation"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Orders/DeliveryNotes": {
      "get": {
        "tags": [
          "Order"
        ],
        "summary": "Gets all delivery notes.",
        "operationId": "Order_DeliveryNotes",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of delivery notes.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DeliveryNote"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Orders/Invoices": {
      "get": {
        "tags": [
          "Order"
        ],
        "summary": "Gets all invoices.",
        "operationId": "Order_Invoices",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of invoices.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Invoice"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Products/ProductSkus": {
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "Gets all product SKUs.",
        "operationId": "Products_ProductSkusAll",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of product SKUs.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ClientProductSku"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Products/Products": {
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "Gets all products.",
        "operationId": "Products_Products",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of products.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Product"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Products/ProductSkuPriceLists": {
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "Gets all product SKU price lists.",
        "operationId": "Products_ProductSkuPriceLists",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of product SKU price lists.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ClientProductSkuPriceList"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Products/ProductSkus({partNo})": {
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "Gets a single product SKU by its part number.",
        "operationId": "Products_ProductSkus",
        "parameters": [
          {
            "name": "partNo",
            "in": "path",
            "required": true,
            "description": "The part number identifying the SKU.",
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A single product SKU matching the specified part number.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SingleResultOfClientProductSku"
                }
              }
            }
          }
        }
      }
    },
    "/Products/Products({id})": {
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "Gets a single product by its identifier.",
        "operationId": "Products_Product",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The product identifier.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A single product matching the specified identifier.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SingleResultOfProduct"
                }
              }
            }
          }
        }
      }
    },
    "/Products/ProductSkus/ProductService.GetDeltaProductSkus(offsetInMinutes={offsetInMinutes})": {
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "Gets product SKUs that have been modified within the specified time offset.",
        "operationId": "Products_DeltaProductSkus",
        "parameters": [
          {
            "name": "offsetInMinutes",
            "in": "path",
            "required": true,
            "description": "The number of minutes to look back for changes.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of recently changed product SKUs.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ClientProductSku"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Products/ProductSkus/ProductService.GetDeltaProductSkuOnHands(offsetInMinutes={offsetInMinutes})": {
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "Gets product SKUs whose on-hand inventory has changed within the specified time offset.",
        "operationId": "Products_DeltaProductSkuOnHands",
        "parameters": [
          {
            "name": "offsetInMinutes",
            "in": "path",
            "required": true,
            "description": "The number of minutes to look back for on-hand changes.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of product SKUs with recent on-hand changes.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ClientProductSku"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Products/ProductSkus/ProductService.GetDeltaProductSkuPriceLists(offsetInMinutes={offsetInMinutes})": {
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "Gets product SKUs whose price lists have changed within the specified time offset.",
        "operationId": "Products_DeltaProductSkuPriceLists",
        "parameters": [
          {
            "name": "offsetInMinutes",
            "in": "path",
            "required": true,
            "description": "The number of minutes to look back for price list changes.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of product SKUs with recent price list changes.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ClientProductSku"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Products/ProductAccessories": {
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "Gets all product accessories.\nMaps from the unified ProductRelation model, filtering by relation types prefixed with \"accessory-\".",
        "operationId": "Products_ProductAccessories",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of product accessories.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProductAccessory"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Products/ProductCrossell": {
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "Gets all product cross-sell relations.\nMaps from the unified ProductRelation model, filtering by the \"crosssell\" relation type.",
        "operationId": "Products_ProductCrossell",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of product cross-sell relations.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProductCrossell"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Products/ProductUpsell": {
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "Gets all product up-sell relations.\nMaps from the unified ProductRelation model, filtering by the \"upsell\" relation type.",
        "operationId": "Products_ProductUpsell",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of product up-sell relations.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProductUpsell"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Products/ProductRelations": {
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "Gets all product relations (all types).",
        "operationId": "Products_ProductRelations",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of all product relations.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProductRelation"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Products/SupplierProductSkus": {
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "Gets all supplier product SKUs.",
        "operationId": "Products_SupplierProductSkus",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of supplier product SKUs.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SupplierProductSku"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Products/Variants": {
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "Gets all product variants.",
        "operationId": "Products_Variants",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of product variants.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Variant"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Products/ProductBestPrices": {
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "Gets all product best prices logs.",
        "operationId": "Products_BestPrices",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of product best prices history logs.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ClientProductSkuBestPrice"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Products/ProductBestPrices(PartNo={partNo},ApplicationId={applicationId})": {
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "Gets product best prices logs filtered by part number and application.",
        "operationId": "Products_BestPrices2",
        "parameters": [
          {
            "name": "partNo",
            "in": "path",
            "required": true,
            "description": "The part number identifying the SKU.",
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "applicationId",
            "in": "path",
            "required": true,
            "description": "The application identifier.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 2
          },
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of product best prices history logs.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ClientProductSkuBestPrice"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Products/Variants/ProductService.GetExportProductVariantFull(skuTypeIdsToInclude={skuTypeIdsToInclude})": {
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "Gets a full export of product variants, filtered by SKU type IDs to include.",
        "operationId": "Products_ExportProductVariantFull",
        "parameters": [
          {
            "name": "skuTypeIdsToInclude",
            "in": "path",
            "required": true,
            "description": "A comma-separated list of SKU type IDs to include.",
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of product variants for export.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Variant"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Products/Variants/ProductService.GetExportProductVariantDelta(skuTypeIdToExclude={skuTypeIdToExclude},offsetInMinutes={offsetInMinutes})": {
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "Gets a delta export of product variants changed within the specified time offset, excluding a specific SKU type.",
        "operationId": "Products_ExportProductVariantDelta",
        "parameters": [
          {
            "name": "skuTypeIdToExclude",
            "in": "path",
            "required": true,
            "description": "The SKU type ID to exclude from the results.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "offsetInMinutes",
            "in": "path",
            "required": true,
            "description": "The number of minutes to look back for changes.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 2
          },
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of recently changed product variants for export.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Variant"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Products/Variants/ProductService.GetExportProductVariantDelta(skuTypeIdsToInclude={skuTypeIdsToInclude},offsetInMinutes={offsetInMinutes})": {
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "Gets a delta export of product variants changed within the specified time offset, filtered by SKU type IDs to include.",
        "operationId": "Products_ExportProductVariantDeltaByTypes",
        "parameters": [
          {
            "name": "skuTypeIdsToInclude",
            "in": "path",
            "required": true,
            "description": "A comma-separated list of SKU type IDs to include.",
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "offsetInMinutes",
            "in": "path",
            "required": true,
            "description": "The number of minutes to look back for changes.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 2
          },
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of recently changed product variants for export.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Variant"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Shopping/GetPaymentAmount(quotationId={quotationId})": {
      "get": {
        "tags": [
          "Shopping"
        ],
        "summary": "Gets the payment amount for a specific quotation.\nRetrieves the amount from a successful StartPaymentProcess transaction, if any.",
        "operationId": "Shopping_PaymentAmount",
        "parameters": [
          {
            "name": "quotationId",
            "in": "path",
            "required": true,
            "description": "The quotation identifier.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The payment amount as a decimal, or null if no payment transaction was found.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "number",
                  "format": "decimal",
                  "nullable": true
                }
              }
            }
          }
        }
      }
    },
    "/Shopping/ApplicationDeliveryMethods": {
      "get": {
        "tags": [
          "Shopping"
        ],
        "summary": "Gets all application delivery methods.",
        "operationId": "Shopping_ApplicationDeliveryMethods",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of application configured delivery methods.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApplicationDeliveryMethod"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Shopping/ApplicationPaymentMethods": {
      "get": {
        "tags": [
          "Shopping"
        ],
        "summary": "Gets all application payment methods.",
        "operationId": "Shopping_ApplicationPaymentMethods",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A queryable collection of application configured payment methods.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApplicationPaymentMethod"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/Core/$metadata": {
      "get": {
        "tags": [
          "Metadata"
        ],
        "operationId": "Metadata_GetMetadata",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IEdmModel"
                }
              }
            }
          }
        }
      }
    },
    "/Application/$metadata": {
      "get": {
        "tags": [
          "Metadata"
        ],
        "operationId": "Metadata_GetMetadata2",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IEdmModel"
                }
              }
            }
          }
        }
      }
    },
    "/Customers/$metadata": {
      "get": {
        "tags": [
          "Metadata"
        ],
        "operationId": "Metadata_GetMetadata3",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IEdmModel"
                }
              }
            }
          }
        }
      }
    },
    "/Products/$metadata": {
      "get": {
        "tags": [
          "Metadata"
        ],
        "operationId": "Metadata_GetMetadata4",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IEdmModel"
                }
              }
            }
          }
        }
      }
    },
    "/Orders/$metadata": {
      "get": {
        "tags": [
          "Metadata"
        ],
        "operationId": "Metadata_GetMetadata5",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IEdmModel"
                }
              }
            }
          }
        }
      }
    },
    "/Shopping/$metadata": {
      "get": {
        "tags": [
          "Metadata"
        ],
        "operationId": "Metadata_GetMetadata6",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IEdmModel"
                }
              }
            }
          }
        }
      }
    },
    "/Core": {
      "get": {
        "tags": [
          "Metadata"
        ],
        "operationId": "Metadata_GetServiceDocument",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ODataServiceDocument"
                }
              }
            }
          }
        }
      }
    },
    "/Application": {
      "get": {
        "tags": [
          "Metadata"
        ],
        "operationId": "Metadata_GetServiceDocument2",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ODataServiceDocument"
                }
              }
            }
          }
        }
      }
    },
    "/Customers": {
      "get": {
        "tags": [
          "Metadata"
        ],
        "operationId": "Metadata_GetServiceDocument3",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ODataServiceDocument"
                }
              }
            }
          }
        }
      }
    },
    "/Products": {
      "get": {
        "tags": [
          "Metadata"
        ],
        "operationId": "Metadata_GetServiceDocument4",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ODataServiceDocument"
                }
              }
            }
          }
        }
      }
    },
    "/Orders": {
      "get": {
        "tags": [
          "Metadata"
        ],
        "operationId": "Metadata_GetServiceDocument5",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ODataServiceDocument"
                }
              }
            }
          }
        }
      }
    },
    "/Shopping": {
      "get": {
        "tags": [
          "Metadata"
        ],
        "operationId": "Metadata_GetServiceDocument6",
        "parameters": [
          {
            "name": "ApplicationId",
            "in": "header",
            "required": true,
            "description": "Application ID",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ODataServiceDocument"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ApplicationCulture": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "applicationId": {
            "type": "integer",
            "description": "The application identifier.",
            "format": "int32"
          },
          "cultureCode": {
            "type": "string",
            "description": "The culture code (e.g. en-US).",
            "maxLength": 16,
            "minLength": 0,
            "nullable": true
          },
          "isPrimary": {
            "type": "boolean",
            "description": "Indicates whether the application culture is primary, only one primary culture is allowed."
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the application culture is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "SingleResultOfApplicationCulture": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SingleResult"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "queryable": {
                "type": "array",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/ApplicationCulture"
                }
              }
            }
          }
        ]
      },
      "SingleResult": {
        "type": "object",
        "x-abstract": true,
        "additionalProperties": false,
        "properties": {
          "queryable": {
            "type": "array",
            "nullable": true,
            "items": {}
          }
        }
      },
      "ApplicationCountry": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "applicationId": {
            "type": "integer",
            "description": "The application identifier.",
            "format": "int32"
          },
          "countryId": {
            "type": "integer",
            "description": "The country identifier.",
            "format": "int32"
          },
          "isPrimary": {
            "type": "boolean",
            "description": "Indicates whether the application country is primary, only one primary country is allowed."
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the application country is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "ApplicationCurrency": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "applicationId": {
            "type": "integer",
            "description": "The application identifier.",
            "format": "int32"
          },
          "currencyId": {
            "type": "integer",
            "description": "The currency identifier.",
            "format": "int32"
          },
          "isPrimary": {
            "type": "boolean",
            "description": "Indicates whether the application currency is primary, only one primary currency is allowed."
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the application currency is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "ApplicationPriceList": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "applicationId": {
            "type": "integer",
            "description": "The unique identifier of the application.",
            "format": "int32"
          },
          "priceListId": {
            "type": "integer",
            "description": "The unique identifier of the price list.",
            "format": "int32"
          },
          "isPrimary": {
            "type": "boolean",
            "description": "Indicates whether this is the primary price list for the application, only one primary price list is allowed per application."
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether this price list is active on the application."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "isEditable": {
            "type": "boolean",
            "description": "Indicates whether this application price list is editable, not used anymore."
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "isFavorite": {
            "type": "boolean",
            "description": "Indicates whether this application price list is marked as a favorite, add the price list to the pricing tabs by default in the admin tool."
          },
          "priceList": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/PriceList"
              }
            ]
          },
          "priceListClient": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/PriceListClient"
              }
            ]
          }
        }
      },
      "PriceList": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "defaultName"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the price list.",
            "format": "int32"
          },
          "defaultName": {
            "type": "string",
            "description": "The default name of the price list.",
            "maxLength": 50,
            "minLength": 0
          },
          "defaultDescription": {
            "type": "string",
            "description": "The default description of the price list.",
            "nullable": true
          },
          "agreement": {
            "type": "string",
            "description": "The agreement, called Code in the admin tool, and in connect.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "startDate": {
            "type": "string",
            "description": "The start date, not used see start date in PriceListClient.",
            "format": "date-time",
            "nullable": true
          },
          "endDate": {
            "type": "string",
            "description": "The end date, not used see end date in PriceListClient.",
            "format": "date-time",
            "nullable": true
          },
          "isPublic": {
            "type": "boolean",
            "description": "Indicates whether the price list is public, not used see IsPublic in PriceListClient."
          },
          "isLimitedToStock": {
            "type": "boolean",
            "description": "Indicates whether the price list is limited to stock, not used see IsLimitedToStock in PriceListClient."
          },
          "isBid": {
            "type": "boolean",
            "description": "Indicates whether the price list is bid, not used see IsBid in PriceListClient."
          },
          "isStako": {
            "type": "boolean",
            "description": "Indicates whether the price list is stako, not used see IsStako in PriceListClient."
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the price list is active, commonly always set, see IsActive in PriceListClient."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "applicationPriceList": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ApplicationPriceList"
            }
          },
          "clientProductSkuPriceList": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientProductSkuPriceList"
            }
          },
          "priceListClient": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/PriceListClient"
            }
          }
        }
      },
      "ClientProductSkuPriceList": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "partNo": {
            "type": "string",
            "description": "The part number.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "priceListId": {
            "type": "integer",
            "description": "The price list identifier.",
            "format": "int32"
          },
          "qtyBreak": {
            "type": "integer",
            "description": "The quantity break, default is 1.",
            "format": "int32"
          },
          "currencyId": {
            "type": "integer",
            "description": "The currency identifier.",
            "format": "int32"
          },
          "priceSale": {
            "type": "number",
            "description": "The price sale, calculated based on the fields in this record, depending on the price rule.",
            "format": "decimal"
          },
          "priceSaleLastUpdated": {
            "type": "string",
            "description": "The price sale last updated.",
            "format": "date-time",
            "nullable": true
          },
          "priceSaleLastUpdatedBy": {
            "type": "integer",
            "description": "The price sale last updated by.",
            "format": "int32",
            "nullable": true
          },
          "priceRuleId": {
            "type": "integer",
            "description": "The price rule identifier.",
            "format": "int32",
            "nullable": true
          },
          "priceRuleValue": {
            "type": "number",
            "description": "The price rule value, depending on the price rule can contain like margin or uplift in percent, discount in percent or fixed amount, null when fixed price rule.",
            "format": "decimal",
            "nullable": true
          },
          "costPurchase": {
            "type": "number",
            "description": "The cost purchase.",
            "format": "decimal"
          },
          "costPurchaseLastUpdated": {
            "type": "string",
            "description": "The cost purchase last updated.",
            "format": "date-time",
            "nullable": true
          },
          "costPurchaseLastUpdatedBy": {
            "type": "integer",
            "description": "The cost purchase last updated by.",
            "format": "int32",
            "nullable": true
          },
          "costUnit": {
            "type": "number",
            "description": "The cost unit.",
            "format": "decimal"
          },
          "costUnitLastUpdated": {
            "type": "string",
            "description": "The cost unit last updated.",
            "format": "date-time",
            "nullable": true
          },
          "costUnitLastUpdatedBy": {
            "type": "integer",
            "description": "The cost unit last updated by.",
            "format": "int32",
            "nullable": true
          },
          "supplementChargePercentage": {
            "type": "number",
            "description": "The supplement charge percentage.",
            "format": "decimal",
            "nullable": true
          },
          "priceStandard": {
            "type": "number",
            "description": "The price standard, inherited from the parent price list record, otherwise null.",
            "format": "decimal",
            "nullable": true
          },
          "priceRecommended": {
            "type": "number",
            "description": "The price recommended.",
            "format": "decimal",
            "nullable": true
          },
          "priceRecommendedLastUpdated": {
            "type": "string",
            "description": "The price recommended last updated.",
            "format": "date-time",
            "nullable": true
          },
          "priceRecommendedLastUpdatedBy": {
            "type": "integer",
            "description": "The price recommended last updated by.",
            "format": "int32",
            "nullable": true
          },
          "pricePrevious": {
            "type": "number",
            "description": "The price previous, can contain historical best price, if functionality is enabled for the client.",
            "format": "decimal",
            "nullable": true
          },
          "pricePreviousLastUpdated": {
            "type": "string",
            "description": "The price previous last updated.",
            "format": "date-time",
            "nullable": true
          },
          "pricePreviousLastUpdatedBy": {
            "type": "integer",
            "description": "The price previous last updated by.",
            "format": "int32",
            "nullable": true
          },
          "priceCatalog": {
            "type": "number",
            "description": "The price catalog.",
            "format": "decimal",
            "nullable": true
          },
          "priceCatalogLastUpdated": {
            "type": "string",
            "description": "The price catalog last updated.",
            "format": "date-time",
            "nullable": true
          },
          "priceCatalogLastUpdatedBy": {
            "type": "integer",
            "description": "The price catalog last updated by.",
            "format": "int32",
            "nullable": true
          },
          "isPriceDiscountable": {
            "type": "boolean",
            "description": "Indicates whether the client product sku price list is price discountable by promotions."
          },
          "chosenSupplierId": {
            "type": "integer",
            "description": "The chosen supplier identifier.",
            "format": "int32",
            "nullable": true
          },
          "chosenSupplierPartNo": {
            "type": "string",
            "description": "The chosen supplier part number.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "chosenSupplierPriceListId": {
            "type": "integer",
            "description": "The chosen supplier price list identifier.",
            "format": "int32",
            "nullable": true
          },
          "chosenSupplierQtyBreak": {
            "type": "integer",
            "description": "The chosen supplier quantity break.",
            "format": "int32",
            "nullable": true
          },
          "isChosenSupplierLocked": {
            "type": "boolean",
            "description": "Indicates whether the client product sku price list is chosen supplier locked, not used anymore."
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the client product sku price list is active."
          },
          "stoppedDate": {
            "type": "string",
            "description": "The stopped date.",
            "format": "date-time",
            "nullable": true
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "lastChecked": {
            "type": "string",
            "description": "The last checked.",
            "format": "date-time",
            "nullable": true
          },
          "minimumMarginPercentage": {
            "type": "number",
            "description": "The minimum margin percentage.",
            "format": "decimal",
            "nullable": true
          },
          "priceRuleLastUpdated": {
            "type": "string",
            "description": "The price rule last updated.",
            "format": "date-time",
            "nullable": true
          },
          "priceRuleLastUpdatedBy": {
            "type": "integer",
            "description": "The price rule last updated by.",
            "format": "int32",
            "nullable": true
          },
          "pricingId": {
            "type": "integer",
            "description": "The pricing identifier, not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "supplementCharge": {
            "type": "number",
            "description": "The supplement charge.",
            "format": "decimal",
            "nullable": true
          },
          "limitToPriceRecommended": {
            "type": "boolean",
            "description": "Indicates whether limit to price recommended is enabled.",
            "nullable": true
          },
          "isActiveLastUpdated": {
            "type": "string",
            "description": "The is active last updated.",
            "format": "date-time",
            "nullable": true
          },
          "isActiveLastUpdatedBy": {
            "type": "integer",
            "description": "The is active last updated by.",
            "format": "int32",
            "nullable": true
          },
          "sku": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ClientProductSku"
              }
            ]
          },
          "info": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientProductSkuPriceListInfo"
            }
          },
          "priceList": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/PriceList"
              }
            ]
          }
        }
      },
      "ClientProductSku": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "partNo": {
            "type": "string",
            "description": "The part number.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "productId": {
            "type": "integer",
            "description": "The product identifier.",
            "format": "int32"
          },
          "statusId": {
            "type": "integer",
            "description": "The status identifier, Active (1), Coming (2), Expiring (3), Hidden (4), Inactive (5).",
            "format": "int32"
          },
          "statusLastUpdated": {
            "type": "string",
            "description": "The status last updated.",
            "format": "date-time",
            "nullable": true
          },
          "statusLastUpdatedBy": {
            "type": "integer",
            "description": "The status last updated by.",
            "format": "int32",
            "nullable": true
          },
          "typeId": {
            "type": "integer",
            "description": "The type identifier, a value from the ClientProductSkuType.",
            "format": "int32"
          },
          "integrationPartNo": {
            "type": "string",
            "description": "The integration part number, used when ERP has a different part number or a shared part number for many products in the Norce.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "erpName": {
            "type": "string",
            "description": "The ERP name.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "defaultComment": {
            "type": "string",
            "description": "The default comment.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "commodityCode": {
            "type": "string",
            "description": "The commodity code.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "eanCode": {
            "type": "string",
            "description": "The EAN code.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "trackingCode": {
            "type": "string",
            "description": "The tracking code.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "grossWeight": {
            "type": "number",
            "description": "The gross weight, called Actual weight in the admin tool and is used by shipping calculations.",
            "format": "decimal",
            "nullable": true
          },
          "netWeight": {
            "type": "number",
            "description": "The net weight, not commonly used, set up parametrics instead.",
            "format": "decimal",
            "nullable": true
          },
          "freightClassId": {
            "type": "integer",
            "description": "The freight class identifier, not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "unitOfMeasurementId": {
            "type": "integer",
            "description": "The unit of measurement identifier.",
            "format": "int32",
            "nullable": true
          },
          "unitOfMeasurementCount": {
            "type": "number",
            "description": "The unit of measurement count.",
            "format": "decimal"
          },
          "packageId": {
            "type": "integer",
            "description": "The package identifier, not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "trackingCodeTypeId": {
            "type": "integer",
            "description": "The tracking code type identifier, not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "url": {
            "type": "string",
            "description": "The URL.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "imagePath": {
            "type": "string",
            "description": "The image path, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "isDropShipOnly": {
            "type": "boolean",
            "description": "Indicates whether the client product sku is drop ship only.",
            "nullable": true
          },
          "isPublished": {
            "type": "boolean",
            "description": "Indicates whether the client product sku is published, not used anymore."
          },
          "publishedLastUpdated": {
            "type": "string",
            "description": "The published last updated.",
            "format": "date-time",
            "nullable": true
          },
          "publishedLastUpdatedBy": {
            "type": "integer",
            "description": "The published last updated by.",
            "format": "int32",
            "nullable": true
          },
          "isBlocked": {
            "type": "boolean",
            "description": "Indicates whether the client product sku is blocked, 1 can force block a sku from being shown outside the system, but is not used anymore."
          },
          "blockedLastUpdated": {
            "type": "string",
            "description": "The blocked last updated.",
            "format": "date-time",
            "nullable": true
          },
          "blockedLastUpdatedBy": {
            "type": "integer",
            "description": "The blocked last updated by.",
            "format": "int32",
            "nullable": true
          },
          "populationRuleId": {
            "type": "integer",
            "description": "The population rule identifier, not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "lastChecked": {
            "type": "string",
            "description": "The last checked.",
            "format": "date-time",
            "nullable": true
          },
          "trackingModeTypeId": {
            "type": "integer",
            "description": "The tracking mode type identifier, not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "isStatusLocked": {
            "type": "boolean",
            "description": "Indicates whether the client product sku is status locked, can be set manually in the admin tool."
          },
          "statusLockedDate": {
            "type": "string",
            "description": "The status locked date.",
            "format": "date-time",
            "nullable": true
          },
          "statusLockedBy": {
            "type": "integer",
            "description": "The status locked by.",
            "format": "int32",
            "nullable": true
          },
          "recommendedSalesQty": {
            "type": "number",
            "description": "The recommended sales quantity.",
            "format": "decimal",
            "nullable": true
          },
          "logisticWidth": {
            "type": "number",
            "description": "The logistic width, used in logistics calculations.",
            "format": "decimal",
            "nullable": true
          },
          "logisticHeight": {
            "type": "number",
            "description": "The logistic height, used in logistics calculations.",
            "format": "decimal",
            "nullable": true
          },
          "logisticDepth": {
            "type": "number",
            "description": "The logistic depth, used in logistics calculations.",
            "format": "decimal",
            "nullable": true
          },
          "isBuyable": {
            "type": "boolean",
            "description": "Indicates whether the client product sku is buyable, if 0 the cannot be added to baskets."
          },
          "buyableLastUpdated": {
            "type": "string",
            "description": "The buyable last updated.",
            "format": "date-time",
            "nullable": true
          },
          "buyableLastUpdatedBy": {
            "type": "integer",
            "description": "The buyable last updated by.",
            "format": "int32",
            "nullable": true
          },
          "discountClass": {
            "type": "string",
            "description": "The discount class, not used anymore.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "isRecommendedSalesQtyFixed": {
            "type": "boolean",
            "description": "Indicates whether the client product sku is recommended sales quantity fixed.",
            "nullable": true
          },
          "startDate": {
            "type": "string",
            "description": "The start date, indicated when a coming product switches to active.",
            "format": "date-time",
            "nullable": true
          },
          "endDate": {
            "type": "string",
            "description": "The end date, indicated when an expiring product switches to inactive.",
            "format": "date-time",
            "nullable": true
          },
          "cultures": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientProductSkuCulture"
            }
          },
          "onHands": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientProductSkuOnHand"
            }
          },
          "priceLists": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientProductSkuPriceList"
            }
          },
          "salesAreas": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientProductSkuSalesArea"
            }
          },
          "structureItems": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientProductSkuStructureItem"
            }
          },
          "bestPrices": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientProductSkuBestPrice"
            }
          },
          "product": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Product"
              }
            ]
          }
        }
      },
      "ClientProductSkuCulture": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "partNo": {
            "type": "string",
            "description": "The part number.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "cultureCode": {
            "type": "string",
            "description": "The culture code (e.g. en-US).",
            "maxLength": 16,
            "minLength": 0,
            "nullable": true
          },
          "erpName": {
            "type": "string",
            "description": "The culture specific ERP name.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "comment": {
            "type": "string",
            "description": "A comment or note.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "clientProductSku": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ClientProductSku"
              }
            ]
          }
        }
      },
      "ClientProductSkuOnHand": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "partNo": {
            "type": "string",
            "description": "The part number.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "warehouseId": {
            "type": "integer",
            "description": "The warehouse identifier.",
            "format": "int32"
          },
          "locationId": {
            "type": "integer",
            "description": "The location identifier.",
            "format": "int32"
          },
          "onHandValue": {
            "type": "number",
            "description": "The on hand value, from the inventory system.",
            "format": "decimal"
          },
          "onHandLastChecked": {
            "type": "string",
            "description": "The on hand last checked.",
            "format": "date-time",
            "nullable": true
          },
          "onHandLastUpdated": {
            "type": "string",
            "description": "The on hand last updated.",
            "format": "date-time",
            "nullable": true
          },
          "onHandLastUpdatedBy": {
            "type": "integer",
            "description": "The on hand last updated by.",
            "format": "int32",
            "nullable": true
          },
          "incomingValue": {
            "type": "number",
            "description": "The incoming value.",
            "format": "decimal",
            "nullable": true
          },
          "incomingLastChecked": {
            "type": "string",
            "description": "The incoming last checked.",
            "format": "date-time",
            "nullable": true
          },
          "incomingLastUpdated": {
            "type": "string",
            "description": "The incoming last updated.",
            "format": "date-time",
            "nullable": true
          },
          "incomingLastUpdatedBy": {
            "type": "integer",
            "description": "The incoming last updated by.",
            "format": "int32",
            "nullable": true
          },
          "nextDeliveryDate": {
            "type": "string",
            "description": "The next delivery date, to the warehouse (when incoming > 0).",
            "format": "date-time",
            "nullable": true
          },
          "nextDeliveryLastChecked": {
            "type": "string",
            "description": "The next delivery last checked.",
            "format": "date-time",
            "nullable": true
          },
          "nextDeliveryLastUpdated": {
            "type": "string",
            "description": "The next delivery last updated.",
            "format": "date-time",
            "nullable": true
          },
          "nextDeliveryLastUpdatedBy": {
            "type": "integer",
            "description": "The next delivery last updated by.",
            "format": "int32",
            "nullable": true
          },
          "isReturnable": {
            "type": "boolean",
            "description": "Indicates whether the client product sku on hand is returnable."
          },
          "leadTimeDayCount": {
            "type": "integer",
            "description": "The lead time day count, overrides the location or warehouse setting.",
            "format": "int32",
            "nullable": true
          },
          "onOrderValue": {
            "type": "number",
            "description": "The on order value, not used anymore.",
            "format": "decimal",
            "nullable": true
          },
          "minimumValue": {
            "type": "number",
            "description": "The minimum value, optional value, when procuring should be considered.",
            "format": "decimal",
            "nullable": true
          },
          "maximumValue": {
            "type": "number",
            "description": "The maximum value, optional value, target amount when procuring.",
            "format": "decimal",
            "nullable": true
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the client product sku on hand is active."
          },
          "stoppedDate": {
            "type": "string",
            "description": "The stopped date.",
            "format": "date-time",
            "nullable": true
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "reservationValue": {
            "type": "number",
            "description": "The reservation value, reserved value based on orders through the system, deducts onhand value in the admin tool and commerce service API, and is cleared by a new update from the inventory system.",
            "format": "decimal"
          },
          "isActiveLastUpdated": {
            "type": "string",
            "description": "The is active last updated.",
            "format": "date-time",
            "nullable": true
          },
          "isActiveLastUpdatedBy": {
            "type": "integer",
            "description": "The is active last updated by.",
            "format": "int32",
            "nullable": true
          },
          "clientProductSku": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ClientProductSku"
              }
            ]
          },
          "info": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientProductSkuOnHandInfo"
            }
          },
          "warehouse": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Warehouse"
              }
            ]
          }
        }
      },
      "ClientProductSkuOnHandInfo": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "partNo",
          "value"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the client product sku on hand info type.",
            "format": "int64"
          },
          "partNo": {
            "type": "string",
            "description": "The part number.",
            "maxLength": 50,
            "minLength": 0
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "warehouseId": {
            "type": "integer",
            "description": "The warehouse identifier.",
            "format": "int32"
          },
          "locationId": {
            "type": "integer",
            "description": "The location identifier.",
            "format": "int32"
          },
          "typeId": {
            "type": "integer",
            "description": "The type identifier.",
            "format": "int32"
          },
          "value": {
            "type": "string",
            "description": "The value.",
            "maxLength": 255,
            "minLength": 0
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "clientProductSkuOnHand": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ClientProductSkuOnHand"
              }
            ]
          },
          "type": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ProductInfoType"
              }
            ]
          }
        }
      },
      "ProductInfoType": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "defaultName"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the product info type.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "groupId": {
            "type": "integer",
            "description": "The info type group identifier, OnHandInfo (2), PriceListInfo (3).",
            "format": "int32"
          },
          "defaultName": {
            "type": "string",
            "description": "The default name of the product info type.",
            "maxLength": 50,
            "minLength": 0
          },
          "defaultDescription": {
            "type": "string",
            "description": "The default description of the product info type.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "sortOrder": {
            "type": "integer",
            "description": "The sort order for display purposes.",
            "format": "int32"
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the product info type is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "code": {
            "type": "string",
            "description": "The code of the product info type.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "clientProductSkuOnHandInfo": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientProductSkuOnHandInfo"
            }
          },
          "clientProductSkuPriceListInfo": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientProductSkuPriceListInfo"
            }
          },
          "cultures": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ProductInfoTypeCulture"
            }
          }
        }
      },
      "ClientProductSkuPriceListInfo": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "partNo",
          "value"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the client product sku price list info type.",
            "format": "int64"
          },
          "partNo": {
            "type": "string",
            "description": "The part number.",
            "maxLength": 50,
            "minLength": 0
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "priceListId": {
            "type": "integer",
            "description": "The price list identifier.",
            "format": "int32"
          },
          "qtyBreak": {
            "type": "integer",
            "description": "The quantity break.",
            "format": "int32"
          },
          "typeId": {
            "type": "integer",
            "description": "The type identifier.",
            "format": "int32"
          },
          "value": {
            "type": "string",
            "description": "The value.",
            "maxLength": 255,
            "minLength": 0
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "clientProductSkuPriceList": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ClientProductSkuPriceList"
              }
            ]
          },
          "type": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ProductInfoType"
              }
            ]
          }
        }
      },
      "ProductInfoTypeCulture": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "typeId": {
            "type": "integer",
            "description": "The type identifier.",
            "format": "int32"
          },
          "cultureCode": {
            "type": "string",
            "description": "The culture code (e.g. en-US).",
            "maxLength": 16,
            "minLength": 0,
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "The culture specific name of the product info type.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "The culture specific description of the product info type.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "type": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ProductInfoType"
              }
            ]
          }
        }
      },
      "Warehouse": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "defaultName"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the warehouse.",
            "format": "int32"
          },
          "defaultName": {
            "type": "string",
            "description": "The default name of the warehouse.",
            "maxLength": 50,
            "minLength": 0
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the warehouse is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "clientProductSkuOnHand": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientProductSkuOnHand"
            }
          },
          "clientWarehouse": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientWarehouse"
            }
          },
          "clientWarehouseLocation": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientWarehouseLocation"
            }
          },
          "supplierProductSkuOnHand": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/SupplierProductSkuOnHand"
            }
          }
        }
      },
      "ClientWarehouse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "warehouseId": {
            "type": "integer",
            "description": "The warehouse identifier.",
            "format": "int32"
          },
          "typeId": {
            "type": "integer",
            "description": "The type identifier, Warehouse (1), Store (2), Transport (3), Other (4).",
            "format": "int32"
          },
          "code": {
            "type": "string",
            "description": "The code of the client warehouse.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "The name of the client warehouse.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "isStandard": {
            "type": "boolean",
            "description": "Indicates whether the client warehouse is standard, only one standard warehouse is allowed per client."
          },
          "standardLeadTimeDayCount": {
            "type": "integer",
            "description": "The standard lead time day count, used for calculating the expected delivery time.",
            "format": "int32",
            "nullable": true
          },
          "freightCost": {
            "type": "number",
            "description": "The freight cost, not used anymore.",
            "format": "decimal",
            "nullable": true
          },
          "costBlock": {
            "type": "integer",
            "description": "The cost block, not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "locations": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientWarehouseLocation"
            }
          },
          "warehouse": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Warehouse"
              }
            ]
          }
        }
      },
      "ClientWarehouseLocation": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "warehouseId": {
            "type": "integer",
            "description": "The warehouse identifier.",
            "format": "int32"
          },
          "locationId": {
            "type": "integer",
            "description": "The location identifier.",
            "format": "int32"
          },
          "code": {
            "type": "string",
            "description": "The code of the client warehouse location.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "The name of the client warehouse location.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "isStandard": {
            "type": "boolean",
            "description": "Indicates whether the client warehouse location is standard, only one standard location is allowed per warehouse."
          },
          "isIncludedInStockCalculation": {
            "type": "boolean",
            "description": "Indicates whether the client warehouse location is included in stock calculation."
          },
          "standardLeadTimeDayCount": {
            "type": "integer",
            "description": "The standard lead time day count, used for calculating the expected delivery time.",
            "format": "int32",
            "nullable": true
          },
          "freightCost": {
            "type": "number",
            "description": "The freight cost, not used anymore.",
            "format": "decimal",
            "nullable": true
          },
          "upToDateTypeId": {
            "type": "integer",
            "description": "The up to date type identifier, not used anymore.",
            "format": "int32"
          },
          "costBlock": {
            "type": "integer",
            "description": "The cost block, not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "valueBt": {
            "type": "string",
            "description": "The value bt, not used anymore.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "primaryPriceListId": {
            "type": "integer",
            "description": "The primary price list identifier, used internally for referencing back to the price list of choice from the warehouselocation perspective, not relevant anymore.",
            "format": "int32",
            "nullable": true
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "supportsReservation": {
            "type": "boolean",
            "description": "Indicates whether supports reservation is enabled, not currently in use."
          },
          "supportsStockQuery": {
            "type": "boolean",
            "description": "Indicates whether supports stock query is enabled, not currently in use."
          },
          "clientWarehouse": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ClientWarehouse"
              }
            ]
          },
          "location": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/WarehouseLocation"
              }
            ]
          },
          "warehouse": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Warehouse"
              }
            ]
          }
        }
      },
      "WarehouseLocation": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "defaultName"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the warehouse location.",
            "format": "int32"
          },
          "defaultName": {
            "type": "string",
            "description": "The default name of the warehouse location.",
            "maxLength": 50,
            "minLength": 0
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the warehouse location is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "clientWarehouseLocation": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientWarehouseLocation"
            }
          },
          "supplierProductSkuOnHand": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/SupplierProductSkuOnHand"
            }
          }
        }
      },
      "SupplierProductSkuOnHand": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "partNo": {
            "type": "string",
            "description": "The supplier part number.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "supplierId": {
            "type": "integer",
            "description": "The supplier identifier.",
            "format": "int32"
          },
          "warehouseId": {
            "type": "integer",
            "description": "The supplier warehouse identifier.",
            "format": "int32"
          },
          "locationId": {
            "type": "integer",
            "description": "The supplier location identifier.",
            "format": "int32"
          },
          "onHandValue": {
            "type": "number",
            "description": "The on hand value.",
            "format": "decimal"
          },
          "onHandLastChecked": {
            "type": "string",
            "description": "The on hand last checked.",
            "format": "date-time",
            "nullable": true
          },
          "onHandLastUpdated": {
            "type": "string",
            "description": "The on hand last updated.",
            "format": "date-time",
            "nullable": true
          },
          "onHandLastUpdatedBy": {
            "type": "integer",
            "description": "The on hand last updated by.",
            "format": "int32",
            "nullable": true
          },
          "incomingValue": {
            "type": "number",
            "description": "The incoming value. Optional field that can be used together with next delivery date to give a more complete picture of the stock situation.",
            "format": "decimal",
            "nullable": true
          },
          "incomingLastChecked": {
            "type": "string",
            "description": "The incoming last checked.",
            "format": "date-time",
            "nullable": true
          },
          "incomingLastUpdated": {
            "type": "string",
            "description": "The incoming last updated.",
            "format": "date-time",
            "nullable": true
          },
          "incomingLastUpdatedBy": {
            "type": "integer",
            "description": "The incoming last updated by.",
            "format": "int32",
            "nullable": true
          },
          "nextDeliveryDate": {
            "type": "string",
            "description": "The next delivery date. Optional field that can be used together with incoming value to give a more complete picture of the stock situation.",
            "format": "date-time",
            "nullable": true
          },
          "nextDeliveryLastChecked": {
            "type": "string",
            "description": "The next delivery last checked.",
            "format": "date-time",
            "nullable": true
          },
          "nextDeliveryLastUpdated": {
            "type": "string",
            "description": "The next delivery last updated.",
            "format": "date-time",
            "nullable": true
          },
          "nextDeliveryLastUpdatedBy": {
            "type": "integer",
            "description": "The next delivery last updated by.",
            "format": "int32",
            "nullable": true
          },
          "isReturnable": {
            "type": "boolean",
            "description": "Indicates whether the supplier product sku on hand is returnable. Not commonly used.",
            "nullable": true
          },
          "leadTimeDayCount": {
            "type": "integer",
            "description": "The lead time day count. Indicates the number of days it takes for the end-customer to get goods delivered from this supplier.",
            "format": "int32",
            "nullable": true
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the supplier product sku on hand is active."
          },
          "stoppedDate": {
            "type": "string",
            "description": "The stopped date. Not commonly used.",
            "format": "date-time",
            "nullable": true
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "externalStockValue": {
            "type": "number",
            "description": "The external stock value. Not commonly used.",
            "format": "decimal",
            "nullable": true
          },
          "packageValue": {
            "type": "number",
            "description": "The package value. Not commonly used.",
            "format": "decimal"
          },
          "minimumOrderValue": {
            "type": "number",
            "description": "The minimum order value. Not commonly used.",
            "format": "decimal"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "locations": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/WarehouseLocation"
              }
            ]
          },
          "supplierProductSku": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SupplierProductSku"
              }
            ]
          },
          "warehouse": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Warehouse"
              }
            ]
          }
        }
      },
      "SupplierProductSku": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "partNo": {
            "type": "string",
            "description": "The supplier part number.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "supplierId": {
            "type": "integer",
            "description": "The supplier identifier.",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "The name of the supplier product sku.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "manufacturerId": {
            "type": "integer",
            "description": "The manufacturer identifier.",
            "format": "int32",
            "nullable": true
          },
          "manufacturerCode": {
            "type": "string",
            "description": "The manufacturer code.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "manufacturerPartNo": {
            "type": "string",
            "description": "The manufacturer part number.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "categoryId": {
            "type": "integer",
            "description": "The category identifier.",
            "format": "int32",
            "nullable": true
          },
          "categoryCode": {
            "type": "string",
            "description": "The category code.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "commodityCode": {
            "type": "string",
            "description": "The commodity code.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "eanCode": {
            "type": "string",
            "description": "The EAN code.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "grossWeight": {
            "type": "number",
            "description": "The gross weight.",
            "format": "decimal",
            "nullable": true
          },
          "netWeight": {
            "type": "number",
            "description": "The net weight.",
            "format": "decimal",
            "nullable": true
          },
          "vatCodeId": {
            "type": "integer",
            "description": "The vat code identifier.",
            "format": "int32",
            "nullable": true
          },
          "unitOfMeasurementId": {
            "type": "integer",
            "description": "The unit of measurement identifier.",
            "format": "int32"
          },
          "unitOfMeasurementCount": {
            "type": "number",
            "description": "The unit of measurement count.",
            "format": "decimal"
          },
          "url": {
            "type": "string",
            "description": "The URL. Not commonly used.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "imagePath": {
            "type": "string",
            "description": "The image path. Not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "imagePathLastUpdated": {
            "type": "string",
            "description": "The image path last updated. Not used anymore.",
            "format": "date-time",
            "nullable": true
          },
          "isUsed": {
            "type": "boolean",
            "description": "Indicates whether the supplier product sku is refurbished. Not commonly used."
          },
          "logisticWidth": {
            "type": "number",
            "description": "The logistic width.",
            "format": "decimal",
            "nullable": true
          },
          "logisticHeight": {
            "type": "number",
            "description": "The logistic height.",
            "format": "decimal",
            "nullable": true
          },
          "logisticDepth": {
            "type": "number",
            "description": "The logistic depth.",
            "format": "decimal",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "productId": {
            "type": "integer",
            "description": "The product identifier.",
            "format": "int32",
            "nullable": true
          },
          "supplierProductSkuClient": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/SupplierProductSkuClient"
            }
          },
          "onHands": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/SupplierProductSkuOnHand"
            }
          },
          "priceLists": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/SupplierProductSkuPriceList"
            }
          }
        }
      },
      "SupplierProductSkuClient": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "partNo": {
            "type": "string",
            "description": "The supplier part number.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "supplierId": {
            "type": "integer",
            "description": "The supplier identifier.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "productId": {
            "type": "integer",
            "description": "The product identifier.",
            "format": "int32",
            "nullable": true
          },
          "manufacturerId": {
            "type": "integer",
            "description": "The manufacturer identifier.",
            "format": "int32",
            "nullable": true
          },
          "categoryId": {
            "type": "integer",
            "description": "The category identifier.",
            "format": "int32",
            "nullable": true
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "product": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Product"
              }
            ]
          },
          "sku": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SupplierProductSku"
              }
            ]
          }
        }
      },
      "Product": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "manufacturerPartNo",
          "defaultUniqueUrlName"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the product.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "manufacturerId": {
            "type": "integer",
            "description": "The manufacturer identifier.",
            "format": "int32"
          },
          "manufacturerPartNo": {
            "type": "string",
            "description": "The manufacturer part number.",
            "maxLength": 50,
            "minLength": 0
          },
          "defaultName": {
            "type": "string",
            "description": "The default name of the product.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "defaultSubHeader": {
            "type": "string",
            "description": "The default sub header.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "defaultSubDescription": {
            "type": "string",
            "description": "The default sub description.",
            "nullable": true
          },
          "defaultDescriptionHeader": {
            "type": "string",
            "description": "The default description header.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "defaultDescription": {
            "type": "string",
            "description": "The default description of the product.",
            "nullable": true
          },
          "defaultImagePath": {
            "type": "string",
            "description": "The default image path, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "defaultThumbnailImagePath": {
            "type": "string",
            "description": "The default thumbnail image path, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "defaultCampaignImagePath": {
            "type": "string",
            "description": "The default campaign image path, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "defaultLargeImagePath": {
            "type": "string",
            "description": "The default large image path, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "defaultSynonyms": {
            "type": "string",
            "description": "The default synonyms, commonly comma or blank space separated list of words.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "sortOrderValue": {
            "type": "integer",
            "description": "The sort order, not commonly used.",
            "format": "int32",
            "nullable": true
          },
          "assortmentId": {
            "type": "integer",
            "description": "The assortment identifier, not commonly used.",
            "format": "int32",
            "nullable": true
          },
          "assortmentLastUpdated": {
            "type": "string",
            "description": "The assortment last updated, not commonly used.",
            "format": "date-time",
            "nullable": true
          },
          "assortmentLastUpdatedBy": {
            "type": "integer",
            "description": "The assortment last updated by, not commonly used.",
            "format": "int32",
            "nullable": true
          },
          "isVariant": {
            "type": "boolean",
            "description": "Indicates whether the product is variant."
          },
          "variantId": {
            "type": "integer",
            "description": "The variant identifier.",
            "format": "int32",
            "nullable": true
          },
          "alias": {
            "type": "string",
            "description": "The alias, not commonly used.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "defaultTitle": {
            "type": "string",
            "description": "The default title, for SEO purposes.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "defaultTags": {
            "type": "string",
            "description": "The default tags, not commonly used.",
            "nullable": true
          },
          "defaultMetaTags": {
            "type": "string",
            "description": "The default meta tags, for SEO purposes.",
            "nullable": true
          },
          "defaultMetaDescription": {
            "type": "string",
            "description": "The default meta description, for SEO purposes.",
            "nullable": true
          },
          "hideInTopList": {
            "type": "boolean",
            "description": "Indicates whether product is hidden in rankings like popularity logic.",
            "nullable": true
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the product is active."
          },
          "stoppedDate": {
            "type": "string",
            "description": "The stopped date, set automatically when the product is disabled or deactivated.",
            "format": "date-time",
            "nullable": true
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "insuranceCurrencyId": {
            "type": "integer",
            "description": "The insurance currency identifier, not commonly used.",
            "format": "int32",
            "nullable": true
          },
          "insuranceStartPrice": {
            "type": "number",
            "description": "The insurance start price, not commonly used.",
            "format": "decimal",
            "nullable": true
          },
          "insuranceRunningPercentage": {
            "type": "number",
            "description": "The insurance running percentage, not commonly used.",
            "format": "decimal",
            "nullable": true
          },
          "key": {
            "type": "string",
            "description": "The key.",
            "format": "guid"
          },
          "manufacturerPartNo2": {
            "type": "string",
            "description": "The manufacturer part no2, not commonly used.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "imageKey": {
            "type": "string",
            "description": "The image key.",
            "format": "guid",
            "nullable": true
          },
          "defaultUniqueUrlName": {
            "type": "string",
            "description": "The default unique url name, a unique URL friendly name for the product, called UniqueName in the admin tool.",
            "maxLength": 500,
            "minLength": 0
          },
          "stockDisplayBreakPoint": {
            "type": "integer",
            "description": "The stock display break point, used for determining when to display stock information.",
            "format": "int32",
            "nullable": true
          },
          "isDangerousGoods": {
            "type": "boolean",
            "description": "Indicates whether the product is dangerous goods, used by shipping logic."
          },
          "code": {
            "type": "string",
            "description": "The common code for variants. All products with same code are considered variants of each other, if left out the product is considered standalone.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "isRecurringOrderable": {
            "type": "boolean",
            "description": "Indicates whether the product is recurring orderable, not commonly used.",
            "nullable": true
          },
          "defaultExternalDescription": {
            "type": "string",
            "description": "The default external description, not commonly used.",
            "nullable": true
          },
          "unspscCode": {
            "type": "string",
            "description": "The unspsc code, overrides the value from the primary category.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "translationRequested": {
            "type": "string",
            "description": "Indicates if a 3rd party translation has been requested.",
            "format": "date-time",
            "nullable": true
          },
          "translationRequestedBy": {
            "type": "integer",
            "description": "The translation requested by.",
            "format": "int32",
            "nullable": true
          },
          "defaultImageAltText": {
            "type": "string",
            "description": "The default image alt text.",
            "nullable": true
          },
          "flags": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientProductFlag"
            }
          },
          "skus": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientProductSku"
            }
          },
          "categories": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ProductCategory"
            }
          },
          "cultures": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ProductCulture"
            }
          },
          "families": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ProductFamily"
            }
          },
          "files": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ProductFile"
            }
          },
          "parametrics": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ProductParametric"
            }
          },
          "parametricMultiple": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ProductParametricMultiple"
            }
          },
          "productRelations": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ProductRelation"
            }
          },
          "productRelationRelatedProduct": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ProductRelation"
            }
          },
          "supplierSkus": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/SupplierProductSkuClient"
            }
          },
          "variant": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Variant"
              }
            ]
          }
        }
      },
      "ClientProductFlag": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "productId": {
            "type": "integer",
            "description": "The product identifier.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "flagId": {
            "type": "integer",
            "description": "The flag identifier.",
            "format": "int32"
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the client product flag is active."
          },
          "stoppedDate": {
            "type": "string",
            "description": "The stopped date.",
            "format": "date-time",
            "nullable": true
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "flag": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ProductFlag"
              }
            ]
          },
          "product": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Product"
              }
            ]
          }
        }
      },
      "ProductFlag": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "defaultName"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the product flag.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "typeId": {
            "type": "integer",
            "description": "The type identifier.",
            "format": "int32"
          },
          "groupId": {
            "type": "integer",
            "description": "The group identifier.",
            "format": "int32"
          },
          "defaultName": {
            "type": "string",
            "description": "The default name of the product flag.",
            "maxLength": 50,
            "minLength": 0
          },
          "defaultDescription": {
            "type": "string",
            "description": "The default description of the product flag.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "isManuallyEditable": {
            "type": "boolean",
            "description": "Indicates whether the product flag is manually editable, if false, the flag is read-only in the admin tool."
          },
          "sortOrder": {
            "type": "integer",
            "description": "The sort order for display purposes.",
            "format": "int32",
            "nullable": true
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the product flag is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "code": {
            "type": "string",
            "description": "The code of the product flag.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "clientProductFlag": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientProductFlag"
            }
          },
          "group": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ProductFlagGroup"
              }
            ]
          },
          "cultures": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ProductFlagCulture"
            }
          }
        }
      },
      "ProductFlagGroup": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "defaultName"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the product flag group.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "code": {
            "type": "string",
            "description": "The code of the product flag group.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "defaultName": {
            "type": "string",
            "description": "The default name of the product flag group.",
            "maxLength": 50,
            "minLength": 0
          },
          "defaultDescription": {
            "type": "string",
            "description": "The default description of the product flag group.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "isMultipleChoice": {
            "type": "boolean",
            "description": "Indicates whether the product flag group is multiple choice, if true, multiple flags can be selected from the same group, otherwise any flag already set will be cleared automatically when setting a new flag in the same group."
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the product flag group is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "isDisplay": {
            "type": "boolean",
            "description": "Indicates whether the product flag group is marked for being visible, not commonly used."
          },
          "isFavorite": {
            "type": "boolean",
            "description": "Indicates whether the product flag group is marked as favorite, used in the admin tool."
          },
          "productFlag": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ProductFlag"
            }
          },
          "cultures": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ProductFlagGroupCulture"
            }
          }
        }
      },
      "ProductFlagGroupCulture": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "groupId": {
            "type": "integer",
            "description": "The flag group identifier.",
            "format": "int32"
          },
          "cultureCode": {
            "type": "string",
            "description": "The culture code (e.g. en-US).",
            "maxLength": 16,
            "minLength": 0,
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "The culture specific name of the product flag group.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "The culture specific description of the product flag group.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "group": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ProductFlagGroup"
              }
            ]
          }
        }
      },
      "ProductFlagCulture": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "flagId": {
            "type": "integer",
            "description": "The flag identifier.",
            "format": "int32"
          },
          "cultureCode": {
            "type": "string",
            "description": "The culture code (e.g. en-US).",
            "maxLength": 16,
            "minLength": 0,
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "The culture specific name of the product flag.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "The culture specific description of the product flag.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "flag": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ProductFlag"
              }
            ]
          }
        }
      },
      "ProductCategory": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "productId": {
            "type": "integer",
            "description": "The product identifier.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "categoryId": {
            "type": "integer",
            "description": "The category identifier.",
            "format": "int32"
          },
          "isPrimary": {
            "type": "boolean",
            "description": "Indicates whether the product category is primary, a product can only have one primary category."
          },
          "sortOrder": {
            "type": "integer",
            "description": "The sort order between categories.",
            "format": "int32",
            "nullable": true
          },
          "productSortOrder": {
            "type": "integer",
            "description": "The products sort order within the category.",
            "format": "int32",
            "nullable": true
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the product category is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "category": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Category"
              }
            ]
          },
          "product": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Product"
              }
            ]
          }
        }
      },
      "Category": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "defaultName"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the category.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "code": {
            "type": "string",
            "description": "The code of the category.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "defaultName": {
            "type": "string",
            "description": "The default name of the category.",
            "maxLength": 50,
            "minLength": 0
          },
          "defaultDescription": {
            "type": "string",
            "description": "The default description of the category.",
            "nullable": true
          },
          "defaultSynonyms": {
            "type": "string",
            "description": "The default synonyms.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "defaultImagePath": {
            "type": "string",
            "description": "The default image path, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "unspcCode": {
            "type": "string",
            "description": "The UNSPC code, can be overriden on product level.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "businessArea": {
            "type": "string",
            "description": "The business area.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "defaultCommodityCode": {
            "type": "string",
            "description": "The default commodity code, can be overriden on product level.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "defaultIntegrationPartNo": {
            "type": "string",
            "description": "The default integration part number, can be overriden on product level.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "defaultTrackingCodeTypeId": {
            "type": "integer",
            "description": "The default tracking code type identifier, not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "freightClassId": {
            "type": "integer",
            "description": "The freight class identifier, not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "defaultGrossWeight": {
            "type": "number",
            "description": "The default gross weight, can be overriden on product level, called Actual Weight in the admin tool and in other API's.",
            "format": "decimal",
            "nullable": true
          },
          "defaultNetWeight": {
            "type": "number",
            "description": "The default net weight, can be overriden on product level, not used anymore.",
            "format": "decimal",
            "nullable": true
          },
          "defaultUnitOfMeasurementId": {
            "type": "integer",
            "description": "The default unit of measurement identifier, can be overriden on product level.",
            "format": "int32",
            "nullable": true
          },
          "defaultPackageId": {
            "type": "integer",
            "description": "The default package identifier, can be overriden on product level, not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "defaultIsReturnable": {
            "type": "boolean",
            "description": "Indicates whether returnable is enabled by default, can be overriden on product level, not commonly used.",
            "nullable": true
          },
          "defaultIsDropShipOnly": {
            "type": "boolean",
            "description": "Indicates whether drop ship only is enabled by default, can be overriden on product level.",
            "nullable": true
          },
          "insuranceCurrencyId": {
            "type": "integer",
            "description": "The insurance currency identifier, not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "insuranceStartPrice": {
            "type": "number",
            "description": "The insurance start price, not used anymore.",
            "format": "decimal",
            "nullable": true
          },
          "insuranceRunningPercentage": {
            "type": "number",
            "description": "The insurance running percentage, not used anymore.",
            "format": "decimal",
            "nullable": true
          },
          "populationRuleId": {
            "type": "integer",
            "description": "The population rule identifier, not used anymore.",
            "format": "int32"
          },
          "hideInTopList": {
            "type": "boolean",
            "description": "Indicates whether hide in top list is enabled, can be overriden on product level, disables popularity ranking on the products in the category."
          },
          "phoneNumber": {
            "type": "string",
            "description": "The phone number.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the category is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "competitivePricingMinPercentage": {
            "type": "number",
            "description": "The competitive pricing min percentage.",
            "format": "decimal",
            "nullable": true
          },
          "competitivePricingTargetPercentage": {
            "type": "number",
            "description": "The competitive pricing target percentage.",
            "format": "decimal",
            "nullable": true
          },
          "defaultVariantGroupId": {
            "type": "integer",
            "description": "The default variant group identifier, not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "defaultRecommendedSalesQty": {
            "type": "number",
            "description": "The default recommended sales quantity, can be overriden on product level.",
            "format": "decimal",
            "nullable": true
          },
          "imageKey": {
            "type": "string",
            "description": "The image key.",
            "format": "guid",
            "nullable": true
          },
          "defaultFullName": {
            "type": "string",
            "description": "The default full name, automatically generated from the category hierarchy, like: RootName - BranchName - LeafName.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "structureSortOrder": {
            "type": "integer",
            "description": "The structure sort order, automatically generated sort order based on the category hierarchy.",
            "format": "int64",
            "nullable": true
          },
          "defaultStockDisplayBreakPoint": {
            "type": "integer",
            "description": "The default stock display break point, can be overriden on product level.",
            "format": "int32",
            "nullable": true
          },
          "defaultIsRecommendedSalesQtyFixed": {
            "type": "boolean",
            "description": "Indicates whether recommended sales qty fixed is enabled by default, can be overriden on product level.",
            "nullable": true
          },
          "defaultIsRecurringOrderable": {
            "type": "boolean",
            "description": "Indicates whether recurring orderable is enabled by default, can be overriden on product level, not commonly used.",
            "nullable": true
          },
          "cultures": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CategoryCulture"
            }
          },
          "categoryHierarchyCategory": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CategoryHierarchy"
            }
          },
          "categoryHierarchyParentCategory": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CategoryHierarchy"
            }
          },
          "parametrics": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CategoryParametric"
            }
          },
          "salesAreas": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CategorySalesArea"
            }
          },
          "categoryStructureItem": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CategoryStructureItem"
            }
          },
          "productCategory": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ProductCategory"
            }
          }
        }
      },
      "CategoryCulture": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "categoryId": {
            "type": "integer",
            "description": "The category identifier.",
            "format": "int32"
          },
          "cultureCode": {
            "type": "string",
            "description": "The culture code (e.g. en-US).",
            "maxLength": 16,
            "minLength": 0,
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "The culture specific name of the category.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "The culture specific description of the category.",
            "nullable": true
          },
          "synonyms": {
            "type": "string",
            "description": "The culture specific synonyms of the category.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "imagePath": {
            "type": "string",
            "description": "The image path, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "fullName": {
            "type": "string",
            "description": "The culture specific full name of the category, automatically generated from the category hierarchy, like: RootName - BranchName - LeafName.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "imageKey": {
            "type": "string",
            "description": "The image key.",
            "format": "guid",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "category": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Category"
              }
            ]
          }
        }
      },
      "CategoryHierarchy": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "categoryId": {
            "type": "integer",
            "description": "The category identifier.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "parentCategoryId": {
            "type": "integer",
            "description": "The parent category identifier.",
            "format": "int32"
          },
          "hierarchy": {
            "type": "integer",
            "description": "The hierarchy.",
            "format": "int32"
          },
          "category": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Category"
              }
            ]
          },
          "parentCategory": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Category"
              }
            ]
          }
        }
      },
      "CategoryParametric": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "categoryId": {
            "type": "integer",
            "description": "The category identifier.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "parametricId": {
            "type": "integer",
            "description": "The parametric identifier.",
            "format": "int32"
          },
          "groupId": {
            "type": "integer",
            "description": "The parametric group identifier.",
            "format": "int32",
            "nullable": true
          },
          "sortOrder": {
            "type": "integer",
            "description": "The sort order for display purposes.",
            "format": "int32",
            "nullable": true
          },
          "focusSortOrder": {
            "type": "integer",
            "description": "The focus sort order, focus is called filter in the admin tool.",
            "format": "int32",
            "nullable": true
          },
          "isSecondary": {
            "type": "boolean",
            "description": "Indicates whether the category parametric is secondary, not commonly used."
          },
          "isRequired": {
            "type": "boolean",
            "description": "Indicates whether the category parametric is required, overrides the parametric default.",
            "nullable": true
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "prioritySortOrder": {
            "type": "integer",
            "description": "The priority sort order.",
            "format": "int32",
            "nullable": true
          },
          "category": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Category"
              }
            ]
          },
          "group": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ParametricGroup"
              }
            ]
          },
          "parametric": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Parametric"
              }
            ]
          }
        }
      },
      "ParametricGroup": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "defaultName"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the parametric group.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "defaultName": {
            "type": "string",
            "description": "The default name of the parametric group.",
            "maxLength": 50,
            "minLength": 0
          },
          "defaultDescription": {
            "type": "string",
            "description": "The default description of the parametric group.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the parametric group is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "code": {
            "type": "string",
            "description": "The code of the parametric group.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "parametrics": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CategoryParametric"
            }
          },
          "parametric": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/Parametric"
            }
          },
          "cultures": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ParametricGroupCulture"
            }
          }
        }
      },
      "Parametric": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "defaultName"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the parametric.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "defaultName": {
            "type": "string",
            "description": "The default name of the parametric in the default culture.",
            "maxLength": 50,
            "minLength": 0
          },
          "defaultDescription": {
            "type": "string",
            "description": "The default description of the parametric in the default culture.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "defaultUom": {
            "type": "string",
            "description": "The unit of measure in the default culture.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "typeId": {
            "type": "integer",
            "description": "The type identifier, Text (1), Integer (2), Decimal (3), Boolean (4), HTML (5), Date (6).",
            "format": "int32"
          },
          "hasListValues": {
            "type": "boolean",
            "description": "Indicates whether the parametric has list values, is of type List and has at least one list item."
          },
          "hasMultipleValues": {
            "type": "boolean",
            "description": "Indicates whether the parametric has multiple values, is of type Multiple and has at least one multiple item."
          },
          "isVariantType": {
            "type": "boolean",
            "description": "Indicates whether the parametric is used in at least one variant group (variant type). A parametric can be used in multiple variant groups."
          },
          "isRequired": {
            "type": "boolean",
            "description": "Indicates whether the parametric is required, can be overridden on the CategoryParametric setting."
          },
          "isHidden": {
            "type": "boolean",
            "description": "Indicates whether the parametric should be hidden in front end applications."
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the parametric is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "code": {
            "type": "string",
            "description": "The code of the parametric.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "codeListKey": {
            "type": "string",
            "description": "The code list key, commonly not used.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "isReadOnly": {
            "type": "boolean",
            "description": "Indicates whether the parametric is read only, disable edit in the admin tool."
          },
          "editor": {
            "type": "string",
            "description": "The editor, HTML or Text, used by the admin tool to allow for editing the parametric value.",
            "maxLength": 16,
            "minLength": 0,
            "nullable": true
          },
          "isFavorite": {
            "type": "boolean",
            "description": "Indicates whether the parametric is favorite, adds the parametric to the top header of the product page in the admin tool."
          },
          "isPublic": {
            "type": "boolean",
            "description": "Indicates whether the parametric is public, similar to IsHidden, but not used anymore, shows same values as IsActive."
          },
          "groupId": {
            "type": "integer",
            "description": "The parametric group identifier.",
            "format": "int32",
            "nullable": true
          },
          "defaultIsVariantUnique": {
            "type": "boolean",
            "description": "Indicates if the parametric should be set on variant level by default on products."
          },
          "showOnTextTab": {
            "type": "boolean",
            "description": "Indicates whether show on text tab is enabled, moved the parametric to the text tab in the admin tool."
          },
          "showInList": {
            "type": "boolean",
            "description": "Indicates whether show in list is enabled, makes the parametric available in listings from api calls in commerce service."
          },
          "categoryParametric": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CategoryParametric"
            }
          },
          "group": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ParametricGroup"
              }
            ]
          },
          "cultures": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ParametricCulture"
            }
          },
          "parametricList": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ParametricList"
            }
          },
          "parametricMultiple": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ParametricMultiple"
            }
          },
          "productParametric": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ProductParametric"
            }
          },
          "variantType": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/VariantType"
            }
          }
        }
      },
      "ParametricCulture": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "parametricId": {
            "type": "integer",
            "description": "The parametric identifier.",
            "format": "int32"
          },
          "cultureCode": {
            "type": "string",
            "description": "The culture code (e.g. en-US).",
            "maxLength": 16,
            "minLength": 0,
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "The culture specific name of the parametric.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "The culture specific description of the parametric.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "uom": {
            "type": "string",
            "description": "The culture specific unit of measure.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "parametric": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Parametric"
              }
            ]
          }
        }
      },
      "ParametricList": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "defaultVarcharValue"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the list item.",
            "format": "int32"
          },
          "parametricId": {
            "type": "integer",
            "description": "The parametric identifier.",
            "format": "int32"
          },
          "defaultVarcharValue": {
            "type": "string",
            "description": "The default varchar value.",
            "maxLength": 255,
            "minLength": 0
          },
          "defaultDescription": {
            "type": "string",
            "description": "The default description of the parametric list item.",
            "nullable": true
          },
          "sortOrder": {
            "type": "integer",
            "description": "The sort order for display purposes.",
            "format": "int32",
            "nullable": true
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the parametric list is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "code": {
            "type": "string",
            "description": "The code of the list item.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "imageKey": {
            "type": "string",
            "description": "The image key.",
            "format": "guid",
            "nullable": true
          },
          "imagePath": {
            "type": "string",
            "description": "The image path, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "parametric": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Parametric"
              }
            ]
          },
          "cultures": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ParametricListCulture"
            }
          },
          "productParametric": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ProductParametric"
            }
          }
        }
      },
      "ParametricListCulture": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "listId": {
            "type": "integer",
            "description": "The list item identifier.",
            "format": "int32"
          },
          "cultureCode": {
            "type": "string",
            "description": "The culture code (e.g. en-US).",
            "maxLength": 16,
            "minLength": 0,
            "nullable": true
          },
          "varcharValue": {
            "type": "string",
            "description": "The culture specific varchar value.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "The culture specific description of the parametric list item.",
            "nullable": true
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "list": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ParametricList"
              }
            ]
          }
        }
      },
      "ProductParametric": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "productId": {
            "type": "integer",
            "description": "The product identifier.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "parametricId": {
            "type": "integer",
            "description": "The parametric identifier.",
            "format": "int32"
          },
          "defaultVarcharValue": {
            "type": "string",
            "description": "The default varchar value, if the parametric is of type text.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "defaultHtmlValue": {
            "type": "string",
            "description": "The default html value, if the parametric is of type html.",
            "nullable": true
          },
          "integerValue": {
            "type": "integer",
            "description": "The integer value, if the parametric is of type integer.",
            "format": "int32",
            "nullable": true
          },
          "decimalValue": {
            "type": "number",
            "description": "The decimal value, if the parametric is of type decimal.",
            "format": "decimal",
            "nullable": true
          },
          "booleanValue": {
            "type": "boolean",
            "description": "Indicates whether the boolean value is enabled, if the parametric is of type boolean.",
            "nullable": true
          },
          "dateValue": {
            "type": "string",
            "description": "The date value, if the parametric is of type date.",
            "format": "date-time",
            "nullable": true
          },
          "listId": {
            "type": "integer",
            "description": "The list identifier, if the parametric is of type list.",
            "format": "int32",
            "nullable": true
          },
          "normalizedValue": {
            "type": "number",
            "description": "The normalized value, if the parametric is of a number type.",
            "format": "decimal",
            "nullable": true
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "isVariantUnique": {
            "type": "boolean",
            "description": "Indicates whether the product parametric is on the variant level."
          },
          "list": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ParametricList"
              }
            ]
          },
          "parametric": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Parametric"
              }
            ]
          },
          "product": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Product"
              }
            ]
          },
          "cultures": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ProductParametricCulture"
            }
          },
          "productParametricMultiple": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ProductParametricMultiple"
            }
          }
        }
      },
      "ProductParametricCulture": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "productId": {
            "type": "integer",
            "description": "The product identifier.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "parametricId": {
            "type": "integer",
            "description": "The parametric identifier.",
            "format": "int32"
          },
          "cultureCode": {
            "type": "string",
            "description": "The culture code (e.g. en-US).",
            "maxLength": 16,
            "minLength": 0,
            "nullable": true
          },
          "varcharValue": {
            "type": "string",
            "description": "The varchar value, if the parametric is of type text.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "htmlValue": {
            "type": "string",
            "description": "The html value, if the parametric is of type html.",
            "nullable": true
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "productParametric": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ProductParametric"
              }
            ]
          }
        }
      },
      "ProductParametricMultiple": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "productId": {
            "type": "integer",
            "description": "The product identifier.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "parametricId": {
            "type": "integer",
            "description": "The parametric identifier.",
            "format": "int32"
          },
          "multipleId": {
            "type": "integer",
            "description": "The multiple item identifier.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "multiple": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ParametricMultiple"
              }
            ]
          },
          "product": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Product"
              }
            ]
          },
          "productParametric": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ProductParametric"
              }
            ]
          }
        }
      },
      "ParametricMultiple": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "defaultValue"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the parametric multiple.",
            "format": "int32"
          },
          "parametricId": {
            "type": "integer",
            "description": "The parametric identifier.",
            "format": "int32"
          },
          "defaultValue": {
            "type": "string",
            "description": "The default value.",
            "maxLength": 255,
            "minLength": 0
          },
          "defaultDescription": {
            "type": "string",
            "description": "The default description of the multiple item.",
            "nullable": true
          },
          "sortOrder": {
            "type": "integer",
            "description": "The sort order for display purposes.",
            "format": "int32",
            "nullable": true
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the parametric multiple is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "code": {
            "type": "string",
            "description": "The code of the multiple item.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "imageKey": {
            "type": "string",
            "description": "The image key.",
            "format": "guid",
            "nullable": true
          },
          "imagePath": {
            "type": "string",
            "description": "The image path, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "parametric": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Parametric"
              }
            ]
          },
          "cultures": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ParametricMultipleCulture"
            }
          },
          "productParametricMultiple": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ProductParametricMultiple"
            }
          }
        }
      },
      "ParametricMultipleCulture": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "multipleId": {
            "type": "integer",
            "description": "The multiple item identifier.",
            "format": "int32"
          },
          "cultureCode": {
            "type": "string",
            "description": "The culture code (e.g. en-US).",
            "maxLength": 16,
            "minLength": 0,
            "nullable": true
          },
          "value": {
            "type": "string",
            "description": "The culture specific value.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "The culture specific description of the multiple item.",
            "nullable": true
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "multiple": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ParametricMultiple"
              }
            ]
          }
        }
      },
      "VariantType": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "defaultName"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the variant type.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "defaultName": {
            "type": "string",
            "description": "The default name of the variant type.",
            "maxLength": 50,
            "minLength": 0
          },
          "defaultDescription": {
            "type": "string",
            "description": "The default description of the variant type.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "parametricId": {
            "type": "integer",
            "description": "The parametric identifier.",
            "format": "int32",
            "nullable": true
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "code": {
            "type": "string",
            "description": "The code of the variant type. Should be same as the parametric code if ParametricId is set.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "parametric": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Parametric"
              }
            ]
          },
          "variantGroupType": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/VariantGroupType"
            }
          },
          "cultures": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/VariantTypeCulture"
            }
          }
        }
      },
      "VariantGroupType": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "groupId": {
            "type": "integer",
            "description": "The group identifier.",
            "format": "int32"
          },
          "typeId": {
            "type": "integer",
            "description": "The type identifier.",
            "format": "int32"
          },
          "sortOrder": {
            "type": "integer",
            "description": "The sort order for display purposes.",
            "format": "int32"
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the variant group type is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "group": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/VariantGroup"
              }
            ]
          },
          "type": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/VariantType"
              }
            ]
          }
        }
      },
      "VariantGroup": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "defaultName"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the variant group.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "defaultName": {
            "type": "string",
            "description": "The default name of the variant group.",
            "maxLength": 50,
            "minLength": 0
          },
          "defaultDescription": {
            "type": "string",
            "description": "The default description of the variant group.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the variant group is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "code": {
            "type": "string",
            "description": "The code of the variant group.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "variant": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/Variant"
            }
          },
          "cultures": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/VariantGroupCulture"
            }
          },
          "groupTypes": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/VariantGroupType"
            }
          }
        }
      },
      "Variant": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "defaultUniqueUrlName"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the variant.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "defaultName": {
            "type": "string",
            "description": "The default name of the variant.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "defaultImagePath": {
            "type": "string",
            "description": "The default image path, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "defaultThumbnailImagePath": {
            "type": "string",
            "description": "The default thumbnail image path, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "defaultCampaignImagePath": {
            "type": "string",
            "description": "The default campaign image path, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "defaultLargeImagePath": {
            "type": "string",
            "description": "The default large image path, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "groupId": {
            "type": "integer",
            "description": "The VariantGroup identifier.",
            "format": "int32",
            "nullable": true
          },
          "alias": {
            "type": "string",
            "description": "The alias. Not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "defaultTitle": {
            "type": "string",
            "description": "The default title. For SEO purposes.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "defaultTags": {
            "type": "string",
            "description": "The default tags, not commonly used anymore.",
            "nullable": true
          },
          "defaultMetaTags": {
            "type": "string",
            "description": "The default meta tags, for SEO purposes.",
            "nullable": true
          },
          "defaultMetaDescription": {
            "type": "string",
            "description": "The default meta description, for SEO purposes.",
            "nullable": true
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "imageKey": {
            "type": "string",
            "description": "The image key.",
            "format": "guid",
            "nullable": true
          },
          "code": {
            "type": "string",
            "description": "The code of the variant. Grouping variants together.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "defaultUniqueUrlName": {
            "type": "string",
            "description": "The default unique url name.",
            "maxLength": 500,
            "minLength": 0
          },
          "key": {
            "type": "string",
            "description": "The key. Not used anymore.",
            "format": "guid"
          },
          "defaultImageAltText": {
            "type": "string",
            "description": "The default image alt text.",
            "nullable": true
          },
          "variantGroup": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/VariantGroup"
              }
            ]
          },
          "products": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/Product"
            }
          },
          "cultures": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/VariantCulture"
            }
          }
        }
      },
      "VariantCulture": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "variantId": {
            "type": "integer",
            "description": "The variant identifier.",
            "format": "int32"
          },
          "cultureCode": {
            "type": "string",
            "description": "The culture code (e.g. en-US).",
            "maxLength": 16,
            "minLength": 0,
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "The name of the variant in the specified culture.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "imagePath": {
            "type": "string",
            "description": "The image path, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "thumbnailImagePath": {
            "type": "string",
            "description": "The thumbnail image path, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "campaignImagePath": {
            "type": "string",
            "description": "The campaign image path, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "largeImagePath": {
            "type": "string",
            "description": "The large image path, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "title": {
            "type": "string",
            "description": "The title. For SEO purposes.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "tags": {
            "type": "string",
            "description": "The tags, not commonly used anymore.",
            "nullable": true
          },
          "metaTags": {
            "type": "string",
            "description": "The meta tags, for SEO purposes.",
            "nullable": true
          },
          "metaDescription": {
            "type": "string",
            "description": "The meta description, for SEO purposes.",
            "nullable": true
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "uniqueUrlName": {
            "type": "string",
            "description": "The unique url name. An SEO friendly name that can be used in URLs. Should be unique across variants and products. Called UniqueName in commerce services, UniqueName in admin.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "isUniqueUrlNameManuallyMaintained": {
            "type": "boolean",
            "description": "Indicates whether the UniqueUrlName is handled by Norce (false) or by the user/integrations (true)."
          },
          "imageKey": {
            "type": "string",
            "description": "The image key.",
            "format": "guid",
            "nullable": true
          },
          "nameLastUpdated": {
            "type": "string",
            "description": "When the name field was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "nameLastUpdatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the name.",
            "format": "int32",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "imageAltText": {
            "type": "string",
            "description": "Culture specific image alt text.",
            "nullable": true
          },
          "variant": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Variant"
              }
            ]
          }
        }
      },
      "VariantGroupCulture": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "groupId": {
            "type": "integer",
            "description": "The group identifier.",
            "format": "int32"
          },
          "cultureCode": {
            "type": "string",
            "description": "The culture code (e.g. en-US).",
            "maxLength": 16,
            "minLength": 0,
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "The name of the variant group in the specified culture.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "The description of the variant group in the specified culture.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "group": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/VariantGroup"
              }
            ]
          }
        }
      },
      "VariantTypeCulture": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "typeId": {
            "type": "integer",
            "description": "The type identifier.",
            "format": "int32"
          },
          "cultureCode": {
            "type": "string",
            "description": "The culture code (e.g. en-US).",
            "maxLength": 16,
            "minLength": 0,
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "The name of the variant type in the specified culture.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "The description of the variant type in the specified culture.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "type": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/VariantType"
              }
            ]
          }
        }
      },
      "ParametricGroupCulture": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "groupId": {
            "type": "integer",
            "description": "The parametric group identifier.",
            "format": "int32"
          },
          "cultureCode": {
            "type": "string",
            "description": "The culture code (e.g. en-US).",
            "maxLength": 16,
            "minLength": 0,
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "The culture specific name of the parametric group.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "The culture specific description of the parametric group.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "group": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ParametricGroup"
              }
            ]
          }
        }
      },
      "CategorySalesArea": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "categoryId": {
            "type": "integer",
            "description": "The category identifier.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "salesAreaId": {
            "type": "integer",
            "description": "The sales area identifier.",
            "format": "int32"
          },
          "vatCodeId": {
            "type": "integer",
            "description": "The vat code identifier.",
            "format": "int32"
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "category": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Category"
              }
            ]
          }
        }
      },
      "CategoryStructureItem": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the category structure item.",
            "format": "int32"
          },
          "structureId": {
            "type": "integer",
            "description": "The structure identifier.",
            "format": "int32"
          },
          "defaultName": {
            "type": "string",
            "description": "The default name of the category structure item.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "useCategoryName": {
            "type": "boolean",
            "description": "Indicates whether category name is used."
          },
          "categoryId": {
            "type": "integer",
            "description": "The category identifier.",
            "format": "int32",
            "nullable": true
          },
          "manufacturerId": {
            "type": "integer",
            "description": "The manufacturer identifier.",
            "format": "int32",
            "nullable": true
          },
          "targetPath": {
            "type": "string",
            "description": "The target path.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "structureLevel": {
            "type": "integer",
            "description": "The structure level.",
            "format": "int32"
          },
          "parentItemId": {
            "type": "integer",
            "description": "The parent item identifier.",
            "format": "int32",
            "nullable": true
          },
          "isParent": {
            "type": "boolean",
            "description": "Indicates whether the category structure item is parent."
          },
          "isDisplayOnly": {
            "type": "boolean",
            "description": "Indicates whether the category structure item is display only."
          },
          "sortOrder": {
            "type": "integer",
            "description": "The sort order for display purposes.",
            "format": "int32"
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "key": {
            "type": "string",
            "description": "The key.",
            "format": "guid"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "category": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Category"
              }
            ]
          },
          "structure": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CategoryStructure"
              }
            ]
          }
        }
      },
      "CategoryStructure": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "defaultName"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the category structure.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "defaultName": {
            "type": "string",
            "description": "The default name of the category structure.",
            "maxLength": 50,
            "minLength": 0
          },
          "defaultDescription": {
            "type": "string",
            "description": "The default description of the category structure.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "typeId": {
            "type": "integer",
            "description": "The type identifier.",
            "format": "int32"
          },
          "applicationId": {
            "type": "integer",
            "description": "The application identifier.",
            "format": "int32",
            "nullable": true
          },
          "isPrimary": {
            "type": "boolean",
            "description": "Indicates whether the category structure is primary."
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the category structure is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "items": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CategoryStructureItem"
            }
          }
        }
      },
      "ProductCulture": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "productId": {
            "type": "integer",
            "description": "The product identifier.",
            "format": "int32"
          },
          "cultureCode": {
            "type": "string",
            "description": "The culture code (e.g. en-US).",
            "maxLength": 16,
            "minLength": 0,
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "The culture specific name of the product.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "nameLastUpdated": {
            "type": "string",
            "description": "The name last updated.",
            "format": "date-time",
            "nullable": true
          },
          "nameLastUpdatedBy": {
            "type": "integer",
            "description": "The name last updated by.",
            "format": "int32",
            "nullable": true
          },
          "subHeader": {
            "type": "string",
            "description": "The culture specific sub header of the product.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "subHeaderLastUpdated": {
            "type": "string",
            "description": "The sub header last updated.",
            "format": "date-time",
            "nullable": true
          },
          "subHeaderLastUpdatedBy": {
            "type": "integer",
            "description": "The sub header last updated by.",
            "format": "int32",
            "nullable": true
          },
          "subDescription": {
            "type": "string",
            "description": "The culture specific sub description of the product.",
            "nullable": true
          },
          "subDescriptionLastUpdated": {
            "type": "string",
            "description": "The sub description last updated.",
            "format": "date-time",
            "nullable": true
          },
          "subDescriptionLastUpdatedBy": {
            "type": "integer",
            "description": "The sub description last updated by.",
            "format": "int32",
            "nullable": true
          },
          "descriptionHeader": {
            "type": "string",
            "description": "The culture specific description header of the product.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "descriptionHeaderLastUpdated": {
            "type": "string",
            "description": "The description header last updated.",
            "format": "date-time",
            "nullable": true
          },
          "descriptionHeaderLastUpdatedBy": {
            "type": "integer",
            "description": "The description header last updated by.",
            "format": "int32",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "The culture specific description of the product.",
            "nullable": true
          },
          "descriptionLastUpdated": {
            "type": "string",
            "description": "The description last updated.",
            "format": "date-time",
            "nullable": true
          },
          "descriptionLastUpdatedBy": {
            "type": "integer",
            "description": "The description last updated by.",
            "format": "int32",
            "nullable": true
          },
          "imagePath": {
            "type": "string",
            "description": "The image path, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "thumbnailImagePath": {
            "type": "string",
            "description": "The thumbnail image path, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "campaignImagePath": {
            "type": "string",
            "description": "The campaign image path, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "largeImagePath": {
            "type": "string",
            "description": "The large image path, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "imageLastUpdated": {
            "type": "string",
            "description": "The image last updated.",
            "format": "date-time",
            "nullable": true
          },
          "imageLastUpdatedBy": {
            "type": "integer",
            "description": "The image last updated by.",
            "format": "int32",
            "nullable": true
          },
          "synonyms": {
            "type": "string",
            "description": "The synonyms, commonly comma or blank space separated list of words.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "synonymsLastUpdated": {
            "type": "string",
            "description": "The synonyms last updated.",
            "format": "date-time",
            "nullable": true
          },
          "synonymsLastUpdatedBy": {
            "type": "integer",
            "description": "The synonyms last updated by.",
            "format": "int32",
            "nullable": true
          },
          "title": {
            "type": "string",
            "description": "The title of the product, for SEO purposes.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "tags": {
            "type": "string",
            "description": "The tags of the product, not used anymore.",
            "nullable": true
          },
          "metaTags": {
            "type": "string",
            "description": "The meta tags, for SEO purposes.",
            "nullable": true
          },
          "metaDescription": {
            "type": "string",
            "description": "The meta description, for SEO purposes.",
            "nullable": true
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "uniqueUrlName": {
            "type": "string",
            "description": "The unique url name, a unique URL friendly name for the product, called UniqueName in the admin tool.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "isUniqueUrlNameManuallyMaintained": {
            "type": "boolean",
            "description": "Indicates whether the product culture's unique url name is manually maintained."
          },
          "imageKey": {
            "type": "string",
            "description": "The image key.",
            "format": "guid",
            "nullable": true
          },
          "externalDescription": {
            "type": "string",
            "description": "The external description, not commonly used.",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "imageAltText": {
            "type": "string",
            "description": "The image alt text.",
            "nullable": true
          },
          "product": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Product"
              }
            ]
          }
        }
      },
      "ProductFamily": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "productId": {
            "type": "integer",
            "description": "The product identifier.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "familyId": {
            "type": "integer",
            "description": "The family identifier.",
            "format": "int32"
          },
          "isPrimary": {
            "type": "boolean",
            "description": "Indicates whether the product family is primary."
          },
          "sortOrder": {
            "type": "integer",
            "description": "The sort order for display purposes.",
            "format": "int32",
            "nullable": true
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the product family is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "family": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Family"
              }
            ]
          },
          "product": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Product"
              }
            ]
          }
        }
      },
      "Family": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "defaultName"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the productfamily.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "code": {
            "type": "string",
            "description": "The code of the product family.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "defaultName": {
            "type": "string",
            "description": "The default name of the product family.",
            "maxLength": 50,
            "minLength": 0
          },
          "defaultDescription": {
            "type": "string",
            "description": "The default description of the product family.",
            "nullable": true
          },
          "defaultImagePath": {
            "type": "string",
            "description": "The default image path, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "defaultThumbnailImagePath": {
            "type": "string",
            "description": "The default thumbnail image path, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "defaultCampaignImagePath": {
            "type": "string",
            "description": "The default campaign image path, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "defaultLargeImagePath": {
            "type": "string",
            "description": "The default large image path, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the product family is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "imageKey": {
            "type": "string",
            "description": "The image key.",
            "format": "guid",
            "nullable": true
          },
          "cultures": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/FamilyCulture"
            }
          },
          "productFamily": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ProductFamily"
            }
          }
        }
      },
      "FamilyCulture": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "familyId": {
            "type": "integer",
            "description": "The product family identifier.",
            "format": "int32"
          },
          "cultureCode": {
            "type": "string",
            "description": "The culture code (e.g. en-US).",
            "maxLength": 16,
            "minLength": 0,
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "The culture specific name of the product family.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "The culture specific description of the product family.",
            "nullable": true
          },
          "imagePath": {
            "type": "string",
            "description": "The image path, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "thumbnailImagePath": {
            "type": "string",
            "description": "The thumbnail image path, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "campaignImagePath": {
            "type": "string",
            "description": "The campaign image path, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "largeImagePath": {
            "type": "string",
            "description": "The large image path, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "imageKey": {
            "type": "string",
            "description": "The image key.",
            "format": "guid",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "family": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Family"
              }
            ]
          }
        }
      },
      "ProductFile": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the asset on the product.",
            "format": "int32"
          },
          "productId": {
            "type": "integer",
            "description": "The product identifier.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "fileId": {
            "type": "integer",
            "description": "The file type identifier.",
            "format": "int32"
          },
          "defaultName": {
            "type": "string",
            "description": "The default name of the product file or image.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "defaultDescription": {
            "type": "string",
            "description": "The default description of the product file or image.",
            "nullable": true
          },
          "defaultPath": {
            "type": "string",
            "description": "The default path, not used anymore.",
            "nullable": true
          },
          "defaultThumbnailPath": {
            "type": "string",
            "description": "The default thumbnail path, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "defaultSize": {
            "type": "string",
            "description": "The default size, not used anymore.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the product file is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "fileKey": {
            "type": "string",
            "description": "The file key identifier, used for finding the asset from the storage.",
            "format": "guid",
            "nullable": true
          },
          "isVariantUnique": {
            "type": "boolean",
            "description": "Indicates whether the product file is variant unique."
          },
          "code": {
            "type": "string",
            "description": "The code of the product file.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "sortOrder": {
            "type": "integer",
            "description": "The sort order for display purposes.",
            "format": "int32",
            "nullable": true
          },
          "defaultAltText": {
            "type": "string",
            "description": "The default alt text, only used if the asset is an image.",
            "nullable": true
          },
          "product": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Product"
              }
            ]
          }
        }
      },
      "ProductRelation": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the product relation.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "productId": {
            "type": "integer",
            "description": "The identifier of the product having the relation.",
            "format": "int32"
          },
          "relatedProductId": {
            "type": "integer",
            "description": "The identifier of the related product.",
            "format": "int32"
          },
          "typeId": {
            "type": "integer",
            "description": "The product relation type identifier.",
            "format": "int32"
          },
          "sortOrder": {
            "type": "integer",
            "description": "The sort order for display purposes.",
            "format": "int32",
            "nullable": true
          },
          "populationRuleId": {
            "type": "integer",
            "description": "The population rule identifier, if the relation is automatically created.",
            "format": "int32",
            "nullable": true
          },
          "isProductVariantUnique": {
            "type": "boolean",
            "description": "Indicates whether the product with the relation is a specific variant."
          },
          "isRelatedProductVariantUnique": {
            "type": "boolean",
            "description": "Indicates whether the related product is a specific variant."
          },
          "defaultName": {
            "type": "string",
            "description": "The default name of the related product, overrides the related product's name, not commonly used.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "defaultSubHeader": {
            "type": "string",
            "description": "The default sub header of the related product, overrides the related product's sub header, not commonly used.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "defaultSubDescription": {
            "type": "string",
            "description": "The default sub description of the related product, overrides the related product's sub description, not commonly used.",
            "nullable": true
          },
          "defaultDescriptionHeader": {
            "type": "string",
            "description": "The default description header of the related product, overrides the related product's description header, not commonly used.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "defaultDescription": {
            "type": "string",
            "description": "The default description of the related product, overrides the related product's description, not commonly used.",
            "nullable": true
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the product relation is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "product": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Product"
              }
            ]
          },
          "cultures": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ProductRelationCulture"
            }
          },
          "relatedProduct": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Product"
              }
            ]
          }
        }
      },
      "ProductRelationCulture": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "relationId": {
            "type": "integer",
            "description": "The relation identifier.",
            "format": "int32"
          },
          "cultureCode": {
            "type": "string",
            "description": "The culture code (e.g. en-US).",
            "maxLength": 16,
            "minLength": 0,
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "The culture specific name of the product relation, not commonly used.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "subHeader": {
            "type": "string",
            "description": "The culture specific sub header of the product relation, not commonly used.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "subDescription": {
            "type": "string",
            "description": "The culture specific sub description of the product relation, not commonly used.",
            "nullable": true
          },
          "descriptionHeader": {
            "type": "string",
            "description": "The culture specific description header of the product relation, not commonly used.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "The culture specific description of the product relation, not commonly used.",
            "nullable": true
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "relation": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ProductRelation"
              }
            ]
          }
        }
      },
      "SupplierProductSkuPriceList": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "partNo": {
            "type": "string",
            "description": "The supplier part number.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "supplierId": {
            "type": "integer",
            "description": "The internal identifier of the supplier.",
            "format": "int32"
          },
          "supplierPriceListId": {
            "type": "integer",
            "description": "The supplier price list identifier.",
            "format": "int32"
          },
          "qtyBreak": {
            "type": "integer",
            "description": "The quantity break.",
            "format": "int32"
          },
          "currencyId": {
            "type": "integer",
            "description": "The currency identifier.",
            "format": "int32"
          },
          "costPurchase": {
            "type": "number",
            "description": "The cost purchase.",
            "format": "decimal",
            "nullable": true
          },
          "costPurchaseLastChecked": {
            "type": "string",
            "description": "The cost purchase last checked.",
            "format": "date-time",
            "nullable": true
          },
          "costPurchaseLastUpdated": {
            "type": "string",
            "description": "The cost purchase last updated.",
            "format": "date-time",
            "nullable": true
          },
          "costPurchaseLastUpdatedBy": {
            "type": "integer",
            "description": "The cost purchase last updated by.",
            "format": "int32",
            "nullable": true
          },
          "costPurchaseValidTo": {
            "type": "string",
            "description": "The cost purchase valid to. Not commonly used.",
            "format": "date-time",
            "nullable": true
          },
          "priceRecommended": {
            "type": "number",
            "description": "The price recommended. Can optionally be copied to the client price list.",
            "format": "decimal",
            "nullable": true
          },
          "priceRecommendedLastUpdated": {
            "type": "string",
            "description": "The price recommended last updated.",
            "format": "date-time",
            "nullable": true
          },
          "priceRecommendedLastUpdatedBy": {
            "type": "integer",
            "description": "The price recommended last updated by.",
            "format": "int32",
            "nullable": true
          },
          "priceMax": {
            "type": "number",
            "description": "The price max. Not used anymore.",
            "format": "decimal",
            "nullable": true
          },
          "priceMaxLastUpdated": {
            "type": "string",
            "description": "The price max last updated. Not used anymore.",
            "format": "date-time",
            "nullable": true
          },
          "priceMaxLastUpdatedBy": {
            "type": "integer",
            "description": "The price max last updated by. Not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "priceDealer": {
            "type": "number",
            "description": "The price dealer. Not used anymore.",
            "format": "decimal",
            "nullable": true
          },
          "priceDealerLastUpdated": {
            "type": "string",
            "description": "The price dealer last updated. Not used anymore.",
            "format": "date-time",
            "nullable": true
          },
          "priceDealerLastUpdatedBy": {
            "type": "integer",
            "description": "The price dealer last updated by. Not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the supplier product sku price list is active."
          },
          "isActiveLastUpdated": {
            "type": "string",
            "description": "The is active last updated.",
            "format": "date-time",
            "nullable": true
          },
          "stoppedDate": {
            "type": "string",
            "description": "The stopped date.",
            "format": "date-time",
            "nullable": true
          },
          "isPromotion": {
            "type": "boolean",
            "description": "Indicates whether the supplier product sku price list is promotion. Not commonly used.",
            "nullable": true
          },
          "isFocus": {
            "type": "boolean",
            "description": "Indicates whether the supplier product sku price list is focus. Not commonly used.",
            "nullable": true
          },
          "priceRanking": {
            "type": "integer",
            "description": "The price ranking. Not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "freightCost": {
            "type": "number",
            "description": "The freight cost. Not commonly used.",
            "format": "decimal",
            "nullable": true
          },
          "costFee": {
            "type": "number",
            "description": "The cost fee. Not commonly used.",
            "format": "decimal",
            "nullable": true
          },
          "costFeeLastUpdated": {
            "type": "string",
            "description": "The cost fee last updated. Not commonly used.",
            "format": "date-time",
            "nullable": true
          },
          "costFeeLastUpdatedBy": {
            "type": "integer",
            "description": "The cost fee last updated by. Not commonly used.",
            "format": "int32",
            "nullable": true
          },
          "discountPct": {
            "type": "number",
            "description": "The discount pct. Not commonly used.",
            "format": "decimal",
            "nullable": true
          },
          "discountPctLastUpdated": {
            "type": "string",
            "description": "The discount pct last updated. Not commonly used.",
            "format": "date-time",
            "nullable": true
          },
          "discountPctLastUpdatedBy": {
            "type": "integer",
            "description": "The discount pct last updated by. Not commonly used.",
            "format": "int32",
            "nullable": true
          },
          "priceCatalog": {
            "type": "number",
            "description": "The price catalog. Not commonly used.",
            "format": "decimal",
            "nullable": true
          },
          "priceCatalogLastUpdated": {
            "type": "string",
            "description": "The price catalog last updated. Not commonly used.",
            "format": "date-time",
            "nullable": true
          },
          "priceCatalogLastUpdatedBy": {
            "type": "integer",
            "description": "The price catalog last updated by. Not commonly used.",
            "format": "int32",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "priceList": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SupplierPriceList"
              }
            ]
          },
          "supplierProductSku": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SupplierProductSku"
              }
            ]
          }
        }
      },
      "SupplierPriceList": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "defaultName"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the supplier price list.",
            "format": "int32"
          },
          "supplierId": {
            "type": "integer",
            "description": "The supplier identifier.",
            "format": "int32"
          },
          "manufacturerId": {
            "type": "integer",
            "description": "The manufacturer identifier. If the supplier is a manufacturer as well, not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "manufacturerCode": {
            "type": "string",
            "description": "The manufacturer code. If the supplier is a manufacturer as well, not used anymore.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "defaultName": {
            "type": "string",
            "description": "The default name of the supplier price list.",
            "maxLength": 50,
            "minLength": 0
          },
          "code": {
            "type": "string",
            "description": "The code of the supplier price list.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "The description of the supplier price list.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "endCustomer": {
            "type": "string",
            "description": "The end customer. A free text field that can be used to specify an end customer for the supplier price list. Can be used when the price list is a supplier specific agreement. But not commonly used.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "startDate": {
            "type": "string",
            "description": "The start date. Not used anymore.",
            "format": "date-time",
            "nullable": true
          },
          "endDate": {
            "type": "string",
            "description": "The end date. Not used anymore.",
            "format": "date-time",
            "nullable": true
          },
          "transferMethodId": {
            "type": "integer",
            "description": "The transfer method identifier. Not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "transferMethodValue": {
            "type": "string",
            "description": "The transfer method value. Not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "lastImported": {
            "type": "string",
            "description": "The last imported. Not used anymore.",
            "format": "date-time",
            "nullable": true
          },
          "nextExpectedDate": {
            "type": "string",
            "description": "The next expected date. Not used anymore.",
            "format": "date-time",
            "nullable": true
          },
          "isPrimary": {
            "type": "boolean",
            "description": "Indicates whether the supplier price list is primary. A supplier can have multiple price lists, but only one primary price list. The primary price list is the one that is used for the supplier when no specific price list is specified. Not commonly used."
          },
          "parentSupplierPriceListId": {
            "type": "integer",
            "description": "The parent supplier price list identifier. Not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "contact": {
            "type": "string",
            "description": "The contact. Not commonly used.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "comment": {
            "type": "string",
            "description": "A comment or note. Not commonly used.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "isSpecialTerms": {
            "type": "boolean",
            "description": "Indicates whether the supplier price list is special terms. Not commonly used.",
            "nullable": true
          },
          "isManuallyMaintained": {
            "type": "boolean",
            "description": "Indicates whether the supplier price list is manually maintained. Not used anymore."
          },
          "igniteSourceId": {
            "type": "integer",
            "description": "The ignite source identifier. Not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "igniteSourceLastImported": {
            "type": "string",
            "description": "The ignite source last imported. Not used anymore.",
            "format": "date-time",
            "nullable": true
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "currencyId": {
            "type": "integer",
            "description": "The currency identifier.",
            "format": "int32",
            "nullable": true
          },
          "traderaStockCodeSeed": {
            "type": "string",
            "description": "The tradera stock code seed. Not used anymore.",
            "nullable": true
          },
          "traderaExternalStockCodeSeed": {
            "type": "string",
            "description": "The tradera external stock code seed. Not used anymore.",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "supplierProductSkuPriceList": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/SupplierProductSkuPriceList"
            }
          }
        }
      },
      "ClientProductSkuSalesArea": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "partNo": {
            "type": "string",
            "description": "The part number.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "salesAreaId": {
            "type": "integer",
            "description": "The sales area identifier.",
            "format": "int32"
          },
          "vatCodeId": {
            "type": "integer",
            "description": "The vat code identifier.",
            "format": "int32",
            "nullable": true
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "clientProductSku": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ClientProductSku"
              }
            ]
          }
        }
      },
      "ClientProductSkuStructureItem": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "structurePartNo": {
            "type": "string",
            "description": "The structure part number, the parent part number.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "partNo": {
            "type": "string",
            "description": "The part number, the child part number.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "qty": {
            "type": "number",
            "description": "The quantity of the child item in the structure.",
            "format": "decimal"
          },
          "sortOrder": {
            "type": "integer",
            "description": "The sort order for display purposes.",
            "format": "int32",
            "nullable": true
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "groupId": {
            "type": "integer",
            "description": "The group identifier, used to group configuration items, not currently in use.",
            "format": "int32",
            "nullable": true
          },
          "itemSku": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ClientProductSku"
              }
            ]
          },
          "info": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientProductSkuStructureItemInfo"
            }
          },
          "priceLists": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientProductSkuStructureItemPriceList"
            }
          }
        }
      },
      "ClientProductSkuStructureItemInfo": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "value"
        ],
        "properties": {
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "structurePartNo": {
            "type": "string",
            "description": "The structure part number, the parent part number.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "partNo": {
            "type": "string",
            "description": "The part number, the child part number.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "code": {
            "type": "string",
            "description": "The code of the client product sku structure item info.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "value": {
            "type": "string",
            "description": "The value.",
            "maxLength": 255,
            "minLength": 0
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time"
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32"
          },
          "clientProductSkuStructureItem": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ClientProductSkuStructureItem"
              }
            ]
          }
        }
      },
      "ClientProductSkuStructureItemPriceList": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "structurePartNo": {
            "type": "string",
            "description": "The structure part number, the parent part number.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "partNo": {
            "type": "string",
            "description": "The part number, the child part number.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "priceListId": {
            "type": "integer",
            "description": "The price list identifier.",
            "format": "int32"
          },
          "qtyBreak": {
            "type": "integer",
            "description": "The quantity break.",
            "format": "int32"
          },
          "itemPriceListId": {
            "type": "integer",
            "description": "The item price list identifier, should be same as the price list identifier.",
            "format": "int32"
          },
          "currencyId": {
            "type": "integer",
            "description": "The currency identifier.",
            "format": "int32"
          },
          "priceSale": {
            "type": "number",
            "description": "The price sale, the calculated item sale price.",
            "format": "decimal",
            "nullable": true
          },
          "priceRuleId": {
            "type": "integer",
            "description": "The price rule identifier.",
            "format": "int32",
            "nullable": true
          },
          "priceRuleValue": {
            "type": "number",
            "description": "The price rule value.",
            "format": "decimal",
            "nullable": true
          },
          "costPurchase": {
            "type": "number",
            "description": "The cost purchase, from the item's own price list record.",
            "format": "decimal",
            "nullable": true
          },
          "costUnit": {
            "type": "number",
            "description": "The cost unit, from the item's own price list record.",
            "format": "decimal",
            "nullable": true
          },
          "supplementChargePercentage": {
            "type": "number",
            "description": "The supplement charge percentage.",
            "format": "decimal",
            "nullable": true
          },
          "priceStandard": {
            "type": "number",
            "description": "The price standard, from the item's own price list record.",
            "format": "decimal",
            "nullable": true
          },
          "priceRecommended": {
            "type": "number",
            "description": "The price recommended, from the item's own price list record.",
            "format": "decimal",
            "nullable": true
          },
          "minimumMarginPercentage": {
            "type": "number",
            "description": "The minimum margin percentage.",
            "format": "decimal",
            "nullable": true
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the client product sku structure item price list is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "supplementCharge": {
            "type": "number",
            "description": "The supplement charge.",
            "format": "decimal",
            "nullable": true
          },
          "limitToPriceRecommended": {
            "type": "boolean",
            "description": "Indicates whether limit to price recommended is enabled.",
            "nullable": true
          },
          "clientProductSkuStructureItem": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ClientProductSkuStructureItem"
              }
            ]
          }
        }
      },
      "ClientProductSkuBestPrice": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "partNo"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the client product sku best price.",
            "format": "int32"
          },
          "partNo": {
            "type": "string",
            "description": "The part number.",
            "maxLength": 50,
            "minLength": 0
          },
          "applicationId": {
            "type": "integer",
            "description": "The application identifier.",
            "format": "int32"
          },
          "qtyBreak": {
            "type": "integer",
            "description": "The quantity break.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "priceListId": {
            "type": "integer",
            "description": "The price list identifier.",
            "format": "int32"
          },
          "currencyId": {
            "type": "integer",
            "description": "The currency identifier.",
            "format": "int32"
          },
          "priceSale": {
            "type": "number",
            "description": "The price sale.",
            "format": "decimal"
          },
          "timeStamp": {
            "type": "string",
            "description": "The time stamp.",
            "format": "date-time"
          },
          "clientProductSku": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ClientProductSku"
              }
            ]
          }
        }
      },
      "PriceListClient": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "priceListId": {
            "type": "integer",
            "description": "The price list identifier.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "The name of the price list client.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "The description of the price list client.",
            "nullable": true
          },
          "imagePath": {
            "type": "string",
            "description": "The image path, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "agreement": {
            "type": "string",
            "description": "The agreement, called Code in the admin tool, and in connect.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "startDate": {
            "type": "string",
            "description": "The start date and time.",
            "format": "date-time",
            "nullable": true
          },
          "endDate": {
            "type": "string",
            "description": "The end date and time.",
            "format": "date-time",
            "nullable": true
          },
          "currencyId": {
            "type": "integer",
            "description": "The currency identifier.",
            "format": "int32"
          },
          "defaultPriceRuleId": {
            "type": "integer",
            "description": "The default price rule. Cost plus for purchase cost (1), fixed price (2), Margin for purchase cost (3), use recommended price (4), cost plus for unit cost (5), margin for unit cost (6), use standard price with discount in percent (7), competitive price based on purchase cost (8), competitive price based on unit cost (9), use standard price with discount in nominal value (10), and use catalog price (12), lastly structure calculation rule (11) is not allowed as default price rule.",
            "format": "int32",
            "nullable": true
          },
          "defaultPriceRuleValue": {
            "type": "number",
            "description": "The default price rule value. Unit depends on the default price rule, for cost plus is represents an uplift in percent, for margin based rules it represents the margin in percent, for fixed price it represents the price (commonly 0), for use recommended price and use catalog price it represents the discount percentage, for competitive price based on purchase cost or unit cost it represents the target margin in percent, for use standard price with discount in percent it represents the discount percentage, and for use standard price with discount in nominal value it represents the nominal value.",
            "format": "decimal",
            "nullable": true
          },
          "defaultSupplementChargePercentage": {
            "type": "number",
            "description": "The default supplement charge percentage. An additional charge added to the cost before the price rule calculation is applied. Only used when cost is a part of the price rule calculation, for example cost plus or margin based price rules, but also when minimum product margin is set.",
            "format": "decimal"
          },
          "defaultKickbackPercentage": {
            "type": "number",
            "description": "The default kickback percentage, not used anymore.",
            "format": "decimal",
            "nullable": true
          },
          "defaultMinimumProductMarginPercentage": {
            "type": "number",
            "description": "The default minimum product margin percentage, the calculated price is compared to the minimum margin sale price and if the calculated price is lower than the minimum margin sale price, the minimum margin sale price is used.",
            "format": "decimal",
            "nullable": true
          },
          "parentPriceListId": {
            "type": "integer",
            "description": "The parent price list identifier.",
            "format": "int32",
            "nullable": true
          },
          "populationRuleId": {
            "type": "integer",
            "description": "The population rule identifier, Include (2), Exclude (4).",
            "format": "int32"
          },
          "chosenWarehouseId": {
            "type": "integer",
            "description": "The chosen warehouse identifier, marked as standard in the admin tool, gets the reservations from orders on this price list.",
            "format": "int32",
            "nullable": true
          },
          "chosenLocationId": {
            "type": "integer",
            "description": "The chosen location identifier, marked as standard in the admin tool, gets the reservations from orders on this price list.",
            "format": "int32",
            "nullable": true
          },
          "isErpUpdateable": {
            "type": "boolean",
            "description": "Indicates whether the price list client is erp updateable, not used anymore."
          },
          "isErpIntegrated": {
            "type": "boolean",
            "description": "Indicates whether the price list client is erp integrated, not used anymore."
          },
          "isPrimary": {
            "type": "boolean",
            "description": "Indicates whether the price list client is primary, can only be one primary price list per application."
          },
          "isPublic": {
            "type": "boolean",
            "description": "Indicates whether the price list client is public on the application.",
            "nullable": true
          },
          "isLimitedToStock": {
            "type": "boolean",
            "description": "Indicates whether the price list client is limited to stock, not used anymore.",
            "nullable": true
          },
          "isBid": {
            "type": "boolean",
            "description": "Indicates whether the price list client is bid, not used anymore.",
            "nullable": true
          },
          "isStako": {
            "type": "boolean",
            "description": "Indicates whether the price list client is stako, not used anymore.",
            "nullable": true
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the price list client is active."
          },
          "stoppedDate": {
            "type": "string",
            "description": "The stopped date.",
            "format": "date-time",
            "nullable": true
          },
          "stoppedBy": {
            "type": "integer",
            "description": "The stopped by.",
            "format": "int32",
            "nullable": true
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "imageKey": {
            "type": "string",
            "description": "The image key, not used anymore.",
            "format": "guid",
            "nullable": true
          },
          "typeId": {
            "type": "integer",
            "description": "The price list type identifier.",
            "format": "int32"
          },
          "imageExtension": {
            "type": "string",
            "description": "The image extension, not used anymore.",
            "maxLength": 16,
            "minLength": 0,
            "nullable": true
          },
          "defaultSupplementCharge": {
            "type": "number",
            "description": "The default supplement charge. An additional charge added to the cost before the price rule calculation is applied. Only used when cost is a part of the price rule calculation, for example cost plus or margin based price rules, but also when minimum product margin is set. Only used if DefaultSupplementChargePercentage is not set.",
            "format": "decimal",
            "nullable": true
          },
          "defaultLimitToPriceRecommended": {
            "type": "boolean",
            "description": "Indicates whether limit to price recommended is enabled by default. Restricts the price from being higher thant the price recommended by the system, commonly used in consumer retail scenarios.",
            "nullable": true
          },
          "isVirtual": {
            "type": "boolean",
            "description": "Indicates whether the price list client is virtual."
          },
          "salesAreaId": {
            "type": "integer",
            "description": "The sales area identifier.",
            "format": "int32",
            "nullable": true
          },
          "inheritStructureCalculationRule": {
            "type": "integer",
            "description": "The inherit structure calculation rule, an option for deciding how structure calculation is inherited to this price list from its parent. Default the system will divide a discount proportionally between the different child items in the structure. The only other option is to apply the discount to the standard price for each item.",
            "format": "int32"
          },
          "applicationPriceList": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ApplicationPriceList"
            }
          },
          "priceList": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/PriceList"
              }
            ]
          }
        }
      },
      "ApplicationSalesArea": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "applicationId": {
            "type": "integer",
            "description": "The application identifier.",
            "format": "int32"
          },
          "salesAreaId": {
            "type": "integer",
            "description": "The sales area identifier.",
            "format": "int32"
          },
          "isPrimary": {
            "type": "boolean",
            "description": "Indicates whether the application sales area is primary, only one primary sales area is allowed per application."
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the application sales area is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "ApplicationRole": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "defaultName"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the application role.",
            "format": "int32"
          },
          "applicationId": {
            "type": "integer",
            "description": "The application identifier.",
            "format": "int32",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "defaultName": {
            "type": "string",
            "description": "The default name of the application role.",
            "maxLength": 50,
            "minLength": 0
          },
          "defaultDescription": {
            "type": "string",
            "description": "The default description of the application role.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "replacesApplicationRoleId": {
            "type": "integer",
            "description": "The replaces application role identifier.",
            "format": "int32",
            "nullable": true
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the application role is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "isDefault": {
            "type": "boolean",
            "description": "Indicates whether the application role is default."
          },
          "code": {
            "type": "string",
            "description": "The code of the application role.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "applicationAccount": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ApplicationAccount"
            }
          },
          "applicationAccountApplicationRole": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ApplicationAccountApplicationRole"
            }
          },
          "cultures": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ApplicationRoleCulture"
            }
          }
        }
      },
      "ApplicationAccount": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "loginName",
          "password"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the application account.",
            "format": "int32"
          },
          "applicationId": {
            "type": "integer",
            "description": "The application identifier.",
            "format": "int32"
          },
          "key": {
            "type": "string",
            "description": "The key.",
            "format": "guid"
          },
          "loginName": {
            "type": "string",
            "description": "The login name.",
            "maxLength": 255,
            "minLength": 0
          },
          "password": {
            "type": "string",
            "description": "The password.",
            "format": "byte",
            "maxLength": 4000,
            "minLength": 1
          },
          "typeId": {
            "type": "integer",
            "description": "The type identifier.",
            "format": "int32"
          },
          "contactId": {
            "type": "integer",
            "description": "The contact identifier.",
            "format": "int32",
            "nullable": true
          },
          "customerId": {
            "type": "integer",
            "description": "The customer identifier.",
            "format": "int32",
            "nullable": true
          },
          "statusId": {
            "type": "integer",
            "description": "The status identifier.",
            "format": "int32"
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "roleId": {
            "type": "integer",
            "description": "The role identifier.",
            "format": "int32",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "roles": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ApplicationAccountApplicationRole"
            }
          },
          "customer": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ClientCustomer"
              }
            ]
          },
          "role": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ApplicationRole"
              }
            ]
          }
        }
      },
      "ApplicationAccountApplicationRole": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the application account application role.",
            "format": "int32"
          },
          "accountId": {
            "type": "integer",
            "description": "The account identifier.",
            "format": "int32"
          },
          "applicationId": {
            "type": "integer",
            "description": "The application identifier.",
            "format": "int32",
            "nullable": true
          },
          "applicationRoleId": {
            "type": "integer",
            "description": "The application role identifier.",
            "format": "int32"
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the application account application role is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "account": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ApplicationAccount"
              }
            ]
          },
          "applicationRole": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ApplicationRole"
              }
            ]
          }
        }
      },
      "ClientCustomer": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the client customer.",
            "format": "int32"
          },
          "key": {
            "type": "string",
            "description": "The unique key of the client customer.",
            "format": "guid"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "customerCodePrefix": {
            "type": "string",
            "description": "The customer code prefix.",
            "maxLength": 10,
            "minLength": 0,
            "nullable": true
          },
          "customerCode": {
            "type": "string",
            "description": "The customer code.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "typeId": {
            "type": "integer",
            "description": "The type identifier, Person (1).",
            "format": "int32"
          },
          "emailAddress": {
            "type": "string",
            "description": "The email address.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "socialSecurityNumber": {
            "type": "string",
            "description": "The social security number.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "title": {
            "type": "string",
            "description": "The title (e.g. Mr, Ms).",
            "maxLength": 10,
            "minLength": 0,
            "nullable": true
          },
          "firstName": {
            "type": "string",
            "description": "The first name.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "middleName": {
            "type": "string",
            "description": "The middle name.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "description": "The last name.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "suffix": {
            "type": "string",
            "description": "The name suffix.",
            "maxLength": 10,
            "minLength": 0,
            "nullable": true
          },
          "phoneNumber": {
            "type": "string",
            "description": "The phone number.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "cellPhoneNumber": {
            "type": "string",
            "description": "The cell phone number.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "referId": {
            "type": "integer",
            "description": "The refer identifier, not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "referUrl": {
            "type": "string",
            "description": "The refer URL, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "useBillingAddressAsShippingAddress": {
            "type": "boolean",
            "description": "Indicates whether the billing address is used as the shipping address."
          },
          "oldCustomerNoPrefix": {
            "type": "string",
            "description": "The old customer number prefix.",
            "maxLength": 10,
            "minLength": 0,
            "nullable": true
          },
          "oldCustomerNo": {
            "type": "string",
            "description": "The old customer number, used for historical reference.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "replacementCustomerId": {
            "type": "integer",
            "description": "The replacement customer identifier, used for historical reference.",
            "format": "int32",
            "nullable": true
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the client customer is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "lastOrderDate": {
            "type": "string",
            "description": "The date of the last order placed by this customer.",
            "format": "date-time",
            "nullable": true
          },
          "normalizedSocialSecurityNumber": {
            "type": "string",
            "description": "The normalized social security number.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "applicationId": {
            "type": "integer",
            "description": "The application identifier, used when customers and companies are application specific.",
            "format": "int32",
            "nullable": true
          },
          "isForgotten": {
            "type": "boolean",
            "description": "Indicates whether the client customer is forgotten."
          },
          "forgottenBy": {
            "type": "integer",
            "description": "The identifier of the user who marked the customer as forgotten.",
            "format": "int32",
            "nullable": true
          },
          "forgottenDate": {
            "type": "string",
            "description": "The date and time the customer was marked as forgotten.",
            "format": "date-time",
            "nullable": true
          },
          "stoppedDate": {
            "type": "string",
            "description": "The date and time the customer was stopped.",
            "format": "date-time",
            "nullable": true
          },
          "stoppedBy": {
            "type": "integer",
            "description": "The identifier of the user who stopped the customer.",
            "format": "int32",
            "nullable": true
          },
          "crmId": {
            "type": "string",
            "description": "The CRM identifier.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "account": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ApplicationAccount"
            }
          },
          "addresses": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientCustomerAddress"
            }
          },
          "companies": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientCustomerCompany"
            }
          },
          "flags": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientCustomerFlag"
            }
          },
          "infos": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientCustomerInfo"
            }
          },
          "orders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Order"
            }
          }
        }
      },
      "ClientCustomerAddress": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the client customer address.",
            "format": "int32"
          },
          "customerId": {
            "type": "integer",
            "description": "The customer identifier.",
            "format": "int32"
          },
          "typeId": {
            "type": "integer",
            "description": "The type identifier.",
            "format": "int32"
          },
          "careOf": {
            "type": "string",
            "description": "The care of.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "addressLine1": {
            "type": "string",
            "description": "The first line of the address.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "addressLine2": {
            "type": "string",
            "description": "The second line of the address.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "zipCode": {
            "type": "string",
            "description": "The zip code.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "city": {
            "type": "string",
            "description": "The city.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "region": {
            "type": "string",
            "description": "The region.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "countryId": {
            "type": "integer",
            "description": "The country identifier.",
            "format": "int32",
            "nullable": true
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "statusId": {
            "type": "integer",
            "description": "The status identifier, not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "statusUpdated": {
            "type": "string",
            "description": "The status updated.",
            "format": "date-time",
            "nullable": true
          },
          "statusUpdatedBy": {
            "type": "integer",
            "description": "The status updated by.",
            "format": "int32",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "shippingPhoneNumber": {
            "type": "string",
            "description": "The shipping phone number.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "code": {
            "type": "string",
            "description": "The code of the client customer address.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "isPrimary": {
            "type": "boolean",
            "description": "Indicates whether the client customer address is primary."
          },
          "customer": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ClientCustomer"
              }
            ]
          }
        }
      },
      "ClientCustomerCompany": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "customerId": {
            "type": "integer",
            "description": "The customer identifier.",
            "format": "int32"
          },
          "companyId": {
            "type": "integer",
            "description": "The company identifier.",
            "format": "int32"
          },
          "roleId": {
            "type": "integer",
            "description": "The role identifier, not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "customerCodePrefix": {
            "type": "string",
            "description": "The customer code prefix.",
            "maxLength": 10,
            "minLength": 0,
            "nullable": true
          },
          "customerCode": {
            "type": "string",
            "description": "The code for the customer in the company.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "department": {
            "type": "string",
            "description": "The department.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "organizationTitle": {
            "type": "string",
            "description": "The organization title.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "isPrimary": {
            "type": "boolean",
            "description": "Indicates whether the company is primary for the customer."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "company": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ClientCompany"
              }
            ]
          },
          "customer": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ClientCustomer"
              }
            ]
          }
        }
      },
      "ClientCompany": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "name"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the client company.",
            "format": "int32"
          },
          "key": {
            "type": "string",
            "description": "The key.",
            "format": "guid"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "companyCodePrefix": {
            "type": "string",
            "description": "The company code prefix.",
            "maxLength": 10,
            "minLength": 0,
            "nullable": true
          },
          "companyCode": {
            "type": "string",
            "description": "The company code.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "typeId": {
            "type": "integer",
            "description": "The type identifier, Company (1).",
            "format": "int32"
          },
          "logoPath": {
            "type": "string",
            "description": "The logo path, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "organizationNo": {
            "type": "string",
            "description": "The organization number.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "The name of the client company.",
            "maxLength": 100,
            "minLength": 0
          },
          "emailAddress": {
            "type": "string",
            "description": "The email address.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "phoneNumber": {
            "type": "string",
            "description": "The phone number.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "faxNumber": {
            "type": "string",
            "description": "The fax number, not used anymore.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "parentCompanyId": {
            "type": "integer",
            "description": "The parent company identifier.",
            "format": "int32",
            "nullable": true
          },
          "referId": {
            "type": "integer",
            "description": "The refer identifier, not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "referUrl": {
            "type": "string",
            "description": "The refer url, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "useBillingAddressAsShippingAddress": {
            "type": "boolean",
            "description": "Indicates whether billing address as shipping address is used."
          },
          "oldCompanyCodePrefix": {
            "type": "string",
            "description": "The old company code prefix.",
            "maxLength": 10,
            "minLength": 0,
            "nullable": true
          },
          "oldCompanyCode": {
            "type": "string",
            "description": "The old company code, used for historical reference.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the client company is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "logoKey": {
            "type": "string",
            "description": "The logo key.",
            "format": "guid",
            "nullable": true
          },
          "normalizedOrganizationNo": {
            "type": "string",
            "description": "The normalized organization number.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "applicationId": {
            "type": "integer",
            "description": "The application identifier.",
            "format": "int32",
            "nullable": true
          },
          "vatNo": {
            "type": "string",
            "description": "The vat number.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "addresses": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientCompanyAddress"
            }
          },
          "deliveryMethods": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientCompanyDeliveryMethod"
            }
          },
          "discounts": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientCompanyDiscount"
            }
          },
          "flags": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientCompanyFlag"
            }
          },
          "infos": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientCompanyInfo"
            }
          },
          "paymentMethods": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientCompanyPaymentMethod"
            }
          },
          "priceLists": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientCompanyPriceList"
            }
          },
          "customers": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientCustomerCompany"
            }
          },
          "inverseParentCompany": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientCompany"
            }
          },
          "parentCompany": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ClientCompany"
              }
            ]
          }
        }
      },
      "ClientCompanyAddress": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the client company address.",
            "format": "int32"
          },
          "companyId": {
            "type": "integer",
            "description": "The company identifier.",
            "format": "int32"
          },
          "typeId": {
            "type": "integer",
            "description": "The type identifier.",
            "format": "int32"
          },
          "careOf": {
            "type": "string",
            "description": "The care of.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "addressLine1": {
            "type": "string",
            "description": "The first line of the address.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "addressLine2": {
            "type": "string",
            "description": "The second line of the address.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "zipCode": {
            "type": "string",
            "description": "The zip code.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "city": {
            "type": "string",
            "description": "The city.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "region": {
            "type": "string",
            "description": "The region.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "countryId": {
            "type": "integer",
            "description": "The country identifier.",
            "format": "int32",
            "nullable": true
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "statusId": {
            "type": "integer",
            "description": "The status identifier, not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "statusUpdated": {
            "type": "string",
            "description": "The status updated.",
            "format": "date-time",
            "nullable": true
          },
          "statusUpdatedBy": {
            "type": "integer",
            "description": "The status updated by.",
            "format": "int32",
            "nullable": true
          },
          "gln": {
            "type": "string",
            "description": "The GLN.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "shippingPhoneNumber": {
            "type": "string",
            "description": "The shipping phone number.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "code": {
            "type": "string",
            "description": "The code of the client company address.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "isPrimary": {
            "type": "boolean",
            "description": "Indicates whether the client company address is primary."
          },
          "company": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ClientCompany"
              }
            ]
          }
        }
      },
      "ClientCompanyDeliveryMethod": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "companyId": {
            "type": "integer",
            "description": "The company identifier.",
            "format": "int32"
          },
          "code": {
            "type": "string",
            "description": "The overriden code of the delivery method for the company, not used anymore.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the client company delivery method is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "company": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ClientCompany"
              }
            ]
          }
        }
      },
      "ClientCompanyDiscount": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "companyId": {
            "type": "integer",
            "description": "The company identifier.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "typeId": {
            "type": "integer",
            "description": "The type identifier, Category (1), Product Flag (3).",
            "format": "int32"
          },
          "valueCode": {
            "type": "string",
            "description": "The value code, either category code or product flag code.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "discountPct": {
            "type": "number",
            "description": "The discount in pct.",
            "format": "decimal"
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "priceListTypeIdSeed": {
            "type": "string",
            "description": "The price list type id seed, comma separated list of price list types.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "company": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ClientCompany"
              }
            ]
          }
        }
      },
      "ClientCompanyFlag": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "companyId": {
            "type": "integer",
            "description": "The company identifier.",
            "format": "int32"
          },
          "flagId": {
            "type": "integer",
            "description": "The flag identifier.",
            "format": "int32"
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the client company flag is active."
          },
          "stoppedDate": {
            "type": "string",
            "description": "The stopped date.",
            "format": "date-time",
            "nullable": true
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "company": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ClientCompany"
              }
            ]
          },
          "flag": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CustomerFlag"
              }
            ]
          }
        }
      },
      "CustomerFlag": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "defaultName"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the customer flag.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "groupId": {
            "type": "integer",
            "description": "The group identifier.",
            "format": "int32"
          },
          "defaultName": {
            "type": "string",
            "description": "The default name of the customer flag.",
            "maxLength": 50,
            "minLength": 0
          },
          "defaultDescription": {
            "type": "string",
            "description": "The default description of the customer flag.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "availableOnCustomer": {
            "type": "boolean",
            "description": "Indicates whether available on customer is enabled (CustomerFlag)."
          },
          "availableOnCompany": {
            "type": "boolean",
            "description": "Indicates whether available on company is enabled (CompanyFlag)."
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the customer flag is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "isDefault": {
            "type": "boolean",
            "description": "Indicates whether the customer flag is default, not used anymore."
          },
          "externalReference": {
            "type": "string",
            "description": "The external reference, called 'Code' in other APIs and in the admin tool.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "sortOrder": {
            "type": "integer",
            "description": "The sort order for display purposes.",
            "format": "int32",
            "nullable": true
          },
          "clientCompanyFlag": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientCompanyFlag"
            }
          },
          "clientCustomerFlag": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientCustomerFlag"
            }
          },
          "cultures": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CustomerFlagCulture"
            }
          },
          "group": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CustomerFlagGroup"
              }
            ]
          }
        }
      },
      "ClientCustomerFlag": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "customerId": {
            "type": "integer",
            "description": "The customer identifier.",
            "format": "int32"
          },
          "flagId": {
            "type": "integer",
            "description": "The flag identifier.",
            "format": "int32"
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the client customer flag is active."
          },
          "stoppedDate": {
            "type": "string",
            "description": "The stopped date.",
            "format": "date-time",
            "nullable": true
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "customer": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ClientCustomer"
              }
            ]
          },
          "flag": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CustomerFlag"
              }
            ]
          }
        }
      },
      "CustomerFlagCulture": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "flagId": {
            "type": "integer",
            "description": "The flag identifier.",
            "format": "int32"
          },
          "cultureCode": {
            "type": "string",
            "description": "The culture code (e.g. en-US).",
            "maxLength": 16,
            "minLength": 0,
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "The culture specific name of the customer flag.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "The culture specific description of the customer flag.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "flag": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CustomerFlag"
              }
            ]
          }
        }
      },
      "CustomerFlagGroup": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the customer flag group.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "defaultName": {
            "type": "string",
            "description": "The default name of the customer flag group.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "defaultDescription": {
            "type": "string",
            "description": "The default description of the customer flag group.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "isMultipleChoice": {
            "type": "boolean",
            "description": "Indicates whether the customer flag group is multiple choice, if true, multiple flags can be selected from the same group, otherwise any flag already set will be cleared automatically when setting a new flag in the same group."
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the customer flag group is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "customerFlag": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CustomerFlag"
            }
          },
          "cultures": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CustomerFlagGroupCulture"
            }
          }
        }
      },
      "CustomerFlagGroupCulture": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "groupId": {
            "type": "integer",
            "description": "The customer flaggroup identifier.",
            "format": "int32"
          },
          "cultureCode": {
            "type": "string",
            "description": "The culture code (e.g. en-US).",
            "maxLength": 16,
            "minLength": 0,
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "The culture specific name of the customer flag group.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "The culture specific description of the customer flag group.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "group": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CustomerFlagGroup"
              }
            ]
          }
        }
      },
      "ClientCompanyInfo": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "value"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the client company info type.",
            "format": "int32"
          },
          "companyId": {
            "type": "integer",
            "description": "The company identifier.",
            "format": "int32"
          },
          "typeId": {
            "type": "integer",
            "description": "The type identifier of the client company info.",
            "format": "int32"
          },
          "value": {
            "type": "string",
            "description": "The value of the client company info.",
            "minLength": 1
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "company": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ClientCompany"
              }
            ]
          },
          "type": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CustomerInfoType"
              }
            ]
          }
        }
      },
      "CustomerInfoType": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "defaultName"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the customer info type.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "groupId": {
            "type": "integer",
            "description": "The group identifier, Customer Info (1), Division Info (4), Company Info (6), Supplier Info (7).",
            "format": "int32"
          },
          "defaultName": {
            "type": "string",
            "description": "The default name of the customer info type.",
            "maxLength": 50,
            "minLength": 0
          },
          "defaultDescription": {
            "type": "string",
            "description": "The default description of the customer info type.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "sortOrder": {
            "type": "integer",
            "description": "The sort order for display purposes.",
            "format": "int32"
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the customer info type is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "code": {
            "type": "string",
            "description": "The code of the customer info type.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "clientCompanyInfo": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientCompanyInfo"
            }
          },
          "clientCustomerInfo": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientCustomerInfo"
            }
          },
          "clientDivisionInfo": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientDivisionInfo"
            }
          },
          "clientSupplierInfo": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientSupplierInfo"
            }
          },
          "cultures": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CustomerInfoTypeCulture"
            }
          }
        }
      },
      "ClientCustomerInfo": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "value"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the customer info.",
            "format": "int32"
          },
          "customerId": {
            "type": "integer",
            "description": "The customer identifier.",
            "format": "int32"
          },
          "typeId": {
            "type": "integer",
            "description": "The type identifier.",
            "format": "int32"
          },
          "value": {
            "type": "string",
            "description": "The value.",
            "minLength": 1
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time"
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "customer": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ClientCustomer"
              }
            ]
          },
          "type": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CustomerInfoType"
              }
            ]
          }
        }
      },
      "ClientDivisionInfo": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "value"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the client division info type.",
            "format": "int32"
          },
          "divisionId": {
            "type": "integer",
            "description": "The division identifier.",
            "format": "int32"
          },
          "typeId": {
            "type": "integer",
            "description": "The type identifier.",
            "format": "int32"
          },
          "value": {
            "type": "string",
            "description": "The value.",
            "minLength": 1
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time"
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "division": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ClientDivision"
              }
            ]
          },
          "type": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CustomerInfoType"
              }
            ]
          }
        }
      },
      "ClientDivision": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "defaultName",
          "defaultUniqueUrlName"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the division (store).",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "divisionCode": {
            "type": "string",
            "description": "The division (store) code.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "defaultName": {
            "type": "string",
            "description": "The default name of the division (store).",
            "maxLength": 50,
            "minLength": 0
          },
          "defaultGroupName": {
            "type": "string",
            "description": "The default group name of the division (store).",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "defaultSubGroupName": {
            "type": "string",
            "description": "The default sub group name of the division (store).",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "defaultDescription": {
            "type": "string",
            "description": "The default description of the division (store).",
            "nullable": true
          },
          "defaultImagePath": {
            "type": "string",
            "description": "The default image path, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "isPublic": {
            "type": "boolean",
            "description": "Indicates whether the division (store) is public."
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the division (store) is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "key": {
            "type": "string",
            "description": "The key.",
            "format": "guid"
          },
          "imageKey": {
            "type": "string",
            "description": "The image key.",
            "format": "guid",
            "nullable": true
          },
          "defaultUniqueUrlName": {
            "type": "string",
            "description": "The default unique url name.",
            "maxLength": 100,
            "minLength": 0
          },
          "latitude": {
            "type": "number",
            "description": "The latitude.",
            "format": "double",
            "nullable": true
          },
          "longitude": {
            "type": "number",
            "description": "The longitude.",
            "format": "double",
            "nullable": true
          },
          "emailAddress": {
            "type": "string",
            "description": "The email address.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "phoneNumber": {
            "type": "string",
            "description": "The phone number.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "faxNumber": {
            "type": "string",
            "description": "The fax number, not used anymore.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "addressLine1": {
            "type": "string",
            "description": "The first line of the address.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "addressLine2": {
            "type": "string",
            "description": "The second line of the address.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "zipCode": {
            "type": "string",
            "description": "The zip code.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "city": {
            "type": "string",
            "description": "The city.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "region": {
            "type": "string",
            "description": "The region.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "countryId": {
            "type": "integer",
            "description": "The country identifier.",
            "format": "int32",
            "nullable": true
          },
          "openHoursWeekday": {
            "type": "string",
            "description": "The open hours weekday.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "openHoursSaturday": {
            "type": "string",
            "description": "The open hours saturday.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "openHoursSunday": {
            "type": "string",
            "description": "The open hours sunday.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "applications": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientDivisionApplication"
            }
          },
          "cultures": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientDivisionCulture"
            }
          },
          "infos": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientDivisionInfo"
            }
          },
          "priceLists": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientDivisionPriceList"
            }
          },
          "warehouses": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientDivisionWarehouse"
            }
          }
        }
      },
      "ClientDivisionApplication": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "divisionId": {
            "type": "integer",
            "description": "The division (store) identifier.",
            "format": "int32"
          },
          "applicationId": {
            "type": "integer",
            "description": "The application identifier.",
            "format": "int32"
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "division": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ClientDivision"
              }
            ]
          }
        }
      },
      "ClientDivisionCulture": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "divisionId": {
            "type": "integer",
            "description": "The division (store) identifier.",
            "format": "int32"
          },
          "cultureCode": {
            "type": "string",
            "description": "The culture code (e.g. en-US).",
            "maxLength": 16,
            "minLength": 0,
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "The culture specific name of the division (store).",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "groupName": {
            "type": "string",
            "description": "The culture specific group name of the division (store).",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "subGroupName": {
            "type": "string",
            "description": "The culture specific sub group name of the division (store).",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "The culture specific description of the division (store).",
            "nullable": true
          },
          "imagePath": {
            "type": "string",
            "description": "The image path, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "uniqueUrlName": {
            "type": "string",
            "description": "The unique url name.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "isUniqueUrlNameManuallyMaintained": {
            "type": "boolean",
            "description": "Indicates whether the division (store) culture is unique url name manually maintained."
          },
          "imageKey": {
            "type": "string",
            "description": "The image key.",
            "format": "guid",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "division": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ClientDivision"
              }
            ]
          }
        }
      },
      "ClientDivisionPriceList": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "divisionId": {
            "type": "integer",
            "description": "The division (store) identifier.",
            "format": "int32"
          },
          "priceListId": {
            "type": "integer",
            "description": "The price list identifier.",
            "format": "int32"
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "division": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ClientDivision"
              }
            ]
          }
        }
      },
      "ClientDivisionWarehouse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "divisionId": {
            "type": "integer",
            "description": "The division (store) identifier.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "warehouseId": {
            "type": "integer",
            "description": "The warehouse identifier.",
            "format": "int32"
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "locations": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientDivisionWarehouseLocation"
            }
          },
          "division": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ClientDivision"
              }
            ]
          }
        }
      },
      "ClientDivisionWarehouseLocation": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "divisionId": {
            "type": "integer",
            "description": "The division (store) identifier.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "warehouseId": {
            "type": "integer",
            "description": "The warehouse identifier.",
            "format": "int32"
          },
          "locationId": {
            "type": "integer",
            "description": "The location identifier.",
            "format": "int32"
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "clientDivisionWarehouse": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ClientDivisionWarehouse"
              }
            ]
          }
        }
      },
      "ClientSupplierInfo": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "value"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the client supplier info type.",
            "format": "int32"
          },
          "supplierId": {
            "type": "integer",
            "description": "The supplier identifier.",
            "format": "int32"
          },
          "typeId": {
            "type": "integer",
            "description": "The type identifier.",
            "format": "int32"
          },
          "value": {
            "type": "string",
            "description": "The value.",
            "minLength": 1
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time"
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "clientSupplier": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ClientSupplier"
              }
            ]
          },
          "supplier": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Supplier"
              }
            ]
          },
          "type": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CustomerInfoType"
              }
            ]
          }
        }
      },
      "ClientSupplier": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "supplierId": {
            "type": "integer",
            "description": "The supplier identifier.",
            "format": "int32"
          },
          "supplierCodePrefix": {
            "type": "string",
            "description": "The supplier code prefix, not used anymore.",
            "maxLength": 10,
            "minLength": 0,
            "nullable": true
          },
          "supplierCode": {
            "type": "string",
            "description": "The supplier code.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "The name of the client supplier.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the client supplier is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "infos": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientSupplierInfo"
            }
          },
          "warehouses": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientSupplierWarehouse"
            }
          },
          "warehouseLocations": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientSupplierWarehouseLocation"
            }
          },
          "supplier": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Supplier"
              }
            ]
          }
        }
      },
      "ClientSupplierWarehouse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "supplierId": {
            "type": "integer",
            "description": "The supplier identifier.",
            "format": "int32"
          },
          "warehouseId": {
            "type": "integer",
            "description": "The warehouse identifier.",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "The name of the client supplier warehouse.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "standardLeadTimeDayCount": {
            "type": "integer",
            "description": "The standard lead time day count.",
            "format": "int32",
            "nullable": true
          },
          "minimumOrderValue": {
            "type": "number",
            "description": "The minimum order value, not used anymore.",
            "format": "decimal",
            "nullable": true
          },
          "minimumOrderValueCost": {
            "type": "number",
            "description": "The minimum order value cost, not used anymore.",
            "format": "decimal",
            "nullable": true
          },
          "freightCost": {
            "type": "number",
            "description": "The freight cost, not used anymore.",
            "format": "decimal",
            "nullable": true
          },
          "costBlock": {
            "type": "integer",
            "description": "The cost block, not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "isConsignment": {
            "type": "boolean",
            "description": "Indicates whether the client supplier warehouse is consignment, not currently in use.",
            "nullable": true
          },
          "includeInStockCalculation": {
            "type": "boolean",
            "description": "Indicates whether in stock calculation is included, not used anymore."
          },
          "transferMethodId": {
            "type": "integer",
            "description": "The transfer method identifier, not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "transferMethodValue": {
            "type": "string",
            "description": "The transfer method value, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "clientSupplier": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ClientSupplier"
              }
            ]
          }
        }
      },
      "ClientSupplierWarehouseLocation": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "supplierId": {
            "type": "integer",
            "description": "The supplier identifier.",
            "format": "int32"
          },
          "warehouseId": {
            "type": "integer",
            "description": "The warehouse identifier.",
            "format": "int32"
          },
          "locationId": {
            "type": "integer",
            "description": "The location identifier.",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "The name of the client supplier warehouse location.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "standardLeadTimeDayCount": {
            "type": "integer",
            "description": "The standard lead time day count.",
            "format": "int32",
            "nullable": true
          },
          "minimumOrderValue": {
            "type": "number",
            "description": "The minimum order value, not used anymore.",
            "format": "decimal",
            "nullable": true
          },
          "minimumOrderValueCost": {
            "type": "number",
            "description": "The minimum order value cost, not used anymore.",
            "format": "decimal",
            "nullable": true
          },
          "freightCost": {
            "type": "number",
            "description": "The freight cost, not used anymore.",
            "format": "decimal",
            "nullable": true
          },
          "costBlock": {
            "type": "integer",
            "description": "The cost block, not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "isConsignment": {
            "type": "boolean",
            "description": "Indicates whether the client supplier warehouse location is consignment, not currently in use.",
            "nullable": true
          },
          "includeInStockCalculation": {
            "type": "boolean",
            "description": "Indicates whether in stock calculation is included, not used anymore.",
            "nullable": true
          },
          "transferMethodId": {
            "type": "integer",
            "description": "The transfer method identifier, not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "transferMethodValue": {
            "type": "string",
            "description": "The transfer method value, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "supportsReservation": {
            "type": "boolean",
            "description": "Indicates whether supports reservation is enabled, not currently in use."
          },
          "supportsStockQuery": {
            "type": "boolean",
            "description": "Indicates whether supports stock query is enabled, not currently in use."
          },
          "clientSupplier": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ClientSupplier"
              }
            ]
          }
        }
      },
      "Supplier": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the supplier.",
            "format": "int32"
          },
          "corporationId": {
            "type": "integer",
            "description": "The corporation identifier.",
            "format": "int32"
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the supplier is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "key": {
            "type": "string",
            "description": "A unique identifier for the supplier, not commonly used.",
            "format": "guid"
          },
          "secretKey": {
            "type": "string",
            "description": "The secret key. Not used anymore.",
            "format": "guid"
          },
          "clientSupplier": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientSupplier"
            }
          },
          "clientSupplierInfo": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientSupplierInfo"
            }
          },
          "corporation": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Corporation"
              }
            ]
          }
        }
      },
      "Corporation": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "defaultName"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the corporation.",
            "format": "int32"
          },
          "key": {
            "type": "string",
            "description": "The key.",
            "format": "guid"
          },
          "organizationNo": {
            "type": "string",
            "description": "The organization number.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "defaultName": {
            "type": "string",
            "description": "The default name of the corporation.",
            "maxLength": 100,
            "minLength": 0
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the corporation is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "manufacturer": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/Manufacturer"
            }
          },
          "supplier": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/Supplier"
            }
          }
        }
      },
      "Manufacturer": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the manufacturer.",
            "format": "int32"
          },
          "corporationId": {
            "type": "integer",
            "description": "The corporation identifier.",
            "format": "int32"
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the manufacturer is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "key": {
            "type": "string",
            "description": "The key.",
            "format": "guid"
          },
          "clientManufacturers": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientManufacturer"
            }
          },
          "corporation": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Corporation"
              }
            ]
          }
        }
      },
      "ClientManufacturer": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "uniqueUrlName"
        ],
        "properties": {
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "manufacturerId": {
            "type": "integer",
            "description": "The manufacturer identifier.",
            "format": "int32"
          },
          "manufacturerCode": {
            "type": "string",
            "description": "The manufacturer code.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "The name of the client manufacturer.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the client manufacturer is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "uniqueUrlName": {
            "type": "string",
            "description": "The unique url name.",
            "maxLength": 255,
            "minLength": 0
          },
          "isUniqueUrlNameManuallyMaintained": {
            "type": "boolean",
            "description": "Indicates whether the client manufacturer is unique url name manually maintained."
          },
          "manufacturer": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Manufacturer"
              }
            ]
          },
          "info": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ManufacturerInfo"
              }
            ]
          }
        }
      },
      "ManufacturerInfo": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "manufacturerId": {
            "type": "integer",
            "description": "The manufacturer identifier.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "prefix": {
            "type": "string",
            "description": "The prefix, not commonly used.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "website": {
            "type": "string",
            "description": "The website.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "logoPath": {
            "type": "string",
            "description": "The logo path.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "assortmentId": {
            "type": "integer",
            "description": "The assortment identifier, not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "populationRuleId": {
            "type": "integer",
            "description": "The population rule identifier, not used anymore.",
            "format": "int32"
          },
          "defaultSupportUrl": {
            "type": "string",
            "description": "The default support url, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "defaultSupportEmailAddress": {
            "type": "string",
            "description": "The default support email address, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "defaultSupportPhoneNumber": {
            "type": "string",
            "description": "The default support phone number, not used anymore.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "defaultSupportAvailableHours": {
            "type": "string",
            "description": "The default support available hours, not used anymore.",
            "nullable": true
          },
          "defaultSupportPolicy": {
            "type": "string",
            "description": "The default support policy, not used anymore.",
            "nullable": true
          },
          "defaultSupportDescription": {
            "type": "string",
            "description": "The default support description, not used anymore.",
            "nullable": true
          },
          "defaultInternalSupportUrl": {
            "type": "string",
            "description": "The default internal support url, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "defaultInternalSupportEmailAddress": {
            "type": "string",
            "description": "The default internal support email address, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "defaultInternalSupportPhoneNumber": {
            "type": "string",
            "description": "The default internal support phone number, not used anymore.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "defaultInternalSupportAvailableHours": {
            "type": "string",
            "description": "The default internal support available hours, not used anymore.",
            "nullable": true
          },
          "defaultInternalSupportPolicy": {
            "type": "string",
            "description": "The default internal support policy, not used anymore.",
            "nullable": true
          },
          "defaultInternalSupportDescription": {
            "type": "string",
            "description": "The default internal support description, not used anymore.",
            "nullable": true
          },
          "alias": {
            "type": "string",
            "description": "The alias.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "defaultTitle": {
            "type": "string",
            "description": "The default title, not commonly used.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "defaultTags": {
            "type": "string",
            "description": "The default tags, not commonly used.",
            "nullable": true
          },
          "defaultMetaTags": {
            "type": "string",
            "description": "The default meta tags, not commonly used.",
            "nullable": true
          },
          "defaultMetaDescription": {
            "type": "string",
            "description": "The default meta description, not commonly used.",
            "nullable": true
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "logoKey": {
            "type": "string",
            "description": "The logo key.",
            "format": "guid",
            "nullable": true
          },
          "clientManufacturer": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ClientManufacturer"
              }
            ]
          }
        }
      },
      "CustomerInfoTypeCulture": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "typeId": {
            "type": "integer",
            "description": "The info type identifier.",
            "format": "int32"
          },
          "cultureCode": {
            "type": "string",
            "description": "The culture code (e.g. en-US).",
            "maxLength": 16,
            "minLength": 0,
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "The culture specific name of the customer info type.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "The culture specific description of the customer info type.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "type": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CustomerInfoType"
              }
            ]
          }
        }
      },
      "ClientCompanyPaymentMethod": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "companyId": {
            "type": "integer",
            "description": "The company identifier.",
            "format": "int32"
          },
          "code": {
            "type": "string",
            "description": "The code of the client company payment method.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the client company payment method is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "invoiceCaptureCode": {
            "type": "string",
            "description": "The invoice capture code.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "company": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ClientCompany"
              }
            ]
          }
        }
      },
      "ClientCompanyPriceList": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "companyId": {
            "type": "integer",
            "description": "The company identifier.",
            "format": "int32"
          },
          "priceListId": {
            "type": "integer",
            "description": "The price list identifier.",
            "format": "int32"
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "isExclusive": {
            "type": "boolean",
            "description": "Indicates whether the client company price list is exclusive."
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "company": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ClientCompany"
              }
            ]
          }
        }
      },
      "Order": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "orderNo"
        ],
        "properties": {
          "buyerCustomer": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ClientCustomer"
              }
            ]
          },
          "id": {
            "type": "integer",
            "description": "The unique identifier of the order.",
            "format": "int64"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "applicationId": {
            "type": "integer",
            "description": "The application identifier.",
            "format": "int32"
          },
          "quotationId": {
            "type": "integer",
            "description": "The quotation identifier.",
            "format": "int32",
            "nullable": true
          },
          "orderNo": {
            "type": "string",
            "description": "The order number, commonly same as quotation id unless overriden from the ERP confirmation response.",
            "maxLength": 50,
            "minLength": 0
          },
          "orderDate": {
            "type": "string",
            "description": "The date the order was placed.",
            "format": "date-time"
          },
          "buyerCompanyCode": {
            "type": "string",
            "description": "The buyer company code.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "buyerCompanyId": {
            "type": "integer",
            "description": "The buyer company identifier.",
            "format": "int32",
            "nullable": true
          },
          "buyerCustomerCode": {
            "type": "string",
            "description": "The buyer customer code.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "buyerCustomerId": {
            "type": "integer",
            "description": "The buyer customer identifier.",
            "format": "int32",
            "nullable": true
          },
          "payerCompanyCode": {
            "type": "string",
            "description": "The payer company code.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "payerCompanyId": {
            "type": "integer",
            "description": "The payer company identifier.",
            "format": "int32",
            "nullable": true
          },
          "payerCustomerCode": {
            "type": "string",
            "description": "The payer customer code.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "payerCustomerId": {
            "type": "integer",
            "description": "The payer customer identifier.",
            "format": "int32",
            "nullable": true
          },
          "resellerCompanyCode": {
            "type": "string",
            "description": "The reseller company code, not used anymore.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "resellerCompanyId": {
            "type": "integer",
            "description": "The reseller company identifier, not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "resellerCustomerCode": {
            "type": "string",
            "description": "The reseller customer code, not used anymore.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "resellerCustomerId": {
            "type": "integer",
            "description": "The reseller customer identifier, not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "groupCode": {
            "type": "string",
            "description": "The group code, not used anymore.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "statusId": {
            "type": "integer",
            "description": "The status identifier, common values are Created (0), Allocation (1), Confirmed (2), Delivered (4), Invoiced (5), Cancelled (6), Partly delivered (8).",
            "format": "int32"
          },
          "salesRepContactId": {
            "type": "integer",
            "description": "The sales representative contact identifier, not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "source": {
            "type": "string",
            "description": "The source of the order, 'WEB' is reserved for orders coming through Norce shopping and checkout processes.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "deliveryTerms": {
            "type": "string",
            "description": "The delivery terms, not used anymore.",
            "maxLength": 10,
            "minLength": 0,
            "nullable": true
          },
          "deliveryMode": {
            "type": "string",
            "description": "The delivery mode, code from the DeliveryMethod setting.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "deliveryDate": {
            "type": "string",
            "description": "The delivery date.",
            "format": "date-time",
            "nullable": true
          },
          "isPartDelivery": {
            "type": "boolean",
            "description": "Indicates whether the order is partly delivered, can be true if goods ordered is partly delivered by a DeliveryNote."
          },
          "paymentTerms": {
            "type": "string",
            "description": "The payment terms, code from the PaymentMethod setting.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "currencyId": {
            "type": "integer",
            "description": "The currency identifier.",
            "format": "int32"
          },
          "vatRate": {
            "type": "number",
            "description": "The VAT rate, not used anymore.",
            "format": "decimal"
          },
          "cashDiscount": {
            "type": "number",
            "description": "The cash discount amount, not used anymore.",
            "format": "decimal"
          },
          "lineDiscount": {
            "type": "number",
            "description": "The line discount amount, not used anymore.",
            "format": "decimal"
          },
          "freightCost": {
            "type": "number",
            "description": "The freight cost excluding VAT, the same as the lineamount on the freight order item.",
            "format": "decimal"
          },
          "orderFee": {
            "type": "number",
            "description": "The order fee, not used anymore.",
            "format": "decimal"
          },
          "deliveryAttention": {
            "type": "string",
            "description": "The delivery attention line, often name of the delivery recipient.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "deliveryCareOf": {
            "type": "string",
            "description": "The delivery care of line.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "deliveryAddressLine1": {
            "type": "string",
            "description": "The first line of the delivery address.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "deliveryAddressLine2": {
            "type": "string",
            "description": "The second line of the delivery address.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "deliveryZipCode": {
            "type": "string",
            "description": "The delivery zip code.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "deliveryCity": {
            "type": "string",
            "description": "The delivery city.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "deliveryRegion": {
            "type": "string",
            "description": "The delivery region.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "deliveryCountryId": {
            "type": "integer",
            "description": "The delivery country identifier.",
            "format": "int32",
            "nullable": true
          },
          "ledgerAccount": {
            "type": "string",
            "description": "The ledger account, not used anymore.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "department": {
            "type": "string",
            "description": "The department, not used anymore.",
            "maxLength": 10,
            "minLength": 0,
            "nullable": true
          },
          "centre": {
            "type": "string",
            "description": "The centre, not used anymore.",
            "maxLength": 10,
            "minLength": 0,
            "nullable": true
          },
          "externalPurchaseNo": {
            "type": "string",
            "description": "The external purchase number, not used anymore, usually has the quotation id.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "salesCode": {
            "type": "string",
            "description": "The sales code, not used anymore.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "deliveryMark": {
            "type": "string",
            "description": "The delivery mark, copied from the CustomerOrderReference in the Quotation.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "invoiceMark": {
            "type": "string",
            "description": "The invoice mark, copied from the CustomerInvoiceReference in the Quotation.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "payerCustomerInfoId": {
            "type": "integer",
            "description": "The payer customer info identifier, lookup key for CustomerInfo, where customer data is stored for guest customers, not having a ClientCustomer record.",
            "format": "int64",
            "nullable": true
          },
          "estimatedDeliveryTime": {
            "type": "string",
            "description": "The estimated delivery time, not used anymore.",
            "format": "date-time",
            "nullable": true
          },
          "deliveryTime": {
            "type": "string",
            "description": "The actual delivery time, not used anymore.",
            "format": "date-time",
            "nullable": true
          },
          "buyerCustomerInfoId": {
            "type": "integer",
            "description": "The buyer customer info identifier, lookup key for CustomerInfo, where customer data is stored for guest customers, not having a ClientCustomer record.",
            "format": "int64",
            "nullable": true
          },
          "shipToCustomerInfoId": {
            "type": "integer",
            "description": "The ship-to customer info identifier, lookup key for CustomerInfo, where customer data is stored for guest customers, not having a ClientCustomer record.",
            "format": "int64",
            "nullable": true
          },
          "externalRef": {
            "type": "string",
            "description": "The external reference, not used anymore.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "paymentMethodId": {
            "type": "integer",
            "description": "The payment method identifier.",
            "format": "int32",
            "nullable": true
          },
          "deliveryMethodId": {
            "type": "integer",
            "description": "The delivery method identifier.",
            "format": "int32",
            "nullable": true
          },
          "orderTypeId": {
            "type": "integer",
            "description": "The order type identifier, Customer Order (1), Purchase Order (2), Recurring Order (3), Recurring Order Template (4), External Order (5).",
            "format": "int32",
            "nullable": true
          },
          "isForgotten": {
            "type": "boolean",
            "description": "Indicates whether the order is forgotten, not used anymore."
          },
          "forgottenBy": {
            "type": "integer",
            "description": "The identifier of the user who marked the order as forgotten, not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "forgottenDate": {
            "type": "string",
            "description": "The date and time the order was marked as forgotten, not used anymore.",
            "format": "date-time",
            "nullable": true
          },
          "dropPointCustomerInfoId": {
            "type": "integer",
            "description": "The drop point customer info identifier, lookup key for CustomerInfo.",
            "format": "int64",
            "nullable": true
          },
          "dropPointCode": {
            "type": "string",
            "description": "The drop point code.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "year": {
            "type": "integer",
            "description": "The year.",
            "format": "int32",
            "nullable": true
          },
          "week": {
            "type": "integer",
            "description": "The week number.",
            "format": "int32",
            "nullable": true
          },
          "tmsReference": {
            "type": "string",
            "description": "The TMS reference, a reference identifier from the Transport system, not commonly used.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "buyer": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CustomerInfo"
              }
            ]
          },
          "deliveryNote": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/DeliveryNote"
            }
          },
          "dropPoint": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CustomerInfo"
              }
            ]
          },
          "invoice": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/Invoice"
            }
          },
          "infos": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/OrderInfo"
            }
          },
          "items": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/OrderItem"
            }
          },
          "payer": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CustomerInfo"
              }
            ]
          },
          "quotation": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Quotation"
              }
            ]
          },
          "shipTo": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CustomerInfo"
              }
            ]
          }
        }
      },
      "CustomerInfo": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "rowid"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the customer info.",
            "format": "int64"
          },
          "firstName": {
            "type": "string",
            "description": "The first name.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "description": "The last name.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "emailAddress": {
            "type": "string",
            "description": "The email address.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "phoneNumber": {
            "type": "string",
            "description": "The phone number.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "cellPhoneNumber": {
            "type": "string",
            "description": "The cell phone number.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "rowid": {
            "type": "string",
            "description": "The rowid, used for concurrency control.",
            "format": "byte",
            "minLength": 1
          },
          "companyName": {
            "type": "string",
            "description": "The company name.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "careOf": {
            "type": "string",
            "description": "The care of.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "addressLine1": {
            "type": "string",
            "description": "The first line of the address.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "addressLine2": {
            "type": "string",
            "description": "The second line of the address.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "zipCode": {
            "type": "string",
            "description": "The zip code.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "city": {
            "type": "string",
            "description": "The city.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "region": {
            "type": "string",
            "description": "The region.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "countryId": {
            "type": "integer",
            "description": "The country identifier.",
            "format": "int32",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "shippingPhoneNumber": {
            "type": "string",
            "description": "The shipping phone number.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "gln": {
            "type": "string",
            "description": "The GLN.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "orderBuyerCustomerInfo": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/Order"
            }
          },
          "orderDropPointCustomerInfo": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/Order"
            }
          },
          "orderPayerCustomerInfo": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/Order"
            }
          },
          "orderShipToCustomerInfo": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/Order"
            }
          }
        }
      },
      "DeliveryNote": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "noteNo"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the delivery note.",
            "format": "int64"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "noteNo": {
            "type": "string",
            "description": "The note number from the ERP or WMS.",
            "maxLength": 50,
            "minLength": 0
          },
          "supplierId": {
            "type": "integer",
            "description": "The supplier identifier, not commonly used.",
            "format": "int32",
            "nullable": true
          },
          "typeId": {
            "type": "integer",
            "description": "The type identifier, Order Delivery (1).",
            "format": "int32"
          },
          "referenceOrderId": {
            "type": "integer",
            "description": "The reference order identifier, link to the Order.",
            "format": "int64"
          },
          "buyerCompanyId": {
            "type": "integer",
            "description": "The buyer company identifier, not used anymore, check Order for customer information.",
            "format": "int32",
            "nullable": true
          },
          "buyerCompanyCode": {
            "type": "string",
            "description": "The buyer company code, not used anymore, check Order for customer information.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "buyerCustomerId": {
            "type": "integer",
            "description": "The buyer customer identifier, not used anymore, check Order for customer information.",
            "format": "int32",
            "nullable": true
          },
          "buyerCustomerCode": {
            "type": "string",
            "description": "The buyer customer code, not used anymore, check Order for customer information.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "payerCompanyId": {
            "type": "integer",
            "description": "The payer company identifier, not used anymore, check Order for customer information.",
            "format": "int32",
            "nullable": true
          },
          "payerCompanyCode": {
            "type": "string",
            "description": "The payer company code, not used anymore, check Order for customer information.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "payerCustomerId": {
            "type": "integer",
            "description": "The payer customer identifier, not used anymore, check Order for customer information.",
            "format": "int32",
            "nullable": true
          },
          "payerCustomerCode": {
            "type": "string",
            "description": "The payer customer code, not used anymore, check Order for customer information.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "resellerCompanyId": {
            "type": "integer",
            "description": "The reseller company identifier, not used anymore, check Order for customer information.",
            "format": "int32",
            "nullable": true
          },
          "resellerCompanyCode": {
            "type": "string",
            "description": "The reseller company code, not used anymore, check Order for customer information.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "resellerCustomerId": {
            "type": "integer",
            "description": "The reseller customer identifier, not used anymore, check Order for customer information.",
            "format": "int32",
            "nullable": true
          },
          "resellerCustomerCode": {
            "type": "string",
            "description": "The reseller customer code, not used anymore, check Order for customer information.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "groupCode": {
            "type": "string",
            "description": "The group code, not used anymore.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "deliveryName": {
            "type": "string",
            "description": "The delivery name, commonly the customer name.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "deliveryAttention": {
            "type": "string",
            "description": "The delivery attention.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "deliveryCareOf": {
            "type": "string",
            "description": "The delivery care of.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "deliveryAddressLine1": {
            "type": "string",
            "description": "The delivery address line1.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "deliveryAddressLine2": {
            "type": "string",
            "description": "The delivery address line2.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "deliveryZipCode": {
            "type": "string",
            "description": "The delivery zip code.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "deliveryCity": {
            "type": "string",
            "description": "The delivery city.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "deliveryRegion": {
            "type": "string",
            "description": "The delivery region.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "deliveryCountryId": {
            "type": "integer",
            "description": "The delivery country identifier.",
            "format": "int32",
            "nullable": true
          },
          "deliveryDate": {
            "type": "string",
            "description": "The delivery date.",
            "format": "date-time",
            "nullable": true
          },
          "quantity": {
            "type": "number",
            "description": "The quantity.",
            "format": "decimal",
            "nullable": true
          },
          "volume": {
            "type": "number",
            "description": "The volume.",
            "format": "decimal",
            "nullable": true
          },
          "weight": {
            "type": "number",
            "description": "The weight.",
            "format": "decimal",
            "nullable": true
          },
          "isPrinted": {
            "type": "boolean",
            "description": "Indicates whether the delivery note is printed, not used anymore."
          },
          "deliveryTerms": {
            "type": "string",
            "description": "The delivery terms.",
            "maxLength": 10,
            "minLength": 0,
            "nullable": true
          },
          "deliveryMode": {
            "type": "string",
            "description": "The delivery mode.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "source": {
            "type": "string",
            "description": "The source.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "deliveryMark": {
            "type": "string",
            "description": "The delivery mark.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "noteText": {
            "type": "string",
            "description": "The note text.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "department": {
            "type": "string",
            "description": "The department.",
            "maxLength": 10,
            "minLength": 0,
            "nullable": true
          },
          "centre": {
            "type": "string",
            "description": "The centre.",
            "maxLength": 10,
            "minLength": 0,
            "nullable": true
          },
          "shippingNo": {
            "type": "string",
            "description": "The shipping number.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "deliveryAddressId": {
            "type": "integer",
            "description": "The delivery address identifier.",
            "format": "int64",
            "nullable": true
          },
          "divisionCode": {
            "type": "string",
            "description": "The division code.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "statusId": {
            "type": "integer",
            "description": "The status identifier, Delivered (4), Partly Delivered (8).",
            "format": "int32"
          },
          "isForgotten": {
            "type": "boolean",
            "description": "Indicates whether the delivery note is forgotten."
          },
          "forgottenBy": {
            "type": "integer",
            "description": "The forgotten by.",
            "format": "int32",
            "nullable": true
          },
          "forgottenDate": {
            "type": "string",
            "description": "The forgotten date.",
            "format": "date-time",
            "nullable": true
          },
          "deliveryAddress": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Address"
              }
            ]
          },
          "items": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/DeliveryNoteItem"
            }
          },
          "packages": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/DeliveryNotePackage"
            }
          },
          "referenceOrder": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Order"
              }
            ]
          }
        }
      },
      "Address": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "rowid"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the address.",
            "format": "int64"
          },
          "typeId": {
            "type": "integer",
            "description": "The type identifier.",
            "format": "int32",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "The name of the address.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "attention": {
            "type": "string",
            "description": "The attention.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "careOf": {
            "type": "string",
            "description": "The care of.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "line1": {
            "type": "string",
            "description": "The first line of the address.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "line2": {
            "type": "string",
            "description": "The second line of the address.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "zipCode": {
            "type": "string",
            "description": "The zip code.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "city": {
            "type": "string",
            "description": "The city.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "region": {
            "type": "string",
            "description": "The region.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "countryId": {
            "type": "integer",
            "description": "The country identifier.",
            "format": "int32",
            "nullable": true
          },
          "emailAddress": {
            "type": "string",
            "description": "The email address.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "phoneNumber": {
            "type": "string",
            "description": "The phone number.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "rowid": {
            "type": "string",
            "description": "The rowid, used for concurrency checks.",
            "format": "byte",
            "minLength": 1
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "shippingPhoneNumber": {
            "type": "string",
            "description": "The shipping phone number.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "gln": {
            "type": "string",
            "description": "The GLN.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "deliveryNote": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/DeliveryNote"
            }
          },
          "invoice": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/Invoice"
            }
          }
        }
      },
      "Invoice": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "invoiceNo"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the invoice.",
            "format": "int64"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "invoiceNo": {
            "type": "string",
            "description": "The invoice number, from the ERP system.",
            "maxLength": 50,
            "minLength": 0
          },
          "typeId": {
            "type": "integer",
            "description": "The type identifier, sales order invoice (1).",
            "format": "int32"
          },
          "referenceOrderId": {
            "type": "integer",
            "description": "The reference order identifier, links to the Sales Order.",
            "format": "int64"
          },
          "referenceNoPsp": {
            "type": "string",
            "description": "The reference number, PSP reference.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "buyerCompanyId": {
            "type": "integer",
            "description": "The buyer company identifier.",
            "format": "int32",
            "nullable": true
          },
          "buyerCustomerId": {
            "type": "integer",
            "description": "The buyer customer identifier.",
            "format": "int32",
            "nullable": true
          },
          "payerCompanyId": {
            "type": "integer",
            "description": "The payer company identifier.",
            "format": "int32",
            "nullable": true
          },
          "payerCustomerId": {
            "type": "integer",
            "description": "The payer customer identifier.",
            "format": "int32",
            "nullable": true
          },
          "resellerCompanyId": {
            "type": "integer",
            "description": "The reseller company identifier, not commonly used.",
            "format": "int32",
            "nullable": true
          },
          "resellerCustomerId": {
            "type": "integer",
            "description": "The reseller customer identifier, not commonly used.",
            "format": "int32",
            "nullable": true
          },
          "groupCode": {
            "type": "string",
            "description": "The group code, not commonly used.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "deliveryDate": {
            "type": "string",
            "description": "The delivery date.",
            "format": "date-time",
            "nullable": true
          },
          "invoiceDate": {
            "type": "string",
            "description": "The invoice date.",
            "format": "date-time"
          },
          "invoiceDueDate": {
            "type": "string",
            "description": "The invoice due date.",
            "format": "date-time",
            "nullable": true
          },
          "salesRepContactId": {
            "type": "integer",
            "description": "The sales rep contact identifier, not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "source": {
            "type": "string",
            "description": "The source of the order the invoice is referencing, 'WEB' is reserved for orders coming through Norce shopping and checkout processes.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "quantity": {
            "type": "number",
            "description": "The quantity, total quantity of items in the invoice.",
            "format": "decimal"
          },
          "volume": {
            "type": "number",
            "description": "The volume.",
            "format": "decimal",
            "nullable": true
          },
          "weight": {
            "type": "number",
            "description": "The weight.",
            "format": "decimal",
            "nullable": true
          },
          "currencyId": {
            "type": "integer",
            "description": "The currency identifier.",
            "format": "int32"
          },
          "currencyRate": {
            "type": "number",
            "description": "The currency rate, used for converting the invoice amount to the base currency.",
            "format": "decimal"
          },
          "cashDiscount": {
            "type": "number",
            "description": "The cash discount.",
            "format": "decimal",
            "nullable": true
          },
          "cashDiscountDate": {
            "type": "string",
            "description": "The cash discount date.",
            "format": "date-time",
            "nullable": true
          },
          "sumLineDiscount": {
            "type": "number",
            "description": "The sum line discount.",
            "format": "decimal",
            "nullable": true
          },
          "freightCost": {
            "type": "number",
            "description": "The freight cost.",
            "format": "decimal",
            "nullable": true
          },
          "invoiceFee": {
            "type": "number",
            "description": "The invoice fee.",
            "format": "decimal",
            "nullable": true
          },
          "costValue": {
            "type": "number",
            "description": "The cost value.",
            "format": "decimal",
            "nullable": true
          },
          "salesBalance": {
            "type": "number",
            "description": "The sales balance.",
            "format": "decimal",
            "nullable": true
          },
          "invoiceAmount": {
            "type": "number",
            "description": "The invoice amount, total amount of the invoice, including VAT.",
            "format": "decimal",
            "nullable": true
          },
          "invoiceRoundOff": {
            "type": "number",
            "description": "The invoice round off.",
            "format": "decimal",
            "nullable": true
          },
          "vatDutiable1": {
            "type": "number",
            "description": "The first VAT dutiable amount.",
            "format": "decimal",
            "nullable": true
          },
          "vatDutiable2": {
            "type": "number",
            "description": "The second VAT dutiable amount.",
            "format": "decimal",
            "nullable": true
          },
          "vatDutiable3": {
            "type": "number",
            "description": "The third VAT dutiable amount.",
            "format": "decimal",
            "nullable": true
          },
          "vat1": {
            "type": "number",
            "description": "The first VAT dutiable rate.",
            "format": "decimal",
            "nullable": true
          },
          "vat2": {
            "type": "number",
            "description": "The second VAT dutiable rate.",
            "format": "decimal",
            "nullable": true
          },
          "vat3": {
            "type": "number",
            "description": "The third VAT dutiable rate.",
            "format": "decimal",
            "nullable": true
          },
          "vatRoundOff": {
            "type": "number",
            "description": "The vat round off.",
            "format": "decimal",
            "nullable": true
          },
          "vat": {
            "type": "number",
            "description": "The VAT amount.",
            "format": "decimal",
            "nullable": true
          },
          "invoiceName": {
            "type": "string",
            "description": "The invoice name, commonly customer name.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "invoiceAttention": {
            "type": "string",
            "description": "The invoice attention.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "invoiceCareOf": {
            "type": "string",
            "description": "The invoice care of.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "invoiceAddressLine1": {
            "type": "string",
            "description": "The invoice address line1.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "invoiceAddressLine2": {
            "type": "string",
            "description": "The invoice address line2.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "invoiceZipCode": {
            "type": "string",
            "description": "The invoice zip code.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "invoiceCity": {
            "type": "string",
            "description": "The invoice city.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "invoiceRegion": {
            "type": "string",
            "description": "The invoice region.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "invoiceCountryId": {
            "type": "integer",
            "description": "The invoice country identifier.",
            "format": "int32",
            "nullable": true
          },
          "ledgerVoucher": {
            "type": "string",
            "description": "The ledger voucher, not used anymore.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "department": {
            "type": "string",
            "description": "The department, not commonly used.",
            "maxLength": 10,
            "minLength": 0,
            "nullable": true
          },
          "centre": {
            "type": "string",
            "description": "The centre, not commonly used.",
            "maxLength": 10,
            "minLength": 0,
            "nullable": true
          },
          "noteText": {
            "type": "string",
            "description": "The note text.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "lastInvoiceForOrder": {
            "type": "boolean",
            "description": "Indicates whether this is the last invoice for the order, and if the payment capture logic can close the transaction at the PSP.",
            "nullable": true
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "invoiceAddressId": {
            "type": "integer",
            "description": "The invoice address identifier.",
            "format": "int64",
            "nullable": true
          },
          "paymentMethodId": {
            "type": "integer",
            "description": "The payment method identifier.",
            "format": "int32",
            "nullable": true
          },
          "deliveryMethodId": {
            "type": "integer",
            "description": "The delivery method identifier.",
            "format": "int32",
            "nullable": true
          },
          "isDebit": {
            "type": "boolean",
            "description": "Indicates whether the invoice is debit, false when the invoice is credit and should trigger a payment credit integration.",
            "nullable": true
          },
          "creditedInvoiceId": {
            "type": "integer",
            "description": "The credited invoice identifier.",
            "format": "int64",
            "nullable": true
          },
          "comment": {
            "type": "string",
            "description": "A comment or note.",
            "maxLength": 250,
            "minLength": 0,
            "nullable": true
          },
          "isForgotten": {
            "type": "boolean",
            "description": "Indicates whether the invoice is forgotten, not commonly used."
          },
          "forgottenBy": {
            "type": "integer",
            "description": "The forgotten by, not commonly used.",
            "format": "int32",
            "nullable": true
          },
          "forgottenDate": {
            "type": "string",
            "description": "The forgotten date, not commonly used.",
            "format": "date-time",
            "nullable": true
          },
          "aggregatedInvoiceCode": {
            "type": "string",
            "description": "The aggregated invoice code, grouping multiple invoices together.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "paymentMethodCode": {
            "type": "string",
            "description": "The payment method code.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "paymentMethodName": {
            "type": "string",
            "description": "The payment method name.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "invoiceGln": {
            "type": "string",
            "description": "The invoice GLN.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "creditedInvoice": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Invoice"
              }
            ]
          },
          "inverseCreditedInvoice": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/Invoice"
            }
          },
          "address": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Address"
              }
            ]
          },
          "items": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/InvoiceItem"
            }
          },
          "referenceOrder": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Order"
              }
            ]
          }
        }
      },
      "InvoiceItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "partNo"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the invoice item.",
            "format": "int64"
          },
          "invoiceId": {
            "type": "integer",
            "description": "The invoice identifier.",
            "format": "int64"
          },
          "lineNumber": {
            "type": "number",
            "description": "The line number.",
            "format": "decimal",
            "nullable": true
          },
          "statusId": {
            "type": "integer",
            "description": "The status identifier, commonly Invoiced (5).",
            "format": "int32",
            "nullable": true
          },
          "partNo": {
            "type": "string",
            "description": "The part number.",
            "maxLength": 50,
            "minLength": 0
          },
          "externalPartNo": {
            "type": "string",
            "description": "The external part number, not commonly used.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "productName": {
            "type": "string",
            "description": "The product name.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "stockUnitOfMeasurementCount": {
            "type": "number",
            "description": "The stock unit of measurement count.",
            "format": "decimal"
          },
          "priceUnitOfMeasurementCount": {
            "type": "number",
            "description": "The price unit of measurement count.",
            "format": "decimal"
          },
          "warehouseId": {
            "type": "integer",
            "description": "The warehouse identifier, not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "locationId": {
            "type": "integer",
            "description": "The location identifier, not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "quantity": {
            "type": "integer",
            "description": "The quantity as an integer, use Quantity2 for decimal values.",
            "format": "int32"
          },
          "currencyId": {
            "type": "integer",
            "description": "The currency identifier.",
            "format": "int32"
          },
          "vatRate": {
            "type": "number",
            "description": "The VAT rate, in percent.",
            "format": "decimal"
          },
          "costUnit": {
            "type": "number",
            "description": "The cost unit.",
            "format": "decimal",
            "nullable": true
          },
          "priceSale": {
            "type": "number",
            "description": "The price sale, excluding VAT.",
            "format": "decimal",
            "nullable": true
          },
          "discountPercentage": {
            "type": "number",
            "description": "The discount percentage.",
            "format": "decimal"
          },
          "discountAmount": {
            "type": "number",
            "description": "The discount amount, excluding VAT.",
            "format": "decimal"
          },
          "lineAmount": {
            "type": "number",
            "description": "The line amount, excluding VAT.",
            "format": "decimal"
          },
          "deliveryMode": {
            "type": "string",
            "description": "The delivery mode.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "isPartDelivery": {
            "type": "boolean",
            "description": "Indicates whether the invoice item is part delivery, not commonly used."
          },
          "deliveryDate": {
            "type": "string",
            "description": "The delivery date.",
            "format": "date-time",
            "nullable": true
          },
          "salesRepContactId": {
            "type": "integer",
            "description": "The sales rep contact identifier, not commonly used.",
            "format": "int32",
            "nullable": true
          },
          "ledgerAccount": {
            "type": "string",
            "description": "The ledger account, not used anymore.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "department": {
            "type": "string",
            "description": "The department, not commonly used.",
            "maxLength": 10,
            "minLength": 0,
            "nullable": true
          },
          "centre": {
            "type": "string",
            "description": "The centre, not commonly used.",
            "maxLength": 10,
            "minLength": 0,
            "nullable": true
          },
          "transId": {
            "type": "integer",
            "description": "The trans identifier, not used anymore.",
            "format": "int64"
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "orderItemId": {
            "type": "integer",
            "description": "The order item identifier, links the invoice item to an order item.",
            "format": "int64",
            "nullable": true
          },
          "purchaseOrderItemId": {
            "type": "integer",
            "description": "The purchase order item identifier, links the invoice item to a purchase order item, not used anymore.",
            "format": "int64",
            "nullable": true
          },
          "lineNumberString": {
            "type": "string",
            "description": "The line number as string.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "priceUnit": {
            "type": "number",
            "description": "The price unit, excluding VAT, its the price sale / Unit of measurement count, commonly same as PriceSale.",
            "format": "decimal",
            "nullable": true
          },
          "quantity2": {
            "type": "number",
            "description": "The quantity in decimal value.",
            "format": "decimal",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "invoice": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Invoice"
              }
            ]
          },
          "orderItem": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/OrderItem"
              }
            ]
          }
        }
      },
      "OrderItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "partNo"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the order item.",
            "format": "int64"
          },
          "orderId": {
            "type": "integer",
            "description": "The order identifier.",
            "format": "int64"
          },
          "lineNumber": {
            "type": "number",
            "description": "The line number.",
            "format": "decimal"
          },
          "parentLineNumber": {
            "type": "number",
            "description": "The parent line number, is the line has a relationship to another line, like a bundle or an accessory grouped together in the purchase (warrantied, services, etc.).",
            "format": "decimal",
            "nullable": true
          },
          "statusId": {
            "type": "integer",
            "description": "The status identifier, common values are Created (0), Allocation (1), Confirmed (2), Delivered (4), Invoiced (5), Cancelled (6), Partly delivered (8).",
            "format": "int32"
          },
          "partNo": {
            "type": "string",
            "description": "The product part number.",
            "maxLength": 50,
            "minLength": 0
          },
          "externalPartNo": {
            "type": "string",
            "description": "The optional external part number, not commonly used.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "productName": {
            "type": "string",
            "description": "The product name.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "stockUnitOfMeasurementCount": {
            "type": "number",
            "description": "The stock unit of measurement count, should be same as unit of measurement count on the ProductSku, commonly 1.000.",
            "format": "decimal"
          },
          "priceUnitOfMeasurementCount": {
            "type": "number",
            "description": "The price unit of measurement count, should be same as unit of measurement count on the ProductSku, commonly 1.000.",
            "format": "decimal"
          },
          "warehouseId": {
            "type": "integer",
            "description": "The warehouse identifier, not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "locationId": {
            "type": "integer",
            "description": "The location identifier, not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "qtyOrdered": {
            "type": "number",
            "description": "The quantity ordered.",
            "format": "decimal"
          },
          "currencyId": {
            "type": "integer",
            "description": "The currency identifier.",
            "format": "int32"
          },
          "vatRate": {
            "type": "number",
            "description": "The VAT rate, in percent for example 25.0000 for 25%.",
            "format": "decimal"
          },
          "costUnit": {
            "type": "number",
            "description": "The unit cost, excluding VAT when order was created.",
            "format": "decimal"
          },
          "priceSale": {
            "type": "number",
            "description": "The price sale, unit price excluding VAT when order was created, including any discounts.",
            "format": "decimal"
          },
          "discountPercentage": {
            "type": "number",
            "description": "The discount percentage, from promotions only, campaign price lists are not included.",
            "format": "decimal"
          },
          "discountAmount": {
            "type": "number",
            "description": "The discount amount excluding VAT, from promotions only, campaign price lists are not included.",
            "format": "decimal"
          },
          "lineAmount": {
            "type": "number",
            "description": "The line amount, subtotal excluding VAT (PriceSale * QtyOrdered).",
            "format": "decimal"
          },
          "deliveryMode": {
            "type": "string",
            "description": "The delivery mode, not commonly used.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "isPartDelivery": {
            "type": "boolean",
            "description": "Indicates whether the order item is part delivery, can be true if quantity ordered is partly delivered by a DeliveryNote."
          },
          "expectedDeliveryDate": {
            "type": "string",
            "description": "The expected delivery date, not used anymore.",
            "format": "date-time",
            "nullable": true
          },
          "confirmedDeliveryDate": {
            "type": "string",
            "description": "The confirmed delivery date, not used anymore.",
            "format": "date-time",
            "nullable": true
          },
          "salesRepContactId": {
            "type": "integer",
            "description": "The sales rep contact identifier, not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "ledgerAccount": {
            "type": "string",
            "description": "The ledger account, not used anymore.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "department": {
            "type": "string",
            "description": "The department, not used anymore.",
            "maxLength": 10,
            "minLength": 0,
            "nullable": true
          },
          "centre": {
            "type": "string",
            "description": "The centre, not used anymore.",
            "maxLength": 10,
            "minLength": 0,
            "nullable": true
          },
          "transId": {
            "type": "integer",
            "description": "The trans identifier, not used anymore.",
            "format": "int64"
          },
          "externalStatusText": {
            "type": "string",
            "description": "The external status text, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "lineNumberString": {
            "type": "string",
            "description": "The line number in a string format.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "priceRecommended": {
            "type": "number",
            "description": "The recommended price, when order was created, commonly used as reference to undiscounted price when campaign price lists are applied to SalePrice, if null check PriceStandard instead.",
            "format": "decimal",
            "nullable": true
          },
          "priceCatalog": {
            "type": "number",
            "description": "The price catalog, when order was created.",
            "format": "decimal",
            "nullable": true
          },
          "priceStandard": {
            "type": "number",
            "description": "The Sale price from the parent price list if parent exists, when order was created, can be used as reference to undiscounted price when campaign price lists are applied to SalePrice, if PriceRecommended is null.",
            "format": "decimal",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "deliveryNoteItem": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/DeliveryNoteItem"
            }
          },
          "invoiceItem": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/InvoiceItem"
            }
          },
          "order": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Order"
              }
            ]
          },
          "infos": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/OrderItemInfo"
            }
          }
        }
      },
      "DeliveryNoteItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "partNo"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the delivery note item.",
            "format": "int64"
          },
          "deliveryNoteId": {
            "type": "integer",
            "description": "The delivery note identifier.",
            "format": "int64"
          },
          "lineNumber": {
            "type": "number",
            "description": "The line number.",
            "format": "decimal",
            "nullable": true
          },
          "partNo": {
            "type": "string",
            "description": "The part number.",
            "maxLength": 50,
            "minLength": 0
          },
          "externalPartNo": {
            "type": "string",
            "description": "The external part number, not commonly used.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "productName": {
            "type": "string",
            "description": "The product name.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "stockUnitOfMeasurementCount": {
            "type": "number",
            "description": "The stock unit of measurement count.",
            "format": "decimal"
          },
          "priceUnitOfMeasurementCount": {
            "type": "number",
            "description": "The price unit of measurement count.",
            "format": "decimal"
          },
          "qtyOrdered": {
            "type": "number",
            "description": "The quantity ordered, should be same as on Sales Order, if not, that Sales Order has probably been modified in the ERP.",
            "format": "decimal"
          },
          "quantity": {
            "type": "number",
            "description": "The quantity in the delivery.",
            "format": "decimal"
          },
          "qtyBackOrdered": {
            "type": "number",
            "description": "The quantity back ordered, goods not delivered yet on the sales order.",
            "format": "decimal"
          },
          "isPartDelivery": {
            "type": "boolean",
            "description": "Indicates whether the delivery item has only partially fulfilled the order."
          },
          "salesRepContactId": {
            "type": "integer",
            "description": "The sales rep contact identifier, not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "vatRate": {
            "type": "number",
            "description": "The VAT rate, commonly not used, check invoice or the order.",
            "format": "decimal"
          },
          "valueMst": {
            "type": "number",
            "description": "The value mst, not commonly used.",
            "format": "decimal"
          },
          "noteText": {
            "type": "string",
            "description": "The note text.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "department": {
            "type": "string",
            "description": "The department, not commonly used.",
            "maxLength": 10,
            "minLength": 0,
            "nullable": true
          },
          "centre": {
            "type": "string",
            "description": "The centre, not commonly used.",
            "maxLength": 10,
            "minLength": 0,
            "nullable": true
          },
          "transId": {
            "type": "integer",
            "description": "The trans identifier, not used anymore.",
            "format": "int32"
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "orderItemId": {
            "type": "integer",
            "description": "The order item identifier, link to the OrderItem.",
            "format": "int64",
            "nullable": true
          },
          "purchaseOrderItemId": {
            "type": "integer",
            "description": "The purchase order item identifier, not used anymore.",
            "format": "int64",
            "nullable": true
          },
          "lineNumberString": {
            "type": "string",
            "description": "The line number string.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "deliveryNote": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/DeliveryNote"
              }
            ]
          },
          "orderItem": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/OrderItem"
              }
            ]
          }
        }
      },
      "OrderItemInfo": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "value"
        ],
        "properties": {
          "orderItemId": {
            "type": "integer",
            "description": "The order item identifier.",
            "format": "int64"
          },
          "typeId": {
            "type": "integer",
            "description": "The info type identifier.",
            "format": "int32"
          },
          "value": {
            "type": "string",
            "description": "The value.",
            "minLength": 1
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time"
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "orderItem": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/OrderItem"
              }
            ]
          },
          "type": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/OrderInfoType"
              }
            ]
          }
        }
      },
      "OrderInfoType": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "code",
          "defaultName"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the order info type.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "applicationId": {
            "type": "integer",
            "description": "The application identifier.",
            "format": "int32"
          },
          "code": {
            "type": "string",
            "description": "The code of the order info type.",
            "maxLength": 50,
            "minLength": 0
          },
          "defaultName": {
            "type": "string",
            "description": "The default name of the order info type.",
            "maxLength": 50,
            "minLength": 0
          },
          "defaultDescription": {
            "type": "string",
            "description": "The default description of the order info type.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "sortOrder": {
            "type": "integer",
            "description": "The sort order for display purposes.",
            "format": "int32",
            "nullable": true
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the order info type is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "groupId": {
            "type": "integer",
            "description": "The group identifier, Order (1), OrderItem (2).",
            "format": "int32"
          },
          "orderInfo": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/OrderInfo"
            }
          },
          "cultures": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/OrderInfoTypeCulture"
            }
          },
          "orderItemInfo": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/OrderItemInfo"
            }
          }
        }
      },
      "OrderInfo": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "value"
        ],
        "properties": {
          "orderId": {
            "type": "integer",
            "description": "The order identifier.",
            "format": "int64"
          },
          "typeId": {
            "type": "integer",
            "description": "The order info type identifier.",
            "format": "int32"
          },
          "value": {
            "type": "string",
            "description": "The value.",
            "minLength": 1
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time"
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "order": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Order"
              }
            ]
          },
          "type": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/OrderInfoType"
              }
            ]
          }
        }
      },
      "OrderInfoTypeCulture": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "typeId": {
            "type": "integer",
            "description": "The info type identifier.",
            "format": "int32"
          },
          "cultureCode": {
            "type": "string",
            "description": "The culture code (e.g. en-US).",
            "maxLength": 16,
            "minLength": 0,
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "The culture specific name of the order info type.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "The culture specific description of the order info type.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "type": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/OrderInfoType"
              }
            ]
          }
        }
      },
      "DeliveryNotePackage": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "shippingNo"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the delivery note package.",
            "format": "int64"
          },
          "deliveryNoteId": {
            "type": "integer",
            "description": "The delivery note identifier.",
            "format": "int64"
          },
          "shippingNo": {
            "type": "string",
            "description": "The shipping number.",
            "maxLength": 255,
            "minLength": 0
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "statusId": {
            "type": "integer",
            "description": "The status identifier, commonly Delivered (4).",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "deliveryNote": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/DeliveryNote"
              }
            ]
          }
        }
      },
      "Quotation": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "rowId"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the quotation.",
            "format": "int32"
          },
          "applicationId": {
            "type": "integer",
            "description": "The application identifier.",
            "format": "int32"
          },
          "salesContactId": {
            "type": "integer",
            "description": "The sales contact identifier, not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "buyerAccountKey": {
            "type": "string",
            "description": "The buyer account key.",
            "format": "guid"
          },
          "buyerAccountId": {
            "type": "integer",
            "description": "The buyer account identifier.",
            "format": "int32",
            "nullable": true
          },
          "payerAccountId": {
            "type": "integer",
            "description": "The payer account identifier.",
            "format": "int32",
            "nullable": true
          },
          "payerAccountKey": {
            "type": "string",
            "description": "The payer account key.",
            "format": "guid",
            "nullable": true
          },
          "statusId": {
            "type": "integer",
            "description": "The status identifier. Basket (3), Deleted (4), Accepted (5), Ready for payment (7), Payment Accepted (8), Saved (9), Order (10), Recurring order (21), Opened for post purchase upsell (22).",
            "format": "int32"
          },
          "isPrimary": {
            "type": "boolean",
            "description": "Indicates whether the quotation is primary, not used anymore."
          },
          "name": {
            "type": "string",
            "description": "The name of the quotation, used for saved baskets.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "validTo": {
            "type": "string",
            "description": "The end date, not commonly used. Use info type instead.",
            "format": "date-time",
            "nullable": true
          },
          "isDeletable": {
            "type": "boolean",
            "description": "Indicates whether the quotation is deletable."
          },
          "comment": {
            "type": "string",
            "description": "A comment or note.",
            "maxLength": 250,
            "minLength": 0,
            "nullable": true
          },
          "rejectionReasonId": {
            "type": "integer",
            "description": "The rejection reason identifier, not commonly used.",
            "format": "int32",
            "nullable": true
          },
          "modified": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "browsed": {
            "type": "string",
            "description": "The browsed date and time, not used anymore.",
            "format": "date-time",
            "nullable": true
          },
          "paymentMethodId": {
            "type": "integer",
            "description": "The payment method identifier.",
            "format": "int32",
            "nullable": true
          },
          "deliveryMethodId": {
            "type": "integer",
            "description": "The delivery method identifier.",
            "format": "int32",
            "nullable": true
          },
          "ipAddress": {
            "type": "string",
            "description": "The ip address.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "payerFirstName": {
            "type": "string",
            "description": "The payer first name.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "payerMiddleName": {
            "type": "string",
            "description": "The payer middle name.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "payerLastName": {
            "type": "string",
            "description": "The payer last name.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "payerCellPhoneNumber": {
            "type": "string",
            "description": "The payer cell phone number.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "payerEmail": {
            "type": "string",
            "description": "The payer email.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "currencyId": {
            "type": "integer",
            "description": "The currency identifier.",
            "format": "int32"
          },
          "resellerCustomerId": {
            "type": "integer",
            "description": "The reseller customer identifier, not commonly used.",
            "format": "int32",
            "nullable": true
          },
          "isLocked": {
            "type": "boolean",
            "description": "Indicates whether the quotation is locked. When a quotation is in a locked state, it cannot be modified. This is typically used to prevent changes to a quotation that is under review or has been accepted.",
            "nullable": true
          },
          "discountCode": {
            "type": "string",
            "description": "The discount code, from the applied promotions, several codes are separated by a comma.",
            "nullable": true
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the quotation is active.",
            "nullable": true
          },
          "parentQuotationId": {
            "type": "integer",
            "description": "The parent quotation identifier, not commonly used. Used for linking to an original quotation.",
            "format": "int32",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "buyerCompanyId": {
            "type": "integer",
            "description": "The buyer company identifier.",
            "format": "int32",
            "nullable": true
          },
          "payerCompanyId": {
            "type": "integer",
            "description": "The payer company identifier.",
            "format": "int32",
            "nullable": true
          },
          "hasPaymentTransaction": {
            "type": "boolean",
            "description": "Indicates whether the quotation has payment transaction.",
            "nullable": true
          },
          "buyerFirstName": {
            "type": "string",
            "description": "The buyer first name.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "buyerMiddleName": {
            "type": "string",
            "description": "The buyer middle name.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "buyerLastName": {
            "type": "string",
            "description": "The buyer last name.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "buyerCellPhoneNumber": {
            "type": "string",
            "description": "The buyer cell phone number.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "buyerEmail": {
            "type": "string",
            "description": "The buyer email.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "customerOrderReference": {
            "type": "string",
            "description": "The customer order reference. Usually used as a note on the delivery slip, copied to DeliveryMark on the Order here in Query and is called OrderReference in the Basket model in commerce services.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time",
            "nullable": true
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32",
            "nullable": true
          },
          "referId": {
            "type": "integer",
            "description": "The refer identifier, not commonly used.",
            "format": "int32",
            "nullable": true
          },
          "referUrl": {
            "type": "string",
            "description": "The refer url, not commonly used.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "payerSocialSecurityNumber": {
            "type": "string",
            "description": "The payer social security number, not commonly used.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "buyerCustomerId": {
            "type": "integer",
            "description": "The buyer customer identifier.",
            "format": "int32",
            "nullable": true
          },
          "payerCustomerId": {
            "type": "integer",
            "description": "The payer customer identifier.",
            "format": "int32",
            "nullable": true
          },
          "shipToCustomerId": {
            "type": "integer",
            "description": "The ship to customer identifier.",
            "format": "int32",
            "nullable": true
          },
          "rowId": {
            "type": "string",
            "description": "The row identifier, concurrency token, for internal use.",
            "format": "byte",
            "minLength": 1
          },
          "deleteDate": {
            "type": "string",
            "description": "The delete date, marked for deletion at specified date.",
            "format": "date-time",
            "nullable": true
          },
          "pickupCode": {
            "type": "string",
            "description": "The pickup code.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "attestedBy": {
            "type": "integer",
            "description": "The attested by, not commonly used.",
            "format": "int32",
            "nullable": true
          },
          "modifiedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "typeId": {
            "type": "integer",
            "description": "The type identifier, normal basket (1), Saved (2), Template (3).",
            "format": "int32",
            "nullable": true
          },
          "doHold": {
            "type": "boolean",
            "description": "Indicates whether do hold is enabled, signal for manual check in ERP, not commonly used."
          },
          "deliveryMethodCode": {
            "type": "string",
            "description": "The delivery method code.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "freightPrice": {
            "type": "number",
            "description": "The freight price.",
            "format": "decimal",
            "nullable": true
          },
          "customerInvoiceReference": {
            "type": "string",
            "description": "The customer invoice reference. Usually used as a note on the invoice, copied to InvoiceMark on the Order here in Query and is called InvoiceReference in the Basket model in commerce services.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "year": {
            "type": "integer",
            "description": "Created year.",
            "format": "int32",
            "nullable": true
          },
          "week": {
            "type": "integer",
            "description": "Created week.",
            "format": "int32",
            "nullable": true
          },
          "salesAreaId": {
            "type": "integer",
            "description": "The sales area identifier.",
            "format": "int32",
            "nullable": true
          },
          "payerPhoneNumber": {
            "type": "string",
            "description": "The payer phone number.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "buyerPhoneNumber": {
            "type": "string",
            "description": "The buyer phone number.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "order": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/Order"
            }
          },
          "addresses": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/QuotationCustomerAddress"
            }
          },
          "infos": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/QuotationInfo"
            }
          },
          "items": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/QuotationItem"
            }
          }
        }
      },
      "QuotationCustomerAddress": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier.",
            "format": "int32"
          },
          "quotationId": {
            "type": "integer",
            "description": "The quotation identifier.",
            "format": "int32"
          },
          "clientCustomerAddressId": {
            "type": "integer",
            "description": "The client customer address identifier, if its saved on the customer.",
            "format": "int32",
            "nullable": true
          },
          "clientCompanyAddressId": {
            "type": "integer",
            "description": "The client company address identifier, if its saved on the company.",
            "format": "int32",
            "nullable": true
          },
          "customerId": {
            "type": "integer",
            "description": "The customer identifier.",
            "format": "int32",
            "nullable": true
          },
          "companyId": {
            "type": "integer",
            "description": "The company identifier.",
            "format": "int32",
            "nullable": true
          },
          "typeId": {
            "type": "integer",
            "description": "The type identifier, Billing address (1), Shipping address (2), Visit address (3), drop point address (4).",
            "format": "int32"
          },
          "careOf": {
            "type": "string",
            "description": "The care of.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "addressLine1": {
            "type": "string",
            "description": "The first line.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "addressLine2": {
            "type": "string",
            "description": "The second line.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "zipCode": {
            "type": "string",
            "description": "The zip code.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "city": {
            "type": "string",
            "description": "The city.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "region": {
            "type": "string",
            "description": "The region.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "countryId": {
            "type": "integer",
            "description": "The country identifier.",
            "format": "int32",
            "nullable": true
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "companyName": {
            "type": "string",
            "description": "The company name.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "firstName": {
            "type": "string",
            "description": "The first name.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "description": "The last name.",
            "maxLength": 100,
            "minLength": 0,
            "nullable": true
          },
          "cellPhoneNumber": {
            "type": "string",
            "description": "The cell phone number.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "email": {
            "type": "string",
            "description": "The email.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "shippingPhoneNumber": {
            "type": "string",
            "description": "The shipping phone number.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "gln": {
            "type": "string",
            "description": "The GLN.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "quotation": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Quotation"
              }
            ]
          }
        }
      },
      "QuotationInfo": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the quotation info.",
            "format": "int64"
          },
          "quotationId": {
            "type": "integer",
            "description": "The quotation identifier.",
            "format": "int32"
          },
          "typeId": {
            "type": "integer",
            "description": "The type identifier.",
            "format": "int32"
          },
          "value": {
            "type": "string",
            "description": "The value.",
            "nullable": true
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time"
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "quotation": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Quotation"
              }
            ]
          },
          "type": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ShoppingInfoType"
              }
            ]
          }
        }
      },
      "ShoppingInfoType": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "defaultName",
          "dataType"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the shopping info type.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "groupId": {
            "type": "integer",
            "description": "The group identifier.",
            "format": "int32"
          },
          "defaultName": {
            "type": "string",
            "description": "The default name of the shopping info type.",
            "maxLength": 50,
            "minLength": 0
          },
          "defaultDescription": {
            "type": "string",
            "description": "The default description of the shopping info type.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "dataType": {
            "type": "string",
            "description": "The data type. Contextual information for interpreting the value of the shopping info. For example, it could be 'string', 'decimal', 'date', etc.",
            "maxLength": 50,
            "minLength": 0
          },
          "defaultValue": {
            "type": "string",
            "description": "The default value.",
            "nullable": true
          },
          "sortOrder": {
            "type": "integer",
            "description": "The sort order for display purposes.",
            "format": "int32"
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the shopping info type is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "code": {
            "type": "string",
            "description": "The code of the shopping info type.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "quotationInfo": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/QuotationInfo"
            }
          },
          "quotationItemInfo": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/QuotationItemInfo"
            }
          },
          "cultures": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ShoppingInfoTypeCulture"
            }
          }
        }
      },
      "QuotationItemInfo": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the quotation item info.",
            "format": "int64"
          },
          "quotationItemId": {
            "type": "integer",
            "description": "The quotation item identifier.",
            "format": "int32"
          },
          "typeId": {
            "type": "integer",
            "description": "The type identifier.",
            "format": "int32"
          },
          "value": {
            "type": "string",
            "description": "The value.",
            "nullable": true
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time"
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "quotationItem": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/QuotationItem"
              }
            ]
          },
          "type": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ShoppingInfoType"
              }
            ]
          }
        }
      },
      "QuotationItem": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "partNo",
          "rowId"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the quotation item.",
            "format": "int32"
          },
          "quotationId": {
            "type": "integer",
            "description": "The quotation identifier.",
            "format": "int32"
          },
          "lineNumber": {
            "type": "integer",
            "description": "The line number. Should be unique within the same quotation.",
            "format": "int32"
          },
          "customerLineCode": {
            "type": "string",
            "description": "The customer line code. Optional. It can be used to store the line code from customer system for reference.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "statusId": {
            "type": "integer",
            "description": "The status identifier.",
            "format": "int32"
          },
          "partNo": {
            "type": "string",
            "description": "The part number.",
            "maxLength": 50,
            "minLength": 0
          },
          "productNameWhenCreated": {
            "type": "string",
            "description": "The product name when created.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "bundlePartno": {
            "type": "string",
            "description": "The bundle partno. If the quotation item is part of a bundle, this field indicates the partno of the bundle. Not commonly used.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "bundleTypeId": {
            "type": "integer",
            "description": "The bundle type identifier.",
            "format": "int32",
            "nullable": true
          },
          "qty": {
            "type": "integer",
            "description": "The quantity of the quotation item.",
            "format": "int32"
          },
          "onHandWhenCreated": {
            "type": "integer",
            "description": "The on hand value when created.",
            "format": "int32",
            "nullable": true
          },
          "priceSale": {
            "type": "number",
            "description": "The unit price.",
            "format": "decimal",
            "nullable": true
          },
          "priceSaleWhenCreated": {
            "type": "number",
            "description": "The unit price when created.",
            "format": "decimal",
            "nullable": true
          },
          "priceListId": {
            "type": "integer",
            "description": "The price list identifier.",
            "format": "int32"
          },
          "patternId": {
            "type": "integer",
            "description": "The pattern identifier.",
            "format": "int32",
            "nullable": true
          },
          "vatCode": {
            "type": "integer",
            "description": "The vat code.",
            "format": "int32",
            "nullable": true
          },
          "vatValue": {
            "type": "number",
            "description": "The vat amount.",
            "format": "decimal",
            "nullable": true
          },
          "promotionIdSeed": {
            "type": "string",
            "description": "The promotion id seed. Comma separated list of promotion ids. Used for tracking which promotions have been applied to the quotation item.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "campaignId": {
            "type": "integer",
            "description": "The campaign identifier. Not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "searchString": {
            "type": "string",
            "description": "The search string. Not used anymore.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "categoryItemId": {
            "type": "integer",
            "description": "The category item identifier. Not used anymore.",
            "format": "int32",
            "nullable": true
          },
          "parentPartnoId": {
            "type": "string",
            "description": "The parent partno identifier. Used when item is a child to a bundle or grouped together with other items.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "parentLineNumber": {
            "type": "integer",
            "description": "The parent line number. Used when item is a child to a bundle or grouped together with other items.",
            "format": "int32",
            "nullable": true
          },
          "comment": {
            "type": "string",
            "description": "A comment or note.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "externalData": {
            "type": "string",
            "description": "The external data. Not commonly used, info types is used instead.",
            "nullable": true
          },
          "refererId": {
            "type": "integer",
            "description": "The referer identifier. Not commonly used, info types is used instead.",
            "format": "int32",
            "nullable": true
          },
          "refererUrl": {
            "type": "string",
            "description": "The referer url.  Not commonly used, info types is used instead.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "priceReseller": {
            "type": "number",
            "description": "The price reseller.  Not commonly used, info types is used instead.",
            "format": "decimal",
            "nullable": true
          },
          "isLocked": {
            "type": "boolean",
            "description": "Indicates whether the quotation item is locked. When a quotation item is in a locked state, it cannot be modified.",
            "nullable": true
          },
          "totalPriceSaleExVat": {
            "type": "number",
            "description": "The total price sale excluding vat. Subtotal of the sale price * quantity.",
            "format": "decimal",
            "nullable": true
          },
          "totalPriceSaleIncVat": {
            "type": "number",
            "description": "The total price sale including vat. Subtotal of the sale price (including vat) * quantity.",
            "format": "decimal",
            "nullable": true
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32",
            "nullable": true
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "expectedDeliveryDate": {
            "type": "string",
            "description": "The expected delivery date. Not commonly used, info types is used instead.",
            "format": "date-time",
            "nullable": true
          },
          "requirementPromotionIdSeed": {
            "type": "string",
            "description": "Comma separated list of promotions that has this item in its requirement.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "isPriceManual": {
            "type": "boolean",
            "description": "Indicates whether the quotation item is a manual price.",
            "nullable": true
          },
          "qty2": {
            "type": "number",
            "description": "The qty2. The quantity, but supports decimal value. Not commonly used. Not commonly supported by external payment systems.",
            "format": "decimal",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "priceListLocked": {
            "type": "boolean",
            "description": "Indicates whether price list is locked on the item. Best price selection is not applied."
          },
          "rowId": {
            "type": "string",
            "description": "The row identifier. Used internally for Concurrency checks.",
            "format": "byte",
            "minLength": 1
          },
          "quotation": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Quotation"
              }
            ]
          },
          "infos": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/QuotationItemInfo"
            }
          }
        }
      },
      "ShoppingInfoTypeCulture": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "typeId": {
            "type": "integer",
            "description": "The type identifier.",
            "format": "int32"
          },
          "cultureCode": {
            "type": "string",
            "description": "The culture code (e.g. en-US).",
            "maxLength": 16,
            "minLength": 0,
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "The culture specific name of the shopping info type.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "The culture specific description of the shopping info type.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "type": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ShoppingInfoType"
              }
            ]
          }
        }
      },
      "ApplicationRoleCulture": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "applicationRoleId": {
            "type": "integer",
            "description": "The application role identifier.",
            "format": "int32"
          },
          "cultureCode": {
            "type": "string",
            "description": "The culture code (e.g. en-US).",
            "maxLength": 16,
            "minLength": 0,
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "The culture specific name of the application role.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "The culture specific description of the application role.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "applicationRole": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ApplicationRole"
              }
            ]
          }
        }
      },
      "SupplierCategoryMapping": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "categorySupplierId": {
            "type": "integer",
            "format": "int32"
          },
          "code": {
            "type": "string"
          },
          "categoryId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "categoryName": {
            "type": "string",
            "nullable": true
          },
          "productCount": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "isMapped": {
            "type": "boolean"
          },
          "clientId": {
            "type": "integer",
            "format": "int32"
          },
          "supplierId": {
            "type": "integer",
            "format": "int32"
          },
          "isActive": {
            "type": "boolean"
          }
        }
      },
      "ClientCulture": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "cultureCode": {
            "type": "string",
            "description": "The culture code (e.g. en-US).",
            "maxLength": 16,
            "minLength": 0,
            "nullable": true
          },
          "isPrimary": {
            "type": "boolean",
            "description": "Indicates whether the client culture is primary for the client."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "collation": {
            "type": "string",
            "description": "The collation.",
            "maxLength": 128,
            "minLength": 0,
            "nullable": true
          }
        }
      },
      "CurrencyClient": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "currencyId": {
            "type": "integer",
            "description": "The currency identifier.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "exchangeRate": {
            "type": "number",
            "description": "The exchange rate, conversion rate between the currency and EUR.",
            "format": "decimal",
            "nullable": true
          },
          "isPrimary": {
            "type": "boolean",
            "description": "Indicates whether the currency client is primary."
          },
          "thresholdPercent": {
            "type": "number",
            "description": "The threshold percent, used for determining when to trigger certain actions based on the currency value, currently not used.",
            "format": "decimal",
            "nullable": true
          },
          "schedule": {
            "type": "string",
            "description": "The schedule, defining the timing or frequency of currency updates, currently not used.",
            "maxLength": 1000,
            "minLength": 0,
            "nullable": true
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "SupplierManufacturerMapping": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "clientId": {
            "type": "integer",
            "format": "int32"
          },
          "supplierId": {
            "type": "integer",
            "format": "int32"
          },
          "manufacturerSupplierId": {
            "type": "integer",
            "format": "int32"
          },
          "code": {
            "type": "string"
          },
          "productCount": {
            "type": "integer",
            "format": "int32"
          },
          "isActive": {
            "type": "boolean"
          }
        }
      },
      "SingleResultOfClientManufacturer": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SingleResult"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "queryable": {
                "type": "array",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/ClientManufacturer"
                }
              }
            }
          }
        ]
      },
      "SingleResultOfClientSupplier": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SingleResult"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "queryable": {
                "type": "array",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/ClientSupplier"
                }
              }
            }
          }
        ]
      },
      "FileInfo": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "fileId": {
            "type": "integer",
            "description": "The file type identifier.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "code": {
            "type": "string",
            "description": "The code of the file type.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "sortOrder": {
            "type": "integer",
            "description": "The sort order for display purposes.",
            "format": "int32",
            "nullable": true
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time"
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32"
          }
        }
      },
      "ClientSalesArea": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "salesAreaId": {
            "type": "integer",
            "description": "The sales area identifier.",
            "format": "int32"
          },
          "isPrimary": {
            "type": "boolean",
            "description": "Indicates whether the client sales area is primary, default for the client, only one can be primary for the client."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "code": {
            "type": "string",
            "description": "The code of the client sales area.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "clientSalesAreaVatCode": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientSalesAreaVatCode"
            }
          }
        }
      },
      "ClientSalesAreaVatCode": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "salesAreaId": {
            "type": "integer",
            "description": "The sales area identifier.",
            "format": "int32"
          },
          "vatCodeId": {
            "type": "integer",
            "description": "The vat code identifier.",
            "format": "int32"
          },
          "isPrimary": {
            "type": "boolean",
            "description": "Indicates whether the client sales area vat code is primary, and is used as default when not overridden on category or product level."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "clientSalesArea": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ClientSalesArea"
              }
            ]
          }
        }
      },
      "ProductRelationType": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "code",
          "defaultName"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique identifier of the product relation type.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "code": {
            "type": "string",
            "description": "The code of the product relation type.",
            "maxLength": 50,
            "minLength": 0
          },
          "defaultName": {
            "type": "string",
            "description": "The default name of the product relation type.",
            "maxLength": 50,
            "minLength": 0
          },
          "defaultDescription": {
            "type": "string",
            "description": "The default description of the product relation type.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "isBidirectional": {
            "type": "boolean",
            "description": "Indicates whether the product relation type is bidirectional."
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the product relation type is active."
          },
          "sortOrder": {
            "type": "integer",
            "description": "The sort order for display purposes.",
            "format": "int32",
            "nullable": true
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "cultures": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ProductRelationTypeCulture"
            }
          }
        }
      },
      "ProductRelationTypeCulture": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "typeId": {
            "type": "integer",
            "description": "The relation type identifier.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "cultureCode": {
            "type": "string",
            "description": "The culture code (e.g. en-US).",
            "maxLength": 16,
            "minLength": 0,
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "The culture specific name of the product relation type.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "The culture specific description of the product relation type.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "type": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ProductRelationType"
              }
            ]
          }
        }
      },
      "ClientProductSkuTypeClient": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "typeId": {
            "type": "integer",
            "description": "The type identifier.",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "The name of the client product sku type for the client.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "The description of the client product sku type for the client.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "sortOrder": {
            "type": "integer",
            "description": "The sort order for display purposes.",
            "format": "int32",
            "nullable": true
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "cultures": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientProductSkuTypeCulture"
            }
          }
        }
      },
      "ClientProductSkuTypeCulture": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32"
          },
          "typeId": {
            "type": "integer",
            "description": "The type identifier.",
            "format": "int32"
          },
          "cultureCode": {
            "type": "string",
            "description": "The culture code (e.g. en-US).",
            "maxLength": 16,
            "minLength": 0,
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "The culture specific name of the client product sku type.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "The culture specific description of the client product sku type.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "clientProductSkuTypeClient": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ClientProductSkuTypeClient"
              }
            ]
          }
        }
      },
      "Application": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "name"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "key": {
            "type": "string",
            "format": "guid"
          },
          "name": {
            "type": "string",
            "maxLength": 50,
            "minLength": 0
          },
          "description": {
            "type": "string",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "url": {
            "type": "string",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "cmsUrl": {
            "type": "string",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "salesUrl": {
            "type": "string",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "senderEmailAddress": {
            "type": "string",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "hostClientId": {
            "type": "integer",
            "format": "int32"
          },
          "isActive": {
            "type": "boolean"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "urlMatch": {
            "type": "string",
            "maxLength": 4000,
            "minLength": 0,
            "nullable": true
          },
          "parentId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "imageKey": {
            "type": "string",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "productUrl": {
            "type": "string",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "client": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Client"
              }
            ]
          }
        }
      },
      "Client": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "key": {
            "type": "string",
            "format": "guid"
          },
          "hostId": {
            "type": "integer",
            "format": "int32"
          },
          "corporationId": {
            "type": "integer",
            "format": "int32"
          },
          "isActive": {
            "type": "boolean"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "secretKey": {
            "type": "string",
            "format": "guid"
          },
          "applicationEnvironment": {
            "type": "string",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "slug": {
            "type": "string",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "merchant": {
            "type": "string",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "applications": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/Application"
            }
          },
          "clientHost": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ClientHost"
              }
            ]
          }
        }
      },
      "ClientHost": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "key": {
            "type": "string",
            "format": "guid"
          },
          "clientId": {
            "type": "integer",
            "format": "int32"
          },
          "isActive": {
            "type": "boolean"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "clients": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/Client"
            }
          }
        }
      },
      "SingleResultOfApplication": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SingleResult"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "queryable": {
                "type": "array",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/Application"
                }
              }
            }
          }
        ]
      },
      "Currency": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "code",
          "defaultName"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "code": {
            "type": "string",
            "maxLength": 3,
            "minLength": 0
          },
          "defaultName": {
            "type": "string",
            "maxLength": 50,
            "minLength": 0
          },
          "exchangeRate": {
            "type": "number",
            "format": "decimal"
          },
          "defaultPrefix": {
            "type": "string",
            "maxLength": 10,
            "minLength": 0,
            "nullable": true
          },
          "defaultSuffix": {
            "type": "string",
            "maxLength": 10,
            "minLength": 0,
            "nullable": true
          },
          "isActive": {
            "type": "boolean"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "SingleResultOfCurrency": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SingleResult"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "queryable": {
                "type": "array",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/Currency"
                }
              }
            }
          }
        ]
      },
      "File": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "defaultName"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "defaultName": {
            "type": "string",
            "maxLength": 50,
            "minLength": 0
          },
          "defaultDescription": {
            "type": "string",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "typeId": {
            "type": "integer",
            "format": "int32"
          },
          "defaultPixelWidth": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "defaultPixelHeight": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "defaultMaxSize": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "defaultThumbnailPixelWidth": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "defaultThumbnailPixelHeight": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "defaultThumbnailMaxSize": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "isHidden": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "type": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/FileType"
              }
            ]
          }
        }
      },
      "FileType": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "extension",
          "mimeType"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "extension": {
            "type": "string",
            "maxLength": 50,
            "minLength": 0
          },
          "mimeType": {
            "type": "string",
            "maxLength": 100,
            "minLength": 0
          },
          "isActive": {
            "type": "boolean"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "files": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/File"
            }
          }
        }
      },
      "SalesArea": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "defaultName"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "defaultName": {
            "type": "string",
            "maxLength": 50,
            "minLength": 0
          },
          "defaultDescription": {
            "type": "string",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "defaultCurrencyId": {
            "type": "integer",
            "format": "int32"
          },
          "defaultVatCodeId": {
            "type": "integer",
            "format": "int32"
          },
          "isActive": {
            "type": "boolean"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "defaultVatCode": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/VatCode"
              }
            ]
          }
        }
      },
      "VatCode": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "defaultName"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "defaultName": {
            "type": "string",
            "maxLength": 50,
            "minLength": 0
          },
          "defaultDescription": {
            "type": "string",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "value": {
            "type": "number",
            "format": "decimal"
          },
          "isActive": {
            "type": "boolean"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "salesArea": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/SalesArea"
            }
          }
        }
      },
      "SingleResultOfSalesArea": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SingleResult"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "queryable": {
                "type": "array",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/SalesArea"
                }
              }
            }
          }
        ]
      },
      "ClientProductSkuStatus": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "defaultName"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "defaultName": {
            "type": "string",
            "maxLength": 50,
            "minLength": 0
          },
          "defaultDescription": {
            "type": "string",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "isActive": {
            "type": "boolean"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "SingleResultOfClientProductSkuStatus": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SingleResult"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "queryable": {
                "type": "array",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/ClientProductSkuStatus"
                }
              }
            }
          }
        ]
      },
      "SingleResultOfVatCode": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SingleResult"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "queryable": {
                "type": "array",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/VatCode"
                }
              }
            }
          }
        ]
      },
      "Country": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "code",
          "defaultName"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "code": {
            "type": "string",
            "maxLength": 3,
            "minLength": 0
          },
          "defaultName": {
            "type": "string",
            "maxLength": 50,
            "minLength": 0
          },
          "phoneAreaCode": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "isActive": {
            "type": "boolean"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "cultures": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CountryCulture"
            }
          }
        }
      },
      "CountryCulture": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "name"
        ],
        "properties": {
          "countryId": {
            "type": "integer",
            "format": "int32"
          },
          "cultureCode": {
            "type": "string",
            "maxLength": 16,
            "minLength": 0,
            "nullable": true
          },
          "name": {
            "type": "string",
            "maxLength": 50,
            "minLength": 0
          },
          "updated": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "country": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Country"
              }
            ]
          }
        }
      },
      "SingleResultOfCountry": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SingleResult"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "queryable": {
                "type": "array",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/Country"
                }
              }
            }
          }
        ]
      },
      "DeliveryMethod": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "defaultName"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "deliveryServiceId": {
            "type": "integer",
            "format": "int32"
          },
          "deliveryMethodTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "defaultName": {
            "type": "string",
            "maxLength": 50,
            "minLength": 0
          },
          "defaultDescription": {
            "type": "string",
            "nullable": true
          },
          "defaultLogoPath": {
            "type": "string",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "defaultLogoKey": {
            "type": "string",
            "format": "guid",
            "nullable": true
          },
          "deliveryMethodType": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/DeliveryMethodType"
              }
            ]
          },
          "deliveryService": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/DeliveryService"
              }
            ]
          }
        }
      },
      "DeliveryMethodType": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "defaultName"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "defaultName": {
            "type": "string",
            "maxLength": 50,
            "minLength": 0
          },
          "defaultDescription": {
            "type": "string",
            "nullable": true
          },
          "defaultLogoPath": {
            "type": "string",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "defaultLogoKey": {
            "type": "string",
            "format": "guid",
            "nullable": true
          },
          "deliveryMethod": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/DeliveryMethod"
            }
          }
        }
      },
      "DeliveryService": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "defaultName"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "defaultName": {
            "type": "string",
            "maxLength": 50,
            "minLength": 0
          },
          "defaultDescription": {
            "type": "string",
            "nullable": true
          },
          "defaultLogoPath": {
            "type": "string",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "trackingUrl": {
            "type": "string",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "defaultLogoKey": {
            "type": "string",
            "format": "guid",
            "nullable": true
          },
          "deliveryMethod": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/DeliveryMethod"
            }
          }
        }
      },
      "PaymentMethod": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "defaultName"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "paymentMethodTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "defaultName": {
            "type": "string",
            "maxLength": 50,
            "minLength": 0
          },
          "defaultDescription": {
            "type": "string",
            "nullable": true
          },
          "logoPath": {
            "type": "string",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "sortOrder": {
            "type": "integer",
            "format": "int32"
          },
          "isPartialPayment": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "format": "int32"
          },
          "logoKey": {
            "type": "string",
            "format": "guid",
            "nullable": true
          }
        }
      },
      "ProductInfoTypeGroup": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "defaultName"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "defaultName": {
            "type": "string",
            "maxLength": 50,
            "minLength": 0
          },
          "defaultDescription": {
            "type": "string",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "ClientProductSkuType": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "defaultName"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "defaultName": {
            "type": "string",
            "maxLength": 50,
            "minLength": 0
          },
          "defaultDescription": {
            "type": "string",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "groupId": {
            "type": "integer",
            "format": "int32"
          },
          "defaultSortOrder": {
            "type": "integer",
            "format": "int32"
          },
          "isActive": {
            "type": "boolean"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "isPublic": {
            "type": "boolean"
          },
          "group": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ClientProductSkuTypeGroup"
              }
            ]
          }
        }
      },
      "ClientProductSkuTypeGroup": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "defaultName"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "defaultName": {
            "type": "string",
            "maxLength": 50,
            "minLength": 0
          },
          "defaultDescription": {
            "type": "string",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "clientProductSkuType": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ClientProductSkuType"
            }
          }
        }
      },
      "SingleResultOfClientCustomer": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SingleResult"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "queryable": {
                "type": "array",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/ClientCustomer"
                }
              }
            }
          }
        ]
      },
      "SingleResultOfClientCompany": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SingleResult"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "queryable": {
                "type": "array",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/ClientCompany"
                }
              }
            }
          }
        ]
      },
      "SingleResultOfClientProductSku": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SingleResult"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "queryable": {
                "type": "array",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/ClientProductSku"
                }
              }
            }
          }
        ]
      },
      "SingleResultOfProduct": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SingleResult"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "queryable": {
                "type": "array",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/Product"
                }
              }
            }
          }
        ]
      },
      "ProductAccessory": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "productId": {
            "type": "integer",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "format": "int32"
          },
          "accessoryProductId": {
            "type": "integer",
            "format": "int32"
          },
          "typeId": {
            "type": "integer",
            "format": "int32"
          },
          "sortOrder": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "populationRuleId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "isActive": {
            "type": "boolean"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "isProductVariantUnique": {
            "type": "boolean"
          },
          "isAccessoryProductVariantUnique": {
            "type": "boolean"
          },
          "cultures": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductAccessoryCulture"
            }
          }
        }
      },
      "ProductAccessoryCulture": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "productId": {
            "type": "integer",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "format": "int32"
          },
          "accessoryProductId": {
            "type": "integer",
            "format": "int32"
          },
          "cultureCode": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "subHeader": {
            "type": "string",
            "nullable": true
          },
          "subDescription": {
            "type": "string",
            "nullable": true
          },
          "descriptionHeader": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "updated": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "ProductCrossell": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "productId": {
            "type": "integer",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "format": "int32"
          },
          "crossellProductId": {
            "type": "integer",
            "format": "int32"
          },
          "sortOrder": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "populationRuleId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "isActive": {
            "type": "boolean"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "isProductVariantUnique": {
            "type": "boolean"
          },
          "isCrossellProductVariantUnique": {
            "type": "boolean"
          }
        }
      },
      "ProductUpsell": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "productId": {
            "type": "integer",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "format": "int32"
          },
          "upsellProductId": {
            "type": "integer",
            "format": "int32"
          },
          "defaultDescription": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "populationRuleId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "isActive": {
            "type": "boolean"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "isProductVariantUnique": {
            "type": "boolean"
          },
          "isUpsellProductVariantUnique": {
            "type": "boolean"
          },
          "cultures": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductUpsellCulture"
            }
          }
        }
      },
      "ProductUpsellCulture": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "productId": {
            "type": "integer",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "format": "int32"
          },
          "upsellProductId": {
            "type": "integer",
            "format": "int32"
          },
          "cultureCode": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "updated": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "ApplicationDeliveryMethod": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "applicationId": {
            "type": "integer",
            "description": "The application identifier.",
            "format": "int32"
          },
          "deliveryMethodId": {
            "type": "integer",
            "description": "The delivery method identifier.",
            "format": "int32"
          },
          "code": {
            "type": "string",
            "description": "The code of the application delivery method.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "onlyCompanies": {
            "type": "boolean",
            "description": "Indicates whether only companies is enabled for the method, no support for B2C."
          },
          "onlyNotCompanies": {
            "type": "boolean",
            "description": "Indicates whether companies are disabled for the method, no support for B2B."
          },
          "hasLocations": {
            "type": "boolean",
            "description": "Indicates whether the application delivery method has location requirements."
          },
          "hasCustomerFlags": {
            "type": "boolean",
            "description": "Indicates whether the application delivery method has customer flag requirements."
          },
          "hasPaymentMethods": {
            "type": "boolean",
            "description": "Indicates whether the application delivery method has payment method requirements."
          },
          "hasDeliveryNotification": {
            "type": "boolean",
            "description": "Indicates whether the application delivery method has delivery notification. Not commonly used."
          },
          "availableAsDropShip": {
            "type": "boolean",
            "description": "Indicates whether available as drop ship is enabled."
          },
          "allowDangerousGoods": {
            "type": "boolean",
            "description": "Indicates whether dangerous goods is allowed."
          },
          "currencyId": {
            "type": "integer",
            "description": "The currency identifier.",
            "format": "int32",
            "nullable": true
          },
          "maxOrderProductValue": {
            "type": "number",
            "description": "The max order product value.",
            "format": "decimal",
            "nullable": true
          },
          "maxWeight": {
            "type": "number",
            "description": "The max weight.",
            "format": "decimal",
            "nullable": true
          },
          "maxWidth": {
            "type": "number",
            "description": "The max width.",
            "format": "decimal",
            "nullable": true
          },
          "maxHeight": {
            "type": "number",
            "description": "The max height.",
            "format": "decimal",
            "nullable": true
          },
          "maxDepth": {
            "type": "number",
            "description": "The max depth.",
            "format": "decimal",
            "nullable": true
          },
          "maxGirth": {
            "type": "number",
            "description": "The max girth.",
            "format": "decimal",
            "nullable": true
          },
          "maxVolume": {
            "type": "number",
            "description": "The max volume.",
            "format": "decimal",
            "nullable": true
          },
          "maxUnits": {
            "type": "number",
            "description": "The max units.",
            "format": "decimal",
            "nullable": true
          },
          "minTemp": {
            "type": "number",
            "description": "The min temp.",
            "format": "decimal",
            "nullable": true
          },
          "maxTemp": {
            "type": "number",
            "description": "The max temp.",
            "format": "decimal",
            "nullable": true
          },
          "useVolumeWeight": {
            "type": "boolean",
            "description": "Indicates whether volume weight is used."
          },
          "useLargestWeight": {
            "type": "boolean",
            "description": "Indicates whether largest weight is used."
          },
          "volumeWeightFactor": {
            "type": "number",
            "description": "The volume weight factor.",
            "format": "decimal",
            "nullable": true
          },
          "isStackable": {
            "type": "boolean",
            "description": "Indicates whether the application delivery method is stackable."
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the application delivery method is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "maxVolumeWeight": {
            "type": "number",
            "description": "The max volume weight.",
            "format": "decimal",
            "nullable": true
          },
          "hasSkuTypes": {
            "type": "boolean",
            "description": "Indicates whether the application delivery method has sku types as requirements."
          },
          "areSkuTypesForced": {
            "type": "boolean",
            "description": "Indicates whether sku types are forced."
          },
          "sortOrder": {
            "type": "integer",
            "description": "The sort order for display purposes.",
            "format": "int32",
            "nullable": true
          },
          "minOrderProductValue": {
            "type": "number",
            "description": "The min order product value.",
            "format": "decimal",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "cultures": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/DeliveryMethodCulture"
            }
          }
        }
      },
      "DeliveryMethodCulture": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "deliveryMethodId": {
            "type": "integer",
            "description": "The delivery method identifier.",
            "format": "int32"
          },
          "applicationId": {
            "type": "integer",
            "description": "The application identifier.",
            "format": "int32"
          },
          "cultureCode": {
            "type": "string",
            "description": "The culture code (e.g. en-US).",
            "maxLength": 16,
            "minLength": 0,
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "The culture specific name of the delivery method.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "The culture specific description of the delivery method.",
            "nullable": true
          },
          "logoPath": {
            "type": "string",
            "description": "The logo path, not used anymore.",
            "maxLength": 255,
            "minLength": 0,
            "nullable": true
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "logoKey": {
            "type": "string",
            "description": "The logo key, not commonly used.",
            "format": "guid",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "applicationDeliveryMethod": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ApplicationDeliveryMethod"
              }
            ]
          }
        }
      },
      "ApplicationPaymentMethod": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "applicationId": {
            "type": "integer",
            "description": "The application identifier.",
            "format": "int32"
          },
          "paymentServiceId": {
            "type": "integer",
            "description": "The payment service identifier.",
            "format": "int32"
          },
          "paymentMethodId": {
            "type": "integer",
            "description": "The payment method identifier.",
            "format": "int32"
          },
          "onlyCompanies": {
            "type": "boolean",
            "description": "Indicates whether only companies is enabled for the method, no support for B2C."
          },
          "onlyNotCompanies": {
            "type": "boolean",
            "description": "Indicates whether companies are disabled for the method, no support for B2B."
          },
          "hasDeliveryMethods": {
            "type": "boolean",
            "description": "Indicates whether the application payment method has delivery methods as requirement."
          },
          "hasDivisions": {
            "type": "boolean",
            "description": "Indicates whether the application payment method has divisions (stores) as requirement."
          },
          "hasFields": {
            "type": "boolean",
            "description": "Indicates whether the application payment method has fields restrictions as requirement."
          },
          "currencyId": {
            "type": "integer",
            "description": "The currency identifier.",
            "format": "int32",
            "nullable": true
          },
          "minOrderValue": {
            "type": "number",
            "description": "The min order value.",
            "format": "decimal",
            "nullable": true
          },
          "maxOrderValue": {
            "type": "number",
            "description": "The max order value.",
            "format": "decimal",
            "nullable": true
          },
          "fee": {
            "type": "number",
            "description": "The fee.",
            "format": "decimal"
          },
          "feeVatRate": {
            "type": "number",
            "description": "The fee vat rate.",
            "format": "decimal"
          },
          "code": {
            "type": "string",
            "description": "The code of the application payment method.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "externalPartnerCode": {
            "type": "string",
            "description": "The external partner code.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "partNo": {
            "type": "string",
            "description": "The part number.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "sortOrder": {
            "type": "integer",
            "description": "The sort order for display purposes.",
            "format": "int32",
            "nullable": true
          },
          "isActive": {
            "type": "boolean",
            "description": "Indicates whether the application payment method is active."
          },
          "created": {
            "type": "string",
            "description": "The date and time the record was created.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The identifier of the user who created the record.",
            "format": "int32"
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32",
            "nullable": true
          },
          "isRecurrable": {
            "type": "boolean",
            "description": "Indicates whether the application payment method can be used for recurring payments.",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "cultures": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/PaymentMethodCulture"
            }
          }
        }
      },
      "PaymentMethodCulture": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "paymentMethodId": {
            "type": "integer",
            "description": "The payment method identifier.",
            "format": "int32"
          },
          "applicationId": {
            "type": "integer",
            "description": "The application identifier.",
            "format": "int32"
          },
          "cultureCode": {
            "type": "string",
            "description": "The culture code (e.g. en-US).",
            "maxLength": 16,
            "minLength": 0,
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "The culture specific name of the payment method.",
            "maxLength": 50,
            "minLength": 0,
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "The culture specific description of the payment method.",
            "nullable": true
          },
          "logoPath": {
            "type": "string",
            "description": "The culture specific logo path, not commonly used.",
            "maxLength": 500,
            "minLength": 0,
            "nullable": true
          },
          "updated": {
            "type": "string",
            "description": "The date and time the record was last updated.",
            "format": "date-time",
            "nullable": true
          },
          "updatedBy": {
            "type": "integer",
            "description": "The identifier of the user who last updated the record.",
            "format": "int32"
          },
          "logoKey": {
            "type": "string",
            "description": "The culture specific logo key, not commonly used.",
            "format": "guid",
            "nullable": true
          },
          "clientId": {
            "type": "integer",
            "description": "The client identifier.",
            "format": "int32",
            "nullable": true
          },
          "applicationPaymentMethod": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ApplicationPaymentMethod"
              }
            ]
          }
        }
      },
      "IEdmModel": {
        "type": "object",
        "x-abstract": true,
        "additionalProperties": false,
        "properties": {
          "schemaElements": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/IEdmSchemaElement"
            }
          },
          "vocabularyAnnotations": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/IEdmVocabularyAnnotation"
            }
          },
          "referencedModels": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/IEdmModel"
            }
          },
          "declaredNamespaces": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "directValueAnnotationsManager": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/IEdmDirectValueAnnotationsManager"
              }
            ]
          },
          "entityContainer": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/IEdmEntityContainer"
              }
            ]
          }
        }
      },
      "IEdmSchemaElement": {
        "type": "object",
        "x-abstract": true,
        "additionalProperties": false,
        "properties": {
          "schemaElementKind": {
            "$ref": "#/components/schemas/EdmSchemaElementKind"
          },
          "namespace": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EdmSchemaElementKind": {
        "type": "integer",
        "description": "",
        "x-enumNames": [
          "None",
          "TypeDefinition",
          "Term",
          "Action",
          "EntityContainer",
          "Function"
        ],
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5
        ]
      },
      "IEdmVocabularyAnnotation": {
        "type": "object",
        "x-abstract": true,
        "additionalProperties": false,
        "properties": {
          "qualifier": {
            "type": "string",
            "nullable": true
          },
          "term": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/IEdmTerm"
              }
            ]
          },
          "target": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/IEdmVocabularyAnnotatable"
              }
            ]
          },
          "value": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/IEdmExpression"
              }
            ]
          },
          "usesDefault": {
            "type": "boolean"
          }
        }
      },
      "IEdmTerm": {
        "type": "object",
        "x-abstract": true,
        "additionalProperties": false,
        "properties": {
          "type": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/IEdmTypeReference"
              }
            ]
          },
          "appliesTo": {
            "type": "string",
            "nullable": true
          },
          "defaultValue": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "IEdmTypeReference": {
        "type": "object",
        "x-abstract": true,
        "additionalProperties": false,
        "properties": {
          "isNullable": {
            "type": "boolean"
          },
          "definition": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/IEdmType"
              }
            ]
          }
        }
      },
      "IEdmType": {
        "type": "object",
        "x-abstract": true,
        "additionalProperties": false,
        "properties": {
          "typeKind": {
            "$ref": "#/components/schemas/EdmTypeKind"
          }
        }
      },
      "EdmTypeKind": {
        "type": "integer",
        "description": "",
        "x-enumNames": [
          "None",
          "Primitive",
          "Entity",
          "Complex",
          "Collection",
          "EntityReference",
          "Enum",
          "TypeDefinition",
          "Untyped",
          "Path"
        ],
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9
        ]
      },
      "IEdmVocabularyAnnotatable": {
        "type": "object",
        "x-abstract": true,
        "additionalProperties": false
      },
      "IEdmExpression": {
        "type": "object",
        "x-abstract": true,
        "additionalProperties": false,
        "properties": {
          "expressionKind": {
            "$ref": "#/components/schemas/EdmExpressionKind"
          }
        }
      },
      "EdmExpressionKind": {
        "type": "integer",
        "description": "",
        "x-enumNames": [
          "None",
          "BinaryConstant",
          "BooleanConstant",
          "DateTimeOffsetConstant",
          "DecimalConstant",
          "FloatingConstant",
          "GuidConstant",
          "IntegerConstant",
          "StringConstant",
          "DurationConstant",
          "Null",
          "Record",
          "Collection",
          "Path",
          "If",
          "Cast",
          "IsOf",
          "FunctionApplication",
          "LabeledExpressionReference",
          "Labeled",
          "PropertyPath",
          "NavigationPropertyPath",
          "DateConstant",
          "TimeOfDayConstant",
          "EnumMember",
          "AnnotationPath"
        ],
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12,
          13,
          14,
          15,
          16,
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25
        ]
      },
      "IEdmDirectValueAnnotationsManager": {
        "type": "object",
        "x-abstract": true,
        "additionalProperties": false
      },
      "IEdmEntityContainer": {
        "type": "object",
        "x-abstract": true,
        "additionalProperties": false,
        "properties": {
          "elements": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/IEdmEntityContainerElement"
            }
          }
        }
      },
      "IEdmEntityContainerElement": {
        "type": "object",
        "x-abstract": true,
        "additionalProperties": false,
        "properties": {
          "containerElementKind": {
            "$ref": "#/components/schemas/EdmContainerElementKind"
          },
          "container": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/IEdmEntityContainer"
              }
            ]
          }
        }
      },
      "EdmContainerElementKind": {
        "type": "integer",
        "description": "",
        "x-enumNames": [
          "None",
          "EntitySet",
          "ActionImport",
          "FunctionImport",
          "Singleton"
        ],
        "enum": [
          0,
          1,
          2,
          3,
          4
        ]
      },
      "ODataServiceDocument": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ODataAnnotatable"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "entitySets": {
                "type": "array",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/ODataEntitySetInfo"
                }
              },
              "singletons": {
                "type": "array",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/ODataSingletonInfo"
                }
              },
              "functionImports": {
                "type": "array",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/ODataFunctionImportInfo"
                }
              }
            }
          }
        ]
      },
      "ODataEntitySetInfo": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ODataServiceDocumentElement"
          },
          {
            "type": "object",
            "additionalProperties": false
          }
        ]
      },
      "ODataServiceDocumentElement": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ODataAnnotatable"
          },
          {
            "type": "object",
            "x-abstract": true,
            "additionalProperties": false,
            "properties": {
              "url": {
                "type": "string",
                "format": "uri",
                "nullable": true
              },
              "name": {
                "type": "string",
                "nullable": true
              },
              "title": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "ODataAnnotatable": {
        "type": "object",
        "x-abstract": true,
        "additionalProperties": false,
        "properties": {
          "typeAnnotation": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ODataTypeAnnotation"
              }
            ]
          }
        }
      },
      "ODataTypeAnnotation": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "typeName": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/IEdmType"
              }
            ]
          }
        }
      },
      "ODataSingletonInfo": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ODataServiceDocumentElement"
          },
          {
            "type": "object",
            "additionalProperties": false
          }
        ]
      },
      "ODataFunctionImportInfo": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ODataServiceDocumentElement"
          },
          {
            "type": "object",
            "additionalProperties": false
          }
        ]
      }
    }
  }
}