{
  "openapi": "3.0.1",
  "info": {
    "title": "XDPeople.Soba.WebAPI",
    "version": "1.0"
  },
  "paths": {
    "/gateway/account-category": {
      "post": {
        "tags": [
          "AccountCategory"
        ],
        "summary": "Creates a new account category.",
        "requestBody": {
          "description": "The account category data transfer object.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountCategoryDTO"
              },
              "example": {
                "id": 1,
                "name": "Vendas",
                "description": "Receitas provenientes de vendas",
                "idParent": 0,
                "pictureId": "00000000-0000-0000-0000-000000000000",
                "thumbId": "00000000-0000-0000-0000-000000000000",
                "hasChildren": false
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountCategoryDTO"
              },
              "example": {
                "id": 1,
                "name": "Vendas",
                "description": "Receitas provenientes de vendas",
                "idParent": 0,
                "pictureId": "00000000-0000-0000-0000-000000000000",
                "thumbId": "00000000-0000-0000-0000-000000000000",
                "hasChildren": false
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AccountCategoryDTO"
              },
              "example": {
                "id": 1,
                "name": "Vendas",
                "description": "Receitas provenientes de vendas",
                "idParent": 0,
                "pictureId": "00000000-0000-0000-0000-000000000000",
                "thumbId": "00000000-0000-0000-0000-000000000000",
                "hasChildren": false
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "AccountCategory"
        ],
        "summary": "Gets all account categories with optional pagination.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of records per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AccountCategoryListDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 201,
                      "name": "Matérias-primas",
                      "description": "Compras de matérias para produção.",
                      "idParent": 20
                    },
                    {
                      "id": 202,
                      "name": "Mercadorias para revenda",
                      "description": "Stocks para venda ao público.",
                      "idParent": 20
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountCategoryListDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 201,
                      "name": "Matérias-primas",
                      "description": "Compras de matérias para produção.",
                      "idParent": 20
                    },
                    {
                      "id": 202,
                      "name": "Mercadorias para revenda",
                      "description": "Stocks para venda ao público.",
                      "idParent": 20
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountCategoryListDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 201,
                      "name": "Matérias-primas",
                      "description": "Compras de matérias para produção.",
                      "idParent": 20
                    },
                    {
                      "id": 202,
                      "name": "Mercadorias para revenda",
                      "description": "Stocks para venda ao público.",
                      "idParent": 20
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/account-category/{accountCategoryId}/budgets/{year}": {
      "get": {
        "tags": [
          "AccountCategory"
        ],
        "summary": "Gets the budget for a specific account category and year.",
        "parameters": [
          {
            "name": "accountCategoryId",
            "in": "path",
            "description": "The account category ID.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "year",
            "in": "path",
            "description": "The year to retrieve the budget for.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BudgetDTO"
                  }
                },
                "example": [
                  {
                    "id": 1,
                    "budgetId": 1,
                    "year": 2026,
                    "entityId": 10,
                    "entityName": "61 — CMV",
                    "entityDescription": "Custo das mercadorias vendidas",
                    "monthlyAmounts": {},
                    "secundaryId": null
                  },
                  {
                    "id": 2,
                    "budgetId": 2,
                    "year": 2026,
                    "entityId": 11,
                    "entityName": "71 — Vendas",
                    "entityDescription": "Receita de vendas",
                    "monthlyAmounts": {},
                    "secundaryId": null
                  }
                ]
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BudgetDTO"
                  }
                },
                "example": [
                  {
                    "id": 1,
                    "budgetId": 1,
                    "year": 2026,
                    "entityId": 10,
                    "entityName": "61 — CMV",
                    "entityDescription": "Custo das mercadorias vendidas",
                    "monthlyAmounts": {},
                    "secundaryId": null
                  },
                  {
                    "id": 2,
                    "budgetId": 2,
                    "year": 2026,
                    "entityId": 11,
                    "entityName": "71 — Vendas",
                    "entityDescription": "Receita de vendas",
                    "monthlyAmounts": {},
                    "secundaryId": null
                  }
                ]
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BudgetDTO"
                  }
                },
                "example": [
                  {
                    "id": 1,
                    "budgetId": 1,
                    "year": 2026,
                    "entityId": 10,
                    "entityName": "61 — CMV",
                    "entityDescription": "Custo das mercadorias vendidas",
                    "monthlyAmounts": {},
                    "secundaryId": null
                  },
                  {
                    "id": 2,
                    "budgetId": 2,
                    "year": 2026,
                    "entityId": 11,
                    "entityName": "71 — Vendas",
                    "entityDescription": "Receita de vendas",
                    "monthlyAmounts": {},
                    "secundaryId": null
                  }
                ]
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/account-category/{id}": {
      "put": {
        "tags": [
          "AccountCategory"
        ],
        "summary": "Updates an existing account category by ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the account category to update.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The updated account category data.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountCategoryUpdateDTO"
              },
              "example": {
                "name": "Vendas",
                "description": "Receitas provenientes de vendas"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountCategoryUpdateDTO"
              },
              "example": {
                "name": "Vendas",
                "description": "Receitas provenientes de vendas"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AccountCategoryUpdateDTO"
              },
              "example": {
                "name": "Vendas",
                "description": "Receitas provenientes de vendas"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "AccountCategory"
        ],
        "summary": "Deletes an account category by ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the account category to delete.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "AccountCategory"
        ],
        "summary": "Gets an account category by ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the account category.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AccountCategoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Vendas",
                  "description": "Receitas provenientes de vendas",
                  "idParent": 0,
                  "pictureId": "00000000-0000-0000-0000-000000000000",
                  "thumbId": "00000000-0000-0000-0000-000000000000",
                  "hasChildren": false
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountCategoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Vendas",
                  "description": "Receitas provenientes de vendas",
                  "idParent": 0,
                  "pictureId": "00000000-0000-0000-0000-000000000000",
                  "thumbId": "00000000-0000-0000-0000-000000000000",
                  "hasChildren": false
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountCategoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Vendas",
                  "description": "Receitas provenientes de vendas",
                  "idParent": 0,
                  "pictureId": "00000000-0000-0000-0000-000000000000",
                  "thumbId": "00000000-0000-0000-0000-000000000000",
                  "hasChildren": false
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/account-category/{id}/children": {
      "get": {
        "tags": [
          "AccountCategory"
        ],
        "summary": "Gets the children of an account category a specific parent category.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "ID of the parent account category used to filter the results..",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AccountCategoryDTO"
                  }
                },
                "example": [
                  {
                    "id": 201,
                    "name": "Matérias-primas",
                    "description": "Matérias-primas e subsidiárias",
                    "idParent": 0,
                    "pictureId": "00000000-0000-0000-0000-000000000000",
                    "thumbId": "00000000-0000-0000-0000-000000000000",
                    "hasChildren": false
                  },
                  {
                    "id": 202,
                    "name": "Mercadorias para revenda",
                    "description": "Mercadorias adquiridas para revenda",
                    "idParent": 0,
                    "pictureId": "00000000-0000-0000-0000-000000000000",
                    "thumbId": "00000000-0000-0000-0000-000000000000",
                    "hasChildren": false
                  }
                ]
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AccountCategoryDTO"
                  }
                },
                "example": [
                  {
                    "id": 201,
                    "name": "Matérias-primas",
                    "description": "Matérias-primas e subsidiárias",
                    "idParent": 0,
                    "pictureId": "00000000-0000-0000-0000-000000000000",
                    "thumbId": "00000000-0000-0000-0000-000000000000",
                    "hasChildren": false
                  },
                  {
                    "id": 202,
                    "name": "Mercadorias para revenda",
                    "description": "Mercadorias adquiridas para revenda",
                    "idParent": 0,
                    "pictureId": "00000000-0000-0000-0000-000000000000",
                    "thumbId": "00000000-0000-0000-0000-000000000000",
                    "hasChildren": false
                  }
                ]
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AccountCategoryDTO"
                  }
                },
                "example": [
                  {
                    "id": 201,
                    "name": "Matérias-primas",
                    "description": "Matérias-primas e subsidiárias",
                    "idParent": 0,
                    "pictureId": "00000000-0000-0000-0000-000000000000",
                    "thumbId": "00000000-0000-0000-0000-000000000000",
                    "hasChildren": false
                  },
                  {
                    "id": 202,
                    "name": "Mercadorias para revenda",
                    "description": "Mercadorias adquiridas para revenda",
                    "idParent": 0,
                    "pictureId": "00000000-0000-0000-0000-000000000000",
                    "thumbId": "00000000-0000-0000-0000-000000000000",
                    "hasChildren": false
                  }
                ]
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/account-category/budgets/{year}": {
      "post": {
        "tags": [
          "AccountCategory"
        ],
        "summary": "Saves a list of budgets for a given year.",
        "parameters": [
          {
            "name": "year",
            "in": "path",
            "description": "The year for which to save the budgets.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The list of budget DTOs.",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BudgetDTO"
                }
              },
              "example": [
                {
                  "id": 1,
                  "budgetId": 1,
                  "year": 2026,
                  "entityId": 10,
                  "entityName": "61 — CMV",
                  "entityDescription": "Custo das mercadorias vendidas",
                  "monthlyAmounts": {},
                  "secundaryId": null
                },
                {
                  "id": 2,
                  "budgetId": 2,
                  "year": 2026,
                  "entityId": 11,
                  "entityName": "71 — Vendas",
                  "entityDescription": "Receita de vendas",
                  "monthlyAmounts": {},
                  "secundaryId": null
                }
              ]
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BudgetDTO"
                }
              },
              "example": [
                {
                  "id": 1,
                  "budgetId": 1,
                  "year": 2026,
                  "entityId": 10,
                  "entityName": "61 — CMV",
                  "entityDescription": "Custo das mercadorias vendidas",
                  "monthlyAmounts": {},
                  "secundaryId": null
                },
                {
                  "id": 2,
                  "budgetId": 2,
                  "year": 2026,
                  "entityId": 11,
                  "entityName": "71 — Vendas",
                  "entityDescription": "Receita de vendas",
                  "monthlyAmounts": {},
                  "secundaryId": null
                }
              ]
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BudgetDTO"
                }
              },
              "example": [
                {
                  "id": 1,
                  "budgetId": 1,
                  "year": 2026,
                  "entityId": 10,
                  "entityName": "61 — CMV",
                  "entityDescription": "Custo das mercadorias vendidas",
                  "monthlyAmounts": {},
                  "secundaryId": null
                },
                {
                  "id": 2,
                  "budgetId": 2,
                  "year": 2026,
                  "entityId": 11,
                  "entityName": "71 — Vendas",
                  "entityDescription": "Receita de vendas",
                  "monthlyAmounts": {},
                  "secundaryId": null
                }
              ]
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "AccountCategory"
        ],
        "summary": "Gets all budgets for a given year, with an option to include null entities.",
        "parameters": [
          {
            "name": "year",
            "in": "path",
            "description": "The year to retrieve budgets for.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "withNullEntities",
            "in": "query",
            "description": "Whether to include null entities.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/account-category/budgets/auto-generate": {
      "post": {
        "tags": [
          "AccountCategory"
        ],
        "summary": "Automatically generates budgets based on the provided request.",
        "requestBody": {
          "description": "The auto-generation budget request DTO.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AutoGenerationBudgetRequestDTO"
              },
              "example": {
                "generationMode": 0,
                "growthRate": 5,
                "expensesGrowthRate": 3,
                "revenuesGrowthRate": 7,
                "baseYear": 2025,
                "targetYear": 2026
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AutoGenerationBudgetRequestDTO"
              },
              "example": {
                "generationMode": 0,
                "growthRate": 5,
                "expensesGrowthRate": 3,
                "revenuesGrowthRate": 7,
                "baseYear": 2025,
                "targetYear": 2026
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AutoGenerationBudgetRequestDTO"
              },
              "example": {
                "generationMode": 0,
                "growthRate": 5,
                "expensesGrowthRate": 3,
                "revenuesGrowthRate": 7,
                "baseYear": 2025,
                "targetYear": 2026
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BudgetDTO"
                  }
                },
                "example": [
                  {
                    "id": 1,
                    "budgetId": 1,
                    "year": 2026,
                    "entityId": 10,
                    "entityName": "61 — CMV",
                    "entityDescription": "Custo das mercadorias vendidas",
                    "monthlyAmounts": {},
                    "secundaryId": null
                  },
                  {
                    "id": 2,
                    "budgetId": 2,
                    "year": 2026,
                    "entityId": 11,
                    "entityName": "71 — Vendas",
                    "entityDescription": "Receita de vendas",
                    "monthlyAmounts": {},
                    "secundaryId": null
                  }
                ]
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BudgetDTO"
                  }
                },
                "example": [
                  {
                    "id": 1,
                    "budgetId": 1,
                    "year": 2026,
                    "entityId": 10,
                    "entityName": "61 — CMV",
                    "entityDescription": "Custo das mercadorias vendidas",
                    "monthlyAmounts": {},
                    "secundaryId": null
                  },
                  {
                    "id": 2,
                    "budgetId": 2,
                    "year": 2026,
                    "entityId": 11,
                    "entityName": "71 — Vendas",
                    "entityDescription": "Receita de vendas",
                    "monthlyAmounts": {},
                    "secundaryId": null
                  }
                ]
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BudgetDTO"
                  }
                },
                "example": [
                  {
                    "id": 1,
                    "budgetId": 1,
                    "year": 2026,
                    "entityId": 10,
                    "entityName": "61 — CMV",
                    "entityDescription": "Custo das mercadorias vendidas",
                    "monthlyAmounts": {},
                    "secundaryId": null
                  },
                  {
                    "id": 2,
                    "budgetId": 2,
                    "year": 2026,
                    "entityId": 11,
                    "entityName": "71 — Vendas",
                    "entityDescription": "Receita de vendas",
                    "monthlyAmounts": {},
                    "secundaryId": null
                  }
                ]
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/account-category/budgets/years": {
      "get": {
        "tags": [
          "AccountCategory"
        ],
        "summary": "Gets all years for which budgets exist.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/account-category/budgets/years/last": {
      "get": {
        "tags": [
          "AccountCategory"
        ],
        "summary": "Gets the last year for which a budget exists.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "text/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/account-category/next-id": {
      "get": {
        "tags": [
          "AccountCategory"
        ],
        "summary": "Gets the next available account category ID.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "text/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/account-heading": {
      "post": {
        "tags": [
          "AccountHeading"
        ],
        "summary": "Creates a new account heading.",
        "requestBody": {
          "description": "The account heading data transfer object.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountHeadingDTO"
              },
              "example": {
                "id": 1,
                "name": "Receita Vendas",
                "description": "Rubrica para receitas de vendas",
                "pictureId": "00000000-0000-0000-0000-000000000000",
                "thumbId": "00000000-0000-0000-0000-000000000000",
                "defaultBalanceType": 2
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountHeadingDTO"
              },
              "example": {
                "id": 1,
                "name": "Receita Vendas",
                "description": "Rubrica para receitas de vendas",
                "pictureId": "00000000-0000-0000-0000-000000000000",
                "thumbId": "00000000-0000-0000-0000-000000000000",
                "defaultBalanceType": 2
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AccountHeadingDTO"
              },
              "example": {
                "id": 1,
                "name": "Receita Vendas",
                "description": "Rubrica para receitas de vendas",
                "pictureId": "00000000-0000-0000-0000-000000000000",
                "thumbId": "00000000-0000-0000-0000-000000000000",
                "defaultBalanceType": 2
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "AccountHeading"
        ],
        "summary": "Gets all account headings with optional pagination.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of records per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AccountHeadingListDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 10,
                      "name": "61 — Custo das mercadorias vendidas",
                      "description": "Compras e variação de inventários.",
                      "defaultBalanceType": "Débito"
                    },
                    {
                      "id": 11,
                      "name": "71 — Vendas",
                      "description": "Rendimentos de vendas de bens e serviços.",
                      "defaultBalanceType": "Crédito"
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountHeadingListDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 10,
                      "name": "61 — Custo das mercadorias vendidas",
                      "description": "Compras e variação de inventários.",
                      "defaultBalanceType": "Débito"
                    },
                    {
                      "id": 11,
                      "name": "71 — Vendas",
                      "description": "Rendimentos de vendas de bens e serviços.",
                      "defaultBalanceType": "Crédito"
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountHeadingListDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 10,
                      "name": "61 — Custo das mercadorias vendidas",
                      "description": "Compras e variação de inventários.",
                      "defaultBalanceType": "Débito"
                    },
                    {
                      "id": 11,
                      "name": "71 — Vendas",
                      "description": "Rendimentos de vendas de bens e serviços.",
                      "defaultBalanceType": "Crédito"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/account-heading/{accountHeadingId}/budgets/{year}": {
      "get": {
        "tags": [
          "AccountHeading"
        ],
        "summary": "Gets the budget for a specific account heading and year.",
        "parameters": [
          {
            "name": "accountHeadingId",
            "in": "path",
            "description": "The account heading ID.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "year",
            "in": "path",
            "description": "The year to retrieve the budget for.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetDetailDTO"
                },
                "example": {
                  "id": 1,
                  "year": 2026,
                  "entityId": 10,
                  "entityDescription": "61 — Custo das mercadorias vendidas",
                  "entityName": "Rubrica de custos",
                  "months": {}
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetDetailDTO"
                },
                "example": {
                  "id": 1,
                  "year": 2026,
                  "entityId": 10,
                  "entityDescription": "61 — Custo das mercadorias vendidas",
                  "entityName": "Rubrica de custos",
                  "months": {}
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetDetailDTO"
                },
                "example": {
                  "id": 1,
                  "year": 2026,
                  "entityId": 10,
                  "entityDescription": "61 — Custo das mercadorias vendidas",
                  "entityName": "Rubrica de custos",
                  "months": {}
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/account-heading/{id}": {
      "put": {
        "tags": [
          "AccountHeading"
        ],
        "summary": "Updates an existing account heading by ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the account heading to update.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The updated account heading data.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountHeadingUpdateDTO"
              },
              "example": {
                "name": "Receita Vendas",
                "description": "Rubrica para receitas de vendas",
                "pictureId": null,
                "thumbId": null,
                "defaultBalanceType": 2
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountHeadingUpdateDTO"
              },
              "example": {
                "name": "Receita Vendas",
                "description": "Rubrica para receitas de vendas",
                "pictureId": null,
                "thumbId": null,
                "defaultBalanceType": 2
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AccountHeadingUpdateDTO"
              },
              "example": {
                "name": "Receita Vendas",
                "description": "Rubrica para receitas de vendas",
                "pictureId": null,
                "thumbId": null,
                "defaultBalanceType": 2
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "AccountHeading"
        ],
        "summary": "Gets an account heading by ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the account heading.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AccountHeadingDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Receita Vendas",
                  "description": "Rubrica para receitas de vendas",
                  "pictureId": "00000000-0000-0000-0000-000000000000",
                  "thumbId": "00000000-0000-0000-0000-000000000000",
                  "defaultBalanceType": 2
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountHeadingDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Receita Vendas",
                  "description": "Rubrica para receitas de vendas",
                  "pictureId": "00000000-0000-0000-0000-000000000000",
                  "thumbId": "00000000-0000-0000-0000-000000000000",
                  "defaultBalanceType": 2
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountHeadingDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Receita Vendas",
                  "description": "Rubrica para receitas de vendas",
                  "pictureId": "00000000-0000-0000-0000-000000000000",
                  "thumbId": "00000000-0000-0000-0000-000000000000",
                  "defaultBalanceType": 2
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "AccountHeading"
        ],
        "summary": "Deletes an account heading by ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the account heading to delete.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/account-heading/budgets/{year}": {
      "post": {
        "tags": [
          "AccountHeading"
        ],
        "summary": "Saves a list of budgets for a given year.",
        "parameters": [
          {
            "name": "year",
            "in": "path",
            "description": "The year for which to save the budgets.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The list of budget DTOs.",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BudgetDTO"
                }
              },
              "example": [
                {
                  "id": 1,
                  "budgetId": 1,
                  "year": 2026,
                  "entityId": 10,
                  "entityName": "61 — CMV",
                  "entityDescription": "Custo das mercadorias vendidas",
                  "monthlyAmounts": {},
                  "secundaryId": null
                },
                {
                  "id": 2,
                  "budgetId": 2,
                  "year": 2026,
                  "entityId": 11,
                  "entityName": "71 — Vendas",
                  "entityDescription": "Receita de vendas",
                  "monthlyAmounts": {},
                  "secundaryId": null
                }
              ]
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BudgetDTO"
                }
              },
              "example": [
                {
                  "id": 1,
                  "budgetId": 1,
                  "year": 2026,
                  "entityId": 10,
                  "entityName": "61 — CMV",
                  "entityDescription": "Custo das mercadorias vendidas",
                  "monthlyAmounts": {},
                  "secundaryId": null
                },
                {
                  "id": 2,
                  "budgetId": 2,
                  "year": 2026,
                  "entityId": 11,
                  "entityName": "71 — Vendas",
                  "entityDescription": "Receita de vendas",
                  "monthlyAmounts": {},
                  "secundaryId": null
                }
              ]
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BudgetDTO"
                }
              },
              "example": [
                {
                  "id": 1,
                  "budgetId": 1,
                  "year": 2026,
                  "entityId": 10,
                  "entityName": "61 — CMV",
                  "entityDescription": "Custo das mercadorias vendidas",
                  "monthlyAmounts": {},
                  "secundaryId": null
                },
                {
                  "id": 2,
                  "budgetId": 2,
                  "year": 2026,
                  "entityId": 11,
                  "entityName": "71 — Vendas",
                  "entityDescription": "Receita de vendas",
                  "monthlyAmounts": {},
                  "secundaryId": null
                }
              ]
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "AccountHeading"
        ],
        "summary": "Gets all budgets for a given year, with an option to include null entities.",
        "parameters": [
          {
            "name": "year",
            "in": "path",
            "description": "The year to retrieve budgets for.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "withNullEntities",
            "in": "query",
            "description": "Whether to include null entities.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BudgetDTO"
                  }
                },
                "example": [
                  {
                    "id": 1,
                    "budgetId": 1,
                    "year": 2026,
                    "entityId": 10,
                    "entityName": "61 — CMV",
                    "entityDescription": "Custo das mercadorias vendidas",
                    "monthlyAmounts": {},
                    "secundaryId": null
                  },
                  {
                    "id": 2,
                    "budgetId": 2,
                    "year": 2026,
                    "entityId": 11,
                    "entityName": "71 — Vendas",
                    "entityDescription": "Receita de vendas",
                    "monthlyAmounts": {},
                    "secundaryId": null
                  }
                ]
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BudgetDTO"
                  }
                },
                "example": [
                  {
                    "id": 1,
                    "budgetId": 1,
                    "year": 2026,
                    "entityId": 10,
                    "entityName": "61 — CMV",
                    "entityDescription": "Custo das mercadorias vendidas",
                    "monthlyAmounts": {},
                    "secundaryId": null
                  },
                  {
                    "id": 2,
                    "budgetId": 2,
                    "year": 2026,
                    "entityId": 11,
                    "entityName": "71 — Vendas",
                    "entityDescription": "Receita de vendas",
                    "monthlyAmounts": {},
                    "secundaryId": null
                  }
                ]
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BudgetDTO"
                  }
                },
                "example": [
                  {
                    "id": 1,
                    "budgetId": 1,
                    "year": 2026,
                    "entityId": 10,
                    "entityName": "61 — CMV",
                    "entityDescription": "Custo das mercadorias vendidas",
                    "monthlyAmounts": {},
                    "secundaryId": null
                  },
                  {
                    "id": 2,
                    "budgetId": 2,
                    "year": 2026,
                    "entityId": 11,
                    "entityName": "71 — Vendas",
                    "entityDescription": "Receita de vendas",
                    "monthlyAmounts": {},
                    "secundaryId": null
                  }
                ]
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/account-heading/budgets/auto-generate": {
      "post": {
        "tags": [
          "AccountHeading"
        ],
        "summary": "Automatically generates budgets based on the provided request.",
        "requestBody": {
          "description": "The auto-generation budget request DTO.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AutoGenerationBudgetRequestDTO"
              },
              "example": {
                "generationMode": 0,
                "growthRate": 5,
                "expensesGrowthRate": 3,
                "revenuesGrowthRate": 7,
                "baseYear": 2025,
                "targetYear": 2026
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AutoGenerationBudgetRequestDTO"
              },
              "example": {
                "generationMode": 0,
                "growthRate": 5,
                "expensesGrowthRate": 3,
                "revenuesGrowthRate": 7,
                "baseYear": 2025,
                "targetYear": 2026
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AutoGenerationBudgetRequestDTO"
              },
              "example": {
                "generationMode": 0,
                "growthRate": 5,
                "expensesGrowthRate": 3,
                "revenuesGrowthRate": 7,
                "baseYear": 2025,
                "targetYear": 2026
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BudgetDTO"
                  }
                },
                "example": [
                  {
                    "id": 1,
                    "budgetId": 1,
                    "year": 2026,
                    "entityId": 10,
                    "entityName": "61 — CMV",
                    "entityDescription": "Custo das mercadorias vendidas",
                    "monthlyAmounts": {},
                    "secundaryId": null
                  },
                  {
                    "id": 2,
                    "budgetId": 2,
                    "year": 2026,
                    "entityId": 11,
                    "entityName": "71 — Vendas",
                    "entityDescription": "Receita de vendas",
                    "monthlyAmounts": {},
                    "secundaryId": null
                  }
                ]
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BudgetDTO"
                  }
                },
                "example": [
                  {
                    "id": 1,
                    "budgetId": 1,
                    "year": 2026,
                    "entityId": 10,
                    "entityName": "61 — CMV",
                    "entityDescription": "Custo das mercadorias vendidas",
                    "monthlyAmounts": {},
                    "secundaryId": null
                  },
                  {
                    "id": 2,
                    "budgetId": 2,
                    "year": 2026,
                    "entityId": 11,
                    "entityName": "71 — Vendas",
                    "entityDescription": "Receita de vendas",
                    "monthlyAmounts": {},
                    "secundaryId": null
                  }
                ]
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BudgetDTO"
                  }
                },
                "example": [
                  {
                    "id": 1,
                    "budgetId": 1,
                    "year": 2026,
                    "entityId": 10,
                    "entityName": "61 — CMV",
                    "entityDescription": "Custo das mercadorias vendidas",
                    "monthlyAmounts": {},
                    "secundaryId": null
                  },
                  {
                    "id": 2,
                    "budgetId": 2,
                    "year": 2026,
                    "entityId": 11,
                    "entityName": "71 — Vendas",
                    "entityDescription": "Receita de vendas",
                    "monthlyAmounts": {},
                    "secundaryId": null
                  }
                ]
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/account-heading/budgets/years": {
      "get": {
        "tags": [
          "AccountHeading"
        ],
        "summary": "Gets all years for which budgets exist.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/account-heading/budgets/years/last": {
      "get": {
        "tags": [
          "AccountHeading"
        ],
        "summary": "Gets the last year for which a budget exists.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "text/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/account-heading/next-id": {
      "get": {
        "tags": [
          "AccountHeading"
        ],
        "summary": "Gets the next available account heading ID.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "text/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/account-type": {
      "post": {
        "tags": [
          "AccountType"
        ],
        "summary": "Creates a new account type.",
        "requestBody": {
          "description": "The account type data transfer object.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountTypeDTO"
              },
              "example": {
                "id": 1,
                "description": "Caixa"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountTypeDTO"
              },
              "example": {
                "id": 1,
                "description": "Caixa"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AccountTypeDTO"
              },
              "example": {
                "id": 1,
                "description": "Caixa"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "AccountType"
        ],
        "summary": "Gets all account types with optional pagination.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of records per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AccountTypeDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "Caixa / numerário"
                    },
                    {
                      "id": 2,
                      "description": "Conta bancária à ordem"
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountTypeDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "Caixa / numerário"
                    },
                    {
                      "id": 2,
                      "description": "Conta bancária à ordem"
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountTypeDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "Caixa / numerário"
                    },
                    {
                      "id": 2,
                      "description": "Conta bancária à ordem"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/account-type/{id}": {
      "put": {
        "tags": [
          "AccountType"
        ],
        "summary": "Updates an existing account type by ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the account type to update.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The updated account type data.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountTypeUpdateDTO"
              },
              "example": {
                "description": "Caixa"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountTypeUpdateDTO"
              },
              "example": {
                "description": "Caixa"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AccountTypeUpdateDTO"
              },
              "example": {
                "description": "Caixa"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "AccountType"
        ],
        "summary": "Gets an account type by ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the account type.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AccountTypeDTO"
                },
                "example": {
                  "id": 1,
                  "description": "Caixa"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountTypeDTO"
                },
                "example": {
                  "id": 1,
                  "description": "Caixa"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountTypeDTO"
                },
                "example": {
                  "id": 1,
                  "description": "Caixa"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "AccountType"
        ],
        "summary": "Deletes an account type by ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the account type to delete.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/account-type/next-id": {
      "get": {
        "tags": [
          "AccountType"
        ],
        "summary": "Gets the next available account type ID.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "text/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/AccountLogin": {
      "post": {
        "tags": [
          "AccountLogin"
        ],
        "summary": "Authenticates a user and returns a JWT token if successful.",
        "requestBody": {
          "description": "The login credentials (username and password).",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Login"
              },
              "example": {
                "user": "1",
                "password": "P@ssw0rd123"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Login"
              },
              "example": {
                "user": "1",
                "password": "P@ssw0rd123"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Login"
              },
              "example": {
                "user": "1",
                "password": "P@ssw0rd123"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/LoginResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LoginResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/LoginResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        },
        "deprecated": true
      }
    },
    "/gateway/address-type": {
      "get": {
        "tags": [
          "AddressType"
        ],
        "summary": "Gets all address types.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of records per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AddressTypeDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "Sede / faturação"
                    },
                    {
                      "id": 2,
                      "description": "Armazém / carga e descarga"
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AddressTypeDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "Sede / faturação"
                    },
                    {
                      "id": 2,
                      "description": "Armazém / carga e descarga"
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AddressTypeDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "Sede / faturação"
                    },
                    {
                      "id": 2,
                      "description": "Armazém / carga e descarga"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "AddressType"
        ],
        "summary": "Creates a new address type.",
        "requestBody": {
          "description": "The address type data transfer object.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddressTypeDTO"
              },
              "example": {
                "id": 1,
                "description": "Sede"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AddressTypeDTO"
              },
              "example": {
                "id": 1,
                "description": "Sede"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AddressTypeDTO"
              },
              "example": {
                "id": 1,
                "description": "Sede"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/address-type/{id}": {
      "put": {
        "tags": [
          "AddressType"
        ],
        "summary": "Updates an existing address type.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the address type to update.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddressTypeUpdateDTO"
              },
              "example": {
                "description": "Sede"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AddressTypeUpdateDTO"
              },
              "example": {
                "description": "Sede"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AddressTypeUpdateDTO"
              },
              "example": {
                "description": "Sede"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "AddressType"
        ],
        "summary": "Deletes an address type by ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the address type to delete.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "AddressType"
        ],
        "summary": "Gets an address type by ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the address type.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/EntityAddressDTO"
                },
                "example": {
                  "id": null,
                  "entityKeyId": "CLI001",
                  "entityName": null,
                  "addressType": 1,
                  "entityType": 1,
                  "addressLine1": "Rua do Comercio, 200",
                  "addressLine2": "Piso 3, Sala 301",
                  "complement": null,
                  "city": "Porto",
                  "reference": null,
                  "postalCode": "4000-150",
                  "neighborhood": null,
                  "municipalCode": null,
                  "country": "PT",
                  "latitude": "41.1496",
                  "longitude": "-8.6110",
                  "defaultShipmentAddress": true,
                  "sensitiveDataLevel": null,
                  "portNumber": null,
                  "state": "Porto",
                  "deliveryRegionId": null
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityAddressDTO"
                },
                "example": {
                  "id": null,
                  "entityKeyId": "CLI001",
                  "entityName": null,
                  "addressType": 1,
                  "entityType": 1,
                  "addressLine1": "Rua do Comercio, 200",
                  "addressLine2": "Piso 3, Sala 301",
                  "complement": null,
                  "city": "Porto",
                  "reference": null,
                  "postalCode": "4000-150",
                  "neighborhood": null,
                  "municipalCode": null,
                  "country": "PT",
                  "latitude": "41.1496",
                  "longitude": "-8.6110",
                  "defaultShipmentAddress": true,
                  "sensitiveDataLevel": null,
                  "portNumber": null,
                  "state": "Porto",
                  "deliveryRegionId": null
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityAddressDTO"
                },
                "example": {
                  "id": null,
                  "entityKeyId": "CLI001",
                  "entityName": null,
                  "addressType": 1,
                  "entityType": 1,
                  "addressLine1": "Rua do Comercio, 200",
                  "addressLine2": "Piso 3, Sala 301",
                  "complement": null,
                  "city": "Porto",
                  "reference": null,
                  "postalCode": "4000-150",
                  "neighborhood": null,
                  "municipalCode": null,
                  "country": "PT",
                  "latitude": "41.1496",
                  "longitude": "-8.6110",
                  "defaultShipmentAddress": true,
                  "sensitiveDataLevel": null,
                  "portNumber": null,
                  "state": "Porto",
                  "deliveryRegionId": null
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/address-type/next-id": {
      "get": {
        "tags": [
          "AddressType"
        ],
        "summary": "Gets the next available address type ID.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "text/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/advanced-discount": {
      "get": {
        "tags": [
          "AdvancedDiscount"
        ],
        "summary": "Retrieves a paginated list of advanced discounts.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of records per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AdvancedDiscountListDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": "adv-disc-001",
                      "active": true,
                      "description": "Desconto em linha de documento — artigos em promoção",
                      "discountOrder": 1,
                      "cumulative": null,
                      "startDate": "2026-04-01T00:00:00",
                      "endDate": "2026-06-30T00:00:00",
                      "templateType": 2
                    },
                    {
                      "id": "adv-disc-002",
                      "active": true,
                      "description": "Campanha Páscoa — desconto por linha",
                      "discountOrder": 2,
                      "cumulative": null,
                      "startDate": "2026-03-20T00:00:00",
                      "endDate": "2026-04-30T00:00:00",
                      "templateType": 2
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdvancedDiscountListDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": "adv-disc-001",
                      "active": true,
                      "description": "Desconto em linha de documento — artigos em promoção",
                      "discountOrder": 1,
                      "cumulative": null,
                      "startDate": "2026-04-01T00:00:00",
                      "endDate": "2026-06-30T00:00:00",
                      "templateType": 2
                    },
                    {
                      "id": "adv-disc-002",
                      "active": true,
                      "description": "Campanha Páscoa — desconto por linha",
                      "discountOrder": 2,
                      "cumulative": null,
                      "startDate": "2026-03-20T00:00:00",
                      "endDate": "2026-04-30T00:00:00",
                      "templateType": 2
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdvancedDiscountListDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": "adv-disc-001",
                      "active": true,
                      "description": "Desconto em linha de documento — artigos em promoção",
                      "discountOrder": 1,
                      "cumulative": null,
                      "startDate": "2026-04-01T00:00:00",
                      "endDate": "2026-06-30T00:00:00",
                      "templateType": 2
                    },
                    {
                      "id": "adv-disc-002",
                      "active": true,
                      "description": "Campanha Páscoa — desconto por linha",
                      "discountOrder": 2,
                      "cumulative": null,
                      "startDate": "2026-03-20T00:00:00",
                      "endDate": "2026-04-30T00:00:00",
                      "templateType": 2
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "AdvancedDiscount"
        ],
        "summary": "Creates a new advanced discount.",
        "description": "Returns the ID of the created discount.  \r\nThe ID is generated as a Guid but returned as a string.",
        "requestBody": {
          "description": ">Advanced discount data transfer object. See the Object field schema for template-specific payload examples..",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AdvancedDiscountDTOBase"
              },
              "examples": {
                "Offers Template (templateType = 0)": {
                  "value": {
                    "object": {
                      "canBeMatchedOn": 2,
                      "type": 0,
                      "eligibility": 0,
                      "eligibleIdList": [
                        "ART001",
                        "ART002"
                      ],
                      "triggerAmount": 5,
                      "offerAmount": 2,
                      "selectedOfferItemKeyId": "ART001",
                      "offerItemMayNotBePresent": false
                    },
                    "id": "",
                    "active": true,
                    "description": "Buy 5, get 2 free",
                    "includedTerminals": [
                      1,
                      2
                    ],
                    "discountOrder": 1,
                    "cumulative": false,
                    "startDate": "2026-07-07T00:00:00+00:00",
                    "endDate": "2026-10-07T00:00:00+00:00",
                    "target": null,
                    "appliedTo": 1,
                    "weekDaysAvailability": 31,
                    "targetObject": {
                      "logicOperator": "And",
                      "criterias": [
                        {
                          "variableName": "City",
                          "operation": "==",
                          "value": "Lisboa"
                        },
                        {
                          "variableName": "Email",
                          "functionName": "IsNullOrEmpty"
                        },
                        {
                          "logicOperator": "Not",
                          "criterias": [
                            {
                              "variableName": "Phone",
                              "functionName": "IsNullOrEmpty"
                            }
                          ]
                        }
                      ]
                    },
                    "templateType": 0
                  }
                },
                "Document Total Template (templateType = 1)": {
                  "value": {
                    "object": {
                      "canBeMatchedOn": 2,
                      "type": 0,
                      "selectedCalcType": 0,
                      "amount": 100,
                      "offerType": 2,
                      "discount": 10,
                      "activeAfterNumberOfDays": 0,
                      "expiresAfterNumberOfDays": 0
                    },
                    "id": "",
                    "active": true,
                    "description": "10% off on orders over 100",
                    "includedTerminals": [
                      1
                    ],
                    "discountOrder": 2,
                    "cumulative": false,
                    "startDate": "2026-07-07T00:00:00+00:00",
                    "endDate": "2027-01-07T00:00:00+00:00",
                    "target": null,
                    "appliedTo": 1,
                    "weekDaysAvailability": 127,
                    "targetObject": null,
                    "templateType": 1
                  }
                },
                "Document Line Template (templateType = 2)": {
                  "value": {
                    "object": {
                      "canBeMatchedOn": 1,
                      "type": 0,
                      "eligibility": 1,
                      "eligibleIdList": [
                        "FAM001"
                      ],
                      "selectedCalcType": 6,
                      "discount": 5,
                      "activeAfterNumberOfDays": 0,
                      "expiresAfterNumberOfDays": 0
                    },
                    "id": "",
                    "active": true,
                    "description": "5% off on electronics",
                    "includedTerminals": [
                      1,
                      2,
                      3
                    ],
                    "discountOrder": 3,
                    "cumulative": true,
                    "startDate": "2026-07-07T00:00:00+00:00",
                    "endDate": "2027-07-07T00:00:00+00:00",
                    "target": null,
                    "appliedTo": 1,
                    "weekDaysAvailability": 31,
                    "targetObject": {
                      "logicOperator": "Or",
                      "criterias": [
                        {
                          "variableName": "EntityGroupId",
                          "operation": "==",
                          "value": "2"
                        },
                        {
                          "variableName": "KeyId",
                          "value": "90",
                          "functionName": "Contains"
                        },
                        {
                          "logicOperator": "Not",
                          "criterias": [
                            {
                              "variableName": "Country",
                              "value": "Brasil",
                              "functionName": "Contains"
                            }
                          ]
                        }
                      ]
                    },
                    "templateType": 2
                  }
                },
                "Campaign Template (templateType = 3)": {
                  "value": {
                    "object": {
                      "canBeMatchedOn": 1,
                      "type": 1,
                      "campaignItems": [
                        {
                          "promoId": null,
                          "id": "ART010",
                          "type": 0,
                          "percentage": 15,
                          "retailPriceHolder": 0,
                          "fixedPrice": 0,
                          "newPriceHolder": 0,
                          "descriptionHolder": null,
                          "quantity": 3,
                          "afterQuantity": false,
                          "afterQuantityHolder": null,
                          "discountType": 2,
                          "priceLine": 1
                        },
                        {
                          "promoId": null,
                          "id": "ART020",
                          "type": 0,
                          "percentage": 0,
                          "retailPriceHolder": 0,
                          "fixedPrice": 9.99,
                          "newPriceHolder": 0,
                          "descriptionHolder": null,
                          "quantity": 1,
                          "afterQuantity": false,
                          "afterQuantityHolder": null,
                          "discountType": 1,
                          "priceLine": 1
                        }
                      ]
                    },
                    "id": "",
                    "active": true,
                    "description": "Summer Campaign 2026",
                    "includedTerminals": [
                      1
                    ],
                    "discountOrder": 4,
                    "cumulative": false,
                    "startDate": "2026-07-07T00:00:00+00:00",
                    "endDate": "2026-09-07T00:00:00+00:00",
                    "target": null,
                    "appliedTo": 1,
                    "weekDaysAvailability": 127,
                    "targetObject": {
                      "logicOperator": "Or",
                      "criterias": [
                        {
                          "variableName": "KeyId",
                          "value": "90",
                          "functionName": "Contains"
                        }
                      ]
                    },
                    "templateType": 3
                  }
                }
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AdvancedDiscountDTOBase"
              },
              "examples": {
                "Offers Template (templateType = 0)": {
                  "value": {
                    "object": {
                      "canBeMatchedOn": 2,
                      "type": 0,
                      "eligibility": 0,
                      "eligibleIdList": [
                        "ART001",
                        "ART002"
                      ],
                      "triggerAmount": 5,
                      "offerAmount": 2,
                      "selectedOfferItemKeyId": "ART001",
                      "offerItemMayNotBePresent": false
                    },
                    "id": "",
                    "active": true,
                    "description": "Buy 5, get 2 free",
                    "includedTerminals": [
                      1,
                      2
                    ],
                    "discountOrder": 1,
                    "cumulative": false,
                    "startDate": "2026-07-07T00:00:00+00:00",
                    "endDate": "2026-10-07T00:00:00+00:00",
                    "target": null,
                    "appliedTo": 1,
                    "weekDaysAvailability": 31,
                    "targetObject": {
                      "logicOperator": "And",
                      "criterias": [
                        {
                          "variableName": "City",
                          "operation": "==",
                          "value": "Lisboa"
                        },
                        {
                          "variableName": "Email",
                          "functionName": "IsNullOrEmpty"
                        },
                        {
                          "logicOperator": "Not",
                          "criterias": [
                            {
                              "variableName": "Phone",
                              "functionName": "IsNullOrEmpty"
                            }
                          ]
                        }
                      ]
                    },
                    "templateType": 0
                  }
                },
                "Document Total Template (templateType = 1)": {
                  "value": {
                    "object": {
                      "canBeMatchedOn": 2,
                      "type": 0,
                      "selectedCalcType": 0,
                      "amount": 100,
                      "offerType": 2,
                      "discount": 10,
                      "activeAfterNumberOfDays": 0,
                      "expiresAfterNumberOfDays": 0
                    },
                    "id": "",
                    "active": true,
                    "description": "10% off on orders over 100",
                    "includedTerminals": [
                      1
                    ],
                    "discountOrder": 2,
                    "cumulative": false,
                    "startDate": "2026-07-07T00:00:00+00:00",
                    "endDate": "2027-01-07T00:00:00+00:00",
                    "target": null,
                    "appliedTo": 1,
                    "weekDaysAvailability": 127,
                    "targetObject": null,
                    "templateType": 1
                  }
                },
                "Document Line Template (templateType = 2)": {
                  "value": {
                    "object": {
                      "canBeMatchedOn": 1,
                      "type": 0,
                      "eligibility": 1,
                      "eligibleIdList": [
                        "FAM001"
                      ],
                      "selectedCalcType": 6,
                      "discount": 5,
                      "activeAfterNumberOfDays": 0,
                      "expiresAfterNumberOfDays": 0
                    },
                    "id": "",
                    "active": true,
                    "description": "5% off on electronics",
                    "includedTerminals": [
                      1,
                      2,
                      3
                    ],
                    "discountOrder": 3,
                    "cumulative": true,
                    "startDate": "2026-07-07T00:00:00+00:00",
                    "endDate": "2027-07-07T00:00:00+00:00",
                    "target": null,
                    "appliedTo": 1,
                    "weekDaysAvailability": 31,
                    "targetObject": {
                      "logicOperator": "Or",
                      "criterias": [
                        {
                          "variableName": "EntityGroupId",
                          "operation": "==",
                          "value": "2"
                        },
                        {
                          "variableName": "KeyId",
                          "value": "90",
                          "functionName": "Contains"
                        },
                        {
                          "logicOperator": "Not",
                          "criterias": [
                            {
                              "variableName": "Country",
                              "value": "Brasil",
                              "functionName": "Contains"
                            }
                          ]
                        }
                      ]
                    },
                    "templateType": 2
                  }
                },
                "Campaign Template (templateType = 3)": {
                  "value": {
                    "object": {
                      "canBeMatchedOn": 1,
                      "type": 1,
                      "campaignItems": [
                        {
                          "promoId": null,
                          "id": "ART010",
                          "type": 0,
                          "percentage": 15,
                          "retailPriceHolder": 0,
                          "fixedPrice": 0,
                          "newPriceHolder": 0,
                          "descriptionHolder": null,
                          "quantity": 3,
                          "afterQuantity": false,
                          "afterQuantityHolder": null,
                          "discountType": 2,
                          "priceLine": 1
                        },
                        {
                          "promoId": null,
                          "id": "ART020",
                          "type": 0,
                          "percentage": 0,
                          "retailPriceHolder": 0,
                          "fixedPrice": 9.99,
                          "newPriceHolder": 0,
                          "descriptionHolder": null,
                          "quantity": 1,
                          "afterQuantity": false,
                          "afterQuantityHolder": null,
                          "discountType": 1,
                          "priceLine": 1
                        }
                      ]
                    },
                    "id": "",
                    "active": true,
                    "description": "Summer Campaign 2026",
                    "includedTerminals": [
                      1
                    ],
                    "discountOrder": 4,
                    "cumulative": false,
                    "startDate": "2026-07-07T00:00:00+00:00",
                    "endDate": "2026-09-07T00:00:00+00:00",
                    "target": null,
                    "appliedTo": 1,
                    "weekDaysAvailability": 127,
                    "targetObject": {
                      "logicOperator": "Or",
                      "criterias": [
                        {
                          "variableName": "KeyId",
                          "value": "90",
                          "functionName": "Contains"
                        }
                      ]
                    },
                    "templateType": 3
                  }
                }
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AdvancedDiscountDTOBase"
              },
              "examples": {
                "Offers Template (templateType = 0)": {
                  "value": {
                    "object": {
                      "canBeMatchedOn": 2,
                      "type": 0,
                      "eligibility": 0,
                      "eligibleIdList": [
                        "ART001",
                        "ART002"
                      ],
                      "triggerAmount": 5,
                      "offerAmount": 2,
                      "selectedOfferItemKeyId": "ART001",
                      "offerItemMayNotBePresent": false
                    },
                    "id": "",
                    "active": true,
                    "description": "Buy 5, get 2 free",
                    "includedTerminals": [
                      1,
                      2
                    ],
                    "discountOrder": 1,
                    "cumulative": false,
                    "startDate": "2026-07-07T00:00:00+00:00",
                    "endDate": "2026-10-07T00:00:00+00:00",
                    "target": null,
                    "appliedTo": 1,
                    "weekDaysAvailability": 31,
                    "targetObject": {
                      "logicOperator": "And",
                      "criterias": [
                        {
                          "variableName": "City",
                          "operation": "==",
                          "value": "Lisboa"
                        },
                        {
                          "variableName": "Email",
                          "functionName": "IsNullOrEmpty"
                        },
                        {
                          "logicOperator": "Not",
                          "criterias": [
                            {
                              "variableName": "Phone",
                              "functionName": "IsNullOrEmpty"
                            }
                          ]
                        }
                      ]
                    },
                    "templateType": 0
                  }
                },
                "Document Total Template (templateType = 1)": {
                  "value": {
                    "object": {
                      "canBeMatchedOn": 2,
                      "type": 0,
                      "selectedCalcType": 0,
                      "amount": 100,
                      "offerType": 2,
                      "discount": 10,
                      "activeAfterNumberOfDays": 0,
                      "expiresAfterNumberOfDays": 0
                    },
                    "id": "",
                    "active": true,
                    "description": "10% off on orders over 100",
                    "includedTerminals": [
                      1
                    ],
                    "discountOrder": 2,
                    "cumulative": false,
                    "startDate": "2026-07-07T00:00:00+00:00",
                    "endDate": "2027-01-07T00:00:00+00:00",
                    "target": null,
                    "appliedTo": 1,
                    "weekDaysAvailability": 127,
                    "targetObject": null,
                    "templateType": 1
                  }
                },
                "Document Line Template (templateType = 2)": {
                  "value": {
                    "object": {
                      "canBeMatchedOn": 1,
                      "type": 0,
                      "eligibility": 1,
                      "eligibleIdList": [
                        "FAM001"
                      ],
                      "selectedCalcType": 6,
                      "discount": 5,
                      "activeAfterNumberOfDays": 0,
                      "expiresAfterNumberOfDays": 0
                    },
                    "id": "",
                    "active": true,
                    "description": "5% off on electronics",
                    "includedTerminals": [
                      1,
                      2,
                      3
                    ],
                    "discountOrder": 3,
                    "cumulative": true,
                    "startDate": "2026-07-07T00:00:00+00:00",
                    "endDate": "2027-07-07T00:00:00+00:00",
                    "target": null,
                    "appliedTo": 1,
                    "weekDaysAvailability": 31,
                    "targetObject": {
                      "logicOperator": "Or",
                      "criterias": [
                        {
                          "variableName": "EntityGroupId",
                          "operation": "==",
                          "value": "2"
                        },
                        {
                          "variableName": "KeyId",
                          "value": "90",
                          "functionName": "Contains"
                        },
                        {
                          "logicOperator": "Not",
                          "criterias": [
                            {
                              "variableName": "Country",
                              "value": "Brasil",
                              "functionName": "Contains"
                            }
                          ]
                        }
                      ]
                    },
                    "templateType": 2
                  }
                },
                "Campaign Template (templateType = 3)": {
                  "value": {
                    "object": {
                      "canBeMatchedOn": 1,
                      "type": 1,
                      "campaignItems": [
                        {
                          "promoId": null,
                          "id": "ART010",
                          "type": 0,
                          "percentage": 15,
                          "retailPriceHolder": 0,
                          "fixedPrice": 0,
                          "newPriceHolder": 0,
                          "descriptionHolder": null,
                          "quantity": 3,
                          "afterQuantity": false,
                          "afterQuantityHolder": null,
                          "discountType": 2,
                          "priceLine": 1
                        },
                        {
                          "promoId": null,
                          "id": "ART020",
                          "type": 0,
                          "percentage": 0,
                          "retailPriceHolder": 0,
                          "fixedPrice": 9.99,
                          "newPriceHolder": 0,
                          "descriptionHolder": null,
                          "quantity": 1,
                          "afterQuantity": false,
                          "afterQuantityHolder": null,
                          "discountType": 1,
                          "priceLine": 1
                        }
                      ]
                    },
                    "id": "",
                    "active": true,
                    "description": "Summer Campaign 2026",
                    "includedTerminals": [
                      1
                    ],
                    "discountOrder": 4,
                    "cumulative": false,
                    "startDate": "2026-07-07T00:00:00+00:00",
                    "endDate": "2026-09-07T00:00:00+00:00",
                    "target": null,
                    "appliedTo": 1,
                    "weekDaysAvailability": 127,
                    "targetObject": {
                      "logicOperator": "Or",
                      "criterias": [
                        {
                          "variableName": "KeyId",
                          "value": "90",
                          "functionName": "Contains"
                        }
                      ]
                    },
                    "templateType": 3
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/advanced-discount/{id}": {
      "get": {
        "tags": [
          "AdvancedDiscount"
        ],
        "summary": "Retrieves an advanced discount by its identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Advanced discount identifier (GUID string).",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AdvancedDiscountDTOBase"
                },
                "examples": {
                  "Offers Template (templateType = 0)": {
                    "value": {
                      "object": {
                        "canBeMatchedOn": 2,
                        "type": 0,
                        "eligibility": 0,
                        "eligibleIdList": [
                          "ART001",
                          "ART002"
                        ],
                        "triggerAmount": 5,
                        "offerAmount": 2,
                        "selectedOfferItemKeyId": "ART001",
                        "offerItemMayNotBePresent": false
                      },
                      "id": "",
                      "active": true,
                      "description": "Buy 5, get 2 free",
                      "includedTerminals": [
                        1,
                        2
                      ],
                      "discountOrder": 1,
                      "cumulative": false,
                      "startDate": "2026-07-07T00:00:00+00:00",
                      "endDate": "2026-10-07T00:00:00+00:00",
                      "target": null,
                      "appliedTo": 1,
                      "weekDaysAvailability": 31,
                      "targetObject": {
                        "logicOperator": "And",
                        "criterias": [
                          {
                            "variableName": "City",
                            "operation": "==",
                            "value": "Lisboa"
                          },
                          {
                            "variableName": "Email",
                            "functionName": "IsNullOrEmpty"
                          },
                          {
                            "logicOperator": "Not",
                            "criterias": [
                              {
                                "variableName": "Phone",
                                "functionName": "IsNullOrEmpty"
                              }
                            ]
                          }
                        ]
                      },
                      "templateType": 0
                    }
                  },
                  "Document Total Template (templateType = 1)": {
                    "value": {
                      "object": {
                        "canBeMatchedOn": 2,
                        "type": 0,
                        "selectedCalcType": 0,
                        "amount": 100,
                        "offerType": 2,
                        "discount": 10,
                        "activeAfterNumberOfDays": 0,
                        "expiresAfterNumberOfDays": 0
                      },
                      "id": "",
                      "active": true,
                      "description": "10% off on orders over 100",
                      "includedTerminals": [
                        1
                      ],
                      "discountOrder": 2,
                      "cumulative": false,
                      "startDate": "2026-07-07T00:00:00+00:00",
                      "endDate": "2027-01-07T00:00:00+00:00",
                      "target": null,
                      "appliedTo": 1,
                      "weekDaysAvailability": 127,
                      "targetObject": null,
                      "templateType": 1
                    }
                  },
                  "Document Line Template (templateType = 2)": {
                    "value": {
                      "object": {
                        "canBeMatchedOn": 1,
                        "type": 0,
                        "eligibility": 1,
                        "eligibleIdList": [
                          "FAM001"
                        ],
                        "selectedCalcType": 6,
                        "discount": 5,
                        "activeAfterNumberOfDays": 0,
                        "expiresAfterNumberOfDays": 0
                      },
                      "id": "",
                      "active": true,
                      "description": "5% off on electronics",
                      "includedTerminals": [
                        1,
                        2,
                        3
                      ],
                      "discountOrder": 3,
                      "cumulative": true,
                      "startDate": "2026-07-07T00:00:00+00:00",
                      "endDate": "2027-07-07T00:00:00+00:00",
                      "target": null,
                      "appliedTo": 1,
                      "weekDaysAvailability": 31,
                      "targetObject": {
                        "logicOperator": "Or",
                        "criterias": [
                          {
                            "variableName": "EntityGroupId",
                            "operation": "==",
                            "value": "2"
                          },
                          {
                            "variableName": "KeyId",
                            "value": "90",
                            "functionName": "Contains"
                          },
                          {
                            "logicOperator": "Not",
                            "criterias": [
                              {
                                "variableName": "Country",
                                "value": "Brasil",
                                "functionName": "Contains"
                              }
                            ]
                          }
                        ]
                      },
                      "templateType": 2
                    }
                  },
                  "Campaign Template (templateType = 3)": {
                    "value": {
                      "object": {
                        "canBeMatchedOn": 1,
                        "type": 1,
                        "campaignItems": [
                          {
                            "promoId": null,
                            "id": "ART010",
                            "type": 0,
                            "percentage": 15,
                            "retailPriceHolder": 0,
                            "fixedPrice": 0,
                            "newPriceHolder": 0,
                            "descriptionHolder": null,
                            "quantity": 3,
                            "afterQuantity": false,
                            "afterQuantityHolder": null,
                            "discountType": 2,
                            "priceLine": 1
                          },
                          {
                            "promoId": null,
                            "id": "ART020",
                            "type": 0,
                            "percentage": 0,
                            "retailPriceHolder": 0,
                            "fixedPrice": 9.99,
                            "newPriceHolder": 0,
                            "descriptionHolder": null,
                            "quantity": 1,
                            "afterQuantity": false,
                            "afterQuantityHolder": null,
                            "discountType": 1,
                            "priceLine": 1
                          }
                        ]
                      },
                      "id": "",
                      "active": true,
                      "description": "Summer Campaign 2026",
                      "includedTerminals": [
                        1
                      ],
                      "discountOrder": 4,
                      "cumulative": false,
                      "startDate": "2026-07-07T00:00:00+00:00",
                      "endDate": "2026-09-07T00:00:00+00:00",
                      "target": null,
                      "appliedTo": 1,
                      "weekDaysAvailability": 127,
                      "targetObject": {
                        "logicOperator": "Or",
                        "criterias": [
                          {
                            "variableName": "KeyId",
                            "value": "90",
                            "functionName": "Contains"
                          }
                        ]
                      },
                      "templateType": 3
                    }
                  }
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdvancedDiscountDTOBase"
                },
                "examples": {
                  "Offers Template (templateType = 0)": {
                    "value": {
                      "object": {
                        "canBeMatchedOn": 2,
                        "type": 0,
                        "eligibility": 0,
                        "eligibleIdList": [
                          "ART001",
                          "ART002"
                        ],
                        "triggerAmount": 5,
                        "offerAmount": 2,
                        "selectedOfferItemKeyId": "ART001",
                        "offerItemMayNotBePresent": false
                      },
                      "id": "",
                      "active": true,
                      "description": "Buy 5, get 2 free",
                      "includedTerminals": [
                        1,
                        2
                      ],
                      "discountOrder": 1,
                      "cumulative": false,
                      "startDate": "2026-07-07T00:00:00+00:00",
                      "endDate": "2026-10-07T00:00:00+00:00",
                      "target": null,
                      "appliedTo": 1,
                      "weekDaysAvailability": 31,
                      "targetObject": {
                        "logicOperator": "And",
                        "criterias": [
                          {
                            "variableName": "City",
                            "operation": "==",
                            "value": "Lisboa"
                          },
                          {
                            "variableName": "Email",
                            "functionName": "IsNullOrEmpty"
                          },
                          {
                            "logicOperator": "Not",
                            "criterias": [
                              {
                                "variableName": "Phone",
                                "functionName": "IsNullOrEmpty"
                              }
                            ]
                          }
                        ]
                      },
                      "templateType": 0
                    }
                  },
                  "Document Total Template (templateType = 1)": {
                    "value": {
                      "object": {
                        "canBeMatchedOn": 2,
                        "type": 0,
                        "selectedCalcType": 0,
                        "amount": 100,
                        "offerType": 2,
                        "discount": 10,
                        "activeAfterNumberOfDays": 0,
                        "expiresAfterNumberOfDays": 0
                      },
                      "id": "",
                      "active": true,
                      "description": "10% off on orders over 100",
                      "includedTerminals": [
                        1
                      ],
                      "discountOrder": 2,
                      "cumulative": false,
                      "startDate": "2026-07-07T00:00:00+00:00",
                      "endDate": "2027-01-07T00:00:00+00:00",
                      "target": null,
                      "appliedTo": 1,
                      "weekDaysAvailability": 127,
                      "targetObject": null,
                      "templateType": 1
                    }
                  },
                  "Document Line Template (templateType = 2)": {
                    "value": {
                      "object": {
                        "canBeMatchedOn": 1,
                        "type": 0,
                        "eligibility": 1,
                        "eligibleIdList": [
                          "FAM001"
                        ],
                        "selectedCalcType": 6,
                        "discount": 5,
                        "activeAfterNumberOfDays": 0,
                        "expiresAfterNumberOfDays": 0
                      },
                      "id": "",
                      "active": true,
                      "description": "5% off on electronics",
                      "includedTerminals": [
                        1,
                        2,
                        3
                      ],
                      "discountOrder": 3,
                      "cumulative": true,
                      "startDate": "2026-07-07T00:00:00+00:00",
                      "endDate": "2027-07-07T00:00:00+00:00",
                      "target": null,
                      "appliedTo": 1,
                      "weekDaysAvailability": 31,
                      "targetObject": {
                        "logicOperator": "Or",
                        "criterias": [
                          {
                            "variableName": "EntityGroupId",
                            "operation": "==",
                            "value": "2"
                          },
                          {
                            "variableName": "KeyId",
                            "value": "90",
                            "functionName": "Contains"
                          },
                          {
                            "logicOperator": "Not",
                            "criterias": [
                              {
                                "variableName": "Country",
                                "value": "Brasil",
                                "functionName": "Contains"
                              }
                            ]
                          }
                        ]
                      },
                      "templateType": 2
                    }
                  },
                  "Campaign Template (templateType = 3)": {
                    "value": {
                      "object": {
                        "canBeMatchedOn": 1,
                        "type": 1,
                        "campaignItems": [
                          {
                            "promoId": null,
                            "id": "ART010",
                            "type": 0,
                            "percentage": 15,
                            "retailPriceHolder": 0,
                            "fixedPrice": 0,
                            "newPriceHolder": 0,
                            "descriptionHolder": null,
                            "quantity": 3,
                            "afterQuantity": false,
                            "afterQuantityHolder": null,
                            "discountType": 2,
                            "priceLine": 1
                          },
                          {
                            "promoId": null,
                            "id": "ART020",
                            "type": 0,
                            "percentage": 0,
                            "retailPriceHolder": 0,
                            "fixedPrice": 9.99,
                            "newPriceHolder": 0,
                            "descriptionHolder": null,
                            "quantity": 1,
                            "afterQuantity": false,
                            "afterQuantityHolder": null,
                            "discountType": 1,
                            "priceLine": 1
                          }
                        ]
                      },
                      "id": "",
                      "active": true,
                      "description": "Summer Campaign 2026",
                      "includedTerminals": [
                        1
                      ],
                      "discountOrder": 4,
                      "cumulative": false,
                      "startDate": "2026-07-07T00:00:00+00:00",
                      "endDate": "2026-09-07T00:00:00+00:00",
                      "target": null,
                      "appliedTo": 1,
                      "weekDaysAvailability": 127,
                      "targetObject": {
                        "logicOperator": "Or",
                        "criterias": [
                          {
                            "variableName": "KeyId",
                            "value": "90",
                            "functionName": "Contains"
                          }
                        ]
                      },
                      "templateType": 3
                    }
                  }
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdvancedDiscountDTOBase"
                },
                "examples": {
                  "Offers Template (templateType = 0)": {
                    "value": {
                      "object": {
                        "canBeMatchedOn": 2,
                        "type": 0,
                        "eligibility": 0,
                        "eligibleIdList": [
                          "ART001",
                          "ART002"
                        ],
                        "triggerAmount": 5,
                        "offerAmount": 2,
                        "selectedOfferItemKeyId": "ART001",
                        "offerItemMayNotBePresent": false
                      },
                      "id": "",
                      "active": true,
                      "description": "Buy 5, get 2 free",
                      "includedTerminals": [
                        1,
                        2
                      ],
                      "discountOrder": 1,
                      "cumulative": false,
                      "startDate": "2026-07-07T00:00:00+00:00",
                      "endDate": "2026-10-07T00:00:00+00:00",
                      "target": null,
                      "appliedTo": 1,
                      "weekDaysAvailability": 31,
                      "targetObject": {
                        "logicOperator": "And",
                        "criterias": [
                          {
                            "variableName": "City",
                            "operation": "==",
                            "value": "Lisboa"
                          },
                          {
                            "variableName": "Email",
                            "functionName": "IsNullOrEmpty"
                          },
                          {
                            "logicOperator": "Not",
                            "criterias": [
                              {
                                "variableName": "Phone",
                                "functionName": "IsNullOrEmpty"
                              }
                            ]
                          }
                        ]
                      },
                      "templateType": 0
                    }
                  },
                  "Document Total Template (templateType = 1)": {
                    "value": {
                      "object": {
                        "canBeMatchedOn": 2,
                        "type": 0,
                        "selectedCalcType": 0,
                        "amount": 100,
                        "offerType": 2,
                        "discount": 10,
                        "activeAfterNumberOfDays": 0,
                        "expiresAfterNumberOfDays": 0
                      },
                      "id": "",
                      "active": true,
                      "description": "10% off on orders over 100",
                      "includedTerminals": [
                        1
                      ],
                      "discountOrder": 2,
                      "cumulative": false,
                      "startDate": "2026-07-07T00:00:00+00:00",
                      "endDate": "2027-01-07T00:00:00+00:00",
                      "target": null,
                      "appliedTo": 1,
                      "weekDaysAvailability": 127,
                      "targetObject": null,
                      "templateType": 1
                    }
                  },
                  "Document Line Template (templateType = 2)": {
                    "value": {
                      "object": {
                        "canBeMatchedOn": 1,
                        "type": 0,
                        "eligibility": 1,
                        "eligibleIdList": [
                          "FAM001"
                        ],
                        "selectedCalcType": 6,
                        "discount": 5,
                        "activeAfterNumberOfDays": 0,
                        "expiresAfterNumberOfDays": 0
                      },
                      "id": "",
                      "active": true,
                      "description": "5% off on electronics",
                      "includedTerminals": [
                        1,
                        2,
                        3
                      ],
                      "discountOrder": 3,
                      "cumulative": true,
                      "startDate": "2026-07-07T00:00:00+00:00",
                      "endDate": "2027-07-07T00:00:00+00:00",
                      "target": null,
                      "appliedTo": 1,
                      "weekDaysAvailability": 31,
                      "targetObject": {
                        "logicOperator": "Or",
                        "criterias": [
                          {
                            "variableName": "EntityGroupId",
                            "operation": "==",
                            "value": "2"
                          },
                          {
                            "variableName": "KeyId",
                            "value": "90",
                            "functionName": "Contains"
                          },
                          {
                            "logicOperator": "Not",
                            "criterias": [
                              {
                                "variableName": "Country",
                                "value": "Brasil",
                                "functionName": "Contains"
                              }
                            ]
                          }
                        ]
                      },
                      "templateType": 2
                    }
                  },
                  "Campaign Template (templateType = 3)": {
                    "value": {
                      "object": {
                        "canBeMatchedOn": 1,
                        "type": 1,
                        "campaignItems": [
                          {
                            "promoId": null,
                            "id": "ART010",
                            "type": 0,
                            "percentage": 15,
                            "retailPriceHolder": 0,
                            "fixedPrice": 0,
                            "newPriceHolder": 0,
                            "descriptionHolder": null,
                            "quantity": 3,
                            "afterQuantity": false,
                            "afterQuantityHolder": null,
                            "discountType": 2,
                            "priceLine": 1
                          },
                          {
                            "promoId": null,
                            "id": "ART020",
                            "type": 0,
                            "percentage": 0,
                            "retailPriceHolder": 0,
                            "fixedPrice": 9.99,
                            "newPriceHolder": 0,
                            "descriptionHolder": null,
                            "quantity": 1,
                            "afterQuantity": false,
                            "afterQuantityHolder": null,
                            "discountType": 1,
                            "priceLine": 1
                          }
                        ]
                      },
                      "id": "",
                      "active": true,
                      "description": "Summer Campaign 2026",
                      "includedTerminals": [
                        1
                      ],
                      "discountOrder": 4,
                      "cumulative": false,
                      "startDate": "2026-07-07T00:00:00+00:00",
                      "endDate": "2026-09-07T00:00:00+00:00",
                      "target": null,
                      "appliedTo": 1,
                      "weekDaysAvailability": 127,
                      "targetObject": {
                        "logicOperator": "Or",
                        "criterias": [
                          {
                            "variableName": "KeyId",
                            "value": "90",
                            "functionName": "Contains"
                          }
                        ]
                      },
                      "templateType": 3
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "AdvancedDiscount"
        ],
        "summary": "Updates an existing advanced discount by its identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Advanced discount identifier (GUID string).",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Advanced discount data transfer object. See the Object field schema for template-specific payload examples.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AdvancedDiscountDTOBase"
              },
              "examples": {
                "Offers Template (templateType = 0)": {
                  "value": {
                    "object": {
                      "canBeMatchedOn": 2,
                      "type": 0,
                      "eligibility": 0,
                      "eligibleIdList": [
                        "ART001",
                        "ART002"
                      ],
                      "triggerAmount": 5,
                      "offerAmount": 2,
                      "selectedOfferItemKeyId": "ART001",
                      "offerItemMayNotBePresent": false
                    },
                    "id": "",
                    "active": true,
                    "description": "Buy 5, get 2 free",
                    "includedTerminals": [
                      1,
                      2
                    ],
                    "discountOrder": 1,
                    "cumulative": false,
                    "startDate": "2026-07-07T00:00:00+00:00",
                    "endDate": "2026-10-07T00:00:00+00:00",
                    "target": null,
                    "appliedTo": 1,
                    "weekDaysAvailability": 31,
                    "targetObject": {
                      "logicOperator": "And",
                      "criterias": [
                        {
                          "variableName": "City",
                          "operation": "==",
                          "value": "Lisboa"
                        },
                        {
                          "variableName": "Email",
                          "functionName": "IsNullOrEmpty"
                        },
                        {
                          "logicOperator": "Not",
                          "criterias": [
                            {
                              "variableName": "Phone",
                              "functionName": "IsNullOrEmpty"
                            }
                          ]
                        }
                      ]
                    },
                    "templateType": 0
                  }
                },
                "Document Total Template (templateType = 1)": {
                  "value": {
                    "object": {
                      "canBeMatchedOn": 2,
                      "type": 0,
                      "selectedCalcType": 0,
                      "amount": 100,
                      "offerType": 2,
                      "discount": 10,
                      "activeAfterNumberOfDays": 0,
                      "expiresAfterNumberOfDays": 0
                    },
                    "id": "",
                    "active": true,
                    "description": "10% off on orders over 100",
                    "includedTerminals": [
                      1
                    ],
                    "discountOrder": 2,
                    "cumulative": false,
                    "startDate": "2026-07-07T00:00:00+00:00",
                    "endDate": "2027-01-07T00:00:00+00:00",
                    "target": null,
                    "appliedTo": 1,
                    "weekDaysAvailability": 127,
                    "targetObject": null,
                    "templateType": 1
                  }
                },
                "Document Line Template (templateType = 2)": {
                  "value": {
                    "object": {
                      "canBeMatchedOn": 1,
                      "type": 0,
                      "eligibility": 1,
                      "eligibleIdList": [
                        "FAM001"
                      ],
                      "selectedCalcType": 6,
                      "discount": 5,
                      "activeAfterNumberOfDays": 0,
                      "expiresAfterNumberOfDays": 0
                    },
                    "id": "",
                    "active": true,
                    "description": "5% off on electronics",
                    "includedTerminals": [
                      1,
                      2,
                      3
                    ],
                    "discountOrder": 3,
                    "cumulative": true,
                    "startDate": "2026-07-07T00:00:00+00:00",
                    "endDate": "2027-07-07T00:00:00+00:00",
                    "target": null,
                    "appliedTo": 1,
                    "weekDaysAvailability": 31,
                    "targetObject": {
                      "logicOperator": "Or",
                      "criterias": [
                        {
                          "variableName": "EntityGroupId",
                          "operation": "==",
                          "value": "2"
                        },
                        {
                          "variableName": "KeyId",
                          "value": "90",
                          "functionName": "Contains"
                        },
                        {
                          "logicOperator": "Not",
                          "criterias": [
                            {
                              "variableName": "Country",
                              "value": "Brasil",
                              "functionName": "Contains"
                            }
                          ]
                        }
                      ]
                    },
                    "templateType": 2
                  }
                },
                "Campaign Template (templateType = 3)": {
                  "value": {
                    "object": {
                      "canBeMatchedOn": 1,
                      "type": 1,
                      "campaignItems": [
                        {
                          "promoId": null,
                          "id": "ART010",
                          "type": 0,
                          "percentage": 15,
                          "retailPriceHolder": 0,
                          "fixedPrice": 0,
                          "newPriceHolder": 0,
                          "descriptionHolder": null,
                          "quantity": 3,
                          "afterQuantity": false,
                          "afterQuantityHolder": null,
                          "discountType": 2,
                          "priceLine": 1
                        },
                        {
                          "promoId": null,
                          "id": "ART020",
                          "type": 0,
                          "percentage": 0,
                          "retailPriceHolder": 0,
                          "fixedPrice": 9.99,
                          "newPriceHolder": 0,
                          "descriptionHolder": null,
                          "quantity": 1,
                          "afterQuantity": false,
                          "afterQuantityHolder": null,
                          "discountType": 1,
                          "priceLine": 1
                        }
                      ]
                    },
                    "id": "",
                    "active": true,
                    "description": "Summer Campaign 2026",
                    "includedTerminals": [
                      1
                    ],
                    "discountOrder": 4,
                    "cumulative": false,
                    "startDate": "2026-07-07T00:00:00+00:00",
                    "endDate": "2026-09-07T00:00:00+00:00",
                    "target": null,
                    "appliedTo": 1,
                    "weekDaysAvailability": 127,
                    "targetObject": {
                      "logicOperator": "Or",
                      "criterias": [
                        {
                          "variableName": "KeyId",
                          "value": "90",
                          "functionName": "Contains"
                        }
                      ]
                    },
                    "templateType": 3
                  }
                }
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AdvancedDiscountDTOBase"
              },
              "examples": {
                "Offers Template (templateType = 0)": {
                  "value": {
                    "object": {
                      "canBeMatchedOn": 2,
                      "type": 0,
                      "eligibility": 0,
                      "eligibleIdList": [
                        "ART001",
                        "ART002"
                      ],
                      "triggerAmount": 5,
                      "offerAmount": 2,
                      "selectedOfferItemKeyId": "ART001",
                      "offerItemMayNotBePresent": false
                    },
                    "id": "",
                    "active": true,
                    "description": "Buy 5, get 2 free",
                    "includedTerminals": [
                      1,
                      2
                    ],
                    "discountOrder": 1,
                    "cumulative": false,
                    "startDate": "2026-07-07T00:00:00+00:00",
                    "endDate": "2026-10-07T00:00:00+00:00",
                    "target": null,
                    "appliedTo": 1,
                    "weekDaysAvailability": 31,
                    "targetObject": {
                      "logicOperator": "And",
                      "criterias": [
                        {
                          "variableName": "City",
                          "operation": "==",
                          "value": "Lisboa"
                        },
                        {
                          "variableName": "Email",
                          "functionName": "IsNullOrEmpty"
                        },
                        {
                          "logicOperator": "Not",
                          "criterias": [
                            {
                              "variableName": "Phone",
                              "functionName": "IsNullOrEmpty"
                            }
                          ]
                        }
                      ]
                    },
                    "templateType": 0
                  }
                },
                "Document Total Template (templateType = 1)": {
                  "value": {
                    "object": {
                      "canBeMatchedOn": 2,
                      "type": 0,
                      "selectedCalcType": 0,
                      "amount": 100,
                      "offerType": 2,
                      "discount": 10,
                      "activeAfterNumberOfDays": 0,
                      "expiresAfterNumberOfDays": 0
                    },
                    "id": "",
                    "active": true,
                    "description": "10% off on orders over 100",
                    "includedTerminals": [
                      1
                    ],
                    "discountOrder": 2,
                    "cumulative": false,
                    "startDate": "2026-07-07T00:00:00+00:00",
                    "endDate": "2027-01-07T00:00:00+00:00",
                    "target": null,
                    "appliedTo": 1,
                    "weekDaysAvailability": 127,
                    "targetObject": null,
                    "templateType": 1
                  }
                },
                "Document Line Template (templateType = 2)": {
                  "value": {
                    "object": {
                      "canBeMatchedOn": 1,
                      "type": 0,
                      "eligibility": 1,
                      "eligibleIdList": [
                        "FAM001"
                      ],
                      "selectedCalcType": 6,
                      "discount": 5,
                      "activeAfterNumberOfDays": 0,
                      "expiresAfterNumberOfDays": 0
                    },
                    "id": "",
                    "active": true,
                    "description": "5% off on electronics",
                    "includedTerminals": [
                      1,
                      2,
                      3
                    ],
                    "discountOrder": 3,
                    "cumulative": true,
                    "startDate": "2026-07-07T00:00:00+00:00",
                    "endDate": "2027-07-07T00:00:00+00:00",
                    "target": null,
                    "appliedTo": 1,
                    "weekDaysAvailability": 31,
                    "targetObject": {
                      "logicOperator": "Or",
                      "criterias": [
                        {
                          "variableName": "EntityGroupId",
                          "operation": "==",
                          "value": "2"
                        },
                        {
                          "variableName": "KeyId",
                          "value": "90",
                          "functionName": "Contains"
                        },
                        {
                          "logicOperator": "Not",
                          "criterias": [
                            {
                              "variableName": "Country",
                              "value": "Brasil",
                              "functionName": "Contains"
                            }
                          ]
                        }
                      ]
                    },
                    "templateType": 2
                  }
                },
                "Campaign Template (templateType = 3)": {
                  "value": {
                    "object": {
                      "canBeMatchedOn": 1,
                      "type": 1,
                      "campaignItems": [
                        {
                          "promoId": null,
                          "id": "ART010",
                          "type": 0,
                          "percentage": 15,
                          "retailPriceHolder": 0,
                          "fixedPrice": 0,
                          "newPriceHolder": 0,
                          "descriptionHolder": null,
                          "quantity": 3,
                          "afterQuantity": false,
                          "afterQuantityHolder": null,
                          "discountType": 2,
                          "priceLine": 1
                        },
                        {
                          "promoId": null,
                          "id": "ART020",
                          "type": 0,
                          "percentage": 0,
                          "retailPriceHolder": 0,
                          "fixedPrice": 9.99,
                          "newPriceHolder": 0,
                          "descriptionHolder": null,
                          "quantity": 1,
                          "afterQuantity": false,
                          "afterQuantityHolder": null,
                          "discountType": 1,
                          "priceLine": 1
                        }
                      ]
                    },
                    "id": "",
                    "active": true,
                    "description": "Summer Campaign 2026",
                    "includedTerminals": [
                      1
                    ],
                    "discountOrder": 4,
                    "cumulative": false,
                    "startDate": "2026-07-07T00:00:00+00:00",
                    "endDate": "2026-09-07T00:00:00+00:00",
                    "target": null,
                    "appliedTo": 1,
                    "weekDaysAvailability": 127,
                    "targetObject": {
                      "logicOperator": "Or",
                      "criterias": [
                        {
                          "variableName": "KeyId",
                          "value": "90",
                          "functionName": "Contains"
                        }
                      ]
                    },
                    "templateType": 3
                  }
                }
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AdvancedDiscountDTOBase"
              },
              "examples": {
                "Offers Template (templateType = 0)": {
                  "value": {
                    "object": {
                      "canBeMatchedOn": 2,
                      "type": 0,
                      "eligibility": 0,
                      "eligibleIdList": [
                        "ART001",
                        "ART002"
                      ],
                      "triggerAmount": 5,
                      "offerAmount": 2,
                      "selectedOfferItemKeyId": "ART001",
                      "offerItemMayNotBePresent": false
                    },
                    "id": "",
                    "active": true,
                    "description": "Buy 5, get 2 free",
                    "includedTerminals": [
                      1,
                      2
                    ],
                    "discountOrder": 1,
                    "cumulative": false,
                    "startDate": "2026-07-07T00:00:00+00:00",
                    "endDate": "2026-10-07T00:00:00+00:00",
                    "target": null,
                    "appliedTo": 1,
                    "weekDaysAvailability": 31,
                    "targetObject": {
                      "logicOperator": "And",
                      "criterias": [
                        {
                          "variableName": "City",
                          "operation": "==",
                          "value": "Lisboa"
                        },
                        {
                          "variableName": "Email",
                          "functionName": "IsNullOrEmpty"
                        },
                        {
                          "logicOperator": "Not",
                          "criterias": [
                            {
                              "variableName": "Phone",
                              "functionName": "IsNullOrEmpty"
                            }
                          ]
                        }
                      ]
                    },
                    "templateType": 0
                  }
                },
                "Document Total Template (templateType = 1)": {
                  "value": {
                    "object": {
                      "canBeMatchedOn": 2,
                      "type": 0,
                      "selectedCalcType": 0,
                      "amount": 100,
                      "offerType": 2,
                      "discount": 10,
                      "activeAfterNumberOfDays": 0,
                      "expiresAfterNumberOfDays": 0
                    },
                    "id": "",
                    "active": true,
                    "description": "10% off on orders over 100",
                    "includedTerminals": [
                      1
                    ],
                    "discountOrder": 2,
                    "cumulative": false,
                    "startDate": "2026-07-07T00:00:00+00:00",
                    "endDate": "2027-01-07T00:00:00+00:00",
                    "target": null,
                    "appliedTo": 1,
                    "weekDaysAvailability": 127,
                    "targetObject": null,
                    "templateType": 1
                  }
                },
                "Document Line Template (templateType = 2)": {
                  "value": {
                    "object": {
                      "canBeMatchedOn": 1,
                      "type": 0,
                      "eligibility": 1,
                      "eligibleIdList": [
                        "FAM001"
                      ],
                      "selectedCalcType": 6,
                      "discount": 5,
                      "activeAfterNumberOfDays": 0,
                      "expiresAfterNumberOfDays": 0
                    },
                    "id": "",
                    "active": true,
                    "description": "5% off on electronics",
                    "includedTerminals": [
                      1,
                      2,
                      3
                    ],
                    "discountOrder": 3,
                    "cumulative": true,
                    "startDate": "2026-07-07T00:00:00+00:00",
                    "endDate": "2027-07-07T00:00:00+00:00",
                    "target": null,
                    "appliedTo": 1,
                    "weekDaysAvailability": 31,
                    "targetObject": {
                      "logicOperator": "Or",
                      "criterias": [
                        {
                          "variableName": "EntityGroupId",
                          "operation": "==",
                          "value": "2"
                        },
                        {
                          "variableName": "KeyId",
                          "value": "90",
                          "functionName": "Contains"
                        },
                        {
                          "logicOperator": "Not",
                          "criterias": [
                            {
                              "variableName": "Country",
                              "value": "Brasil",
                              "functionName": "Contains"
                            }
                          ]
                        }
                      ]
                    },
                    "templateType": 2
                  }
                },
                "Campaign Template (templateType = 3)": {
                  "value": {
                    "object": {
                      "canBeMatchedOn": 1,
                      "type": 1,
                      "campaignItems": [
                        {
                          "promoId": null,
                          "id": "ART010",
                          "type": 0,
                          "percentage": 15,
                          "retailPriceHolder": 0,
                          "fixedPrice": 0,
                          "newPriceHolder": 0,
                          "descriptionHolder": null,
                          "quantity": 3,
                          "afterQuantity": false,
                          "afterQuantityHolder": null,
                          "discountType": 2,
                          "priceLine": 1
                        },
                        {
                          "promoId": null,
                          "id": "ART020",
                          "type": 0,
                          "percentage": 0,
                          "retailPriceHolder": 0,
                          "fixedPrice": 9.99,
                          "newPriceHolder": 0,
                          "descriptionHolder": null,
                          "quantity": 1,
                          "afterQuantity": false,
                          "afterQuantityHolder": null,
                          "discountType": 1,
                          "priceLine": 1
                        }
                      ]
                    },
                    "id": "",
                    "active": true,
                    "description": "Summer Campaign 2026",
                    "includedTerminals": [
                      1
                    ],
                    "discountOrder": 4,
                    "cumulative": false,
                    "startDate": "2026-07-07T00:00:00+00:00",
                    "endDate": "2026-09-07T00:00:00+00:00",
                    "target": null,
                    "appliedTo": 1,
                    "weekDaysAvailability": 127,
                    "targetObject": {
                      "logicOperator": "Or",
                      "criterias": [
                        {
                          "variableName": "KeyId",
                          "value": "90",
                          "functionName": "Contains"
                        }
                      ]
                    },
                    "templateType": 3
                  }
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "AdvancedDiscount"
        ],
        "summary": "Deletes an advanced discount by its identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Advanced discount identifier (GUID string).",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/advanced-discount/next-order": {
      "get": {
        "tags": [
          "AdvancedDiscount"
        ],
        "summary": "Retrieves the next available discount order number.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "text/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/auth/combined-login": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Allows combined login (if applicable), combining credentials for different systems or services.",
        "description": "This endpoint facilitates combined login, which might be necessary for integrating multiple login systems\r\nunder a single authentication request. The request body should contain the following fields:\r\n- TenantKey: The unique key for the tenant.\r\n- TenantPassword: The password for the tenant.\r\n- UserKey: The unique identifier for the user.\r\n- UserPassword: The password for the user.",
        "requestBody": {
          "description": "The combined login credentials containing tenant and user information.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CombinedLogin"
              },
              "example": {
                "tenantKey": "empresa-demo",
                "tenantPassword": "T3n@ntP@ss!",
                "userKey": "1",
                "userPassword": "P@ssw0rd123"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CombinedLogin"
              },
              "example": {
                "tenantKey": "empresa-demo",
                "tenantPassword": "T3n@ntP@ss!",
                "userKey": "1",
                "userPassword": "P@ssw0rd123"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CombinedLogin"
              },
              "example": {
                "tenantKey": "empresa-demo",
                "tenantPassword": "T3n@ntP@ss!",
                "userKey": "1",
                "userPassword": "P@ssw0rd123"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/LoginResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LoginResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/LoginResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/auth/login": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Allows a user to login with the provided credentials.",
        "description": "This endpoint authenticates the user and returns a token upon successful login.\r\nIf the credentials are invalid, it returns an Unauthorized response.",
        "requestBody": {
          "description": "The login credentials (User and Password).",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Login"
              },
              "example": {
                "user": "empresa-demo",
                "password": "P@ssw0rd123"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Login"
              },
              "example": {
                "user": "empresa-demo",
                "password": "P@ssw0rd123"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Login"
              },
              "example": {
                "user": "empresa-demo",
                "password": "P@ssw0rd123"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/LoginResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LoginResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/LoginResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/auth/secondary-login": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Handles secondary login for an already authenticated user.",
        "description": "Allows a user to log in with different credentials while keeping the primary session active.",
        "requestBody": {
          "description": "The user's login credentials (username and password).",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Login"
              },
              "example": {
                "user": "1",
                "password": "P@ssw0rd123"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/Login"
              },
              "example": {
                "user": "1",
                "password": "P@ssw0rd123"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/Login"
              },
              "example": {
                "user": "1",
                "password": "P@ssw0rd123"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/LoginResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LoginResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/LoginResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/batch-type": {
      "get": {
        "tags": [
          "BatchType"
        ],
        "summary": "Gets all batch types with optional pagination.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of records per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/BatchTypeDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "Lotes com validade (alimentar)",
                      "hasExpirationDate": true,
                      "hasProductionDate": true,
                      "minimumExpirationDays": null,
                      "movementType": null,
                      "movementSugestion": null,
                      "expirationOption": 0,
                      "useAutoFill": false
                    },
                    {
                      "id": 2,
                      "description": "Lotes internos — sem datas obrigatórias",
                      "hasExpirationDate": false,
                      "hasProductionDate": false,
                      "minimumExpirationDays": null,
                      "movementType": null,
                      "movementSugestion": null,
                      "expirationOption": 0,
                      "useAutoFill": false
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchTypeDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "Lotes com validade (alimentar)",
                      "hasExpirationDate": true,
                      "hasProductionDate": true,
                      "minimumExpirationDays": null,
                      "movementType": null,
                      "movementSugestion": null,
                      "expirationOption": 0,
                      "useAutoFill": false
                    },
                    {
                      "id": 2,
                      "description": "Lotes internos — sem datas obrigatórias",
                      "hasExpirationDate": false,
                      "hasProductionDate": false,
                      "minimumExpirationDays": null,
                      "movementType": null,
                      "movementSugestion": null,
                      "expirationOption": 0,
                      "useAutoFill": false
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BatchTypeDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "Lotes com validade (alimentar)",
                      "hasExpirationDate": true,
                      "hasProductionDate": true,
                      "minimumExpirationDays": null,
                      "movementType": null,
                      "movementSugestion": null,
                      "expirationOption": 0,
                      "useAutoFill": false
                    },
                    {
                      "id": 2,
                      "description": "Lotes internos — sem datas obrigatórias",
                      "hasExpirationDate": false,
                      "hasProductionDate": false,
                      "minimumExpirationDays": null,
                      "movementType": null,
                      "movementSugestion": null,
                      "expirationOption": 0,
                      "useAutoFill": false
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/business-account": {
      "post": {
        "tags": [
          "BusinessAccount"
        ],
        "summary": "Creates a new business account.",
        "requestBody": {
          "description": "Data for create business account.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateBusinessAccountDTO"
              },
              "example": {
                "id": 1,
                "description": "Caixa de atendimento principal da loja",
                "name": "Caixa Principal",
                "type": 1,
                "maxBalance": 50000,
                "warningBalance": 1000,
                "password": null,
                "userPermissions": null,
                "accountOwner": 1,
                "creditorSchemeId": null,
                "workingCapital": 200,
                "cashierControl": 1,
                "dailySession": 1,
                "offline": false,
                "bankAccount": null,
                "blindCloseConfig": null
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateBusinessAccountDTO"
              },
              "example": {
                "id": 1,
                "description": "Caixa de atendimento principal da loja",
                "name": "Caixa Principal",
                "type": 1,
                "maxBalance": 50000,
                "warningBalance": 1000,
                "password": null,
                "userPermissions": null,
                "accountOwner": 1,
                "creditorSchemeId": null,
                "workingCapital": 200,
                "cashierControl": 1,
                "dailySession": 1,
                "offline": false,
                "bankAccount": null,
                "blindCloseConfig": null
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateBusinessAccountDTO"
              },
              "example": {
                "id": 1,
                "description": "Caixa de atendimento principal da loja",
                "name": "Caixa Principal",
                "type": 1,
                "maxBalance": 50000,
                "warningBalance": 1000,
                "password": null,
                "userPermissions": null,
                "accountOwner": 1,
                "creditorSchemeId": null,
                "workingCapital": 200,
                "cashierControl": 1,
                "dailySession": 1,
                "offline": false,
                "bankAccount": null,
                "blindCloseConfig": null
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "BusinessAccount"
        ],
        "summary": "Gets all business accounts with optional pagination.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of records per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Filters business accounts by name (partial or full match).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "types",
            "in": "query",
            "description": "Filters business accounts by a list of account types.",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            }
          },
          {
            "name": "offline",
            "in": "query",
            "description": "Indicates whether to filter accounts that operate in offline mode.\r\nTrue = only offline accounts,\r\nFalse = only online accounts,\r\nNull = no filtering applied.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessAccountListDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "name": "Conta caixa — Loja Chiado",
                      "description": "Movimentos diários de numerário na loja de Lisboa.",
                      "type": "Caixa",
                      "typeId": 1,
                      "workingCapital": 0
                    },
                    {
                      "id": 2,
                      "name": "Conta bancária — Millennium BCP",
                      "description": "Conta à ordem para pagamentos a fornecedores e IVA.",
                      "type": "Banco",
                      "typeId": 2,
                      "workingCapital": 0
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessAccountListDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "name": "Conta caixa — Loja Chiado",
                      "description": "Movimentos diários de numerário na loja de Lisboa.",
                      "type": "Caixa",
                      "typeId": 1,
                      "workingCapital": 0
                    },
                    {
                      "id": 2,
                      "name": "Conta bancária — Millennium BCP",
                      "description": "Conta à ordem para pagamentos a fornecedores e IVA.",
                      "type": "Banco",
                      "typeId": 2,
                      "workingCapital": 0
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessAccountListDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "name": "Conta caixa — Loja Chiado",
                      "description": "Movimentos diários de numerário na loja de Lisboa.",
                      "type": "Caixa",
                      "typeId": 1,
                      "workingCapital": 0
                    },
                    {
                      "id": 2,
                      "name": "Conta bancária — Millennium BCP",
                      "description": "Conta à ordem para pagamentos a fornecedores e IVA.",
                      "type": "Banco",
                      "typeId": 2,
                      "workingCapital": 0
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/business-account-ledger": {
      "get": {
        "tags": [
          "BusinessAccountLedger"
        ],
        "summary": "Gets all business account ledger movements with optional filtering and pagination.",
        "parameters": [
          {
            "name": "accountIds",
            "in": "query",
            "description": "List of account identifiers to filter by.",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Start date filter.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date filter.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "filterDateType",
            "in": "query",
            "description": "Type of date to filter by.",
            "schema": {
              "$ref": "#/components/schemas/FilterDateType"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Status filter.",
            "schema": {
              "$ref": "#/components/schemas/FilterStatus"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of records per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessAccountLedgerListDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1001,
                      "comments": "Pagamento fatura energia — EDP",
                      "creationDate": "2025-03-01T09:15:00",
                      "paymentDate": null,
                      "businessAccount": "Conta bancária — Millennium BCP",
                      "amount": -245.8,
                      "balanceType": "Débito",
                      "accountHeading": "Fornecedores de serviços",
                      "accountCategory": null,
                      "status": "Liquidado",
                      "entity": null
                    },
                    {
                      "id": 1002,
                      "comments": null,
                      "creationDate": "2025-03-02T14:30:00",
                      "paymentDate": null,
                      "businessAccount": "Conta caixa — Loja Chiado",
                      "amount": 1280.5,
                      "balanceType": "Crédito",
                      "accountHeading": "Vendas de mercadorias",
                      "accountCategory": null,
                      "status": "Pendente",
                      "entity": null
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessAccountLedgerListDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1001,
                      "comments": "Pagamento fatura energia — EDP",
                      "creationDate": "2025-03-01T09:15:00",
                      "paymentDate": null,
                      "businessAccount": "Conta bancária — Millennium BCP",
                      "amount": -245.8,
                      "balanceType": "Débito",
                      "accountHeading": "Fornecedores de serviços",
                      "accountCategory": null,
                      "status": "Liquidado",
                      "entity": null
                    },
                    {
                      "id": 1002,
                      "comments": null,
                      "creationDate": "2025-03-02T14:30:00",
                      "paymentDate": null,
                      "businessAccount": "Conta caixa — Loja Chiado",
                      "amount": 1280.5,
                      "balanceType": "Crédito",
                      "accountHeading": "Vendas de mercadorias",
                      "accountCategory": null,
                      "status": "Pendente",
                      "entity": null
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessAccountLedgerListDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1001,
                      "comments": "Pagamento fatura energia — EDP",
                      "creationDate": "2025-03-01T09:15:00",
                      "paymentDate": null,
                      "businessAccount": "Conta bancária — Millennium BCP",
                      "amount": -245.8,
                      "balanceType": "Débito",
                      "accountHeading": "Fornecedores de serviços",
                      "accountCategory": null,
                      "status": "Liquidado",
                      "entity": null
                    },
                    {
                      "id": 1002,
                      "comments": null,
                      "creationDate": "2025-03-02T14:30:00",
                      "paymentDate": null,
                      "businessAccount": "Conta caixa — Loja Chiado",
                      "amount": 1280.5,
                      "balanceType": "Crédito",
                      "accountHeading": "Vendas de mercadorias",
                      "accountCategory": null,
                      "status": "Pendente",
                      "entity": null
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "BusinessAccountLedger"
        ],
        "summary": "Creates a new business account ledger entry.",
        "requestBody": {
          "description": "The ledger entry data to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BusinessAccountLedgerCreateDTO"
              },
              "example": {
                "businessAccountId": 1,
                "paymentDate": "2026-07-07T00:00:00+00:00",
                "creationDate": "2026-07-07T00:00:00+00:00",
                "entityKeyId": "CLI001",
                "accountHeadingId": 1,
                "accountCategoryId": 1,
                "balanceType": 2,
                "amount": 150.0,
                "comments": "Pagamento de fatura FT 2026/100",
                "docReference": "FT 2026/100",
                "isPending": false,
                "movementType": 0,
                "isReconciled": false,
                "ignoreWarningBalance": false
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/BusinessAccountLedgerCreateDTO"
              },
              "example": {
                "businessAccountId": 1,
                "paymentDate": "2026-07-07T00:00:00+00:00",
                "creationDate": "2026-07-07T00:00:00+00:00",
                "entityKeyId": "CLI001",
                "accountHeadingId": 1,
                "accountCategoryId": 1,
                "balanceType": 2,
                "amount": 150.0,
                "comments": "Pagamento de fatura FT 2026/100",
                "docReference": "FT 2026/100",
                "isPending": false,
                "movementType": 0,
                "isReconciled": false,
                "ignoreWarningBalance": false
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/BusinessAccountLedgerCreateDTO"
              },
              "example": {
                "businessAccountId": 1,
                "paymentDate": "2026-07-07T00:00:00+00:00",
                "creationDate": "2026-07-07T00:00:00+00:00",
                "entityKeyId": "CLI001",
                "accountHeadingId": 1,
                "accountCategoryId": 1,
                "balanceType": 2,
                "amount": 150.0,
                "comments": "Pagamento de fatura FT 2026/100",
                "docReference": "FT 2026/100",
                "isPending": false,
                "movementType": 0,
                "isReconciled": false,
                "ignoreWarningBalance": false
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessAccountLedgerDTO"
                },
                "example": {
                  "id": 1001,
                  "businessAccountId": 1,
                  "creationDate": "2025-03-01T09:15:00",
                  "paymentDate": "2025-03-01T00:00:00",
                  "entityType": 1,
                  "entity": null,
                  "accountHeading": null,
                  "accountCategory": null,
                  "balanceType": 1,
                  "amount": 245.8,
                  "comments": "Pagamento fatura energia — EDP",
                  "docReference": null,
                  "isPending": false,
                  "isManual": false,
                  "documentGuid": "doc-guid-001",
                  "paymentTypeId": 1,
                  "movementType": 2,
                  "isReconciled": false,
                  "fixedMovementId": 0,
                  "documentIsDeposited": false
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessAccountLedgerDTO"
                },
                "example": {
                  "id": 1001,
                  "businessAccountId": 1,
                  "creationDate": "2025-03-01T09:15:00",
                  "paymentDate": "2025-03-01T00:00:00",
                  "entityType": 1,
                  "entity": null,
                  "accountHeading": null,
                  "accountCategory": null,
                  "balanceType": 1,
                  "amount": 245.8,
                  "comments": "Pagamento fatura energia — EDP",
                  "docReference": null,
                  "isPending": false,
                  "isManual": false,
                  "documentGuid": "doc-guid-001",
                  "paymentTypeId": 1,
                  "movementType": 2,
                  "isReconciled": false,
                  "fixedMovementId": 0,
                  "documentIsDeposited": false
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessAccountLedgerDTO"
                },
                "example": {
                  "id": 1001,
                  "businessAccountId": 1,
                  "creationDate": "2025-03-01T09:15:00",
                  "paymentDate": "2025-03-01T00:00:00",
                  "entityType": 1,
                  "entity": null,
                  "accountHeading": null,
                  "accountCategory": null,
                  "balanceType": 1,
                  "amount": 245.8,
                  "comments": "Pagamento fatura energia — EDP",
                  "docReference": null,
                  "isPending": false,
                  "isManual": false,
                  "documentGuid": "doc-guid-001",
                  "paymentTypeId": 1,
                  "movementType": 2,
                  "isReconciled": false,
                  "fixedMovementId": 0,
                  "documentIsDeposited": false
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/business-account-ledger/{id}": {
      "get": {
        "tags": [
          "BusinessAccountLedger"
        ],
        "summary": "Gets a business account ledger entry by its ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the ledger entry.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessAccountLedgerDTO"
                },
                "example": {
                  "id": 1001,
                  "businessAccountId": 1,
                  "creationDate": "2025-03-01T09:15:00",
                  "paymentDate": "2025-03-01T00:00:00",
                  "entityType": 1,
                  "entity": null,
                  "accountHeading": null,
                  "accountCategory": null,
                  "balanceType": 1,
                  "amount": 245.8,
                  "comments": "Pagamento fatura energia — EDP",
                  "docReference": null,
                  "isPending": false,
                  "isManual": false,
                  "documentGuid": "doc-guid-001",
                  "paymentTypeId": 1,
                  "movementType": 2,
                  "isReconciled": false,
                  "fixedMovementId": 0,
                  "documentIsDeposited": false
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessAccountLedgerDTO"
                },
                "example": {
                  "id": 1001,
                  "businessAccountId": 1,
                  "creationDate": "2025-03-01T09:15:00",
                  "paymentDate": "2025-03-01T00:00:00",
                  "entityType": 1,
                  "entity": null,
                  "accountHeading": null,
                  "accountCategory": null,
                  "balanceType": 1,
                  "amount": 245.8,
                  "comments": "Pagamento fatura energia — EDP",
                  "docReference": null,
                  "isPending": false,
                  "isManual": false,
                  "documentGuid": "doc-guid-001",
                  "paymentTypeId": 1,
                  "movementType": 2,
                  "isReconciled": false,
                  "fixedMovementId": 0,
                  "documentIsDeposited": false
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessAccountLedgerDTO"
                },
                "example": {
                  "id": 1001,
                  "businessAccountId": 1,
                  "creationDate": "2025-03-01T09:15:00",
                  "paymentDate": "2025-03-01T00:00:00",
                  "entityType": 1,
                  "entity": null,
                  "accountHeading": null,
                  "accountCategory": null,
                  "balanceType": 1,
                  "amount": 245.8,
                  "comments": "Pagamento fatura energia — EDP",
                  "docReference": null,
                  "isPending": false,
                  "isManual": false,
                  "documentGuid": "doc-guid-001",
                  "paymentTypeId": 1,
                  "movementType": 2,
                  "isReconciled": false,
                  "fixedMovementId": 0,
                  "documentIsDeposited": false
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "BusinessAccountLedger"
        ],
        "summary": "Deletes a business account ledger entry by its ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the ledger entry to delete.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "BusinessAccountLedger"
        ],
        "summary": "Updates a business account ledger entry by its ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the ledger entry to update.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The updated ledger entry data.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BusinessAccountLedgerUpdateDTO"
              },
              "example": {
                "creationDate": "2026-07-07T00:00:00+00:00",
                "paymentDate": "2026-07-07T00:00:00+00:00",
                "entityKeyId": "CLI001",
                "accountHeadingId": 1,
                "accountCategoryId": 1,
                "balanceType": 2,
                "amount": 150.0,
                "comments": "Pagamento de fatura FT 2026/100",
                "isPending": false,
                "isReconciled": false,
                "ignoreWarningBalance": false
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/BusinessAccountLedgerUpdateDTO"
              },
              "example": {
                "creationDate": "2026-07-07T00:00:00+00:00",
                "paymentDate": "2026-07-07T00:00:00+00:00",
                "entityKeyId": "CLI001",
                "accountHeadingId": 1,
                "accountCategoryId": 1,
                "balanceType": 2,
                "amount": 150.0,
                "comments": "Pagamento de fatura FT 2026/100",
                "isPending": false,
                "isReconciled": false,
                "ignoreWarningBalance": false
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/BusinessAccountLedgerUpdateDTO"
              },
              "example": {
                "creationDate": "2026-07-07T00:00:00+00:00",
                "paymentDate": "2026-07-07T00:00:00+00:00",
                "entityKeyId": "CLI001",
                "accountHeadingId": 1,
                "accountCategoryId": 1,
                "balanceType": 2,
                "amount": 150.0,
                "comments": "Pagamento de fatura FT 2026/100",
                "isPending": false,
                "isReconciled": false,
                "ignoreWarningBalance": false
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error"
          }
        }
      }
    },
    "/gateway/business-account-ledger/{id}/bank-details": {
      "get": {
        "tags": [
          "BusinessAccountLedger"
        ],
        "summary": "Gets the payment bank details for a ledger entry.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the ledger entry.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentBankDetailDTO"
                  }
                },
                "example": [
                  {
                    "guid": "7c789eb3-89c3-4025-a9bc-b2aab96cf5b0",
                    "number": 4521,
                    "serieId": 3,
                    "documentTypeId": 1,
                    "paymentTypeId": 1,
                    "paymentMechanism": "CC",
                    "deferredDate": null,
                    "accountNumber": null,
                    "checkSequenceNumber": null,
                    "amount": 987.45,
                    "observation": null,
                    "imageGuid": null,
                    "bankKeyId": null,
                    "bankDescription": null,
                    "businessAccountId": null,
                    "documentIdentifier": "FT A/4521"
                  },
                  {
                    "guid": "3dc034cd-0f72-429f-ad6f-65987bae9d16",
                    "number": 4522,
                    "serieId": 3,
                    "documentTypeId": 1,
                    "paymentTypeId": 2,
                    "paymentMechanism": "TB",
                    "deferredDate": null,
                    "accountNumber": null,
                    "checkSequenceNumber": null,
                    "amount": 300.0,
                    "observation": null,
                    "imageGuid": null,
                    "bankKeyId": null,
                    "bankDescription": null,
                    "businessAccountId": null,
                    "documentIdentifier": "FT A/4522"
                  }
                ]
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentBankDetailDTO"
                  }
                },
                "example": [
                  {
                    "guid": "7c789eb3-89c3-4025-a9bc-b2aab96cf5b0",
                    "number": 4521,
                    "serieId": 3,
                    "documentTypeId": 1,
                    "paymentTypeId": 1,
                    "paymentMechanism": "CC",
                    "deferredDate": null,
                    "accountNumber": null,
                    "checkSequenceNumber": null,
                    "amount": 987.45,
                    "observation": null,
                    "imageGuid": null,
                    "bankKeyId": null,
                    "bankDescription": null,
                    "businessAccountId": null,
                    "documentIdentifier": "FT A/4521"
                  },
                  {
                    "guid": "3dc034cd-0f72-429f-ad6f-65987bae9d16",
                    "number": 4522,
                    "serieId": 3,
                    "documentTypeId": 1,
                    "paymentTypeId": 2,
                    "paymentMechanism": "TB",
                    "deferredDate": null,
                    "accountNumber": null,
                    "checkSequenceNumber": null,
                    "amount": 300.0,
                    "observation": null,
                    "imageGuid": null,
                    "bankKeyId": null,
                    "bankDescription": null,
                    "businessAccountId": null,
                    "documentIdentifier": "FT A/4522"
                  }
                ]
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentBankDetailDTO"
                  }
                },
                "example": [
                  {
                    "guid": "7c789eb3-89c3-4025-a9bc-b2aab96cf5b0",
                    "number": 4521,
                    "serieId": 3,
                    "documentTypeId": 1,
                    "paymentTypeId": 1,
                    "paymentMechanism": "CC",
                    "deferredDate": null,
                    "accountNumber": null,
                    "checkSequenceNumber": null,
                    "amount": 987.45,
                    "observation": null,
                    "imageGuid": null,
                    "bankKeyId": null,
                    "bankDescription": null,
                    "businessAccountId": null,
                    "documentIdentifier": "FT A/4521"
                  },
                  {
                    "guid": "3dc034cd-0f72-429f-ad6f-65987bae9d16",
                    "number": 4522,
                    "serieId": 3,
                    "documentTypeId": 1,
                    "paymentTypeId": 2,
                    "paymentMechanism": "TB",
                    "deferredDate": null,
                    "accountNumber": null,
                    "checkSequenceNumber": null,
                    "amount": 300.0,
                    "observation": null,
                    "imageGuid": null,
                    "bankKeyId": null,
                    "bankDescription": null,
                    "businessAccountId": null,
                    "documentIdentifier": "FT A/4522"
                  }
                ]
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error"
          }
        }
      }
    },
    "/gateway/business-account-ledger/{id}/printing-data": {
      "get": {
        "tags": [
          "BusinessAccountLedger"
        ],
        "summary": "Gets the print model for a specific business account ledger.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the ledger.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessAccountLedgerPrintingDTO"
                },
                "example": {
                  "id": 1001,
                  "creationDate": "2025-03-01T09:15:00",
                  "balanceType": 1,
                  "amount": 245.8,
                  "comments": "Pagamento fatura energia",
                  "paymentTypeDescription": "Numerário",
                  "movementType": 2,
                  "movementTypeHolder": "Inlet"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessAccountLedgerPrintingDTO"
                },
                "example": {
                  "id": 1001,
                  "creationDate": "2025-03-01T09:15:00",
                  "balanceType": 1,
                  "amount": 245.8,
                  "comments": "Pagamento fatura energia",
                  "paymentTypeDescription": "Numerário",
                  "movementType": 2,
                  "movementTypeHolder": "Inlet"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessAccountLedgerPrintingDTO"
                },
                "example": {
                  "id": 1001,
                  "creationDate": "2025-03-01T09:15:00",
                  "balanceType": 1,
                  "amount": 245.8,
                  "comments": "Pagamento fatura energia",
                  "paymentTypeDescription": "Numerário",
                  "movementType": 2,
                  "movementTypeHolder": "Inlet"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error"
          }
        }
      }
    },
    "/gateway/business-account-ledger/fixed-movement/{fixedMovementId}": {
      "get": {
        "tags": [
          "BusinessAccountLedger"
        ],
        "summary": "Gets all ledger entries associated with a specific fixed movement ID.",
        "parameters": [
          {
            "name": "fixedMovementId",
            "in": "path",
            "description": "The fixed movement ID.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BusinessAccountLedgerListDTO"
                  }
                },
                "example": [
                  {
                    "id": 1001,
                    "comments": "Pagamento fatura energia — EDP",
                    "creationDate": "2025-03-01T09:15:00",
                    "paymentDate": null,
                    "businessAccount": "Conta bancária — Millennium BCP",
                    "amount": -245.8,
                    "balanceType": "Débito",
                    "accountHeading": "Fornecedores de serviços",
                    "accountCategory": null,
                    "status": "Liquidado",
                    "entity": null
                  },
                  {
                    "id": 1002,
                    "comments": null,
                    "creationDate": "2025-03-02T14:30:00",
                    "paymentDate": null,
                    "businessAccount": "Conta caixa — Loja Chiado",
                    "amount": 1280.5,
                    "balanceType": "Crédito",
                    "accountHeading": "Vendas de mercadorias",
                    "accountCategory": null,
                    "status": "Pendente",
                    "entity": null
                  }
                ]
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BusinessAccountLedgerListDTO"
                  }
                },
                "example": [
                  {
                    "id": 1001,
                    "comments": "Pagamento fatura energia — EDP",
                    "creationDate": "2025-03-01T09:15:00",
                    "paymentDate": null,
                    "businessAccount": "Conta bancária — Millennium BCP",
                    "amount": -245.8,
                    "balanceType": "Débito",
                    "accountHeading": "Fornecedores de serviços",
                    "accountCategory": null,
                    "status": "Liquidado",
                    "entity": null
                  },
                  {
                    "id": 1002,
                    "comments": null,
                    "creationDate": "2025-03-02T14:30:00",
                    "paymentDate": null,
                    "businessAccount": "Conta caixa — Loja Chiado",
                    "amount": 1280.5,
                    "balanceType": "Crédito",
                    "accountHeading": "Vendas de mercadorias",
                    "accountCategory": null,
                    "status": "Pendente",
                    "entity": null
                  }
                ]
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BusinessAccountLedgerListDTO"
                  }
                },
                "example": [
                  {
                    "id": 1001,
                    "comments": "Pagamento fatura energia — EDP",
                    "creationDate": "2025-03-01T09:15:00",
                    "paymentDate": null,
                    "businessAccount": "Conta bancária — Millennium BCP",
                    "amount": -245.8,
                    "balanceType": "Débito",
                    "accountHeading": "Fornecedores de serviços",
                    "accountCategory": null,
                    "status": "Liquidado",
                    "entity": null
                  },
                  {
                    "id": 1002,
                    "comments": null,
                    "creationDate": "2025-03-02T14:30:00",
                    "paymentDate": null,
                    "businessAccount": "Conta caixa — Loja Chiado",
                    "amount": 1280.5,
                    "balanceType": "Crédito",
                    "accountHeading": "Vendas de mercadorias",
                    "accountCategory": null,
                    "status": "Pendente",
                    "entity": null
                  }
                ]
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error"
          }
        }
      }
    },
    "/gateway/business-account-ledger/params": {
      "get": {
        "tags": [
          "BusinessAccountLedger"
        ],
        "summary": "Gets the available parameters for listing business account ledger movements.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ListParametersDTO"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ListParametersDTO"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ListParametersDTO"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/business-account-ledger/to-deposit": {
      "get": {
        "tags": [
          "BusinessAccountLedger"
        ],
        "summary": "Gets all ledgers elegible to deposit by business account.",
        "parameters": [
          {
            "name": "businessAccountId",
            "in": "query",
            "description": "The ID of the business account.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BusinessAccountLedgerListDTO"
                  }
                },
                "example": [
                  {
                    "id": 1001,
                    "comments": "Pagamento fatura energia — EDP",
                    "creationDate": "2025-03-01T09:15:00",
                    "paymentDate": null,
                    "businessAccount": "Conta bancária — Millennium BCP",
                    "amount": -245.8,
                    "balanceType": "Débito",
                    "accountHeading": "Fornecedores de serviços",
                    "accountCategory": null,
                    "status": "Liquidado",
                    "entity": null
                  },
                  {
                    "id": 1002,
                    "comments": null,
                    "creationDate": "2025-03-02T14:30:00",
                    "paymentDate": null,
                    "businessAccount": "Conta caixa — Loja Chiado",
                    "amount": 1280.5,
                    "balanceType": "Crédito",
                    "accountHeading": "Vendas de mercadorias",
                    "accountCategory": null,
                    "status": "Pendente",
                    "entity": null
                  }
                ]
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BusinessAccountLedgerListDTO"
                  }
                },
                "example": [
                  {
                    "id": 1001,
                    "comments": "Pagamento fatura energia — EDP",
                    "creationDate": "2025-03-01T09:15:00",
                    "paymentDate": null,
                    "businessAccount": "Conta bancária — Millennium BCP",
                    "amount": -245.8,
                    "balanceType": "Débito",
                    "accountHeading": "Fornecedores de serviços",
                    "accountCategory": null,
                    "status": "Liquidado",
                    "entity": null
                  },
                  {
                    "id": 1002,
                    "comments": null,
                    "creationDate": "2025-03-02T14:30:00",
                    "paymentDate": null,
                    "businessAccount": "Conta caixa — Loja Chiado",
                    "amount": 1280.5,
                    "balanceType": "Crédito",
                    "accountHeading": "Vendas de mercadorias",
                    "accountCategory": null,
                    "status": "Pendente",
                    "entity": null
                  }
                ]
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BusinessAccountLedgerListDTO"
                  }
                },
                "example": [
                  {
                    "id": 1001,
                    "comments": "Pagamento fatura energia — EDP",
                    "creationDate": "2025-03-01T09:15:00",
                    "paymentDate": null,
                    "businessAccount": "Conta bancária — Millennium BCP",
                    "amount": -245.8,
                    "balanceType": "Débito",
                    "accountHeading": "Fornecedores de serviços",
                    "accountCategory": null,
                    "status": "Liquidado",
                    "entity": null
                  },
                  {
                    "id": 1002,
                    "comments": null,
                    "creationDate": "2025-03-02T14:30:00",
                    "paymentDate": null,
                    "businessAccount": "Conta caixa — Loja Chiado",
                    "amount": 1280.5,
                    "balanceType": "Crédito",
                    "accountHeading": "Vendas de mercadorias",
                    "accountCategory": null,
                    "status": "Pendente",
                    "entity": null
                  }
                ]
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error"
          }
        }
      }
    },
    "/gateway/business-account-ledger/years": {
      "get": {
        "tags": [
          "BusinessAccountLedger"
        ],
        "summary": "Gets all years for which there are business account ledger movements.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error"
          }
        }
      }
    },
    "/gateway/business-account/{businessAccountId}": {
      "put": {
        "tags": [
          "BusinessAccount"
        ],
        "summary": "Updates an existing business account by ID.",
        "parameters": [
          {
            "name": "businessAccountId",
            "in": "path",
            "description": "The business account ID.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "Data for update business account",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateBusinessAccountDTO"
              },
              "example": {
                "description": "Caixa de atendimento principal da loja",
                "name": "Caixa Principal",
                "maxBalance": 50000,
                "warningBalance": 1000,
                "userPermissions": null,
                "accountOwner": 1,
                "offline": false,
                "creditorSchemeId": null,
                "workingCapital": 200,
                "cashierControl": 1,
                "dailySession": 1,
                "shouldIgnoreBlindClose": false,
                "bankAccount": null,
                "blindCloseConfig": null
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateBusinessAccountDTO"
              },
              "example": {
                "description": "Caixa de atendimento principal da loja",
                "name": "Caixa Principal",
                "maxBalance": 50000,
                "warningBalance": 1000,
                "userPermissions": null,
                "accountOwner": 1,
                "offline": false,
                "creditorSchemeId": null,
                "workingCapital": 200,
                "cashierControl": 1,
                "dailySession": 1,
                "shouldIgnoreBlindClose": false,
                "bankAccount": null,
                "blindCloseConfig": null
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateBusinessAccountDTO"
              },
              "example": {
                "description": "Caixa de atendimento principal da loja",
                "name": "Caixa Principal",
                "maxBalance": 50000,
                "warningBalance": 1000,
                "userPermissions": null,
                "accountOwner": 1,
                "offline": false,
                "creditorSchemeId": null,
                "workingCapital": 200,
                "cashierControl": 1,
                "dailySession": 1,
                "shouldIgnoreBlindClose": false,
                "bankAccount": null,
                "blindCloseConfig": null
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "BusinessAccount"
        ],
        "summary": "Gets a business account by ID.",
        "parameters": [
          {
            "name": "businessAccountId",
            "in": "path",
            "description": "The business account ID.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessAccountDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Conta caixa — Loja Chiado",
                  "description": "Movimentos diários de numerário",
                  "type": 1,
                  "cashierControl": 1,
                  "offline": false,
                  "workingCapital": 500.0
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessAccountDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Conta caixa — Loja Chiado",
                  "description": "Movimentos diários de numerário",
                  "type": 1,
                  "cashierControl": 1,
                  "offline": false,
                  "workingCapital": 500.0
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessAccountDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Conta caixa — Loja Chiado",
                  "description": "Movimentos diários de numerário",
                  "type": 1,
                  "cashierControl": 1,
                  "offline": false,
                  "workingCapital": 500.0
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "BusinessAccount"
        ],
        "summary": "Deletes a business account by ID.",
        "parameters": [
          {
            "name": "businessAccountId",
            "in": "path",
            "description": "The business account ID.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/business-account/{businessAccountId}/authorize": {
      "post": {
        "tags": [
          "BusinessAccount"
        ],
        "summary": "Authorizes access to a business account and issues a short-lived token.",
        "parameters": [
          {
            "name": "businessAccountId",
            "in": "path",
            "description": "The business account ID.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "Authorization data for the business account.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BusinessAccountAuthorizationDTO"
              },
              "example": {
                "password": "S3cur3P@ss!"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/BusinessAccountAuthorizationDTO"
              },
              "example": {
                "password": "S3cur3P@ss!"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/BusinessAccountAuthorizationDTO"
              },
              "example": {
                "password": "S3cur3P@ss!"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/business-account/{businessAccountId}/budgets/{year}": {
      "get": {
        "tags": [
          "BusinessAccount"
        ],
        "summary": "Gets the budget for a specific business account and year.",
        "parameters": [
          {
            "name": "businessAccountId",
            "in": "path",
            "description": "The business account ID.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "year",
            "in": "path",
            "description": "The year to retrieve the budget for.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetDetailDTO"
                },
                "example": {
                  "id": 1,
                  "year": 2026,
                  "entityId": 10,
                  "entityDescription": "61 — Custo das mercadorias vendidas",
                  "entityName": "Rubrica de custos",
                  "months": {}
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetDetailDTO"
                },
                "example": {
                  "id": 1,
                  "year": 2026,
                  "entityId": 10,
                  "entityDescription": "61 — Custo das mercadorias vendidas",
                  "entityName": "Rubrica de custos",
                  "months": {}
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetDetailDTO"
                },
                "example": {
                  "id": 1,
                  "year": 2026,
                  "entityId": 10,
                  "entityDescription": "61 — Custo das mercadorias vendidas",
                  "entityName": "Rubrica de custos",
                  "months": {}
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/business-account/{businessAccountId}/details": {
      "get": {
        "tags": [
          "BusinessAccount"
        ],
        "summary": "Gets detailed information for a business account by ID.",
        "parameters": [
          {
            "name": "businessAccountId",
            "in": "path",
            "description": "The business account ID.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessAccountDetailsDTO"
                },
                "example": {
                  "id": 1,
                  "description": "Movimentos diários de numerário",
                  "name": "Conta caixa — Loja Chiado",
                  "type": 1,
                  "balance": 12540.75,
                  "maxBalance": 50000,
                  "warningBalance": 1000,
                  "password": null,
                  "userPermissions": null,
                  "accountOwner": 1,
                  "creditorSchemeId": null,
                  "workingCapital": 500.0,
                  "cashierControl": 1,
                  "dailySession": 1,
                  "offline": false,
                  "isCashierBlocked": false,
                  "bankAccount": null,
                  "blindCloseConfig": null
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessAccountDetailsDTO"
                },
                "example": {
                  "id": 1,
                  "description": "Movimentos diários de numerário",
                  "name": "Conta caixa — Loja Chiado",
                  "type": 1,
                  "balance": 12540.75,
                  "maxBalance": 50000,
                  "warningBalance": 1000,
                  "password": null,
                  "userPermissions": null,
                  "accountOwner": 1,
                  "creditorSchemeId": null,
                  "workingCapital": 500.0,
                  "cashierControl": 1,
                  "dailySession": 1,
                  "offline": false,
                  "isCashierBlocked": false,
                  "bankAccount": null,
                  "blindCloseConfig": null
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessAccountDetailsDTO"
                },
                "example": {
                  "id": 1,
                  "description": "Movimentos diários de numerário",
                  "name": "Conta caixa — Loja Chiado",
                  "type": 1,
                  "balance": 12540.75,
                  "maxBalance": 50000,
                  "warningBalance": 1000,
                  "password": null,
                  "userPermissions": null,
                  "accountOwner": 1,
                  "creditorSchemeId": null,
                  "workingCapital": 500.0,
                  "cashierControl": 1,
                  "dailySession": 1,
                  "offline": false,
                  "isCashierBlocked": false,
                  "bankAccount": null,
                  "blindCloseConfig": null
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/business-account/{businessAccountId}/extract-config": {
      "get": {
        "tags": [
          "BusinessAccount"
        ],
        "summary": "Gets the extract configuration for a business account.",
        "parameters": [
          {
            "name": "businessAccountId",
            "in": "path",
            "description": "The business account ID.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/XConfigExtractModelDTO"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/XConfigExtractModelDTO"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/XConfigExtractModelDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "BusinessAccount"
        ],
        "summary": "Creates an extract configuration for a business account.",
        "parameters": [
          {
            "name": "businessAccountId",
            "in": "path",
            "description": "The business account ID.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The extract configuration data.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/XConfigExtractModelDTO"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/XConfigExtractModelDTO"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/XConfigExtractModelDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "BusinessAccount"
        ],
        "summary": "Updates the extract configuration for a business account.",
        "parameters": [
          {
            "name": "businessAccountId",
            "in": "path",
            "description": "The business account ID.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The updated extract configuration data.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/XConfigExtractModelDTO"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/XConfigExtractModelDTO"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/XConfigExtractModelDTO"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/business-account/{businessAccountId}/password": {
      "put": {
        "tags": [
          "BusinessAccount"
        ],
        "summary": "Updates the password for a business account.",
        "parameters": [
          {
            "name": "businessAccountId",
            "in": "path",
            "description": "The business account ID.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The new password data.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateBusinessAccountPasswordDTO"
              },
              "example": {
                "oldPassword": "S3cur3P@ss!",
                "newPassword": "N3wS3cur3P@ss!"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateBusinessAccountPasswordDTO"
              },
              "example": {
                "oldPassword": "S3cur3P@ss!",
                "newPassword": "N3wS3cur3P@ss!"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateBusinessAccountPasswordDTO"
              },
              "example": {
                "oldPassword": "S3cur3P@ss!",
                "newPassword": "N3wS3cur3P@ss!"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "BusinessAccount"
        ],
        "summary": "Removes the password for a business account.",
        "parameters": [
          {
            "name": "businessAccountId",
            "in": "path",
            "description": "The business account ID.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "BusinessAccount"
        ],
        "summary": "Inserts a new password for a business account.",
        "parameters": [
          {
            "name": "businessAccountId",
            "in": "path",
            "description": "The business account ID.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The password data to insert.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateBusinessAccountPasswordDTO"
              },
              "example": {
                "accountOwnerId": 1,
                "password": "S3cur3P@ss!"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateBusinessAccountPasswordDTO"
              },
              "example": {
                "accountOwnerId": 1,
                "password": "S3cur3P@ss!"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateBusinessAccountPasswordDTO"
              },
              "example": {
                "accountOwnerId": 1,
                "password": "S3cur3P@ss!"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/business-account/{businessAccountId}/reconciliation-imports": {
      "post": {
        "tags": [
          "BusinessAccount"
        ],
        "summary": "Imports reconciliation data for a business account.",
        "parameters": [
          {
            "name": "businessAccountId",
            "in": "path",
            "description": "The business account ID.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The reconciliation import data.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveBusinessAccountLedgerReconciliationImportDTO"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveBusinessAccountLedgerReconciliationImportDTO"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SaveBusinessAccountLedgerReconciliationImportDTO"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/business-account/{businessAccountId}/reconciliation-imports/analyzes": {
      "post": {
        "tags": [
          "BusinessAccount"
        ],
        "summary": "Analyzes reconciliation data for a business account.",
        "parameters": [
          {
            "name": "businessAccountId",
            "in": "path",
            "description": "The business account ID.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "data": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessAccountLedgerReconciliationImportResponseDTO"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessAccountLedgerReconciliationImportResponseDTO"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessAccountLedgerReconciliationImportResponseDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/business-account/{businessAccountId}/unlock": {
      "post": {
        "tags": [
          "BusinessAccount"
        ],
        "summary": "Unlocks the cashier account.",
        "parameters": [
          {
            "name": "businessAccountId",
            "in": "path",
            "description": "The business account ID.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error"
          }
        }
      }
    },
    "/gateway/business-account/{cashierAccountId}/closures": {
      "post": {
        "tags": [
          "BusinessAccount"
        ],
        "summary": "Closes a cashier session for the specified cashier account.",
        "parameters": [
          {
            "name": "cashierAccountId",
            "in": "path",
            "description": "The cashier account ID.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The cashier closing operation data.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CashierClosingOperationDTO"
              },
              "example": {
                "businessAccountId": 1,
                "destinationCashierId": null,
                "shouldValidateBlindClose": false,
                "amount": 1500.0,
                "sessionClosingDeclaration": {
                  "cardDeclarations": {
                    "paymentTypeDeclarations": [],
                    "total": 0,
                    "description": null
                  },
                  "otherDeclarations": {
                    "paymentTypeDeclarations": [],
                    "total": 0,
                    "description": null
                  },
                  "currencyDeclarations": {
                    "currencyDeclarations": [],
                    "description": ""
                  }
                }
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CashierClosingOperationDTO"
              },
              "example": {
                "businessAccountId": 1,
                "destinationCashierId": null,
                "shouldValidateBlindClose": false,
                "amount": 1500.0,
                "sessionClosingDeclaration": {
                  "cardDeclarations": {
                    "paymentTypeDeclarations": [],
                    "total": 0,
                    "description": null
                  },
                  "otherDeclarations": {
                    "paymentTypeDeclarations": [],
                    "total": 0,
                    "description": null
                  },
                  "currencyDeclarations": {
                    "currencyDeclarations": [],
                    "description": ""
                  }
                }
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CashierClosingOperationDTO"
              },
              "example": {
                "businessAccountId": 1,
                "destinationCashierId": null,
                "shouldValidateBlindClose": false,
                "amount": 1500.0,
                "sessionClosingDeclaration": {
                  "cardDeclarations": {
                    "paymentTypeDeclarations": [],
                    "total": 0,
                    "description": null
                  },
                  "otherDeclarations": {
                    "paymentTypeDeclarations": [],
                    "total": 0,
                    "description": null
                  },
                  "currencyDeclarations": {
                    "currencyDeclarations": [],
                    "description": ""
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Result"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Result"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Result"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error"
          }
        }
      }
    },
    "/gateway/business-account/{cashierAccountId}/sessions": {
      "post": {
        "tags": [
          "BusinessAccount"
        ],
        "summary": "Opens a cashier session for the specified cashier account.",
        "parameters": [
          {
            "name": "cashierAccountId",
            "in": "path",
            "description": "The cashier account ID.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The cashier opening operation data.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CashierOpeningOperationDTO"
              },
              "example": {
                "id": 1,
                "originCashierId": null,
                "amount": 200.0,
                "comments": "Abertura de caixa - turno da manha"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CashierOpeningOperationDTO"
              },
              "example": {
                "id": 1,
                "originCashierId": null,
                "amount": 200.0,
                "comments": "Abertura de caixa - turno da manha"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CashierOpeningOperationDTO"
              },
              "example": {
                "id": 1,
                "originCashierId": null,
                "amount": 200.0,
                "comments": "Abertura de caixa - turno da manha"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/business-account/{id}/transfer-movements": {
      "post": {
        "tags": [
          "BusinessAccount"
        ],
        "summary": "Transfers movements between business accounts.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The business account ID.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The transfer movements request data.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TransferMovementsRequestDTO"
              },
              "example": {
                "transferDate": "2026-07-07T00:00:00+00:00",
                "transferMovements": [
                  {
                    "businessAccountLedgerId": 1,
                    "counterMovementObservation": "Contrapartida deposito",
                    "sourceObservation": "Saida para deposito",
                    "destinationObservation": "Entrada de deposito"
                  }
                ],
                "generalObservation": "Deposito bancario semanal"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TransferMovementsRequestDTO"
              },
              "example": {
                "transferDate": "2026-07-07T00:00:00+00:00",
                "transferMovements": [
                  {
                    "businessAccountLedgerId": 1,
                    "counterMovementObservation": "Contrapartida deposito",
                    "sourceObservation": "Saida para deposito",
                    "destinationObservation": "Entrada de deposito"
                  }
                ],
                "generalObservation": "Deposito bancario semanal"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TransferMovementsRequestDTO"
              },
              "example": {
                "transferDate": "2026-07-07T00:00:00+00:00",
                "transferMovements": [
                  {
                    "businessAccountLedgerId": 1,
                    "counterMovementObservation": "Contrapartida deposito",
                    "sourceObservation": "Saida para deposito",
                    "destinationObservation": "Entrada de deposito"
                  }
                ],
                "generalObservation": "Deposito bancario semanal"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/business-account/budgets/{year}": {
      "post": {
        "tags": [
          "BusinessAccount"
        ],
        "summary": "Saves a list of budgets for a given year.",
        "parameters": [
          {
            "name": "year",
            "in": "path",
            "description": "The year for which to save the budgets.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The list of budget DTOs.",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BudgetDTO"
                }
              },
              "example": [
                {
                  "id": 1,
                  "budgetId": 1,
                  "year": 2026,
                  "entityId": 10,
                  "entityName": "61 — CMV",
                  "entityDescription": "Custo das mercadorias vendidas",
                  "monthlyAmounts": {},
                  "secundaryId": null
                },
                {
                  "id": 2,
                  "budgetId": 2,
                  "year": 2026,
                  "entityId": 11,
                  "entityName": "71 — Vendas",
                  "entityDescription": "Receita de vendas",
                  "monthlyAmounts": {},
                  "secundaryId": null
                }
              ]
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BudgetDTO"
                }
              },
              "example": [
                {
                  "id": 1,
                  "budgetId": 1,
                  "year": 2026,
                  "entityId": 10,
                  "entityName": "61 — CMV",
                  "entityDescription": "Custo das mercadorias vendidas",
                  "monthlyAmounts": {},
                  "secundaryId": null
                },
                {
                  "id": 2,
                  "budgetId": 2,
                  "year": 2026,
                  "entityId": 11,
                  "entityName": "71 — Vendas",
                  "entityDescription": "Receita de vendas",
                  "monthlyAmounts": {},
                  "secundaryId": null
                }
              ]
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BudgetDTO"
                }
              },
              "example": [
                {
                  "id": 1,
                  "budgetId": 1,
                  "year": 2026,
                  "entityId": 10,
                  "entityName": "61 — CMV",
                  "entityDescription": "Custo das mercadorias vendidas",
                  "monthlyAmounts": {},
                  "secundaryId": null
                },
                {
                  "id": 2,
                  "budgetId": 2,
                  "year": 2026,
                  "entityId": 11,
                  "entityName": "71 — Vendas",
                  "entityDescription": "Receita de vendas",
                  "monthlyAmounts": {},
                  "secundaryId": null
                }
              ]
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "BusinessAccount"
        ],
        "summary": "Gets all budgets for a given year, with an option to include null entities.",
        "parameters": [
          {
            "name": "year",
            "in": "path",
            "description": "The year to retrieve budgets for.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "withNullEntities",
            "in": "query",
            "description": "Whether to include null entities.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BudgetDTO"
                  }
                },
                "example": [
                  {
                    "id": 1,
                    "budgetId": 1,
                    "year": 2026,
                    "entityId": 10,
                    "entityName": "61 — CMV",
                    "entityDescription": "Custo das mercadorias vendidas",
                    "monthlyAmounts": {},
                    "secundaryId": null
                  },
                  {
                    "id": 2,
                    "budgetId": 2,
                    "year": 2026,
                    "entityId": 11,
                    "entityName": "71 — Vendas",
                    "entityDescription": "Receita de vendas",
                    "monthlyAmounts": {},
                    "secundaryId": null
                  }
                ]
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BudgetDTO"
                  }
                },
                "example": [
                  {
                    "id": 1,
                    "budgetId": 1,
                    "year": 2026,
                    "entityId": 10,
                    "entityName": "61 — CMV",
                    "entityDescription": "Custo das mercadorias vendidas",
                    "monthlyAmounts": {},
                    "secundaryId": null
                  },
                  {
                    "id": 2,
                    "budgetId": 2,
                    "year": 2026,
                    "entityId": 11,
                    "entityName": "71 — Vendas",
                    "entityDescription": "Receita de vendas",
                    "monthlyAmounts": {},
                    "secundaryId": null
                  }
                ]
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BudgetDTO"
                  }
                },
                "example": [
                  {
                    "id": 1,
                    "budgetId": 1,
                    "year": 2026,
                    "entityId": 10,
                    "entityName": "61 — CMV",
                    "entityDescription": "Custo das mercadorias vendidas",
                    "monthlyAmounts": {},
                    "secundaryId": null
                  },
                  {
                    "id": 2,
                    "budgetId": 2,
                    "year": 2026,
                    "entityId": 11,
                    "entityName": "71 — Vendas",
                    "entityDescription": "Receita de vendas",
                    "monthlyAmounts": {},
                    "secundaryId": null
                  }
                ]
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/business-account/budgets/auto-generate": {
      "post": {
        "tags": [
          "BusinessAccount"
        ],
        "summary": "Automatically generates budgets based on the provided request.",
        "requestBody": {
          "description": "The auto-generation budget request DTO.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AutoGenerationBudgetRequestDTO"
              },
              "example": {
                "generationMode": 0,
                "growthRate": 5,
                "expensesGrowthRate": 3,
                "revenuesGrowthRate": 7,
                "baseYear": 2025,
                "targetYear": 2026
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AutoGenerationBudgetRequestDTO"
              },
              "example": {
                "generationMode": 0,
                "growthRate": 5,
                "expensesGrowthRate": 3,
                "revenuesGrowthRate": 7,
                "baseYear": 2025,
                "targetYear": 2026
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AutoGenerationBudgetRequestDTO"
              },
              "example": {
                "generationMode": 0,
                "growthRate": 5,
                "expensesGrowthRate": 3,
                "revenuesGrowthRate": 7,
                "baseYear": 2025,
                "targetYear": 2026
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BudgetDTO"
                  }
                },
                "example": [
                  {
                    "id": 1,
                    "budgetId": 1,
                    "year": 2026,
                    "entityId": 10,
                    "entityName": "61 — CMV",
                    "entityDescription": "Custo das mercadorias vendidas",
                    "monthlyAmounts": {},
                    "secundaryId": null
                  },
                  {
                    "id": 2,
                    "budgetId": 2,
                    "year": 2026,
                    "entityId": 11,
                    "entityName": "71 — Vendas",
                    "entityDescription": "Receita de vendas",
                    "monthlyAmounts": {},
                    "secundaryId": null
                  }
                ]
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BudgetDTO"
                  }
                },
                "example": [
                  {
                    "id": 1,
                    "budgetId": 1,
                    "year": 2026,
                    "entityId": 10,
                    "entityName": "61 — CMV",
                    "entityDescription": "Custo das mercadorias vendidas",
                    "monthlyAmounts": {},
                    "secundaryId": null
                  },
                  {
                    "id": 2,
                    "budgetId": 2,
                    "year": 2026,
                    "entityId": 11,
                    "entityName": "71 — Vendas",
                    "entityDescription": "Receita de vendas",
                    "monthlyAmounts": {},
                    "secundaryId": null
                  }
                ]
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BudgetDTO"
                  }
                },
                "example": [
                  {
                    "id": 1,
                    "budgetId": 1,
                    "year": 2026,
                    "entityId": 10,
                    "entityName": "61 — CMV",
                    "entityDescription": "Custo das mercadorias vendidas",
                    "monthlyAmounts": {},
                    "secundaryId": null
                  },
                  {
                    "id": 2,
                    "budgetId": 2,
                    "year": 2026,
                    "entityId": 11,
                    "entityName": "71 — Vendas",
                    "entityDescription": "Receita de vendas",
                    "monthlyAmounts": {},
                    "secundaryId": null
                  }
                ]
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/business-account/budgets/years": {
      "get": {
        "tags": [
          "BusinessAccount"
        ],
        "summary": "Gets all years for which budgets exist.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "int32"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/business-account/budgets/years/last": {
      "get": {
        "tags": [
          "BusinessAccount"
        ],
        "summary": "Gets the last year for which a budget exists.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "text/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/business-account/next-id": {
      "get": {
        "tags": [
          "BusinessAccount"
        ],
        "summary": "Gets the next available business account ID.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "text/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/business-account/transfer-amount": {
      "post": {
        "tags": [
          "BusinessAccount"
        ],
        "summary": "Transfers an amount between business accounts.",
        "requestBody": {
          "description": "The transfer amount data.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TransferAmountDTO"
              },
              "example": {
                "sourceAccountId": 1,
                "targetAccountId": 2,
                "amount": 500.0,
                "date": "2026-07-07T00:00:00+00:00",
                "sourceComment": "Transferencia para conta bancaria",
                "targetComment": "Transferencia recebida da caixa",
                "creationUserId": 1,
                "accountHeadingId": 1,
                "accountCategoryId": 1,
                "ledgersToDepositIds": null
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TransferAmountDTO"
              },
              "example": {
                "sourceAccountId": 1,
                "targetAccountId": 2,
                "amount": 500.0,
                "date": "2026-07-07T00:00:00+00:00",
                "sourceComment": "Transferencia para conta bancaria",
                "targetComment": "Transferencia recebida da caixa",
                "creationUserId": 1,
                "accountHeadingId": 1,
                "accountCategoryId": 1,
                "ledgersToDepositIds": null
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TransferAmountDTO"
              },
              "example": {
                "sourceAccountId": 1,
                "targetAccountId": 2,
                "amount": 500.0,
                "date": "2026-07-07T00:00:00+00:00",
                "sourceComment": "Transferencia para conta bancaria",
                "targetComment": "Transferencia recebida da caixa",
                "creationUserId": 1,
                "accountHeadingId": 1,
                "accountCategoryId": 1,
                "ledgersToDepositIds": null
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/cards": {
      "get": {
        "tags": [
          "BusinessSummary"
        ],
        "summary": "Gets all business summary cards.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BusinessSummaryDTO"
                  }
                },
                "example": [
                  {
                    "description": "Faturação do dia",
                    "value": {
                      "total": 28450.75,
                      "totalDiscounts": 0,
                      "cost": 0,
                      "profit": 0,
                      "profitNet": 0,
                      "qnt": 0,
                      "period": null
                    },
                    "balancePercentage": 12.5,
                    "balance": 3180.2,
                    "tooltipDescription": "Total faturado hoje vs. dia anterior",
                    "type": 1,
                    "status": 3
                  },
                  {
                    "description": "Custos operacionais",
                    "value": {
                      "total": 9320.4,
                      "totalDiscounts": 0,
                      "cost": 0,
                      "profit": 0,
                      "profitNet": 0,
                      "qnt": 0,
                      "period": null
                    },
                    "balancePercentage": -3.2,
                    "balance": -310.0,
                    "tooltipDescription": "Custos operacionais acumulados",
                    "type": 0,
                    "status": 1
                  }
                ]
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BusinessSummaryDTO"
                  }
                },
                "example": [
                  {
                    "description": "Faturação do dia",
                    "value": {
                      "total": 28450.75,
                      "totalDiscounts": 0,
                      "cost": 0,
                      "profit": 0,
                      "profitNet": 0,
                      "qnt": 0,
                      "period": null
                    },
                    "balancePercentage": 12.5,
                    "balance": 3180.2,
                    "tooltipDescription": "Total faturado hoje vs. dia anterior",
                    "type": 1,
                    "status": 3
                  },
                  {
                    "description": "Custos operacionais",
                    "value": {
                      "total": 9320.4,
                      "totalDiscounts": 0,
                      "cost": 0,
                      "profit": 0,
                      "profitNet": 0,
                      "qnt": 0,
                      "period": null
                    },
                    "balancePercentage": -3.2,
                    "balance": -310.0,
                    "tooltipDescription": "Custos operacionais acumulados",
                    "type": 0,
                    "status": 1
                  }
                ]
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BusinessSummaryDTO"
                  }
                },
                "example": [
                  {
                    "description": "Faturação do dia",
                    "value": {
                      "total": 28450.75,
                      "totalDiscounts": 0,
                      "cost": 0,
                      "profit": 0,
                      "profitNet": 0,
                      "qnt": 0,
                      "period": null
                    },
                    "balancePercentage": 12.5,
                    "balance": 3180.2,
                    "tooltipDescription": "Total faturado hoje vs. dia anterior",
                    "type": 1,
                    "status": 3
                  },
                  {
                    "description": "Custos operacionais",
                    "value": {
                      "total": 9320.4,
                      "totalDiscounts": 0,
                      "cost": 0,
                      "profit": 0,
                      "profitNet": 0,
                      "qnt": 0,
                      "period": null
                    },
                    "balancePercentage": -3.2,
                    "balance": -310.0,
                    "tooltipDescription": "Custos operacionais acumulados",
                    "type": 0,
                    "status": 1
                  }
                ]
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/cashier-account-sessions": {
      "get": {
        "tags": [
          "CashierAccountSessions"
        ],
        "summary": "Gets all cashier account sessions with optional filtering and pagination.",
        "parameters": [
          {
            "name": "businessAccounts",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            }
          },
          {
            "name": "filterDateType",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/AccountSessionFilterDateType"
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "openingUser",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "closureUser",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "onlyOpenedSessions",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CashierAccountSessionListDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 501,
                      "startDate": "2025-03-24T08:00:00",
                      "endDate": "2025-03-24T18:05:00",
                      "cashierAccountName": "Caixa 1 — Restaurante Sado",
                      "cashierAccountId": 0,
                      "openingUserName": "Maria Ferreira",
                      "openingUserId": 0,
                      "closeUserName": "João Almeida",
                      "closeUserId": 0,
                      "amount": 1842.35,
                      "declared": 1840.0,
                      "difference": -2.35
                    },
                    {
                      "id": 502,
                      "startDate": "2025-03-25T08:00:00",
                      "endDate": null,
                      "cashierAccountName": "Caixa 2 — Restaurante Sado",
                      "cashierAccountId": 0,
                      "openingUserName": "Carla Matos",
                      "openingUserId": 0,
                      "closeUserName": "",
                      "closeUserId": 0,
                      "amount": 0,
                      "declared": 0,
                      "difference": 0
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CashierAccountSessionListDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 501,
                      "startDate": "2025-03-24T08:00:00",
                      "endDate": "2025-03-24T18:05:00",
                      "cashierAccountName": "Caixa 1 — Restaurante Sado",
                      "cashierAccountId": 0,
                      "openingUserName": "Maria Ferreira",
                      "openingUserId": 0,
                      "closeUserName": "João Almeida",
                      "closeUserId": 0,
                      "amount": 1842.35,
                      "declared": 1840.0,
                      "difference": -2.35
                    },
                    {
                      "id": 502,
                      "startDate": "2025-03-25T08:00:00",
                      "endDate": null,
                      "cashierAccountName": "Caixa 2 — Restaurante Sado",
                      "cashierAccountId": 0,
                      "openingUserName": "Carla Matos",
                      "openingUserId": 0,
                      "closeUserName": "",
                      "closeUserId": 0,
                      "amount": 0,
                      "declared": 0,
                      "difference": 0
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CashierAccountSessionListDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 501,
                      "startDate": "2025-03-24T08:00:00",
                      "endDate": "2025-03-24T18:05:00",
                      "cashierAccountName": "Caixa 1 — Restaurante Sado",
                      "cashierAccountId": 0,
                      "openingUserName": "Maria Ferreira",
                      "openingUserId": 0,
                      "closeUserName": "João Almeida",
                      "closeUserId": 0,
                      "amount": 1842.35,
                      "declared": 1840.0,
                      "difference": -2.35
                    },
                    {
                      "id": 502,
                      "startDate": "2025-03-25T08:00:00",
                      "endDate": null,
                      "cashierAccountName": "Caixa 2 — Restaurante Sado",
                      "cashierAccountId": 0,
                      "openingUserName": "Carla Matos",
                      "openingUserId": 0,
                      "closeUserName": "",
                      "closeUserId": 0,
                      "amount": 0,
                      "declared": 0,
                      "difference": 0
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/cashier-account-sessions/{id}": {
      "get": {
        "tags": [
          "CashierAccountSessions"
        ],
        "summary": "Gets a cashier account session by ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The cashier account session ID.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CashierAccountSessionDTO"
                },
                "example": {
                  "id": 501,
                  "guid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
                  "cashierAccountId": 1,
                  "destinationBusinessAccountId": null,
                  "declarations": {
                    "cardDeclarations": {
                      "paymentTypeDeclarations": [],
                      "total": 0
                    },
                    "otherDeclarations": {
                      "paymentTypeDeclarations": [],
                      "total": 0
                    },
                    "currencyDeclarations": []
                  }
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CashierAccountSessionDTO"
                },
                "example": {
                  "id": 501,
                  "guid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
                  "cashierAccountId": 1,
                  "destinationBusinessAccountId": null,
                  "declarations": {
                    "cardDeclarations": {
                      "paymentTypeDeclarations": [],
                      "total": 0
                    },
                    "otherDeclarations": {
                      "paymentTypeDeclarations": [],
                      "total": 0
                    },
                    "currencyDeclarations": []
                  }
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CashierAccountSessionDTO"
                },
                "example": {
                  "id": 501,
                  "guid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
                  "cashierAccountId": 1,
                  "destinationBusinessAccountId": null,
                  "declarations": {
                    "cardDeclarations": {
                      "paymentTypeDeclarations": [],
                      "total": 0
                    },
                    "otherDeclarations": {
                      "paymentTypeDeclarations": [],
                      "total": 0
                    },
                    "currencyDeclarations": []
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/cashier-account-sessions/{id}/declarations": {
      "put": {
        "tags": [
          "CashierAccountSessions"
        ],
        "summary": "Corrects the closing declarations for a cashier account session.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The cashier account session ID.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The correction data including reason and new declarations.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CashierClosingDeclarationCorrectionDTO"
              },
              "example": {
                "correctionReason": "Correcao de valor declarado no fecho de caixa",
                "sessionClosingDeclaration": {
                  "cardDeclarations": {
                    "paymentTypeDeclarations": [],
                    "total": 0,
                    "description": null
                  },
                  "otherDeclarations": {
                    "paymentTypeDeclarations": [],
                    "total": 0,
                    "description": null
                  },
                  "currencyDeclarations": {
                    "currencyDeclarations": [],
                    "description": ""
                  }
                }
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CashierClosingDeclarationCorrectionDTO"
              },
              "example": {
                "correctionReason": "Correcao de valor declarado no fecho de caixa",
                "sessionClosingDeclaration": {
                  "cardDeclarations": {
                    "paymentTypeDeclarations": [],
                    "total": 0,
                    "description": null
                  },
                  "otherDeclarations": {
                    "paymentTypeDeclarations": [],
                    "total": 0,
                    "description": null
                  },
                  "currencyDeclarations": {
                    "currencyDeclarations": [],
                    "description": ""
                  }
                }
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CashierClosingDeclarationCorrectionDTO"
              },
              "example": {
                "correctionReason": "Correcao de valor declarado no fecho de caixa",
                "sessionClosingDeclaration": {
                  "cardDeclarations": {
                    "paymentTypeDeclarations": [],
                    "total": 0,
                    "description": null
                  },
                  "otherDeclarations": {
                    "paymentTypeDeclarations": [],
                    "total": 0,
                    "description": null
                  },
                  "currencyDeclarations": {
                    "currencyDeclarations": [],
                    "description": ""
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/cashier-account-sessions/{id}/ledgers": {
      "get": {
        "tags": [
          "CashierAccountSessions"
        ],
        "summary": "Gets all ledger entries associated with a specific cashier account session.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The cashier account session ID.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CashierAccountSessionLedgerListDTO"
                  }
                },
                "example": [
                  {
                    "id": 5001,
                    "creationDate": "2025-03-24T10:30:00",
                    "user": "Maria Ferreira",
                    "movementTypeHolder": "Venda",
                    "movementType": 1,
                    "comments": "Pagamento FT A/4521",
                    "amount": 1287.45,
                    "currency": {
                      "keyId": "",
                      "symbol": "",
                      "decimalPlaces": 0,
                      "symbolPosition": 0
                    }
                  },
                  {
                    "id": 5002,
                    "creationDate": "2025-03-24T12:15:00",
                    "user": "João Almeida",
                    "movementTypeHolder": "Troco",
                    "movementType": 2,
                    "comments": "Troco devolvido",
                    "amount": -12.55,
                    "currency": {
                      "keyId": "",
                      "symbol": "",
                      "decimalPlaces": 0,
                      "symbolPosition": 0
                    }
                  }
                ]
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CashierAccountSessionLedgerListDTO"
                  }
                },
                "example": [
                  {
                    "id": 5001,
                    "creationDate": "2025-03-24T10:30:00",
                    "user": "Maria Ferreira",
                    "movementTypeHolder": "Venda",
                    "movementType": 1,
                    "comments": "Pagamento FT A/4521",
                    "amount": 1287.45,
                    "currency": {
                      "keyId": "",
                      "symbol": "",
                      "decimalPlaces": 0,
                      "symbolPosition": 0
                    }
                  },
                  {
                    "id": 5002,
                    "creationDate": "2025-03-24T12:15:00",
                    "user": "João Almeida",
                    "movementTypeHolder": "Troco",
                    "movementType": 2,
                    "comments": "Troco devolvido",
                    "amount": -12.55,
                    "currency": {
                      "keyId": "",
                      "symbol": "",
                      "decimalPlaces": 0,
                      "symbolPosition": 0
                    }
                  }
                ]
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CashierAccountSessionLedgerListDTO"
                  }
                },
                "example": [
                  {
                    "id": 5001,
                    "creationDate": "2025-03-24T10:30:00",
                    "user": "Maria Ferreira",
                    "movementTypeHolder": "Venda",
                    "movementType": 1,
                    "comments": "Pagamento FT A/4521",
                    "amount": 1287.45,
                    "currency": {
                      "keyId": "",
                      "symbol": "",
                      "decimalPlaces": 0,
                      "symbolPosition": 0
                    }
                  },
                  {
                    "id": 5002,
                    "creationDate": "2025-03-24T12:15:00",
                    "user": "João Almeida",
                    "movementTypeHolder": "Troco",
                    "movementType": 2,
                    "comments": "Troco devolvido",
                    "amount": -12.55,
                    "currency": {
                      "keyId": "",
                      "symbol": "",
                      "decimalPlaces": 0,
                      "symbolPosition": 0
                    }
                  }
                ]
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/cashier-account-sessions/{id}/printing-data": {
      "get": {
        "tags": [
          "CashierAccountSessions"
        ],
        "summary": "Gets the print model for a specific cashier account session.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the cashier account session.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CashierAccountSlipDTO"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CashierAccountSlipDTO"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CashierAccountSlipDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/cashier-account-sessions/params": {
      "get": {
        "tags": [
          "CashierAccountSessions"
        ],
        "summary": "Gets the list parameters configuration for cashier account sessions filtering.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ListParametersDTO"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ListParametersDTO"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ListParametersDTO"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/company-info": {
      "get": {
        "tags": [
          "CompanyInfo"
        ],
        "summary": "Gets the company (establishment) configuration for the current tenant.\r\nIncludes Capital, contact details, IBAN, etc. from Config CompanyInfo.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CompanyInfoDTO"
                },
                "example": {
                  "capital": 50000,
                  "fax": "+351 210 000 001",
                  "mobilePhoneNumber": "+351 912 345 000",
                  "mobilePhoneNumberText": "Telemovel",
                  "phoneNumber": "+351 210 000 000",
                  "phoneNumberText": "Telefone",
                  "registrationCity": "Lisboa",
                  "iban": "PT50 0002 0123 1234 5678 9015 4",
                  "email": "geral@xdpeople.pt",
                  "web": "https://www.xdpeople.pt",
                  "facebook": "https://facebook.com/xdpeople",
                  "cuponAd1": null,
                  "cuponAd2": null,
                  "logoId": "44ae53fa-457f-4c9b-bedf-648702f64de7"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompanyInfoDTO"
                },
                "example": {
                  "capital": 50000,
                  "fax": "+351 210 000 001",
                  "mobilePhoneNumber": "+351 912 345 000",
                  "mobilePhoneNumberText": "Telemovel",
                  "phoneNumber": "+351 210 000 000",
                  "phoneNumberText": "Telefone",
                  "registrationCity": "Lisboa",
                  "iban": "PT50 0002 0123 1234 5678 9015 4",
                  "email": "geral@xdpeople.pt",
                  "web": "https://www.xdpeople.pt",
                  "facebook": "https://facebook.com/xdpeople",
                  "cuponAd1": null,
                  "cuponAd2": null,
                  "logoId": "44ae53fa-457f-4c9b-bedf-648702f64de7"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompanyInfoDTO"
                },
                "example": {
                  "capital": 50000,
                  "fax": "+351 210 000 001",
                  "mobilePhoneNumber": "+351 912 345 000",
                  "mobilePhoneNumberText": "Telemovel",
                  "phoneNumber": "+351 210 000 000",
                  "phoneNumberText": "Telefone",
                  "registrationCity": "Lisboa",
                  "iban": "PT50 0002 0123 1234 5678 9015 4",
                  "email": "geral@xdpeople.pt",
                  "web": "https://www.xdpeople.pt",
                  "facebook": "https://facebook.com/xdpeople",
                  "cuponAd1": null,
                  "cuponAd2": null,
                  "logoId": "44ae53fa-457f-4c9b-bedf-648702f64de7"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "CompanyInfo"
        ],
        "summary": "Updates the company (establishment) configuration for the current tenant.\r\nCreates the Config CompanyInfo record if it does not exist.",
        "requestBody": {
          "description": "Company info data to save.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompanyInfoDTO"
              },
              "example": {
                "capital": 50000,
                "fax": "+351 210 000 001",
                "mobilePhoneNumber": "+351 912 345 000",
                "mobilePhoneNumberText": "Telemovel",
                "phoneNumber": "+351 210 000 000",
                "phoneNumberText": "Telefone",
                "registrationCity": "Lisboa",
                "iban": "PT50 0002 0123 1234 5678 9015 4",
                "email": "geral@xdpeople.pt",
                "web": "https://www.xdpeople.pt",
                "facebook": "https://facebook.com/xdpeople",
                "cuponAd1": null,
                "cuponAd2": null,
                "logoId": "bb15c2ed-04a3-4c2c-bfeb-92e92670dc92"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CompanyInfoDTO"
              },
              "example": {
                "capital": 50000,
                "fax": "+351 210 000 001",
                "mobilePhoneNumber": "+351 912 345 000",
                "mobilePhoneNumberText": "Telemovel",
                "phoneNumber": "+351 210 000 000",
                "phoneNumberText": "Telefone",
                "registrationCity": "Lisboa",
                "iban": "PT50 0002 0123 1234 5678 9015 4",
                "email": "geral@xdpeople.pt",
                "web": "https://www.xdpeople.pt",
                "facebook": "https://facebook.com/xdpeople",
                "cuponAd1": null,
                "cuponAd2": null,
                "logoId": "bb15c2ed-04a3-4c2c-bfeb-92e92670dc92"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CompanyInfoDTO"
              },
              "example": {
                "capital": 50000,
                "fax": "+351 210 000 001",
                "mobilePhoneNumber": "+351 912 345 000",
                "mobilePhoneNumberText": "Telemovel",
                "phoneNumber": "+351 210 000 000",
                "phoneNumberText": "Telefone",
                "registrationCity": "Lisboa",
                "iban": "PT50 0002 0123 1234 5678 9015 4",
                "email": "geral@xdpeople.pt",
                "web": "https://www.xdpeople.pt",
                "facebook": "https://facebook.com/xdpeople",
                "cuponAd1": null,
                "cuponAd2": null,
                "logoId": "bb15c2ed-04a3-4c2c-bfeb-92e92670dc92"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CompanyInfoDTO"
                },
                "example": {
                  "capital": 50000,
                  "fax": "+351 210 000 001",
                  "mobilePhoneNumber": "+351 912 345 000",
                  "mobilePhoneNumberText": "Telemovel",
                  "phoneNumber": "+351 210 000 000",
                  "phoneNumberText": "Telefone",
                  "registrationCity": "Lisboa",
                  "iban": "PT50 0002 0123 1234 5678 9015 4",
                  "email": "geral@xdpeople.pt",
                  "web": "https://www.xdpeople.pt",
                  "facebook": "https://facebook.com/xdpeople",
                  "cuponAd1": null,
                  "cuponAd2": null,
                  "logoId": "919d91e2-50d8-4c59-9258-10654996065f"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompanyInfoDTO"
                },
                "example": {
                  "capital": 50000,
                  "fax": "+351 210 000 001",
                  "mobilePhoneNumber": "+351 912 345 000",
                  "mobilePhoneNumberText": "Telemovel",
                  "phoneNumber": "+351 210 000 000",
                  "phoneNumberText": "Telefone",
                  "registrationCity": "Lisboa",
                  "iban": "PT50 0002 0123 1234 5678 9015 4",
                  "email": "geral@xdpeople.pt",
                  "web": "https://www.xdpeople.pt",
                  "facebook": "https://facebook.com/xdpeople",
                  "cuponAd1": null,
                  "cuponAd2": null,
                  "logoId": "919d91e2-50d8-4c59-9258-10654996065f"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompanyInfoDTO"
                },
                "example": {
                  "capital": 50000,
                  "fax": "+351 210 000 001",
                  "mobilePhoneNumber": "+351 912 345 000",
                  "mobilePhoneNumberText": "Telemovel",
                  "phoneNumber": "+351 210 000 000",
                  "phoneNumberText": "Telefone",
                  "registrationCity": "Lisboa",
                  "iban": "PT50 0002 0123 1234 5678 9015 4",
                  "email": "geral@xdpeople.pt",
                  "web": "https://www.xdpeople.pt",
                  "facebook": "https://facebook.com/xdpeople",
                  "cuponAd1": null,
                  "cuponAd2": null,
                  "logoId": "919d91e2-50d8-4c59-9258-10654996065f"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/contact": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Retrieves a paginated list of all contacts.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of records per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CustomersContactDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 101,
                      "customerKeyId": "CLI001",
                      "entityName": "Farmácia Avenida, Lda.",
                      "title": null,
                      "name": "Dr.ª Inês Carvalho",
                      "birthDate": null,
                      "address": null,
                      "phone1": "+351 913 220 441",
                      "phone2": null,
                      "mobilePhone1": null,
                      "mobilePhone2": null,
                      "mobilePhone3": null,
                      "email1": "ines.carvalho@example.pt",
                      "email2": null,
                      "email3": null,
                      "obs": null,
                      "postalCode": null,
                      "state": null,
                      "position": null,
                      "sex": 2,
                      "syncStamp": null,
                      "faceBook": null,
                      "linkedIn": null,
                      "skype": null,
                      "entityType": null,
                      "latitude": null,
                      "longitude": null,
                      "sensitiveDataLevel": 0,
                      "entityConsentmentStatus": 0,
                      "forgetfulnessReason": null,
                      "idNumber": null,
                      "picturePath": null,
                      "pictureId": null,
                      "thumbId": null
                    },
                    {
                      "id": 102,
                      "customerKeyId": "CLI002",
                      "entityName": "Móveis Silva & Filhos",
                      "title": null,
                      "name": "Eng.º Ricardo Silva",
                      "birthDate": null,
                      "address": null,
                      "phone1": "+351 916 778 009",
                      "phone2": null,
                      "mobilePhone1": null,
                      "mobilePhone2": null,
                      "mobilePhone3": null,
                      "email1": "ricardo.silva@moveis-silva.pt",
                      "email2": null,
                      "email3": null,
                      "obs": null,
                      "postalCode": null,
                      "state": null,
                      "position": null,
                      "sex": 1,
                      "syncStamp": null,
                      "faceBook": null,
                      "linkedIn": null,
                      "skype": null,
                      "entityType": null,
                      "latitude": null,
                      "longitude": null,
                      "sensitiveDataLevel": 0,
                      "entityConsentmentStatus": 0,
                      "forgetfulnessReason": null,
                      "idNumber": null,
                      "picturePath": null,
                      "pictureId": null,
                      "thumbId": null
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomersContactDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 101,
                      "customerKeyId": "CLI001",
                      "entityName": "Farmácia Avenida, Lda.",
                      "title": null,
                      "name": "Dr.ª Inês Carvalho",
                      "birthDate": null,
                      "address": null,
                      "phone1": "+351 913 220 441",
                      "phone2": null,
                      "mobilePhone1": null,
                      "mobilePhone2": null,
                      "mobilePhone3": null,
                      "email1": "ines.carvalho@example.pt",
                      "email2": null,
                      "email3": null,
                      "obs": null,
                      "postalCode": null,
                      "state": null,
                      "position": null,
                      "sex": 2,
                      "syncStamp": null,
                      "faceBook": null,
                      "linkedIn": null,
                      "skype": null,
                      "entityType": null,
                      "latitude": null,
                      "longitude": null,
                      "sensitiveDataLevel": 0,
                      "entityConsentmentStatus": 0,
                      "forgetfulnessReason": null,
                      "idNumber": null,
                      "picturePath": null,
                      "pictureId": null,
                      "thumbId": null
                    },
                    {
                      "id": 102,
                      "customerKeyId": "CLI002",
                      "entityName": "Móveis Silva & Filhos",
                      "title": null,
                      "name": "Eng.º Ricardo Silva",
                      "birthDate": null,
                      "address": null,
                      "phone1": "+351 916 778 009",
                      "phone2": null,
                      "mobilePhone1": null,
                      "mobilePhone2": null,
                      "mobilePhone3": null,
                      "email1": "ricardo.silva@moveis-silva.pt",
                      "email2": null,
                      "email3": null,
                      "obs": null,
                      "postalCode": null,
                      "state": null,
                      "position": null,
                      "sex": 1,
                      "syncStamp": null,
                      "faceBook": null,
                      "linkedIn": null,
                      "skype": null,
                      "entityType": null,
                      "latitude": null,
                      "longitude": null,
                      "sensitiveDataLevel": 0,
                      "entityConsentmentStatus": 0,
                      "forgetfulnessReason": null,
                      "idNumber": null,
                      "picturePath": null,
                      "pictureId": null,
                      "thumbId": null
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomersContactDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 101,
                      "customerKeyId": "CLI001",
                      "entityName": "Farmácia Avenida, Lda.",
                      "title": null,
                      "name": "Dr.ª Inês Carvalho",
                      "birthDate": null,
                      "address": null,
                      "phone1": "+351 913 220 441",
                      "phone2": null,
                      "mobilePhone1": null,
                      "mobilePhone2": null,
                      "mobilePhone3": null,
                      "email1": "ines.carvalho@example.pt",
                      "email2": null,
                      "email3": null,
                      "obs": null,
                      "postalCode": null,
                      "state": null,
                      "position": null,
                      "sex": 2,
                      "syncStamp": null,
                      "faceBook": null,
                      "linkedIn": null,
                      "skype": null,
                      "entityType": null,
                      "latitude": null,
                      "longitude": null,
                      "sensitiveDataLevel": 0,
                      "entityConsentmentStatus": 0,
                      "forgetfulnessReason": null,
                      "idNumber": null,
                      "picturePath": null,
                      "pictureId": null,
                      "thumbId": null
                    },
                    {
                      "id": 102,
                      "customerKeyId": "CLI002",
                      "entityName": "Móveis Silva & Filhos",
                      "title": null,
                      "name": "Eng.º Ricardo Silva",
                      "birthDate": null,
                      "address": null,
                      "phone1": "+351 916 778 009",
                      "phone2": null,
                      "mobilePhone1": null,
                      "mobilePhone2": null,
                      "mobilePhone3": null,
                      "email1": "ricardo.silva@moveis-silva.pt",
                      "email2": null,
                      "email3": null,
                      "obs": null,
                      "postalCode": null,
                      "state": null,
                      "position": null,
                      "sex": 1,
                      "syncStamp": null,
                      "faceBook": null,
                      "linkedIn": null,
                      "skype": null,
                      "entityType": null,
                      "latitude": null,
                      "longitude": null,
                      "sensitiveDataLevel": 0,
                      "entityConsentmentStatus": 0,
                      "forgetfulnessReason": null,
                      "idNumber": null,
                      "picturePath": null,
                      "pictureId": null,
                      "thumbId": null
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/country-code": {
      "get": {
        "tags": [
          "CountryCode"
        ],
        "summary": "Gets all country codes (ISO 3166-1 alpha-2).",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/covenants-agreement": {
      "get": {
        "tags": [
          "CovenantAgreement"
        ],
        "summary": "Retrieves a paginated list of all covenant agreements.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number to retrieve.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of records per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CovenantAgreementListDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
                      "name": "Avença Mensal — Material de Escritório",
                      "description": "Fornecimento mensal de material de escritório",
                      "documentType": 1,
                      "documentTypeDescription": "Fatura",
                      "documentSerie": 1,
                      "documentSerieDescription": "Série A 2026",
                      "documentTypeToConvert": 0,
                      "documentTypeToConvertDescription": null,
                      "periodicityType": 3,
                      "periodicityValue": 1,
                      "paymentMode": null,
                      "isGlobal": true,
                      "priceType": 1,
                      "withTax": true,
                      "descriptionInDocument": false,
                      "ignoreCustomerDiscount": false
                    },
                    {
                      "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
                      "name": "Avença Diária — Produtos de Higiene",
                      "description": "Fornecimento diário de segunda a sexta",
                      "documentType": 1,
                      "documentTypeDescription": "Fatura",
                      "documentSerie": 1,
                      "documentSerieDescription": "Série A 2026",
                      "documentTypeToConvert": 0,
                      "documentTypeToConvertDescription": null,
                      "periodicityType": 1,
                      "periodicityValue": 62,
                      "paymentMode": null,
                      "isGlobal": false,
                      "priceType": 1,
                      "withTax": true,
                      "descriptionInDocument": true,
                      "ignoreCustomerDiscount": false
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CovenantAgreementListDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
                      "name": "Avença Mensal — Material de Escritório",
                      "description": "Fornecimento mensal de material de escritório",
                      "documentType": 1,
                      "documentTypeDescription": "Fatura",
                      "documentSerie": 1,
                      "documentSerieDescription": "Série A 2026",
                      "documentTypeToConvert": 0,
                      "documentTypeToConvertDescription": null,
                      "periodicityType": 3,
                      "periodicityValue": 1,
                      "paymentMode": null,
                      "isGlobal": true,
                      "priceType": 1,
                      "withTax": true,
                      "descriptionInDocument": false,
                      "ignoreCustomerDiscount": false
                    },
                    {
                      "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
                      "name": "Avença Diária — Produtos de Higiene",
                      "description": "Fornecimento diário de segunda a sexta",
                      "documentType": 1,
                      "documentTypeDescription": "Fatura",
                      "documentSerie": 1,
                      "documentSerieDescription": "Série A 2026",
                      "documentTypeToConvert": 0,
                      "documentTypeToConvertDescription": null,
                      "periodicityType": 1,
                      "periodicityValue": 62,
                      "paymentMode": null,
                      "isGlobal": false,
                      "priceType": 1,
                      "withTax": true,
                      "descriptionInDocument": true,
                      "ignoreCustomerDiscount": false
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CovenantAgreementListDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
                      "name": "Avença Mensal — Material de Escritório",
                      "description": "Fornecimento mensal de material de escritório",
                      "documentType": 1,
                      "documentTypeDescription": "Fatura",
                      "documentSerie": 1,
                      "documentSerieDescription": "Série A 2026",
                      "documentTypeToConvert": 0,
                      "documentTypeToConvertDescription": null,
                      "periodicityType": 3,
                      "periodicityValue": 1,
                      "paymentMode": null,
                      "isGlobal": true,
                      "priceType": 1,
                      "withTax": true,
                      "descriptionInDocument": false,
                      "ignoreCustomerDiscount": false
                    },
                    {
                      "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
                      "name": "Avença Diária — Produtos de Higiene",
                      "description": "Fornecimento diário de segunda a sexta",
                      "documentType": 1,
                      "documentTypeDescription": "Fatura",
                      "documentSerie": 1,
                      "documentSerieDescription": "Série A 2026",
                      "documentTypeToConvert": 0,
                      "documentTypeToConvertDescription": null,
                      "periodicityType": 1,
                      "periodicityValue": 62,
                      "paymentMode": null,
                      "isGlobal": false,
                      "priceType": 1,
                      "withTax": true,
                      "descriptionInDocument": true,
                      "ignoreCustomerDiscount": false
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "CovenantAgreement"
        ],
        "summary": "Creates a new covenant agreement.",
        "description": "Returns the ID of the created covenant agreement.\r\nThe ID is generated as a Guid but returned as a string.",
        "requestBody": {
          "description": "Covenant agreement data to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CovenantAgreementDTO"
              },
              "examples": {
                "Daily — Monday to Friday (PeriodicityType=1, PeriodicityValue=62)": {
                  "value": {
                    "id": null,
                    "name": "Avença Diária — Produtos de Higiene",
                    "description": "Fornecimento diário de produtos de higiene de segunda a sexta",
                    "documentType": 1,
                    "documentSerie": 1,
                    "periodicityType": 1,
                    "periodicityValue": 62,
                    "isGlobal": false,
                    "priceType": 1,
                    "withTax": true,
                    "descriptionInDocument": true,
                    "documentTypeToConvert": 0,
                    "ignoreCustomerDiscount": false,
                    "items": [
                      {
                        "reference": "1001",
                        "description": "Sabonete Líquido 500ml",
                        "quantity": 10,
                        "unitPrice": 2.5,
                        "discount": 0,
                        "netPrice": 25.0,
                        "taxIncludedPrice": 30.75,
                        "itemAttributeCode": null
                      },
                      {
                        "reference": "1002",
                        "description": "Papel Higiénico 12 rolos",
                        "quantity": 5,
                        "unitPrice": 4.8,
                        "discount": 5,
                        "netPrice": 22.8,
                        "taxIncludedPrice": 28.04,
                        "itemAttributeCode": null
                      }
                    ]
                  }
                },
                "Weekly — Every 2 Weeks (PeriodicityType=2, PeriodicityValue=2)": {
                  "value": {
                    "id": null,
                    "name": "Avença Quinzenal — Produtos Alimentares",
                    "description": "Fornecimento quinzenal de café e consumíveis de bar",
                    "documentType": 1,
                    "documentSerie": 1,
                    "periodicityType": 2,
                    "periodicityValue": 2,
                    "isGlobal": false,
                    "priceType": 1,
                    "withTax": false,
                    "descriptionInDocument": true,
                    "documentTypeToConvert": 0,
                    "ignoreCustomerDiscount": true,
                    "items": [
                      {
                        "reference": "3001",
                        "description": "Café Espresso 1kg",
                        "quantity": 3,
                        "unitPrice": 12.5,
                        "discount": 0,
                        "netPrice": 37.5,
                        "taxIncludedPrice": 41.25,
                        "itemAttributeCode": null
                      },
                      {
                        "reference": "3002",
                        "description": "Açúcar Branco 1kg",
                        "quantity": 10,
                        "unitPrice": 0.99,
                        "discount": 0,
                        "netPrice": 9.9,
                        "taxIncludedPrice": 10.89,
                        "itemAttributeCode": null
                      }
                    ]
                  }
                },
                "Monthly — Every 1 Month (PeriodicityType=3, PeriodicityValue=1)": {
                  "value": {
                    "id": null,
                    "name": "Avença Mensal — Material de Escritório",
                    "description": "Fornecimento mensal de material de escritório",
                    "documentType": 1,
                    "documentSerie": 1,
                    "periodicityType": 3,
                    "periodicityValue": 1,
                    "isGlobal": true,
                    "priceType": 1,
                    "withTax": true,
                    "descriptionInDocument": false,
                    "documentTypeToConvert": 0,
                    "ignoreCustomerDiscount": false,
                    "items": [
                      {
                        "reference": "2001",
                        "description": "Resma de Papel A4 500 folhas",
                        "quantity": 20,
                        "unitPrice": 3.99,
                        "discount": 10,
                        "netPrice": 71.82,
                        "taxIncludedPrice": 88.34,
                        "itemAttributeCode": null
                      }
                    ]
                  }
                },
                "Yearly — Every 1 Year (PeriodicityType=4, PeriodicityValue=1)": {
                  "value": {
                    "id": null,
                    "name": "Avença Anual — Manutenção de Equipamentos",
                    "description": "Contrato anual de manutenção preventiva de equipamentos industriais",
                    "documentType": 2,
                    "documentSerie": 1,
                    "periodicityType": 4,
                    "periodicityValue": 1,
                    "isGlobal": false,
                    "priceType": 1,
                    "withTax": true,
                    "descriptionInDocument": true,
                    "documentTypeToConvert": 0,
                    "ignoreCustomerDiscount": false,
                    "items": [
                      {
                        "reference": "5001",
                        "description": "Revisão Anual — Compressor Industrial",
                        "quantity": 1,
                        "unitPrice": 450.0,
                        "discount": 0,
                        "netPrice": 450.0,
                        "taxIncludedPrice": 553.5,
                        "itemAttributeCode": null
                      },
                      {
                        "reference": "5002",
                        "description": "Substituição de Filtros",
                        "quantity": 4,
                        "unitPrice": 22.5,
                        "discount": 0,
                        "netPrice": 90.0,
                        "taxIncludedPrice": 110.7,
                        "itemAttributeCode": null
                      }
                    ]
                  }
                }
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CovenantAgreementDTO"
              },
              "examples": {
                "Daily — Monday to Friday (PeriodicityType=1, PeriodicityValue=62)": {
                  "value": {
                    "id": null,
                    "name": "Avença Diária — Produtos de Higiene",
                    "description": "Fornecimento diário de produtos de higiene de segunda a sexta",
                    "documentType": 1,
                    "documentSerie": 1,
                    "periodicityType": 1,
                    "periodicityValue": 62,
                    "isGlobal": false,
                    "priceType": 1,
                    "withTax": true,
                    "descriptionInDocument": true,
                    "documentTypeToConvert": 0,
                    "ignoreCustomerDiscount": false,
                    "items": [
                      {
                        "reference": "1001",
                        "description": "Sabonete Líquido 500ml",
                        "quantity": 10,
                        "unitPrice": 2.5,
                        "discount": 0,
                        "netPrice": 25.0,
                        "taxIncludedPrice": 30.75,
                        "itemAttributeCode": null
                      },
                      {
                        "reference": "1002",
                        "description": "Papel Higiénico 12 rolos",
                        "quantity": 5,
                        "unitPrice": 4.8,
                        "discount": 5,
                        "netPrice": 22.8,
                        "taxIncludedPrice": 28.04,
                        "itemAttributeCode": null
                      }
                    ]
                  }
                },
                "Weekly — Every 2 Weeks (PeriodicityType=2, PeriodicityValue=2)": {
                  "value": {
                    "id": null,
                    "name": "Avença Quinzenal — Produtos Alimentares",
                    "description": "Fornecimento quinzenal de café e consumíveis de bar",
                    "documentType": 1,
                    "documentSerie": 1,
                    "periodicityType": 2,
                    "periodicityValue": 2,
                    "isGlobal": false,
                    "priceType": 1,
                    "withTax": false,
                    "descriptionInDocument": true,
                    "documentTypeToConvert": 0,
                    "ignoreCustomerDiscount": true,
                    "items": [
                      {
                        "reference": "3001",
                        "description": "Café Espresso 1kg",
                        "quantity": 3,
                        "unitPrice": 12.5,
                        "discount": 0,
                        "netPrice": 37.5,
                        "taxIncludedPrice": 41.25,
                        "itemAttributeCode": null
                      },
                      {
                        "reference": "3002",
                        "description": "Açúcar Branco 1kg",
                        "quantity": 10,
                        "unitPrice": 0.99,
                        "discount": 0,
                        "netPrice": 9.9,
                        "taxIncludedPrice": 10.89,
                        "itemAttributeCode": null
                      }
                    ]
                  }
                },
                "Monthly — Every 1 Month (PeriodicityType=3, PeriodicityValue=1)": {
                  "value": {
                    "id": null,
                    "name": "Avença Mensal — Material de Escritório",
                    "description": "Fornecimento mensal de material de escritório",
                    "documentType": 1,
                    "documentSerie": 1,
                    "periodicityType": 3,
                    "periodicityValue": 1,
                    "isGlobal": true,
                    "priceType": 1,
                    "withTax": true,
                    "descriptionInDocument": false,
                    "documentTypeToConvert": 0,
                    "ignoreCustomerDiscount": false,
                    "items": [
                      {
                        "reference": "2001",
                        "description": "Resma de Papel A4 500 folhas",
                        "quantity": 20,
                        "unitPrice": 3.99,
                        "discount": 10,
                        "netPrice": 71.82,
                        "taxIncludedPrice": 88.34,
                        "itemAttributeCode": null
                      }
                    ]
                  }
                },
                "Yearly — Every 1 Year (PeriodicityType=4, PeriodicityValue=1)": {
                  "value": {
                    "id": null,
                    "name": "Avença Anual — Manutenção de Equipamentos",
                    "description": "Contrato anual de manutenção preventiva de equipamentos industriais",
                    "documentType": 2,
                    "documentSerie": 1,
                    "periodicityType": 4,
                    "periodicityValue": 1,
                    "isGlobal": false,
                    "priceType": 1,
                    "withTax": true,
                    "descriptionInDocument": true,
                    "documentTypeToConvert": 0,
                    "ignoreCustomerDiscount": false,
                    "items": [
                      {
                        "reference": "5001",
                        "description": "Revisão Anual — Compressor Industrial",
                        "quantity": 1,
                        "unitPrice": 450.0,
                        "discount": 0,
                        "netPrice": 450.0,
                        "taxIncludedPrice": 553.5,
                        "itemAttributeCode": null
                      },
                      {
                        "reference": "5002",
                        "description": "Substituição de Filtros",
                        "quantity": 4,
                        "unitPrice": 22.5,
                        "discount": 0,
                        "netPrice": 90.0,
                        "taxIncludedPrice": 110.7,
                        "itemAttributeCode": null
                      }
                    ]
                  }
                }
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CovenantAgreementDTO"
              },
              "examples": {
                "Daily — Monday to Friday (PeriodicityType=1, PeriodicityValue=62)": {
                  "value": {
                    "id": null,
                    "name": "Avença Diária — Produtos de Higiene",
                    "description": "Fornecimento diário de produtos de higiene de segunda a sexta",
                    "documentType": 1,
                    "documentSerie": 1,
                    "periodicityType": 1,
                    "periodicityValue": 62,
                    "isGlobal": false,
                    "priceType": 1,
                    "withTax": true,
                    "descriptionInDocument": true,
                    "documentTypeToConvert": 0,
                    "ignoreCustomerDiscount": false,
                    "items": [
                      {
                        "reference": "1001",
                        "description": "Sabonete Líquido 500ml",
                        "quantity": 10,
                        "unitPrice": 2.5,
                        "discount": 0,
                        "netPrice": 25.0,
                        "taxIncludedPrice": 30.75,
                        "itemAttributeCode": null
                      },
                      {
                        "reference": "1002",
                        "description": "Papel Higiénico 12 rolos",
                        "quantity": 5,
                        "unitPrice": 4.8,
                        "discount": 5,
                        "netPrice": 22.8,
                        "taxIncludedPrice": 28.04,
                        "itemAttributeCode": null
                      }
                    ]
                  }
                },
                "Weekly — Every 2 Weeks (PeriodicityType=2, PeriodicityValue=2)": {
                  "value": {
                    "id": null,
                    "name": "Avença Quinzenal — Produtos Alimentares",
                    "description": "Fornecimento quinzenal de café e consumíveis de bar",
                    "documentType": 1,
                    "documentSerie": 1,
                    "periodicityType": 2,
                    "periodicityValue": 2,
                    "isGlobal": false,
                    "priceType": 1,
                    "withTax": false,
                    "descriptionInDocument": true,
                    "documentTypeToConvert": 0,
                    "ignoreCustomerDiscount": true,
                    "items": [
                      {
                        "reference": "3001",
                        "description": "Café Espresso 1kg",
                        "quantity": 3,
                        "unitPrice": 12.5,
                        "discount": 0,
                        "netPrice": 37.5,
                        "taxIncludedPrice": 41.25,
                        "itemAttributeCode": null
                      },
                      {
                        "reference": "3002",
                        "description": "Açúcar Branco 1kg",
                        "quantity": 10,
                        "unitPrice": 0.99,
                        "discount": 0,
                        "netPrice": 9.9,
                        "taxIncludedPrice": 10.89,
                        "itemAttributeCode": null
                      }
                    ]
                  }
                },
                "Monthly — Every 1 Month (PeriodicityType=3, PeriodicityValue=1)": {
                  "value": {
                    "id": null,
                    "name": "Avença Mensal — Material de Escritório",
                    "description": "Fornecimento mensal de material de escritório",
                    "documentType": 1,
                    "documentSerie": 1,
                    "periodicityType": 3,
                    "periodicityValue": 1,
                    "isGlobal": true,
                    "priceType": 1,
                    "withTax": true,
                    "descriptionInDocument": false,
                    "documentTypeToConvert": 0,
                    "ignoreCustomerDiscount": false,
                    "items": [
                      {
                        "reference": "2001",
                        "description": "Resma de Papel A4 500 folhas",
                        "quantity": 20,
                        "unitPrice": 3.99,
                        "discount": 10,
                        "netPrice": 71.82,
                        "taxIncludedPrice": 88.34,
                        "itemAttributeCode": null
                      }
                    ]
                  }
                },
                "Yearly — Every 1 Year (PeriodicityType=4, PeriodicityValue=1)": {
                  "value": {
                    "id": null,
                    "name": "Avença Anual — Manutenção de Equipamentos",
                    "description": "Contrato anual de manutenção preventiva de equipamentos industriais",
                    "documentType": 2,
                    "documentSerie": 1,
                    "periodicityType": 4,
                    "periodicityValue": 1,
                    "isGlobal": false,
                    "priceType": 1,
                    "withTax": true,
                    "descriptionInDocument": true,
                    "documentTypeToConvert": 0,
                    "ignoreCustomerDiscount": false,
                    "items": [
                      {
                        "reference": "5001",
                        "description": "Revisão Anual — Compressor Industrial",
                        "quantity": 1,
                        "unitPrice": 450.0,
                        "discount": 0,
                        "netPrice": 450.0,
                        "taxIncludedPrice": 553.5,
                        "itemAttributeCode": null
                      },
                      {
                        "reference": "5002",
                        "description": "Substituição de Filtros",
                        "quantity": 4,
                        "unitPrice": 22.5,
                        "discount": 0,
                        "netPrice": 90.0,
                        "taxIncludedPrice": 110.7,
                        "itemAttributeCode": null
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/covenants-agreement/{covenantId}/assign-entities": {
      "post": {
        "tags": [
          "CovenantAgreement"
        ],
        "summary": "Assigns a covenant agreement to multiple entities using filters or explicit entity list.",
        "parameters": [
          {
            "name": "covenantId",
            "in": "path",
            "description": "The covenant agreement identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The assignment request with filter options or entity list.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssignCovenantToEntitiesRequestDTO"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AssignCovenantToEntitiesRequestDTO"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AssignCovenantToEntitiesRequestDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AssignCovenantToEntitiesResponseDTO"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssignCovenantToEntitiesResponseDTO"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssignCovenantToEntitiesResponseDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/covenants-agreement/{covenantId}/entities": {
      "get": {
        "tags": [
          "CovenantAgreement"
        ],
        "summary": "Retrieves all entities assigned to the covenant.",
        "parameters": [
          {
            "name": "covenantId",
            "in": "path",
            "description": "The covenant agreement identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CovenantAssignedEntitiesResponseDTO"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CovenantAssignedEntitiesResponseDTO"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CovenantAssignedEntitiesResponseDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/covenants-agreement/{id}": {
      "get": {
        "tags": [
          "CovenantAgreement"
        ],
        "summary": "Retrieves a covenant agreement by its identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The covenant agreement identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CovenantAgreementDTO"
                },
                "example": {
                  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
                  "name": "Avença Mensal — Material de Escritório",
                  "description": "Fornecimento mensal de material de escritório",
                  "documentType": 1,
                  "documentSerie": 1,
                  "periodicityType": 3,
                  "periodicityValue": 1,
                  "isGlobal": true,
                  "priceType": 1,
                  "withTax": true,
                  "descriptionInDocument": false,
                  "documentTypeToConvert": 0,
                  "ignoreCustomerDiscount": false,
                  "items": [
                    {
                      "reference": "2001",
                      "description": "Resma de Papel A4 500 folhas",
                      "quantity": 20,
                      "unitPrice": 3.99,
                      "discount": 10,
                      "netPrice": 71.82,
                      "taxIncludedPrice": 88.34,
                      "itemAttributeCode": null
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CovenantAgreementDTO"
                },
                "example": {
                  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
                  "name": "Avença Mensal — Material de Escritório",
                  "description": "Fornecimento mensal de material de escritório",
                  "documentType": 1,
                  "documentSerie": 1,
                  "periodicityType": 3,
                  "periodicityValue": 1,
                  "isGlobal": true,
                  "priceType": 1,
                  "withTax": true,
                  "descriptionInDocument": false,
                  "documentTypeToConvert": 0,
                  "ignoreCustomerDiscount": false,
                  "items": [
                    {
                      "reference": "2001",
                      "description": "Resma de Papel A4 500 folhas",
                      "quantity": 20,
                      "unitPrice": 3.99,
                      "discount": 10,
                      "netPrice": 71.82,
                      "taxIncludedPrice": 88.34,
                      "itemAttributeCode": null
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CovenantAgreementDTO"
                },
                "example": {
                  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
                  "name": "Avença Mensal — Material de Escritório",
                  "description": "Fornecimento mensal de material de escritório",
                  "documentType": 1,
                  "documentSerie": 1,
                  "periodicityType": 3,
                  "periodicityValue": 1,
                  "isGlobal": true,
                  "priceType": 1,
                  "withTax": true,
                  "descriptionInDocument": false,
                  "documentTypeToConvert": 0,
                  "ignoreCustomerDiscount": false,
                  "items": [
                    {
                      "reference": "2001",
                      "description": "Resma de Papel A4 500 folhas",
                      "quantity": 20,
                      "unitPrice": 3.99,
                      "discount": 10,
                      "netPrice": 71.82,
                      "taxIncludedPrice": 88.34,
                      "itemAttributeCode": null
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "CovenantAgreement"
        ],
        "summary": "Updates an existing covenant agreement by its unique identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The covenant agreement identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The updated covenant agreement data.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CovenantAgreementUpdateDTO"
              },
              "example": {
                "name": "Avença Mensal — Material de Escritório (Rev. Q3 2026)",
                "description": "Fornecimento mensal de material de escritório — revisão de preços Q3 2026",
                "documentType": 1,
                "documentSerie": 1,
                "periodicityType": 3,
                "periodicityValue": 1,
                "isGlobal": true,
                "priceType": 1,
                "withTax": true,
                "descriptionInDocument": false,
                "documentTypeToConvert": 0,
                "ignoreCustomerDiscount": false,
                "items": [
                  {
                    "reference": "2001",
                    "description": "Resma de Papel A4 500 folhas",
                    "quantity": 25,
                    "unitPrice": 3.75,
                    "discount": 10,
                    "netPrice": 84.38,
                    "taxIncludedPrice": 103.79,
                    "itemAttributeCode": null
                  },
                  {
                    "reference": "2002",
                    "description": "Caneta Esferográfica — Caixa 50un",
                    "quantity": 2,
                    "unitPrice": 8.9,
                    "discount": 0,
                    "netPrice": 17.8,
                    "taxIncludedPrice": 21.89,
                    "itemAttributeCode": null
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CovenantAgreementUpdateDTO"
              },
              "example": {
                "name": "Avença Mensal — Material de Escritório (Rev. Q3 2026)",
                "description": "Fornecimento mensal de material de escritório — revisão de preços Q3 2026",
                "documentType": 1,
                "documentSerie": 1,
                "periodicityType": 3,
                "periodicityValue": 1,
                "isGlobal": true,
                "priceType": 1,
                "withTax": true,
                "descriptionInDocument": false,
                "documentTypeToConvert": 0,
                "ignoreCustomerDiscount": false,
                "items": [
                  {
                    "reference": "2001",
                    "description": "Resma de Papel A4 500 folhas",
                    "quantity": 25,
                    "unitPrice": 3.75,
                    "discount": 10,
                    "netPrice": 84.38,
                    "taxIncludedPrice": 103.79,
                    "itemAttributeCode": null
                  },
                  {
                    "reference": "2002",
                    "description": "Caneta Esferográfica — Caixa 50un",
                    "quantity": 2,
                    "unitPrice": 8.9,
                    "discount": 0,
                    "netPrice": 17.8,
                    "taxIncludedPrice": 21.89,
                    "itemAttributeCode": null
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CovenantAgreementUpdateDTO"
              },
              "example": {
                "name": "Avença Mensal — Material de Escritório (Rev. Q3 2026)",
                "description": "Fornecimento mensal de material de escritório — revisão de preços Q3 2026",
                "documentType": 1,
                "documentSerie": 1,
                "periodicityType": 3,
                "periodicityValue": 1,
                "isGlobal": true,
                "priceType": 1,
                "withTax": true,
                "descriptionInDocument": false,
                "documentTypeToConvert": 0,
                "ignoreCustomerDiscount": false,
                "items": [
                  {
                    "reference": "2001",
                    "description": "Resma de Papel A4 500 folhas",
                    "quantity": 25,
                    "unitPrice": 3.75,
                    "discount": 10,
                    "netPrice": 84.38,
                    "taxIncludedPrice": 103.79,
                    "itemAttributeCode": null
                  },
                  {
                    "reference": "2002",
                    "description": "Caneta Esferográfica — Caixa 50un",
                    "quantity": 2,
                    "unitPrice": 8.9,
                    "discount": 0,
                    "netPrice": 17.8,
                    "taxIncludedPrice": 21.89,
                    "itemAttributeCode": null
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "CovenantAgreement"
        ],
        "summary": "Deletes a covenant agreement by its unique identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The covenant agreement identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/crm-config/{configType}": {
      "get": {
        "tags": [
          "CrmConfig"
        ],
        "summary": "Gets all entries for the specified CRM configuration table.",
        "parameters": [
          {
            "name": "configType",
            "in": "path",
            "description": "CRM configuration table type. 0 = CategoryTable, 1 = State, 2 = Priority.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/CrmConfigType"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of records per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CrmConfigEntryDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "name": "Reclamação"
                    },
                    {
                      "id": 2,
                      "name": "Informação"
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CrmConfigEntryDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "name": "Reclamação"
                    },
                    {
                      "id": 2,
                      "name": "Informação"
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CrmConfigEntryDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "name": "Reclamação"
                    },
                    {
                      "id": 2,
                      "name": "Informação"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "CrmConfig"
        ],
        "summary": "Creates a new entry in the specified CRM configuration table.",
        "parameters": [
          {
            "name": "configType",
            "in": "path",
            "description": "CRM configuration table type. 0 = CategoryTable, 1 = State, 2 = Priority.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/CrmConfigType"
            }
          }
        ],
        "requestBody": {
          "description": "The configuration entry data to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CrmConfigEntryCreateDTO"
              },
              "example": {
                "name": "Reclamação"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CrmConfigEntryCreateDTO"
              },
              "example": {
                "name": "Reclamação"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CrmConfigEntryCreateDTO"
              },
              "example": {
                "name": "Reclamação"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CrmConfigEntryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Reclamação"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CrmConfigEntryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Reclamação"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CrmConfigEntryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Reclamação"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "CrmConfig"
        ],
        "summary": "Updates an existing entry in the specified CRM configuration table.",
        "parameters": [
          {
            "name": "configType",
            "in": "path",
            "description": "CRM configuration table type. 0 = CategoryTable, 1 = State, 2 = Priority.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/CrmConfigType"
            }
          }
        ],
        "requestBody": {
          "description": "The updated configuration entry data.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CrmConfigEntryDTO"
              },
              "example": {
                "id": 1,
                "name": "Reclamação"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CrmConfigEntryDTO"
              },
              "example": {
                "id": 1,
                "name": "Reclamação"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CrmConfigEntryDTO"
              },
              "example": {
                "id": 1,
                "name": "Reclamação"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/crm-config/{configType}/{id}": {
      "delete": {
        "tags": [
          "CrmConfig"
        ],
        "summary": "Deletes an entry from the specified CRM configuration table by its ID.",
        "parameters": [
          {
            "name": "configType",
            "in": "path",
            "description": "CRM configuration table type. 0 = CategoryTable, 1 = State, 2 = Priority.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/CrmConfigType"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the configuration entry to delete.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "CrmConfig"
        ],
        "summary": "Gets a configuration entry by its ID from the specified CRM configuration table.",
        "parameters": [
          {
            "name": "configType",
            "in": "path",
            "description": "CRM configuration table type. 0 = CategoryTable, 1 = State, 2 = Priority.",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/CrmConfigType"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the configuration entry.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CrmConfigEntryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Reclamação"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CrmConfigEntryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Reclamação"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CrmConfigEntryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Reclamação"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/crm-history": {
      "post": {
        "tags": [
          "CrmHistory"
        ],
        "summary": "Creates a new CRM occurrence.",
        "requestBody": {
          "description": "The CRM occurrence data transfer object.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CrmHistoryDTO"
              },
              "example": {
                "id": 0,
                "customerKeyId": "CLI001",
                "date": "2025-06-01T10:00:00",
                "taskId": 1,
                "taskName": null,
                "user": 1,
                "obs": "Contacto telefónico com o cliente para follow-up comercial.",
                "stateId": 1,
                "stateDescription": null,
                "inchargeUserId": 2,
                "endDate": "2025-06-01T11:00:00",
                "priorityId": 1,
                "priorityDescription": null,
                "time": "2025-06-01T10:00:00",
                "endTime": "2025-06-01T11:00:00"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CrmHistoryDTO"
              },
              "example": {
                "id": 0,
                "customerKeyId": "CLI001",
                "date": "2025-06-01T10:00:00",
                "taskId": 1,
                "taskName": null,
                "user": 1,
                "obs": "Contacto telefónico com o cliente para follow-up comercial.",
                "stateId": 1,
                "stateDescription": null,
                "inchargeUserId": 2,
                "endDate": "2025-06-01T11:00:00",
                "priorityId": 1,
                "priorityDescription": null,
                "time": "2025-06-01T10:00:00",
                "endTime": "2025-06-01T11:00:00"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CrmHistoryDTO"
              },
              "example": {
                "id": 0,
                "customerKeyId": "CLI001",
                "date": "2025-06-01T10:00:00",
                "taskId": 1,
                "taskName": null,
                "user": 1,
                "obs": "Contacto telefónico com o cliente para follow-up comercial.",
                "stateId": 1,
                "stateDescription": null,
                "inchargeUserId": 2,
                "endDate": "2025-06-01T11:00:00",
                "priorityId": 1,
                "priorityDescription": null,
                "time": "2025-06-01T10:00:00",
                "endTime": "2025-06-01T11:00:00"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "CrmHistory"
        ],
        "summary": "Gets all CRM occurrences with optional pagination.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of records per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CrmHistoryDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "customerKeyId": "CLI001",
                      "date": "2025-06-01T10:00:00",
                      "taskId": 1,
                      "taskName": "Contacto telefónico",
                      "user": 1,
                      "obs": "Contacto telefónico com o cliente.",
                      "stateId": 1,
                      "stateDescription": "Concluído",
                      "inchargeUserId": 2,
                      "endDate": null,
                      "priorityId": 1,
                      "priorityDescription": "Alta",
                      "time": null,
                      "endTime": null
                    },
                    {
                      "id": 2,
                      "customerKeyId": "CLI002",
                      "date": "2025-06-02T14:30:00",
                      "taskId": 2,
                      "taskName": "Reunião",
                      "user": 1,
                      "obs": "Reunião presencial para apresentação de proposta.",
                      "stateId": 2,
                      "stateDescription": "Em curso",
                      "inchargeUserId": 3,
                      "endDate": null,
                      "priorityId": 2,
                      "priorityDescription": "Normal",
                      "time": null,
                      "endTime": null
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CrmHistoryDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "customerKeyId": "CLI001",
                      "date": "2025-06-01T10:00:00",
                      "taskId": 1,
                      "taskName": "Contacto telefónico",
                      "user": 1,
                      "obs": "Contacto telefónico com o cliente.",
                      "stateId": 1,
                      "stateDescription": "Concluído",
                      "inchargeUserId": 2,
                      "endDate": null,
                      "priorityId": 1,
                      "priorityDescription": "Alta",
                      "time": null,
                      "endTime": null
                    },
                    {
                      "id": 2,
                      "customerKeyId": "CLI002",
                      "date": "2025-06-02T14:30:00",
                      "taskId": 2,
                      "taskName": "Reunião",
                      "user": 1,
                      "obs": "Reunião presencial para apresentação de proposta.",
                      "stateId": 2,
                      "stateDescription": "Em curso",
                      "inchargeUserId": 3,
                      "endDate": null,
                      "priorityId": 2,
                      "priorityDescription": "Normal",
                      "time": null,
                      "endTime": null
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CrmHistoryDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "customerKeyId": "CLI001",
                      "date": "2025-06-01T10:00:00",
                      "taskId": 1,
                      "taskName": "Contacto telefónico",
                      "user": 1,
                      "obs": "Contacto telefónico com o cliente.",
                      "stateId": 1,
                      "stateDescription": "Concluído",
                      "inchargeUserId": 2,
                      "endDate": null,
                      "priorityId": 1,
                      "priorityDescription": "Alta",
                      "time": null,
                      "endTime": null
                    },
                    {
                      "id": 2,
                      "customerKeyId": "CLI002",
                      "date": "2025-06-02T14:30:00",
                      "taskId": 2,
                      "taskName": "Reunião",
                      "user": 1,
                      "obs": "Reunião presencial para apresentação de proposta.",
                      "stateId": 2,
                      "stateDescription": "Em curso",
                      "inchargeUserId": 3,
                      "endDate": null,
                      "priorityId": 2,
                      "priorityDescription": "Normal",
                      "time": null,
                      "endTime": null
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/crm-history/{id}": {
      "put": {
        "tags": [
          "CrmHistory"
        ],
        "summary": "Updates an existing CRM occurrence by ID.\r\nOnly the fields sent in the request body are updated.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the CRM occurrence to update.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The updated CRM occurrence data.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CrmHistoryUpdateDTO"
              },
              "example": {
                "customerKeyId": null,
                "date": null,
                "taskId": null,
                "user": null,
                "obs": "Contacto telefónico com o cliente para follow-up comercial.",
                "stateId": null,
                "inchargeUserId": null,
                "endDate": null,
                "priorityId": null,
                "time": null,
                "endTime": null
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CrmHistoryUpdateDTO"
              },
              "example": {
                "customerKeyId": null,
                "date": null,
                "taskId": null,
                "user": null,
                "obs": "Contacto telefónico com o cliente para follow-up comercial.",
                "stateId": null,
                "inchargeUserId": null,
                "endDate": null,
                "priorityId": null,
                "time": null,
                "endTime": null
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CrmHistoryUpdateDTO"
              },
              "example": {
                "customerKeyId": null,
                "date": null,
                "taskId": null,
                "user": null,
                "obs": "Contacto telefónico com o cliente para follow-up comercial.",
                "stateId": null,
                "inchargeUserId": null,
                "endDate": null,
                "priorityId": null,
                "time": null,
                "endTime": null
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "CrmHistory"
        ],
        "summary": "Gets a CRM occurrence by ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the CRM occurrence.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CrmHistoryDTO"
                },
                "example": {
                  "id": 1,
                  "customerKeyId": "CLI001",
                  "date": "2025-06-01T10:00:00",
                  "taskId": 1,
                  "taskName": "Contacto telefónico",
                  "user": 1,
                  "obs": "Contacto telefónico com o cliente para follow-up comercial.",
                  "stateId": 1,
                  "stateDescription": "Concluído",
                  "inchargeUserId": 2,
                  "endDate": "2025-06-01T11:00:00",
                  "priorityId": 1,
                  "priorityDescription": "Alta",
                  "time": "2025-06-01T10:00:00",
                  "endTime": "2025-06-01T11:00:00"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CrmHistoryDTO"
                },
                "example": {
                  "id": 1,
                  "customerKeyId": "CLI001",
                  "date": "2025-06-01T10:00:00",
                  "taskId": 1,
                  "taskName": "Contacto telefónico",
                  "user": 1,
                  "obs": "Contacto telefónico com o cliente para follow-up comercial.",
                  "stateId": 1,
                  "stateDescription": "Concluído",
                  "inchargeUserId": 2,
                  "endDate": "2025-06-01T11:00:00",
                  "priorityId": 1,
                  "priorityDescription": "Alta",
                  "time": "2025-06-01T10:00:00",
                  "endTime": "2025-06-01T11:00:00"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CrmHistoryDTO"
                },
                "example": {
                  "id": 1,
                  "customerKeyId": "CLI001",
                  "date": "2025-06-01T10:00:00",
                  "taskId": 1,
                  "taskName": "Contacto telefónico",
                  "user": 1,
                  "obs": "Contacto telefónico com o cliente para follow-up comercial.",
                  "stateId": 1,
                  "stateDescription": "Concluído",
                  "inchargeUserId": 2,
                  "endDate": "2025-06-01T11:00:00",
                  "priorityId": 1,
                  "priorityDescription": "Alta",
                  "time": "2025-06-01T10:00:00",
                  "endTime": "2025-06-01T11:00:00"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "CrmHistory"
        ],
        "summary": "Deletes a CRM occurrence by ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the CRM occurrence to delete.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/crm/customers/{keyId}": {
      "get": {
        "tags": [
          "CrmCustomers"
        ],
        "summary": "Gets the CRM workspace listing for the customer: entity header, contacts, and extra addresses.",
        "parameters": [
          {
            "name": "keyId",
            "in": "path",
            "description": "Entity key identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CrmCustomerListingResponseDTO"
                },
                "example": {
                  "entity": {
                    "keyId": "12345",
                    "entityType": 1,
                    "name": "Empresa Exemplo, Lda.",
                    "businessName": "Empresa Exemplo, Lda.",
                    "address": "Rua Comercial, 100",
                    "postalCode": "1000-001",
                    "city": "Luanda",
                    "state": null,
                    "country": "AO",
                    "vat": "500123456",
                    "phone1": "+244 923 456 789",
                    "phone2": null,
                    "mobilePhone1": null,
                    "email1": "geral@empresa.ao",
                    "contactName": null,
                    "contactPhone": null,
                    "contactEmail": null,
                    "webSite": null,
                    "obs": null,
                    "inactive": false,
                    "limitCredit": null,
                    "balance": null,
                    "lastPurchase": null
                  },
                  "contacts": [
                    {
                      "id": 15,
                      "title": "Dr.",
                      "name": "João Silva",
                      "idNumber": "123456789",
                      "position": "Director",
                      "birthDate": null,
                      "address": null,
                      "phone1": null,
                      "phone2": null,
                      "mobilePhone1": "923456789",
                      "mobilePhone2": null,
                      "mobilePhone3": null,
                      "email1": "joao@empresa.ao",
                      "email2": null,
                      "email3": null,
                      "postalCode": null,
                      "state": "Luanda",
                      "obs": null
                    }
                  ],
                  "addresses": [
                    {
                      "id": 7,
                      "addressType": 0,
                      "addressLine1": "Rua Comercial, 100",
                      "addressLine2": null,
                      "complement": null,
                      "city": "Luanda",
                      "reference": null,
                      "postalCode": "",
                      "neighborhood": null,
                      "municipalCode": 0,
                      "country": "AO",
                      "latitude": null,
                      "longitude": null,
                      "defaultShipmentAddress": false
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CrmCustomerListingResponseDTO"
                },
                "example": {
                  "entity": {
                    "keyId": "12345",
                    "entityType": 1,
                    "name": "Empresa Exemplo, Lda.",
                    "businessName": "Empresa Exemplo, Lda.",
                    "address": "Rua Comercial, 100",
                    "postalCode": "1000-001",
                    "city": "Luanda",
                    "state": null,
                    "country": "AO",
                    "vat": "500123456",
                    "phone1": "+244 923 456 789",
                    "phone2": null,
                    "mobilePhone1": null,
                    "email1": "geral@empresa.ao",
                    "contactName": null,
                    "contactPhone": null,
                    "contactEmail": null,
                    "webSite": null,
                    "obs": null,
                    "inactive": false,
                    "limitCredit": null,
                    "balance": null,
                    "lastPurchase": null
                  },
                  "contacts": [
                    {
                      "id": 15,
                      "title": "Dr.",
                      "name": "João Silva",
                      "idNumber": "123456789",
                      "position": "Director",
                      "birthDate": null,
                      "address": null,
                      "phone1": null,
                      "phone2": null,
                      "mobilePhone1": "923456789",
                      "mobilePhone2": null,
                      "mobilePhone3": null,
                      "email1": "joao@empresa.ao",
                      "email2": null,
                      "email3": null,
                      "postalCode": null,
                      "state": "Luanda",
                      "obs": null
                    }
                  ],
                  "addresses": [
                    {
                      "id": 7,
                      "addressType": 0,
                      "addressLine1": "Rua Comercial, 100",
                      "addressLine2": null,
                      "complement": null,
                      "city": "Luanda",
                      "reference": null,
                      "postalCode": "",
                      "neighborhood": null,
                      "municipalCode": 0,
                      "country": "AO",
                      "latitude": null,
                      "longitude": null,
                      "defaultShipmentAddress": false
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CrmCustomerListingResponseDTO"
                },
                "example": {
                  "entity": {
                    "keyId": "12345",
                    "entityType": 1,
                    "name": "Empresa Exemplo, Lda.",
                    "businessName": "Empresa Exemplo, Lda.",
                    "address": "Rua Comercial, 100",
                    "postalCode": "1000-001",
                    "city": "Luanda",
                    "state": null,
                    "country": "AO",
                    "vat": "500123456",
                    "phone1": "+244 923 456 789",
                    "phone2": null,
                    "mobilePhone1": null,
                    "email1": "geral@empresa.ao",
                    "contactName": null,
                    "contactPhone": null,
                    "contactEmail": null,
                    "webSite": null,
                    "obs": null,
                    "inactive": false,
                    "limitCredit": null,
                    "balance": null,
                    "lastPurchase": null
                  },
                  "contacts": [
                    {
                      "id": 15,
                      "title": "Dr.",
                      "name": "João Silva",
                      "idNumber": "123456789",
                      "position": "Director",
                      "birthDate": null,
                      "address": null,
                      "phone1": null,
                      "phone2": null,
                      "mobilePhone1": "923456789",
                      "mobilePhone2": null,
                      "mobilePhone3": null,
                      "email1": "joao@empresa.ao",
                      "email2": null,
                      "email3": null,
                      "postalCode": null,
                      "state": "Luanda",
                      "obs": null
                    }
                  ],
                  "addresses": [
                    {
                      "id": 7,
                      "addressType": 0,
                      "addressLine1": "Rua Comercial, 100",
                      "addressLine2": null,
                      "complement": null,
                      "city": "Luanda",
                      "reference": null,
                      "postalCode": "",
                      "neighborhood": null,
                      "municipalCode": 0,
                      "country": "AO",
                      "latitude": null,
                      "longitude": null,
                      "defaultShipmentAddress": false
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/crm/customers/{keyId}/receipts": {
      "get": {
        "tags": [
          "CrmCustomers"
        ],
        "summary": "Gets paginated receipt document headers for the customer and the aggregate payments amount.",
        "parameters": [
          {
            "name": "keyId",
            "in": "path",
            "description": "Entity key identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of records per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CrmCustomerReceiptsListResponseDTO"
                },
                "example": {
                  "paymentsAmount": 1500,
                  "totalCount": 1,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "documentTypeId": 5,
                      "serieId": 1,
                      "number": 100,
                      "documentIdentifier": "REC 1/100",
                      "createDate": "2026-05-25T14:00:00Z",
                      "totalAmount": 1500,
                      "otherValues": 50,
                      "virtualTotalAmount": 1550,
                      "salesmanName": "Supervisor",
                      "observation": ""
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CrmCustomerReceiptsListResponseDTO"
                },
                "example": {
                  "paymentsAmount": 1500,
                  "totalCount": 1,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "documentTypeId": 5,
                      "serieId": 1,
                      "number": 100,
                      "documentIdentifier": "REC 1/100",
                      "createDate": "2026-05-25T14:00:00Z",
                      "totalAmount": 1500,
                      "otherValues": 50,
                      "virtualTotalAmount": 1550,
                      "salesmanName": "Supervisor",
                      "observation": ""
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CrmCustomerReceiptsListResponseDTO"
                },
                "example": {
                  "paymentsAmount": 1500,
                  "totalCount": 1,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "documentTypeId": 5,
                      "serieId": 1,
                      "number": 100,
                      "documentIdentifier": "REC 1/100",
                      "createDate": "2026-05-25T14:00:00Z",
                      "totalAmount": 1500,
                      "otherValues": 50,
                      "virtualTotalAmount": 1550,
                      "salesmanName": "Supervisor",
                      "observation": ""
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/crm/customers/{keyId}/receipts/{documentTypeId}/{serieId}/{number}/payment-details": {
      "get": {
        "tags": [
          "CrmCustomers"
        ],
        "summary": "Gets payment details for a receipt document that belongs to the customer, grouped by payment type.",
        "parameters": [
          {
            "name": "keyId",
            "in": "path",
            "description": "Entity key identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "documentTypeId",
            "in": "path",
            "description": "Receipt document type id.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "serieId",
            "in": "path",
            "description": "Series id.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "number",
            "in": "path",
            "description": "Document number.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CrmReceiptPaymentDetailDTO"
                  }
                },
                "example": [
                  {
                    "paymentTypeId": 5,
                    "paymentTypeDescription": "Multicaixa",
                    "currencyId": 1,
                    "currencyRate": 1,
                    "netAmount": 11913,
                    "isChange": false,
                    "paymentMechanism": "TB",
                    "bankDetail": null
                  },
                  {
                    "paymentTypeId": 7,
                    "paymentTypeDescription": "Numerário",
                    "currencyId": 1,
                    "currencyRate": 1,
                    "netAmount": 500,
                    "isChange": false,
                    "paymentMechanism": "NU",
                    "bankDetail": null
                  }
                ]
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CrmReceiptPaymentDetailDTO"
                  }
                },
                "example": [
                  {
                    "paymentTypeId": 5,
                    "paymentTypeDescription": "Multicaixa",
                    "currencyId": 1,
                    "currencyRate": 1,
                    "netAmount": 11913,
                    "isChange": false,
                    "paymentMechanism": "TB",
                    "bankDetail": null
                  },
                  {
                    "paymentTypeId": 7,
                    "paymentTypeDescription": "Numerário",
                    "currencyId": 1,
                    "currencyRate": 1,
                    "netAmount": 500,
                    "isChange": false,
                    "paymentMechanism": "NU",
                    "bankDetail": null
                  }
                ]
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CrmReceiptPaymentDetailDTO"
                  }
                },
                "example": [
                  {
                    "paymentTypeId": 5,
                    "paymentTypeDescription": "Multicaixa",
                    "currencyId": 1,
                    "currencyRate": 1,
                    "netAmount": 11913,
                    "isChange": false,
                    "paymentMechanism": "TB",
                    "bankDetail": null
                  },
                  {
                    "paymentTypeId": 7,
                    "paymentTypeDescription": "Numerário",
                    "currencyId": 1,
                    "currencyRate": 1,
                    "netAmount": 500,
                    "isChange": false,
                    "paymentMechanism": "NU",
                    "bankDetail": null
                  }
                ]
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/crm/customers/{keyId}/sales": {
      "get": {
        "tags": [
          "CrmCustomers"
        ],
        "summary": "Gets paginated sale document headers for the customer and the signed aggregate sales total.",
        "parameters": [
          {
            "name": "keyId",
            "in": "path",
            "description": "Entity key identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of records per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CrmCustomerSalesListResponseDTO"
                },
                "example": {
                  "salesTotal": 12500.5,
                  "totalCount": 1,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "documentTypeId": 1,
                      "serieId": 2024,
                      "number": 1042,
                      "documentIdentifier": "FT 2024/1042",
                      "createDate": "2024-06-12T10:30:00Z",
                      "salesmanId": 5,
                      "salesmanName": "Ana Silva",
                      "headerDiscountPercent": 14.5,
                      "headerDiscountAmount": 120,
                      "totalAmount": 12500.5,
                      "observation": "Entrega parcial"
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CrmCustomerSalesListResponseDTO"
                },
                "example": {
                  "salesTotal": 12500.5,
                  "totalCount": 1,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "documentTypeId": 1,
                      "serieId": 2024,
                      "number": 1042,
                      "documentIdentifier": "FT 2024/1042",
                      "createDate": "2024-06-12T10:30:00Z",
                      "salesmanId": 5,
                      "salesmanName": "Ana Silva",
                      "headerDiscountPercent": 14.5,
                      "headerDiscountAmount": 120,
                      "totalAmount": 12500.5,
                      "observation": "Entrega parcial"
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CrmCustomerSalesListResponseDTO"
                },
                "example": {
                  "salesTotal": 12500.5,
                  "totalCount": 1,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "documentTypeId": 1,
                      "serieId": 2024,
                      "number": 1042,
                      "documentIdentifier": "FT 2024/1042",
                      "createDate": "2024-06-12T10:30:00Z",
                      "salesmanId": 5,
                      "salesmanName": "Ana Silva",
                      "headerDiscountPercent": 14.5,
                      "headerDiscountAmount": 120,
                      "totalAmount": 12500.5,
                      "observation": "Entrega parcial"
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/crm/customers/{keyId}/sales/{documentTypeId}/{serieId}/{number}/lines": {
      "get": {
        "tags": [
          "CrmCustomers"
        ],
        "summary": "Gets the body lines of a sale document that belongs to the customer.",
        "parameters": [
          {
            "name": "keyId",
            "in": "path",
            "description": "Entity key identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "documentTypeId",
            "in": "path",
            "description": "Sale document type id.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "serieId",
            "in": "path",
            "description": "Series id.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "number",
            "in": "path",
            "description": "Document number.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CrmSalesLineDTO"
                  }
                },
                "example": [
                  {
                    "itemKeyId": "5603111600107",
                    "description": "RECARGA GAS",
                    "taxIncludedPrice": 3491.25,
                    "quantity": 1,
                    "discountPercent": 0,
                    "lineTotal": 3491.25
                  }
                ]
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CrmSalesLineDTO"
                  }
                },
                "example": [
                  {
                    "itemKeyId": "5603111600107",
                    "description": "RECARGA GAS",
                    "taxIncludedPrice": 3491.25,
                    "quantity": 1,
                    "discountPercent": 0,
                    "lineTotal": 3491.25
                  }
                ]
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CrmSalesLineDTO"
                  }
                },
                "example": [
                  {
                    "itemKeyId": "5603111600107",
                    "description": "RECARGA GAS",
                    "taxIncludedPrice": 3491.25,
                    "quantity": 1,
                    "discountPercent": 0,
                    "lineTotal": 3491.25
                  }
                ]
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/currency": {
      "get": {
        "tags": [
          "Currency"
        ],
        "summary": "Gets all currencies with optional pagination.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of records per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CurrencyDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "keyId": "EUR",
                      "description": "Euro",
                      "euroConvertionRate": 1,
                      "symbol": "€",
                      "date": null,
                      "syncStamp": "0001-01-01T00:00:00",
                      "symbolPosition": 1,
                      "decimalPlaces": 2,
                      "decimalItemPlaces": null,
                      "cloudSyncStamp": null
                    },
                    {
                      "id": 2,
                      "keyId": "USD",
                      "description": "Dólar dos Estados Unidos",
                      "euroConvertionRate": 0.92,
                      "symbol": "$",
                      "date": null,
                      "syncStamp": "0001-01-01T00:00:00",
                      "symbolPosition": 0,
                      "decimalPlaces": 2,
                      "decimalItemPlaces": null,
                      "cloudSyncStamp": null
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrencyDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "keyId": "EUR",
                      "description": "Euro",
                      "euroConvertionRate": 1,
                      "symbol": "€",
                      "date": null,
                      "syncStamp": "0001-01-01T00:00:00",
                      "symbolPosition": 1,
                      "decimalPlaces": 2,
                      "decimalItemPlaces": null,
                      "cloudSyncStamp": null
                    },
                    {
                      "id": 2,
                      "keyId": "USD",
                      "description": "Dólar dos Estados Unidos",
                      "euroConvertionRate": 0.92,
                      "symbol": "$",
                      "date": null,
                      "syncStamp": "0001-01-01T00:00:00",
                      "symbolPosition": 0,
                      "decimalPlaces": 2,
                      "decimalItemPlaces": null,
                      "cloudSyncStamp": null
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrencyDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "keyId": "EUR",
                      "description": "Euro",
                      "euroConvertionRate": 1,
                      "symbol": "€",
                      "date": null,
                      "syncStamp": "0001-01-01T00:00:00",
                      "symbolPosition": 1,
                      "decimalPlaces": 2,
                      "decimalItemPlaces": null,
                      "cloudSyncStamp": null
                    },
                    {
                      "id": 2,
                      "keyId": "USD",
                      "description": "Dólar dos Estados Unidos",
                      "euroConvertionRate": 0.92,
                      "symbol": "$",
                      "date": null,
                      "syncStamp": "0001-01-01T00:00:00",
                      "symbolPosition": 0,
                      "decimalPlaces": 2,
                      "decimalItemPlaces": null,
                      "cloudSyncStamp": null
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Currency"
        ],
        "summary": "Creates a new currency.",
        "requestBody": {
          "description": "The currency data to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CurrencyCreateDTO"
              },
              "example": {
                "description": "Euro",
                "euroConvertionRate": 1.0,
                "symbol": "€",
                "symbolPosition": 1,
                "keyId": "EUR",
                "date": "2026-07-07T00:00:00+00:00",
                "decimalPlaces": 2,
                "decimalItemPlaces": 2
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CurrencyCreateDTO"
              },
              "example": {
                "description": "Euro",
                "euroConvertionRate": 1.0,
                "symbol": "€",
                "symbolPosition": 1,
                "keyId": "EUR",
                "date": "2026-07-07T00:00:00+00:00",
                "decimalPlaces": 2,
                "decimalItemPlaces": 2
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CurrencyCreateDTO"
              },
              "example": {
                "description": "Euro",
                "euroConvertionRate": 1.0,
                "symbol": "€",
                "symbolPosition": 1,
                "keyId": "EUR",
                "date": "2026-07-07T00:00:00+00:00",
                "decimalPlaces": 2,
                "decimalItemPlaces": 2
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/currency/{id}": {
      "get": {
        "tags": [
          "Currency"
        ],
        "summary": "Gets a currency by its ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the currency.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CurrencyDTO"
                },
                "example": {
                  "id": 1,
                  "keyId": "EUR",
                  "description": "Euro",
                  "euroConvertionRate": 1,
                  "symbol": "€",
                  "date": null,
                  "syncStamp": "2026-07-07T16:48:00.33079Z",
                  "symbolPosition": 1,
                  "decimalPlaces": 2,
                  "decimalItemPlaces": 3,
                  "cloudSyncStamp": null
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrencyDTO"
                },
                "example": {
                  "id": 1,
                  "keyId": "EUR",
                  "description": "Euro",
                  "euroConvertionRate": 1,
                  "symbol": "€",
                  "date": null,
                  "syncStamp": "2026-07-07T16:48:00.33079Z",
                  "symbolPosition": 1,
                  "decimalPlaces": 2,
                  "decimalItemPlaces": 3,
                  "cloudSyncStamp": null
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrencyDTO"
                },
                "example": {
                  "id": 1,
                  "keyId": "EUR",
                  "description": "Euro",
                  "euroConvertionRate": 1,
                  "symbol": "€",
                  "date": null,
                  "syncStamp": "2026-07-07T16:48:00.33079Z",
                  "symbolPosition": 1,
                  "decimalPlaces": 2,
                  "decimalItemPlaces": 3,
                  "cloudSyncStamp": null
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Currency"
        ],
        "summary": "Deletes a currency by its ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the currency to delete.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/currency/{keyId}": {
      "put": {
        "tags": [
          "Currency"
        ],
        "summary": "Updates an existing currency.",
        "parameters": [
          {
            "name": "keyId",
            "in": "path",
            "description": "The key ID of the currency.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The updated currency data.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CurrencyUpdateDTO"
              },
              "example": {
                "description": "Euro",
                "euroConvertionRate": 1.0,
                "symbol": "€",
                "symbolPosition": 1,
                "date": "2026-07-07T00:00:00+00:00",
                "decimalPlaces": 2,
                "decimalItemPlaces": 2
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CurrencyUpdateDTO"
              },
              "example": {
                "description": "Euro",
                "euroConvertionRate": 1.0,
                "symbol": "€",
                "symbolPosition": 1,
                "date": "2026-07-07T00:00:00+00:00",
                "decimalPlaces": 2,
                "decimalItemPlaces": 2
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CurrencyUpdateDTO"
              },
              "example": {
                "description": "Euro",
                "euroConvertionRate": 1.0,
                "symbol": "€",
                "symbolPosition": 1,
                "date": "2026-07-07T00:00:00+00:00",
                "decimalPlaces": 2,
                "decimalItemPlaces": 2
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/currency/default": {
      "get": {
        "tags": [
          "Currency"
        ],
        "summary": "Gets the default currency.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CurrencyDTO"
                },
                "example": {
                  "id": 1,
                  "keyId": "EUR",
                  "description": "Euro",
                  "euroConvertionRate": 1,
                  "symbol": "€",
                  "date": null,
                  "syncStamp": "2026-07-07T16:48:00.340917Z",
                  "symbolPosition": 1,
                  "decimalPlaces": 2,
                  "decimalItemPlaces": 3,
                  "cloudSyncStamp": null
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrencyDTO"
                },
                "example": {
                  "id": 1,
                  "keyId": "EUR",
                  "description": "Euro",
                  "euroConvertionRate": 1,
                  "symbol": "€",
                  "date": null,
                  "syncStamp": "2026-07-07T16:48:00.340917Z",
                  "symbolPosition": 1,
                  "decimalPlaces": 2,
                  "decimalItemPlaces": 3,
                  "cloudSyncStamp": null
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrencyDTO"
                },
                "example": {
                  "id": 1,
                  "keyId": "EUR",
                  "description": "Euro",
                  "euroConvertionRate": 1,
                  "symbol": "€",
                  "date": null,
                  "syncStamp": "2026-07-07T16:48:00.340917Z",
                  "symbolPosition": 1,
                  "decimalPlaces": 2,
                  "decimalItemPlaces": 3,
                  "cloudSyncStamp": null
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/currency/key-id/{keyId}": {
      "get": {
        "tags": [
          "Currency"
        ],
        "summary": "Gets a currency by its key ID.",
        "parameters": [
          {
            "name": "keyId",
            "in": "path",
            "description": "The key ID of the currency.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CurrencyDTO"
                },
                "example": {
                  "id": 1,
                  "keyId": "EUR",
                  "description": "Euro",
                  "euroConvertionRate": 1,
                  "symbol": "€",
                  "date": null,
                  "syncStamp": "2026-07-07T16:48:00.338247Z",
                  "symbolPosition": 1,
                  "decimalPlaces": 2,
                  "decimalItemPlaces": 3,
                  "cloudSyncStamp": null
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrencyDTO"
                },
                "example": {
                  "id": 1,
                  "keyId": "EUR",
                  "description": "Euro",
                  "euroConvertionRate": 1,
                  "symbol": "€",
                  "date": null,
                  "syncStamp": "2026-07-07T16:48:00.338247Z",
                  "symbolPosition": 1,
                  "decimalPlaces": 2,
                  "decimalItemPlaces": 3,
                  "cloudSyncStamp": null
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrencyDTO"
                },
                "example": {
                  "id": 1,
                  "keyId": "EUR",
                  "description": "Euro",
                  "euroConvertionRate": 1,
                  "symbol": "€",
                  "date": null,
                  "syncStamp": "2026-07-07T16:48:00.338247Z",
                  "symbolPosition": 1,
                  "decimalPlaces": 2,
                  "decimalItemPlaces": 3,
                  "cloudSyncStamp": null
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/customer": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Retrieves a paginated list of customers.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of records per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "keyId": "CLI001",
                      "name": "Farmácia Avenida, Lda.",
                      "businessName": "Farmácia Avenida",
                      "entityType": 1,
                      "address": "Av. da República 88",
                      "addressLine2": null,
                      "complement": null,
                      "neighborhood": null,
                      "reference": null,
                      "postalCode": "1050-191",
                      "city": "Lisboa",
                      "state": null,
                      "country": "PT",
                      "vat": "502111222",
                      "phone1": "+351 213 900 400",
                      "phone2": null,
                      "phone3": null,
                      "phone4": null,
                      "mobilePhone1": null,
                      "mobilePhone2": null,
                      "fax1": null,
                      "fax2": null,
                      "contactName": null,
                      "contactEmail": null,
                      "email1": "farmacia.avenida@example.pt",
                      "email2": null,
                      "contactPhone": null,
                      "obs": null,
                      "defaultPaymentType": null,
                      "limitCreditType": 0,
                      "limitCredit": null,
                      "limitDays": 0,
                      "lastPurchase": null,
                      "balance": null,
                      "discount": null,
                      "entityCommission": 0,
                      "dateOfBirth": null,
                      "latitude": null,
                      "longitude": null,
                      "alertCredit": 0,
                      "deliveryTaxItemId": null,
                      "holdingTax": false,
                      "holdingTaxAmount": null,
                      "holdingTaxType": 0,
                      "feapBroker": 0,
                      "alertMessage": false,
                      "forbiddenDocuments": false,
                      "defaultPaymentMode": 0,
                      "syncStamp": null,
                      "salesMan": 0,
                      "gender": false,
                      "customerCardNumber": null,
                      "customerCardExpirationDate": null,
                      "customerCardDays": 0,
                      "carrierDescription": null,
                      "webSite": null,
                      "faceBook": null,
                      "linkedIn": null,
                      "skype": null,
                      "cashRegime": 0,
                      "customerCard": null,
                      "regionId": 0,
                      "priceLine": 0,
                      "identificationNumber": null,
                      "identificationIssuerCountry": null,
                      "inactive": false,
                      "entityGroupId": 0,
                      "isExcludedFromDueNoticesMail": false,
                      "grouping": null,
                      "pictureId": null,
                      "thumbId": null,
                      "bioGuid": null,
                      "schedulerResource": null,
                      "accountancyCode": null,
                      "salesZoneId": 0,
                      "bankAccount": null,
                      "dateOfSignature": null,
                      "warningMessage": null,
                      "warehouseId": 0,
                      "applyEcoTaxOnSale": false,
                      "insurance": null,
                      "webPassword": null,
                      "relatedEntityKeyId": null,
                      "creationDate": null,
                      "entityGuid": null,
                      "entityConsentmentStatus": 0,
                      "forgetfulnessReason": null,
                      "portNumber": null,
                      "municipalCode": 0,
                      "documentType": 0,
                      "electronicInvoice": false,
                      "qeroSubscriber": false,
                      "cloudSyncStamp": null,
                      "identificationNumberInd": 0,
                      "qeroSubscriptionDate": null,
                      "syncGuid": null,
                      "deliveryRegionId": null,
                      "password": null,
                      "defaultRetailPrice": null,
                      "bankName": null,
                      "bankIdentifierCode": null,
                      "bankIBAN": null,
                      "bankCardNumber": null,
                      "picturePath": null,
                      "deliveryOccurrence": null
                    },
                    {
                      "keyId": "CLI002",
                      "name": "Móveis Silva & Filhos",
                      "businessName": "Móveis Silva & Filhos, Lda.",
                      "entityType": 1,
                      "address": "Rua da Alegria 210",
                      "addressLine2": null,
                      "complement": null,
                      "neighborhood": null,
                      "reference": null,
                      "postalCode": "4000-041",
                      "city": "Porto",
                      "state": null,
                      "country": "PT",
                      "vat": "507333444",
                      "phone1": "+351 222 111 333",
                      "phone2": null,
                      "phone3": null,
                      "phone4": null,
                      "mobilePhone1": null,
                      "mobilePhone2": null,
                      "fax1": null,
                      "fax2": null,
                      "contactName": null,
                      "contactEmail": null,
                      "email1": "vendas@moveis-silva.pt",
                      "email2": null,
                      "contactPhone": null,
                      "obs": null,
                      "defaultPaymentType": null,
                      "limitCreditType": 0,
                      "limitCredit": null,
                      "limitDays": 0,
                      "lastPurchase": null,
                      "balance": null,
                      "discount": null,
                      "entityCommission": 0,
                      "dateOfBirth": null,
                      "latitude": null,
                      "longitude": null,
                      "alertCredit": 0,
                      "deliveryTaxItemId": null,
                      "holdingTax": false,
                      "holdingTaxAmount": null,
                      "holdingTaxType": 0,
                      "feapBroker": 0,
                      "alertMessage": false,
                      "forbiddenDocuments": false,
                      "defaultPaymentMode": 0,
                      "syncStamp": null,
                      "salesMan": 0,
                      "gender": false,
                      "customerCardNumber": null,
                      "customerCardExpirationDate": null,
                      "customerCardDays": 0,
                      "carrierDescription": null,
                      "webSite": null,
                      "faceBook": null,
                      "linkedIn": null,
                      "skype": null,
                      "cashRegime": 0,
                      "customerCard": null,
                      "regionId": 0,
                      "priceLine": 0,
                      "identificationNumber": null,
                      "identificationIssuerCountry": null,
                      "inactive": false,
                      "entityGroupId": 0,
                      "isExcludedFromDueNoticesMail": false,
                      "grouping": null,
                      "pictureId": null,
                      "thumbId": null,
                      "bioGuid": null,
                      "schedulerResource": null,
                      "accountancyCode": null,
                      "salesZoneId": 0,
                      "bankAccount": null,
                      "dateOfSignature": null,
                      "warningMessage": null,
                      "warehouseId": 0,
                      "applyEcoTaxOnSale": false,
                      "insurance": null,
                      "webPassword": null,
                      "relatedEntityKeyId": null,
                      "creationDate": null,
                      "entityGuid": null,
                      "entityConsentmentStatus": 0,
                      "forgetfulnessReason": null,
                      "portNumber": null,
                      "municipalCode": 0,
                      "documentType": 0,
                      "electronicInvoice": false,
                      "qeroSubscriber": false,
                      "cloudSyncStamp": null,
                      "identificationNumberInd": 0,
                      "qeroSubscriptionDate": null,
                      "syncGuid": null,
                      "deliveryRegionId": null,
                      "password": null,
                      "defaultRetailPrice": null,
                      "bankName": null,
                      "bankIdentifierCode": null,
                      "bankIBAN": null,
                      "bankCardNumber": null,
                      "picturePath": null,
                      "deliveryOccurrence": null
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "keyId": "CLI001",
                      "name": "Farmácia Avenida, Lda.",
                      "businessName": "Farmácia Avenida",
                      "entityType": 1,
                      "address": "Av. da República 88",
                      "addressLine2": null,
                      "complement": null,
                      "neighborhood": null,
                      "reference": null,
                      "postalCode": "1050-191",
                      "city": "Lisboa",
                      "state": null,
                      "country": "PT",
                      "vat": "502111222",
                      "phone1": "+351 213 900 400",
                      "phone2": null,
                      "phone3": null,
                      "phone4": null,
                      "mobilePhone1": null,
                      "mobilePhone2": null,
                      "fax1": null,
                      "fax2": null,
                      "contactName": null,
                      "contactEmail": null,
                      "email1": "farmacia.avenida@example.pt",
                      "email2": null,
                      "contactPhone": null,
                      "obs": null,
                      "defaultPaymentType": null,
                      "limitCreditType": 0,
                      "limitCredit": null,
                      "limitDays": 0,
                      "lastPurchase": null,
                      "balance": null,
                      "discount": null,
                      "entityCommission": 0,
                      "dateOfBirth": null,
                      "latitude": null,
                      "longitude": null,
                      "alertCredit": 0,
                      "deliveryTaxItemId": null,
                      "holdingTax": false,
                      "holdingTaxAmount": null,
                      "holdingTaxType": 0,
                      "feapBroker": 0,
                      "alertMessage": false,
                      "forbiddenDocuments": false,
                      "defaultPaymentMode": 0,
                      "syncStamp": null,
                      "salesMan": 0,
                      "gender": false,
                      "customerCardNumber": null,
                      "customerCardExpirationDate": null,
                      "customerCardDays": 0,
                      "carrierDescription": null,
                      "webSite": null,
                      "faceBook": null,
                      "linkedIn": null,
                      "skype": null,
                      "cashRegime": 0,
                      "customerCard": null,
                      "regionId": 0,
                      "priceLine": 0,
                      "identificationNumber": null,
                      "identificationIssuerCountry": null,
                      "inactive": false,
                      "entityGroupId": 0,
                      "isExcludedFromDueNoticesMail": false,
                      "grouping": null,
                      "pictureId": null,
                      "thumbId": null,
                      "bioGuid": null,
                      "schedulerResource": null,
                      "accountancyCode": null,
                      "salesZoneId": 0,
                      "bankAccount": null,
                      "dateOfSignature": null,
                      "warningMessage": null,
                      "warehouseId": 0,
                      "applyEcoTaxOnSale": false,
                      "insurance": null,
                      "webPassword": null,
                      "relatedEntityKeyId": null,
                      "creationDate": null,
                      "entityGuid": null,
                      "entityConsentmentStatus": 0,
                      "forgetfulnessReason": null,
                      "portNumber": null,
                      "municipalCode": 0,
                      "documentType": 0,
                      "electronicInvoice": false,
                      "qeroSubscriber": false,
                      "cloudSyncStamp": null,
                      "identificationNumberInd": 0,
                      "qeroSubscriptionDate": null,
                      "syncGuid": null,
                      "deliveryRegionId": null,
                      "password": null,
                      "defaultRetailPrice": null,
                      "bankName": null,
                      "bankIdentifierCode": null,
                      "bankIBAN": null,
                      "bankCardNumber": null,
                      "picturePath": null,
                      "deliveryOccurrence": null
                    },
                    {
                      "keyId": "CLI002",
                      "name": "Móveis Silva & Filhos",
                      "businessName": "Móveis Silva & Filhos, Lda.",
                      "entityType": 1,
                      "address": "Rua da Alegria 210",
                      "addressLine2": null,
                      "complement": null,
                      "neighborhood": null,
                      "reference": null,
                      "postalCode": "4000-041",
                      "city": "Porto",
                      "state": null,
                      "country": "PT",
                      "vat": "507333444",
                      "phone1": "+351 222 111 333",
                      "phone2": null,
                      "phone3": null,
                      "phone4": null,
                      "mobilePhone1": null,
                      "mobilePhone2": null,
                      "fax1": null,
                      "fax2": null,
                      "contactName": null,
                      "contactEmail": null,
                      "email1": "vendas@moveis-silva.pt",
                      "email2": null,
                      "contactPhone": null,
                      "obs": null,
                      "defaultPaymentType": null,
                      "limitCreditType": 0,
                      "limitCredit": null,
                      "limitDays": 0,
                      "lastPurchase": null,
                      "balance": null,
                      "discount": null,
                      "entityCommission": 0,
                      "dateOfBirth": null,
                      "latitude": null,
                      "longitude": null,
                      "alertCredit": 0,
                      "deliveryTaxItemId": null,
                      "holdingTax": false,
                      "holdingTaxAmount": null,
                      "holdingTaxType": 0,
                      "feapBroker": 0,
                      "alertMessage": false,
                      "forbiddenDocuments": false,
                      "defaultPaymentMode": 0,
                      "syncStamp": null,
                      "salesMan": 0,
                      "gender": false,
                      "customerCardNumber": null,
                      "customerCardExpirationDate": null,
                      "customerCardDays": 0,
                      "carrierDescription": null,
                      "webSite": null,
                      "faceBook": null,
                      "linkedIn": null,
                      "skype": null,
                      "cashRegime": 0,
                      "customerCard": null,
                      "regionId": 0,
                      "priceLine": 0,
                      "identificationNumber": null,
                      "identificationIssuerCountry": null,
                      "inactive": false,
                      "entityGroupId": 0,
                      "isExcludedFromDueNoticesMail": false,
                      "grouping": null,
                      "pictureId": null,
                      "thumbId": null,
                      "bioGuid": null,
                      "schedulerResource": null,
                      "accountancyCode": null,
                      "salesZoneId": 0,
                      "bankAccount": null,
                      "dateOfSignature": null,
                      "warningMessage": null,
                      "warehouseId": 0,
                      "applyEcoTaxOnSale": false,
                      "insurance": null,
                      "webPassword": null,
                      "relatedEntityKeyId": null,
                      "creationDate": null,
                      "entityGuid": null,
                      "entityConsentmentStatus": 0,
                      "forgetfulnessReason": null,
                      "portNumber": null,
                      "municipalCode": 0,
                      "documentType": 0,
                      "electronicInvoice": false,
                      "qeroSubscriber": false,
                      "cloudSyncStamp": null,
                      "identificationNumberInd": 0,
                      "qeroSubscriptionDate": null,
                      "syncGuid": null,
                      "deliveryRegionId": null,
                      "password": null,
                      "defaultRetailPrice": null,
                      "bankName": null,
                      "bankIdentifierCode": null,
                      "bankIBAN": null,
                      "bankCardNumber": null,
                      "picturePath": null,
                      "deliveryOccurrence": null
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "keyId": "CLI001",
                      "name": "Farmácia Avenida, Lda.",
                      "businessName": "Farmácia Avenida",
                      "entityType": 1,
                      "address": "Av. da República 88",
                      "addressLine2": null,
                      "complement": null,
                      "neighborhood": null,
                      "reference": null,
                      "postalCode": "1050-191",
                      "city": "Lisboa",
                      "state": null,
                      "country": "PT",
                      "vat": "502111222",
                      "phone1": "+351 213 900 400",
                      "phone2": null,
                      "phone3": null,
                      "phone4": null,
                      "mobilePhone1": null,
                      "mobilePhone2": null,
                      "fax1": null,
                      "fax2": null,
                      "contactName": null,
                      "contactEmail": null,
                      "email1": "farmacia.avenida@example.pt",
                      "email2": null,
                      "contactPhone": null,
                      "obs": null,
                      "defaultPaymentType": null,
                      "limitCreditType": 0,
                      "limitCredit": null,
                      "limitDays": 0,
                      "lastPurchase": null,
                      "balance": null,
                      "discount": null,
                      "entityCommission": 0,
                      "dateOfBirth": null,
                      "latitude": null,
                      "longitude": null,
                      "alertCredit": 0,
                      "deliveryTaxItemId": null,
                      "holdingTax": false,
                      "holdingTaxAmount": null,
                      "holdingTaxType": 0,
                      "feapBroker": 0,
                      "alertMessage": false,
                      "forbiddenDocuments": false,
                      "defaultPaymentMode": 0,
                      "syncStamp": null,
                      "salesMan": 0,
                      "gender": false,
                      "customerCardNumber": null,
                      "customerCardExpirationDate": null,
                      "customerCardDays": 0,
                      "carrierDescription": null,
                      "webSite": null,
                      "faceBook": null,
                      "linkedIn": null,
                      "skype": null,
                      "cashRegime": 0,
                      "customerCard": null,
                      "regionId": 0,
                      "priceLine": 0,
                      "identificationNumber": null,
                      "identificationIssuerCountry": null,
                      "inactive": false,
                      "entityGroupId": 0,
                      "isExcludedFromDueNoticesMail": false,
                      "grouping": null,
                      "pictureId": null,
                      "thumbId": null,
                      "bioGuid": null,
                      "schedulerResource": null,
                      "accountancyCode": null,
                      "salesZoneId": 0,
                      "bankAccount": null,
                      "dateOfSignature": null,
                      "warningMessage": null,
                      "warehouseId": 0,
                      "applyEcoTaxOnSale": false,
                      "insurance": null,
                      "webPassword": null,
                      "relatedEntityKeyId": null,
                      "creationDate": null,
                      "entityGuid": null,
                      "entityConsentmentStatus": 0,
                      "forgetfulnessReason": null,
                      "portNumber": null,
                      "municipalCode": 0,
                      "documentType": 0,
                      "electronicInvoice": false,
                      "qeroSubscriber": false,
                      "cloudSyncStamp": null,
                      "identificationNumberInd": 0,
                      "qeroSubscriptionDate": null,
                      "syncGuid": null,
                      "deliveryRegionId": null,
                      "password": null,
                      "defaultRetailPrice": null,
                      "bankName": null,
                      "bankIdentifierCode": null,
                      "bankIBAN": null,
                      "bankCardNumber": null,
                      "picturePath": null,
                      "deliveryOccurrence": null
                    },
                    {
                      "keyId": "CLI002",
                      "name": "Móveis Silva & Filhos",
                      "businessName": "Móveis Silva & Filhos, Lda.",
                      "entityType": 1,
                      "address": "Rua da Alegria 210",
                      "addressLine2": null,
                      "complement": null,
                      "neighborhood": null,
                      "reference": null,
                      "postalCode": "4000-041",
                      "city": "Porto",
                      "state": null,
                      "country": "PT",
                      "vat": "507333444",
                      "phone1": "+351 222 111 333",
                      "phone2": null,
                      "phone3": null,
                      "phone4": null,
                      "mobilePhone1": null,
                      "mobilePhone2": null,
                      "fax1": null,
                      "fax2": null,
                      "contactName": null,
                      "contactEmail": null,
                      "email1": "vendas@moveis-silva.pt",
                      "email2": null,
                      "contactPhone": null,
                      "obs": null,
                      "defaultPaymentType": null,
                      "limitCreditType": 0,
                      "limitCredit": null,
                      "limitDays": 0,
                      "lastPurchase": null,
                      "balance": null,
                      "discount": null,
                      "entityCommission": 0,
                      "dateOfBirth": null,
                      "latitude": null,
                      "longitude": null,
                      "alertCredit": 0,
                      "deliveryTaxItemId": null,
                      "holdingTax": false,
                      "holdingTaxAmount": null,
                      "holdingTaxType": 0,
                      "feapBroker": 0,
                      "alertMessage": false,
                      "forbiddenDocuments": false,
                      "defaultPaymentMode": 0,
                      "syncStamp": null,
                      "salesMan": 0,
                      "gender": false,
                      "customerCardNumber": null,
                      "customerCardExpirationDate": null,
                      "customerCardDays": 0,
                      "carrierDescription": null,
                      "webSite": null,
                      "faceBook": null,
                      "linkedIn": null,
                      "skype": null,
                      "cashRegime": 0,
                      "customerCard": null,
                      "regionId": 0,
                      "priceLine": 0,
                      "identificationNumber": null,
                      "identificationIssuerCountry": null,
                      "inactive": false,
                      "entityGroupId": 0,
                      "isExcludedFromDueNoticesMail": false,
                      "grouping": null,
                      "pictureId": null,
                      "thumbId": null,
                      "bioGuid": null,
                      "schedulerResource": null,
                      "accountancyCode": null,
                      "salesZoneId": 0,
                      "bankAccount": null,
                      "dateOfSignature": null,
                      "warningMessage": null,
                      "warehouseId": 0,
                      "applyEcoTaxOnSale": false,
                      "insurance": null,
                      "webPassword": null,
                      "relatedEntityKeyId": null,
                      "creationDate": null,
                      "entityGuid": null,
                      "entityConsentmentStatus": 0,
                      "forgetfulnessReason": null,
                      "portNumber": null,
                      "municipalCode": 0,
                      "documentType": 0,
                      "electronicInvoice": false,
                      "qeroSubscriber": false,
                      "cloudSyncStamp": null,
                      "identificationNumberInd": 0,
                      "qeroSubscriptionDate": null,
                      "syncGuid": null,
                      "deliveryRegionId": null,
                      "password": null,
                      "defaultRetailPrice": null,
                      "bankName": null,
                      "bankIdentifierCode": null,
                      "bankIBAN": null,
                      "bankCardNumber": null,
                      "picturePath": null,
                      "deliveryOccurrence": null
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/customer-contacts": {
      "post": {
        "tags": [
          "CustomerContacts"
        ],
        "summary": "Creates a new customer contact.",
        "requestBody": {
          "description": "The customer contact data to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomersContactDTO"
              },
              "example": {
                "id": null,
                "customerKeyId": "CLI001",
                "entityName": null,
                "title": "Eng.",
                "name": "Joao Costa",
                "birthDate": "1985-06-15T00:00:00",
                "address": "Rua da Prata, 50",
                "phone1": "+351 210 000 002",
                "phone2": null,
                "mobilePhone1": "+351 912 345 679",
                "mobilePhone2": null,
                "mobilePhone3": null,
                "email1": "joao.costa@example.com",
                "email2": null,
                "email3": null,
                "obs": null,
                "postalCode": "1100-100",
                "state": "Lisboa",
                "position": "Director Comercial",
                "sex": 1,
                "syncStamp": null,
                "faceBook": null,
                "linkedIn": null,
                "skype": null,
                "entityType": null,
                "latitude": null,
                "longitude": null,
                "sensitiveDataLevel": 0,
                "entityConsentmentStatus": 0,
                "forgetfulnessReason": null,
                "idNumber": null,
                "picturePath": null,
                "pictureId": null,
                "thumbId": null
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomersContactDTO"
              },
              "example": {
                "id": null,
                "customerKeyId": "CLI001",
                "entityName": null,
                "title": "Eng.",
                "name": "Joao Costa",
                "birthDate": "1985-06-15T00:00:00",
                "address": "Rua da Prata, 50",
                "phone1": "+351 210 000 002",
                "phone2": null,
                "mobilePhone1": "+351 912 345 679",
                "mobilePhone2": null,
                "mobilePhone3": null,
                "email1": "joao.costa@example.com",
                "email2": null,
                "email3": null,
                "obs": null,
                "postalCode": "1100-100",
                "state": "Lisboa",
                "position": "Director Comercial",
                "sex": 1,
                "syncStamp": null,
                "faceBook": null,
                "linkedIn": null,
                "skype": null,
                "entityType": null,
                "latitude": null,
                "longitude": null,
                "sensitiveDataLevel": 0,
                "entityConsentmentStatus": 0,
                "forgetfulnessReason": null,
                "idNumber": null,
                "picturePath": null,
                "pictureId": null,
                "thumbId": null
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CustomersContactDTO"
              },
              "example": {
                "id": null,
                "customerKeyId": "CLI001",
                "entityName": null,
                "title": "Eng.",
                "name": "Joao Costa",
                "birthDate": "1985-06-15T00:00:00",
                "address": "Rua da Prata, 50",
                "phone1": "+351 210 000 002",
                "phone2": null,
                "mobilePhone1": "+351 912 345 679",
                "mobilePhone2": null,
                "mobilePhone3": null,
                "email1": "joao.costa@example.com",
                "email2": null,
                "email3": null,
                "obs": null,
                "postalCode": "1100-100",
                "state": "Lisboa",
                "position": "Director Comercial",
                "sex": 1,
                "syncStamp": null,
                "faceBook": null,
                "linkedIn": null,
                "skype": null,
                "entityType": null,
                "latitude": null,
                "longitude": null,
                "sensitiveDataLevel": 0,
                "entityConsentmentStatus": 0,
                "forgetfulnessReason": null,
                "idNumber": null,
                "picturePath": null,
                "pictureId": null,
                "thumbId": null
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/customer-contacts/{id}": {
      "get": {
        "tags": [
          "CustomerContacts"
        ],
        "summary": "Gets a customer contact by its ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the customer contact.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CustomersContactDTO"
                },
                "example": {
                  "id": 101,
                  "customerKeyId": "CLI001",
                  "entityName": "Farmácia Avenida, Lda.",
                  "title": null,
                  "name": "Dr.ª Inês Carvalho",
                  "birthDate": null,
                  "address": "Av. da República 88",
                  "phone1": "+351 913 220 441",
                  "phone2": null,
                  "mobilePhone1": null,
                  "mobilePhone2": null,
                  "mobilePhone3": null,
                  "email1": "ines.carvalho@example.pt",
                  "email2": null,
                  "email3": null,
                  "obs": null,
                  "postalCode": "1050-191",
                  "state": null,
                  "position": "Gerente",
                  "sex": 2,
                  "syncStamp": null,
                  "faceBook": null,
                  "linkedIn": null,
                  "skype": null,
                  "entityType": null,
                  "latitude": null,
                  "longitude": null,
                  "sensitiveDataLevel": 0,
                  "entityConsentmentStatus": 0,
                  "forgetfulnessReason": null,
                  "idNumber": null,
                  "picturePath": null,
                  "pictureId": null,
                  "thumbId": null
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomersContactDTO"
                },
                "example": {
                  "id": 101,
                  "customerKeyId": "CLI001",
                  "entityName": "Farmácia Avenida, Lda.",
                  "title": null,
                  "name": "Dr.ª Inês Carvalho",
                  "birthDate": null,
                  "address": "Av. da República 88",
                  "phone1": "+351 913 220 441",
                  "phone2": null,
                  "mobilePhone1": null,
                  "mobilePhone2": null,
                  "mobilePhone3": null,
                  "email1": "ines.carvalho@example.pt",
                  "email2": null,
                  "email3": null,
                  "obs": null,
                  "postalCode": "1050-191",
                  "state": null,
                  "position": "Gerente",
                  "sex": 2,
                  "syncStamp": null,
                  "faceBook": null,
                  "linkedIn": null,
                  "skype": null,
                  "entityType": null,
                  "latitude": null,
                  "longitude": null,
                  "sensitiveDataLevel": 0,
                  "entityConsentmentStatus": 0,
                  "forgetfulnessReason": null,
                  "idNumber": null,
                  "picturePath": null,
                  "pictureId": null,
                  "thumbId": null
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomersContactDTO"
                },
                "example": {
                  "id": 101,
                  "customerKeyId": "CLI001",
                  "entityName": "Farmácia Avenida, Lda.",
                  "title": null,
                  "name": "Dr.ª Inês Carvalho",
                  "birthDate": null,
                  "address": "Av. da República 88",
                  "phone1": "+351 913 220 441",
                  "phone2": null,
                  "mobilePhone1": null,
                  "mobilePhone2": null,
                  "mobilePhone3": null,
                  "email1": "ines.carvalho@example.pt",
                  "email2": null,
                  "email3": null,
                  "obs": null,
                  "postalCode": "1050-191",
                  "state": null,
                  "position": "Gerente",
                  "sex": 2,
                  "syncStamp": null,
                  "faceBook": null,
                  "linkedIn": null,
                  "skype": null,
                  "entityType": null,
                  "latitude": null,
                  "longitude": null,
                  "sensitiveDataLevel": 0,
                  "entityConsentmentStatus": 0,
                  "forgetfulnessReason": null,
                  "idNumber": null,
                  "picturePath": null,
                  "pictureId": null,
                  "thumbId": null
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "CustomerContacts"
        ],
        "summary": "Deletes a customer contact by its ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the customer contact to delete.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "CustomerContacts"
        ],
        "summary": "Updates an existing customer contact by its ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the customer contact to update.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The fields to update. Omitted (null) fields keep their stored values.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomersContactUpdateDTO"
              },
              "example": {
                "customerKeyId": null,
                "title": null,
                "name": "Joao Costa",
                "birthDate": null,
                "address": null,
                "phone1": null,
                "phone2": null,
                "mobilePhone1": null,
                "mobilePhone2": null,
                "mobilePhone3": null,
                "email1": "joao.costa@example.com",
                "email2": null,
                "email3": null,
                "obs": null,
                "postalCode": null,
                "state": null,
                "position": "Director Comercial",
                "sex": null,
                "syncStamp": null,
                "faceBook": null,
                "linkedIn": null,
                "skype": null,
                "entityType": null,
                "latitude": null,
                "longitude": null,
                "sensitiveDataLevel": null,
                "entityConsentmentStatus": null,
                "forgetfulnessReason": null,
                "idNumber": null,
                "picturePath": null,
                "pictureId": null,
                "thumbId": null
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomersContactUpdateDTO"
              },
              "example": {
                "customerKeyId": null,
                "title": null,
                "name": "Joao Costa",
                "birthDate": null,
                "address": null,
                "phone1": null,
                "phone2": null,
                "mobilePhone1": null,
                "mobilePhone2": null,
                "mobilePhone3": null,
                "email1": "joao.costa@example.com",
                "email2": null,
                "email3": null,
                "obs": null,
                "postalCode": null,
                "state": null,
                "position": "Director Comercial",
                "sex": null,
                "syncStamp": null,
                "faceBook": null,
                "linkedIn": null,
                "skype": null,
                "entityType": null,
                "latitude": null,
                "longitude": null,
                "sensitiveDataLevel": null,
                "entityConsentmentStatus": null,
                "forgetfulnessReason": null,
                "idNumber": null,
                "picturePath": null,
                "pictureId": null,
                "thumbId": null
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CustomersContactUpdateDTO"
              },
              "example": {
                "customerKeyId": null,
                "title": null,
                "name": "Joao Costa",
                "birthDate": null,
                "address": null,
                "phone1": null,
                "phone2": null,
                "mobilePhone1": null,
                "mobilePhone2": null,
                "mobilePhone3": null,
                "email1": "joao.costa@example.com",
                "email2": null,
                "email3": null,
                "obs": null,
                "postalCode": null,
                "state": null,
                "position": "Director Comercial",
                "sex": null,
                "syncStamp": null,
                "faceBook": null,
                "linkedIn": null,
                "skype": null,
                "entityType": null,
                "latitude": null,
                "longitude": null,
                "sensitiveDataLevel": null,
                "entityConsentmentStatus": null,
                "forgetfulnessReason": null,
                "idNumber": null,
                "picturePath": null,
                "pictureId": null,
                "thumbId": null
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/customer-contacts/{id}/digital-archives-directories": {
      "get": {
        "tags": [
          "CustomerContacts"
        ],
        "summary": "Gets the digital archive directory associated with a customer contact key.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Business key identifier of the customer contact.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "fece003e-546d-48c8-884b-a3e8d9015bc3",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "fece003e-546d-48c8-884b-a3e8d9015bc3",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "fece003e-546d-48c8-884b-a3e8d9015bc3",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/customer-contacts/digital-archives-directories/root": {
      "get": {
        "tags": [
          "CustomerContacts"
        ],
        "summary": "Gets the root digital archive directory for customer contacts.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "719e1aa8-103f-48a5-839f-19fe0ca9d385",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "719e1aa8-103f-48a5-839f-19fe0ca9d385",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "719e1aa8-103f-48a5-839f-19fe0ca9d385",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/customer-lookup": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Retrieves a lightweight paginated list of customers (KeyId, Name, EntityType) with optional simple filters.\r\nDesigned for lookup/selection grids (e.g. covenant assignment wizard).",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "entityGroupId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "salesMan",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "salesZoneId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "excludedEntityKeyIds",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerLookupDTOEntityListingDTO"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerLookupDTOEntityListingDTO"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerLookupDTOEntityListingDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/customer/{keyId}": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Retrieves a customer by its key identifier.",
        "parameters": [
          {
            "name": "keyId",
            "in": "path",
            "description": "Customer identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/EntityDTO"
                },
                "example": {
                  "id": 0,
                  "keyId": "ENT001",
                  "entityType": 1,
                  "name": "Pastelaria Central, Lda.",
                  "address": "Rua Augusta 15",
                  "postalCode": "1100-053",
                  "city": "Lisboa",
                  "state": null,
                  "country": "PT",
                  "vat": "501234567",
                  "bankName": null,
                  "bankIdentifierCode": null,
                  "bankIBAN": null,
                  "bankCardNumber": null,
                  "contactName": null,
                  "contactPhone": null,
                  "phone1": "+351 213 456 789",
                  "phone2": null,
                  "phone3": null,
                  "phone4": null,
                  "mobilePhone1": null,
                  "mobilePhone2": null,
                  "fax1": null,
                  "fax2": null,
                  "contactEmail": null,
                  "email1": "geral@pastelariacentral.pt",
                  "email2": null,
                  "webSite": null,
                  "faceBook": null,
                  "linkedIn": null,
                  "skype": null,
                  "obs": null,
                  "limitCredit": null,
                  "lastPurchase": null,
                  "balance": null,
                  "discount": null,
                  "dateOfBirth": null,
                  "password": null,
                  "defaultRetailPrice": null,
                  "defaultPaymentType": null,
                  "latitude": null,
                  "longitude": null,
                  "alertCredit": 0,
                  "deliveryTaxItemId": null,
                  "holdingTax": false,
                  "holdingTaxAmount": null,
                  "holdingTaxType": 0,
                  "picturePath": null,
                  "alertMessage": false,
                  "forbiddenDocuments": false,
                  "defaultPaymentMode": 0,
                  "syncStamp": null,
                  "salesMan": 0,
                  "gender": false,
                  "customerCardNumber": null,
                  "customerCardExpirationDate": null,
                  "customerCardDays": 0,
                  "carrierDescription": null,
                  "cashRegime": 0,
                  "customerCard": null,
                  "regionId": 0,
                  "priceLine": 0,
                  "identificationNumber": null,
                  "deliveryOccurrence": null,
                  "inactive": false,
                  "grouping": null,
                  "pictureId": null,
                  "thumbId": null,
                  "bioGuid": null,
                  "schedulerResource": null,
                  "accountancyCode": null,
                  "salesZoneId": 0,
                  "bankAccount": null,
                  "dateOfSignature": null,
                  "warningMessage": null,
                  "limitDays": 0,
                  "entityGroupId": 0,
                  "limitCreditType": 0,
                  "warehouseId": 0,
                  "applyEcoTaxOnSale": false,
                  "insurance": null,
                  "webPassword": null,
                  "relatedEntityKeyId": null,
                  "businessName": "Pastelaria Central, Lda.",
                  "creationDate": null,
                  "entityCommission": 0,
                  "entityGuid": null,
                  "entityConsentmentStatus": 0,
                  "forgetfulnessReason": null,
                  "identificationIssuerCountry": null,
                  "portNumber": null,
                  "municipalCode": 0,
                  "documentType": 0,
                  "electronicInvoice": false,
                  "qeroSubscriber": false,
                  "cloudSyncStamp": null,
                  "identificationNumberInd": 0,
                  "qeroSubscriptionDate": null,
                  "syncGuid": null,
                  "feapBroker": 0,
                  "addressLine2": null,
                  "neighborhood": null,
                  "complement": null,
                  "reference": null,
                  "deliveryRegionId": null,
                  "isExcludedFromDueNoticesMail": false
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityDTO"
                },
                "example": {
                  "id": 0,
                  "keyId": "ENT001",
                  "entityType": 1,
                  "name": "Pastelaria Central, Lda.",
                  "address": "Rua Augusta 15",
                  "postalCode": "1100-053",
                  "city": "Lisboa",
                  "state": null,
                  "country": "PT",
                  "vat": "501234567",
                  "bankName": null,
                  "bankIdentifierCode": null,
                  "bankIBAN": null,
                  "bankCardNumber": null,
                  "contactName": null,
                  "contactPhone": null,
                  "phone1": "+351 213 456 789",
                  "phone2": null,
                  "phone3": null,
                  "phone4": null,
                  "mobilePhone1": null,
                  "mobilePhone2": null,
                  "fax1": null,
                  "fax2": null,
                  "contactEmail": null,
                  "email1": "geral@pastelariacentral.pt",
                  "email2": null,
                  "webSite": null,
                  "faceBook": null,
                  "linkedIn": null,
                  "skype": null,
                  "obs": null,
                  "limitCredit": null,
                  "lastPurchase": null,
                  "balance": null,
                  "discount": null,
                  "dateOfBirth": null,
                  "password": null,
                  "defaultRetailPrice": null,
                  "defaultPaymentType": null,
                  "latitude": null,
                  "longitude": null,
                  "alertCredit": 0,
                  "deliveryTaxItemId": null,
                  "holdingTax": false,
                  "holdingTaxAmount": null,
                  "holdingTaxType": 0,
                  "picturePath": null,
                  "alertMessage": false,
                  "forbiddenDocuments": false,
                  "defaultPaymentMode": 0,
                  "syncStamp": null,
                  "salesMan": 0,
                  "gender": false,
                  "customerCardNumber": null,
                  "customerCardExpirationDate": null,
                  "customerCardDays": 0,
                  "carrierDescription": null,
                  "cashRegime": 0,
                  "customerCard": null,
                  "regionId": 0,
                  "priceLine": 0,
                  "identificationNumber": null,
                  "deliveryOccurrence": null,
                  "inactive": false,
                  "grouping": null,
                  "pictureId": null,
                  "thumbId": null,
                  "bioGuid": null,
                  "schedulerResource": null,
                  "accountancyCode": null,
                  "salesZoneId": 0,
                  "bankAccount": null,
                  "dateOfSignature": null,
                  "warningMessage": null,
                  "limitDays": 0,
                  "entityGroupId": 0,
                  "limitCreditType": 0,
                  "warehouseId": 0,
                  "applyEcoTaxOnSale": false,
                  "insurance": null,
                  "webPassword": null,
                  "relatedEntityKeyId": null,
                  "businessName": "Pastelaria Central, Lda.",
                  "creationDate": null,
                  "entityCommission": 0,
                  "entityGuid": null,
                  "entityConsentmentStatus": 0,
                  "forgetfulnessReason": null,
                  "identificationIssuerCountry": null,
                  "portNumber": null,
                  "municipalCode": 0,
                  "documentType": 0,
                  "electronicInvoice": false,
                  "qeroSubscriber": false,
                  "cloudSyncStamp": null,
                  "identificationNumberInd": 0,
                  "qeroSubscriptionDate": null,
                  "syncGuid": null,
                  "feapBroker": 0,
                  "addressLine2": null,
                  "neighborhood": null,
                  "complement": null,
                  "reference": null,
                  "deliveryRegionId": null,
                  "isExcludedFromDueNoticesMail": false
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityDTO"
                },
                "example": {
                  "id": 0,
                  "keyId": "ENT001",
                  "entityType": 1,
                  "name": "Pastelaria Central, Lda.",
                  "address": "Rua Augusta 15",
                  "postalCode": "1100-053",
                  "city": "Lisboa",
                  "state": null,
                  "country": "PT",
                  "vat": "501234567",
                  "bankName": null,
                  "bankIdentifierCode": null,
                  "bankIBAN": null,
                  "bankCardNumber": null,
                  "contactName": null,
                  "contactPhone": null,
                  "phone1": "+351 213 456 789",
                  "phone2": null,
                  "phone3": null,
                  "phone4": null,
                  "mobilePhone1": null,
                  "mobilePhone2": null,
                  "fax1": null,
                  "fax2": null,
                  "contactEmail": null,
                  "email1": "geral@pastelariacentral.pt",
                  "email2": null,
                  "webSite": null,
                  "faceBook": null,
                  "linkedIn": null,
                  "skype": null,
                  "obs": null,
                  "limitCredit": null,
                  "lastPurchase": null,
                  "balance": null,
                  "discount": null,
                  "dateOfBirth": null,
                  "password": null,
                  "defaultRetailPrice": null,
                  "defaultPaymentType": null,
                  "latitude": null,
                  "longitude": null,
                  "alertCredit": 0,
                  "deliveryTaxItemId": null,
                  "holdingTax": false,
                  "holdingTaxAmount": null,
                  "holdingTaxType": 0,
                  "picturePath": null,
                  "alertMessage": false,
                  "forbiddenDocuments": false,
                  "defaultPaymentMode": 0,
                  "syncStamp": null,
                  "salesMan": 0,
                  "gender": false,
                  "customerCardNumber": null,
                  "customerCardExpirationDate": null,
                  "customerCardDays": 0,
                  "carrierDescription": null,
                  "cashRegime": 0,
                  "customerCard": null,
                  "regionId": 0,
                  "priceLine": 0,
                  "identificationNumber": null,
                  "deliveryOccurrence": null,
                  "inactive": false,
                  "grouping": null,
                  "pictureId": null,
                  "thumbId": null,
                  "bioGuid": null,
                  "schedulerResource": null,
                  "accountancyCode": null,
                  "salesZoneId": 0,
                  "bankAccount": null,
                  "dateOfSignature": null,
                  "warningMessage": null,
                  "limitDays": 0,
                  "entityGroupId": 0,
                  "limitCreditType": 0,
                  "warehouseId": 0,
                  "applyEcoTaxOnSale": false,
                  "insurance": null,
                  "webPassword": null,
                  "relatedEntityKeyId": null,
                  "businessName": "Pastelaria Central, Lda.",
                  "creationDate": null,
                  "entityCommission": 0,
                  "entityGuid": null,
                  "entityConsentmentStatus": 0,
                  "forgetfulnessReason": null,
                  "identificationIssuerCountry": null,
                  "portNumber": null,
                  "municipalCode": 0,
                  "documentType": 0,
                  "electronicInvoice": false,
                  "qeroSubscriber": false,
                  "cloudSyncStamp": null,
                  "identificationNumberInd": 0,
                  "qeroSubscriptionDate": null,
                  "syncGuid": null,
                  "feapBroker": 0,
                  "addressLine2": null,
                  "neighborhood": null,
                  "complement": null,
                  "reference": null,
                  "deliveryRegionId": null,
                  "isExcludedFromDueNoticesMail": false
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/customer/lookup/advanced": {
      "post": {
        "tags": [
          "Entity"
        ],
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerLookupAdvancedRequestDTO"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerLookupAdvancedRequestDTO"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerLookupAdvancedRequestDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerLookupDTOEntityListingDTO"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerLookupDTOEntityListingDTO"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerLookupDTOEntityListingDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/debit-agreement": {
      "get": {
        "tags": [
          "DebitAgreement"
        ],
        "summary": "Lists covenant agreements eligible for debit with pagination.",
        "parameters": [
          {
            "name": "processDate",
            "in": "query",
            "description": "Processing cut-off date. Only agreements whose NextDate falls on or before this date are returned.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "customerInitial",
            "in": "query",
            "description": "Initial customer KeyId filter.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customerFinal",
            "in": "query",
            "description": "Final customer KeyId filter.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Number of records to skip for pagination.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of records per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DebitAgreementListDTOEntityListingDTO"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebitAgreementListDTOEntityListingDTO"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DebitAgreementListDTOEntityListingDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/delivery-region": {
      "post": {
        "tags": [
          "DeliveryRegion"
        ],
        "summary": "Creates a new delivery region.",
        "requestBody": {
          "description": "The delivery region data to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeliveryRegionDTO"
              },
              "example": {
                "id": 1,
                "description": "Grande Lisboa",
                "type": 1,
                "value": 5.5
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeliveryRegionDTO"
              },
              "example": {
                "id": 1,
                "description": "Grande Lisboa",
                "type": 1,
                "value": 5.5
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeliveryRegionDTO"
              },
              "example": {
                "id": 1,
                "description": "Grande Lisboa",
                "type": 1,
                "value": 5.5
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "DeliveryRegion"
        ],
        "summary": "Gets all delivery regions.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of records per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeliveryRegionDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "Área metropolitana de Lisboa",
                      "type": 1,
                      "value": 6.5
                    },
                    {
                      "id": 2,
                      "description": "Resto do continente — 2.ª zona",
                      "type": 2,
                      "value": 12.75
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeliveryRegionDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "Área metropolitana de Lisboa",
                      "type": 1,
                      "value": 6.5
                    },
                    {
                      "id": 2,
                      "description": "Resto do continente — 2.ª zona",
                      "type": 2,
                      "value": 12.75
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeliveryRegionDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "Área metropolitana de Lisboa",
                      "type": 1,
                      "value": 6.5
                    },
                    {
                      "id": 2,
                      "description": "Resto do continente — 2.ª zona",
                      "type": 2,
                      "value": 12.75
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/delivery-region/{id}": {
      "get": {
        "tags": [
          "DeliveryRegion"
        ],
        "summary": "Gets a delivery region by its ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the delivery region.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DeliveryRegionDTO"
                },
                "example": {
                  "id": 1,
                  "description": "Grande Lisboa",
                  "type": 1,
                  "value": 5.5
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeliveryRegionDTO"
                },
                "example": {
                  "id": 1,
                  "description": "Grande Lisboa",
                  "type": 1,
                  "value": 5.5
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeliveryRegionDTO"
                },
                "example": {
                  "id": 1,
                  "description": "Grande Lisboa",
                  "type": 1,
                  "value": 5.5
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "DeliveryRegion"
        ],
        "summary": "Deletes a delivery region by its ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the delivery region to delete.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "DeliveryRegion"
        ],
        "summary": "Updates an existing delivery region.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the delivery region to update.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The updated delivery region data.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeliveryRegionDTO"
              },
              "example": {
                "id": 1,
                "description": "Grande Lisboa",
                "type": 1,
                "value": 5.5
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeliveryRegionDTO"
              },
              "example": {
                "id": 1,
                "description": "Grande Lisboa",
                "type": 1,
                "value": 5.5
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeliveryRegionDTO"
              },
              "example": {
                "id": 1,
                "description": "Grande Lisboa",
                "type": 1,
                "value": 5.5
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/delivery-region/next-id": {
      "get": {
        "tags": [
          "DeliveryRegion"
        ],
        "summary": "Gets the next available delivery region ID.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "text/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/digital-archives": {
      "post": {
        "tags": [
          "DigitalArchives"
        ],
        "summary": "Creates a new digital archive file and stores it in the specified directory.",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "name"
                ],
                "type": "object",
                "properties": {
                  "digitalArchiveDirectoryId": {
                    "type": "integer",
                    "description": "Id of an existing directory.",
                    "format": "int32"
                  },
                  "name": {
                    "maxLength": 255,
                    "type": "string",
                    "description": "Digital archive name."
                  },
                  "description": {
                    "maxLength": 255,
                    "type": "string",
                    "description": "Digital archive description."
                  },
                  "resource": {
                    "type": "string",
                    "description": "File to save for this digital archive.",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "digitalArchiveDirectoryId": {
                  "style": "form"
                },
                "name": {
                  "style": "form"
                },
                "description": {
                  "style": "form"
                },
                "resource": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/digital-archives-directories": {
      "post": {
        "tags": [
          "DigitalArchivesDirectories"
        ],
        "summary": "Creates a new digital archive directory.",
        "requestBody": {
          "description": "Payload with directory creation data.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDigitalArchiveDirectoryDTO"
              },
              "example": {
                "idParent": 1,
                "name": "faturas-2026",
                "caption": "Faturas 2026"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDigitalArchiveDirectoryDTO"
              },
              "example": {
                "idParent": 1,
                "name": "faturas-2026",
                "caption": "Faturas 2026"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDigitalArchiveDirectoryDTO"
              },
              "example": {
                "idParent": 1,
                "name": "faturas-2026",
                "caption": "Faturas 2026"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/digital-archives-directories/{id}": {
      "delete": {
        "tags": [
          "DigitalArchivesDirectories"
        ],
        "summary": "Deletes a digital archive directory by its identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Directory identifier to delete.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "DigitalArchivesDirectories"
        ],
        "summary": "Updates a digital archive directory by its identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Directory identifier to update.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "Payload with updated directory data.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDigitalArchiveDirectoryDTO"
              },
              "example": {
                "caption": "Faturas 2026 - Arquivo"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDigitalArchiveDirectoryDTO"
              },
              "example": {
                "caption": "Faturas 2026 - Arquivo"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDigitalArchiveDirectoryDTO"
              },
              "example": {
                "caption": "Faturas 2026 - Arquivo"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/digital-archives-directories/{id}/children": {
      "get": {
        "tags": [
          "DigitalArchivesDirectories"
        ],
        "summary": "Gets the child directories for a given parent directory.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Parent directory identifier. Use 0 to retrieve root-level children.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                  }
                },
                "example": [
                  {
                    "id": 1,
                    "name": "Documentos fiscais",
                    "path": "/documentos-fiscais",
                    "idParent": 0,
                    "folderIdentifier": "ffe2c56f-1000-45d8-a65d-a93a5258b7c3",
                    "caption": "Documentos fiscais",
                    "digitalArchives": [],
                    "hasChildren": true
                  },
                  {
                    "id": 2,
                    "name": "Contratos",
                    "path": "/contratos",
                    "idParent": 0,
                    "folderIdentifier": "17a6c341-5b74-4cc9-a326-f4159f8fb32c",
                    "caption": "Contratos",
                    "digitalArchives": [],
                    "hasChildren": false
                  }
                ]
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                  }
                },
                "example": [
                  {
                    "id": 1,
                    "name": "Documentos fiscais",
                    "path": "/documentos-fiscais",
                    "idParent": 0,
                    "folderIdentifier": "ffe2c56f-1000-45d8-a65d-a93a5258b7c3",
                    "caption": "Documentos fiscais",
                    "digitalArchives": [],
                    "hasChildren": true
                  },
                  {
                    "id": 2,
                    "name": "Contratos",
                    "path": "/contratos",
                    "idParent": 0,
                    "folderIdentifier": "17a6c341-5b74-4cc9-a326-f4159f8fb32c",
                    "caption": "Contratos",
                    "digitalArchives": [],
                    "hasChildren": false
                  }
                ]
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                  }
                },
                "example": [
                  {
                    "id": 1,
                    "name": "Documentos fiscais",
                    "path": "/documentos-fiscais",
                    "idParent": 0,
                    "folderIdentifier": "ffe2c56f-1000-45d8-a65d-a93a5258b7c3",
                    "caption": "Documentos fiscais",
                    "digitalArchives": [],
                    "hasChildren": true
                  },
                  {
                    "id": 2,
                    "name": "Contratos",
                    "path": "/contratos",
                    "idParent": 0,
                    "folderIdentifier": "17a6c341-5b74-4cc9-a326-f4159f8fb32c",
                    "caption": "Contratos",
                    "digitalArchives": [],
                    "hasChildren": false
                  }
                ]
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/digital-archives-directories/{id}/digital-archives": {
      "get": {
        "tags": [
          "DigitalArchivesDirectories"
        ],
        "summary": "Gets digital archive files that belong to a specific directory.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Directory identifier that contains the digital archive files.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DigitalArchiveDTO"
                  }
                },
                "example": [
                  {
                    "guid": "bbfdc4ee-f7a8-4bb4-8bdc-44f5ffd2a63e",
                    "name": "Fatura_FT_4521.pdf",
                    "extension": "pdf",
                    "description": "Fatura FT A/4521",
                    "path": "/documentos-fiscais",
                    "creationUser": "admin",
                    "hashTag": null,
                    "creationDate": "2026-03-10T00:00:00",
                    "lastChange": "2026-03-10T00:00:00"
                  },
                  {
                    "guid": "b58ed681-a09d-49e2-a523-f7119f49be70",
                    "name": "Contrato_CLI001.pdf",
                    "extension": "pdf",
                    "description": "Contrato CLI001",
                    "path": "/contratos",
                    "creationUser": "admin",
                    "hashTag": null,
                    "creationDate": "2026-02-15T00:00:00",
                    "lastChange": "2026-02-15T00:00:00"
                  }
                ]
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DigitalArchiveDTO"
                  }
                },
                "example": [
                  {
                    "guid": "bbfdc4ee-f7a8-4bb4-8bdc-44f5ffd2a63e",
                    "name": "Fatura_FT_4521.pdf",
                    "extension": "pdf",
                    "description": "Fatura FT A/4521",
                    "path": "/documentos-fiscais",
                    "creationUser": "admin",
                    "hashTag": null,
                    "creationDate": "2026-03-10T00:00:00",
                    "lastChange": "2026-03-10T00:00:00"
                  },
                  {
                    "guid": "b58ed681-a09d-49e2-a523-f7119f49be70",
                    "name": "Contrato_CLI001.pdf",
                    "extension": "pdf",
                    "description": "Contrato CLI001",
                    "path": "/contratos",
                    "creationUser": "admin",
                    "hashTag": null,
                    "creationDate": "2026-02-15T00:00:00",
                    "lastChange": "2026-02-15T00:00:00"
                  }
                ]
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DigitalArchiveDTO"
                  }
                },
                "example": [
                  {
                    "guid": "bbfdc4ee-f7a8-4bb4-8bdc-44f5ffd2a63e",
                    "name": "Fatura_FT_4521.pdf",
                    "extension": "pdf",
                    "description": "Fatura FT A/4521",
                    "path": "/documentos-fiscais",
                    "creationUser": "admin",
                    "hashTag": null,
                    "creationDate": "2026-03-10T00:00:00",
                    "lastChange": "2026-03-10T00:00:00"
                  },
                  {
                    "guid": "b58ed681-a09d-49e2-a523-f7119f49be70",
                    "name": "Contrato_CLI001.pdf",
                    "extension": "pdf",
                    "description": "Contrato CLI001",
                    "path": "/contratos",
                    "creationUser": "admin",
                    "hashTag": null,
                    "creationDate": "2026-02-15T00:00:00",
                    "lastChange": "2026-02-15T00:00:00"
                  }
                ]
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/digital-archives/{guid}": {
      "put": {
        "tags": [
          "DigitalArchives"
        ],
        "summary": "Updates metadata of an existing digital archive file.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Unique identifier of the digital archive file.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Payload with updated archive metadata.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDigitalArchiveDTO"
              },
              "example": {
                "description": "Fatura digitalizada",
                "name": "FT-2026-001.pdf",
                "hashTag": "fatura;2026"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDigitalArchiveDTO"
              },
              "example": {
                "description": "Fatura digitalizada",
                "name": "FT-2026-001.pdf",
                "hashTag": "fatura;2026"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDigitalArchiveDTO"
              },
              "example": {
                "description": "Fatura digitalizada",
                "name": "FT-2026-001.pdf",
                "hashTag": "fatura;2026"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "DigitalArchives"
        ],
        "summary": "Deletes a digital archive file by its identifier.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Unique identifier of the digital archive file.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/document-body": {
      "get": {
        "tags": [
          "DocumentBody"
        ],
        "summary": "Retrieves a paginated list of document body lines across all headers.\r\nOptional filters are supplied via query parameters (pagination, terminal, series, document type, entity, date range, document GUID, etc.).\r\nUse `StartDate` and `EndDate` in `yyyy-MM-dd` format.",
        "parameters": [
          {
            "name": "documentGuid",
            "in": "query",
            "description": "When set, returns only body lines whose persisted `DocumentGuid` matches this value\r\n(the same string as `DocumentHeader.Guid` for that document).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number to retrieve (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Page size for pagination (default 20, max 100).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "terminalId",
            "in": "query",
            "description": "Terminal identifier filter.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "serieId",
            "in": "query",
            "description": "Document series identifier filter.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "documentTypeId",
            "in": "query",
            "description": "Document type identifier filter.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "entityKeyId",
            "in": "query",
            "description": "Entity key identifier filter.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "number",
            "in": "query",
            "description": "Document number filter.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Filter documents created on or after this date.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "Filter documents created on or before this date.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentBodyDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 50110,
                      "session": 0,
                      "shift": 0,
                      "terminal": 0,
                      "numDocCx": 0,
                      "saleZoneAreaObjectId": 0,
                      "serieId": 3,
                      "number": 4521,
                      "orderNumber": null,
                      "sessionDate": "2025-03-10T14:32:00",
                      "creationUserId": 12,
                      "creationDate": "2025-03-10T14:32:00",
                      "closeUserId": 12,
                      "closeDate": null,
                      "sortNumber": null,
                      "sortLevel": null,
                      "entityKeyId": "CLI-00045",
                      "itemKeyId": "ART-88421",
                      "itemGroupId": 12,
                      "itemDescription": "Azeite virgem extra 0,75 L — Herdade do Sobral",
                      "itemType": null,
                      "quantity": 24,
                      "retailPrice": 6.95,
                      "taxId": 1,
                      "taxValue": null,
                      "discount": null,
                      "discountValue": null,
                      "totalIncome": null,
                      "totalTaxes": null,
                      "totalDiscounts": null,
                      "total": 166.8,
                      "paymentType": 1,
                      "deleted": false,
                      "deletedDate": null,
                      "bar": null,
                      "documentTypeId": null,
                      "idShop": null,
                      "reasonsCancellation": null,
                      "observation": null,
                      "isOffer": null,
                      "sortKey": null,
                      "holdingTaxValue": null,
                      "totalHoldingTaxes": null,
                      "currencyId": 1,
                      "currencyRate": 1,
                      "paymentDivisionDiscount": null,
                      "serviceTaxValue": null,
                      "serviceTaxUserId": null,
                      "documentGuid": null,
                      "guid": null,
                      "parentGuid": null,
                      "netPrice": null,
                      "originWarehouse": null,
                      "destinationWarehouse": null,
                      "discountPercent1": null,
                      "discountPercent2": null,
                      "discountPercent3": null,
                      "totalNetAmount": null,
                      "totalTaxAmount": null,
                      "totalAmount": null,
                      "taxPointDate": null,
                      "headerDiscountAmount": null,
                      "commission": null,
                      "stockFlow": 0,
                      "stockBehavior": 0,
                      "lastCostPrice": null,
                      "averageCostPrice": null,
                      "taxAmount": 0,
                      "secondTaxAmount": 0,
                      "secondTaxId": 0,
                      "secondTaxValue": 0,
                      "volumeCount": 0,
                      "measure1": null,
                      "measure2": null,
                      "measure3": null,
                      "cloudSyncStamp": null
                    },
                    {
                      "id": 50111,
                      "session": 0,
                      "shift": 0,
                      "terminal": 0,
                      "numDocCx": 0,
                      "saleZoneAreaObjectId": 0,
                      "serieId": 3,
                      "number": 4521,
                      "orderNumber": null,
                      "sessionDate": "2025-03-10T14:32:00",
                      "creationUserId": 12,
                      "creationDate": "2025-03-10T14:33:00",
                      "closeUserId": 12,
                      "closeDate": null,
                      "sortNumber": null,
                      "sortLevel": null,
                      "entityKeyId": "CLI-00045",
                      "itemKeyId": "SRV-INST-MONT",
                      "itemGroupId": 40,
                      "itemDescription": "Serviço de montagem e assistência técnica (hora)",
                      "itemType": null,
                      "quantity": 3.5,
                      "retailPrice": 45.0,
                      "taxId": 2,
                      "taxValue": null,
                      "discount": null,
                      "discountValue": null,
                      "totalIncome": null,
                      "totalTaxes": null,
                      "totalDiscounts": null,
                      "total": 157.5,
                      "paymentType": 1,
                      "deleted": false,
                      "deletedDate": null,
                      "bar": null,
                      "documentTypeId": null,
                      "idShop": null,
                      "reasonsCancellation": null,
                      "observation": null,
                      "isOffer": null,
                      "sortKey": null,
                      "holdingTaxValue": null,
                      "totalHoldingTaxes": null,
                      "currencyId": 1,
                      "currencyRate": 1,
                      "paymentDivisionDiscount": null,
                      "serviceTaxValue": null,
                      "serviceTaxUserId": null,
                      "documentGuid": null,
                      "guid": null,
                      "parentGuid": null,
                      "netPrice": null,
                      "originWarehouse": null,
                      "destinationWarehouse": null,
                      "discountPercent1": null,
                      "discountPercent2": null,
                      "discountPercent3": null,
                      "totalNetAmount": null,
                      "totalTaxAmount": null,
                      "totalAmount": null,
                      "taxPointDate": null,
                      "headerDiscountAmount": null,
                      "commission": null,
                      "stockFlow": 0,
                      "stockBehavior": 0,
                      "lastCostPrice": null,
                      "averageCostPrice": null,
                      "taxAmount": 0,
                      "secondTaxAmount": 0,
                      "secondTaxId": 0,
                      "secondTaxValue": 0,
                      "volumeCount": 0,
                      "measure1": null,
                      "measure2": null,
                      "measure3": null,
                      "cloudSyncStamp": null
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentBodyDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 50110,
                      "session": 0,
                      "shift": 0,
                      "terminal": 0,
                      "numDocCx": 0,
                      "saleZoneAreaObjectId": 0,
                      "serieId": 3,
                      "number": 4521,
                      "orderNumber": null,
                      "sessionDate": "2025-03-10T14:32:00",
                      "creationUserId": 12,
                      "creationDate": "2025-03-10T14:32:00",
                      "closeUserId": 12,
                      "closeDate": null,
                      "sortNumber": null,
                      "sortLevel": null,
                      "entityKeyId": "CLI-00045",
                      "itemKeyId": "ART-88421",
                      "itemGroupId": 12,
                      "itemDescription": "Azeite virgem extra 0,75 L — Herdade do Sobral",
                      "itemType": null,
                      "quantity": 24,
                      "retailPrice": 6.95,
                      "taxId": 1,
                      "taxValue": null,
                      "discount": null,
                      "discountValue": null,
                      "totalIncome": null,
                      "totalTaxes": null,
                      "totalDiscounts": null,
                      "total": 166.8,
                      "paymentType": 1,
                      "deleted": false,
                      "deletedDate": null,
                      "bar": null,
                      "documentTypeId": null,
                      "idShop": null,
                      "reasonsCancellation": null,
                      "observation": null,
                      "isOffer": null,
                      "sortKey": null,
                      "holdingTaxValue": null,
                      "totalHoldingTaxes": null,
                      "currencyId": 1,
                      "currencyRate": 1,
                      "paymentDivisionDiscount": null,
                      "serviceTaxValue": null,
                      "serviceTaxUserId": null,
                      "documentGuid": null,
                      "guid": null,
                      "parentGuid": null,
                      "netPrice": null,
                      "originWarehouse": null,
                      "destinationWarehouse": null,
                      "discountPercent1": null,
                      "discountPercent2": null,
                      "discountPercent3": null,
                      "totalNetAmount": null,
                      "totalTaxAmount": null,
                      "totalAmount": null,
                      "taxPointDate": null,
                      "headerDiscountAmount": null,
                      "commission": null,
                      "stockFlow": 0,
                      "stockBehavior": 0,
                      "lastCostPrice": null,
                      "averageCostPrice": null,
                      "taxAmount": 0,
                      "secondTaxAmount": 0,
                      "secondTaxId": 0,
                      "secondTaxValue": 0,
                      "volumeCount": 0,
                      "measure1": null,
                      "measure2": null,
                      "measure3": null,
                      "cloudSyncStamp": null
                    },
                    {
                      "id": 50111,
                      "session": 0,
                      "shift": 0,
                      "terminal": 0,
                      "numDocCx": 0,
                      "saleZoneAreaObjectId": 0,
                      "serieId": 3,
                      "number": 4521,
                      "orderNumber": null,
                      "sessionDate": "2025-03-10T14:32:00",
                      "creationUserId": 12,
                      "creationDate": "2025-03-10T14:33:00",
                      "closeUserId": 12,
                      "closeDate": null,
                      "sortNumber": null,
                      "sortLevel": null,
                      "entityKeyId": "CLI-00045",
                      "itemKeyId": "SRV-INST-MONT",
                      "itemGroupId": 40,
                      "itemDescription": "Serviço de montagem e assistência técnica (hora)",
                      "itemType": null,
                      "quantity": 3.5,
                      "retailPrice": 45.0,
                      "taxId": 2,
                      "taxValue": null,
                      "discount": null,
                      "discountValue": null,
                      "totalIncome": null,
                      "totalTaxes": null,
                      "totalDiscounts": null,
                      "total": 157.5,
                      "paymentType": 1,
                      "deleted": false,
                      "deletedDate": null,
                      "bar": null,
                      "documentTypeId": null,
                      "idShop": null,
                      "reasonsCancellation": null,
                      "observation": null,
                      "isOffer": null,
                      "sortKey": null,
                      "holdingTaxValue": null,
                      "totalHoldingTaxes": null,
                      "currencyId": 1,
                      "currencyRate": 1,
                      "paymentDivisionDiscount": null,
                      "serviceTaxValue": null,
                      "serviceTaxUserId": null,
                      "documentGuid": null,
                      "guid": null,
                      "parentGuid": null,
                      "netPrice": null,
                      "originWarehouse": null,
                      "destinationWarehouse": null,
                      "discountPercent1": null,
                      "discountPercent2": null,
                      "discountPercent3": null,
                      "totalNetAmount": null,
                      "totalTaxAmount": null,
                      "totalAmount": null,
                      "taxPointDate": null,
                      "headerDiscountAmount": null,
                      "commission": null,
                      "stockFlow": 0,
                      "stockBehavior": 0,
                      "lastCostPrice": null,
                      "averageCostPrice": null,
                      "taxAmount": 0,
                      "secondTaxAmount": 0,
                      "secondTaxId": 0,
                      "secondTaxValue": 0,
                      "volumeCount": 0,
                      "measure1": null,
                      "measure2": null,
                      "measure3": null,
                      "cloudSyncStamp": null
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentBodyDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 50110,
                      "session": 0,
                      "shift": 0,
                      "terminal": 0,
                      "numDocCx": 0,
                      "saleZoneAreaObjectId": 0,
                      "serieId": 3,
                      "number": 4521,
                      "orderNumber": null,
                      "sessionDate": "2025-03-10T14:32:00",
                      "creationUserId": 12,
                      "creationDate": "2025-03-10T14:32:00",
                      "closeUserId": 12,
                      "closeDate": null,
                      "sortNumber": null,
                      "sortLevel": null,
                      "entityKeyId": "CLI-00045",
                      "itemKeyId": "ART-88421",
                      "itemGroupId": 12,
                      "itemDescription": "Azeite virgem extra 0,75 L — Herdade do Sobral",
                      "itemType": null,
                      "quantity": 24,
                      "retailPrice": 6.95,
                      "taxId": 1,
                      "taxValue": null,
                      "discount": null,
                      "discountValue": null,
                      "totalIncome": null,
                      "totalTaxes": null,
                      "totalDiscounts": null,
                      "total": 166.8,
                      "paymentType": 1,
                      "deleted": false,
                      "deletedDate": null,
                      "bar": null,
                      "documentTypeId": null,
                      "idShop": null,
                      "reasonsCancellation": null,
                      "observation": null,
                      "isOffer": null,
                      "sortKey": null,
                      "holdingTaxValue": null,
                      "totalHoldingTaxes": null,
                      "currencyId": 1,
                      "currencyRate": 1,
                      "paymentDivisionDiscount": null,
                      "serviceTaxValue": null,
                      "serviceTaxUserId": null,
                      "documentGuid": null,
                      "guid": null,
                      "parentGuid": null,
                      "netPrice": null,
                      "originWarehouse": null,
                      "destinationWarehouse": null,
                      "discountPercent1": null,
                      "discountPercent2": null,
                      "discountPercent3": null,
                      "totalNetAmount": null,
                      "totalTaxAmount": null,
                      "totalAmount": null,
                      "taxPointDate": null,
                      "headerDiscountAmount": null,
                      "commission": null,
                      "stockFlow": 0,
                      "stockBehavior": 0,
                      "lastCostPrice": null,
                      "averageCostPrice": null,
                      "taxAmount": 0,
                      "secondTaxAmount": 0,
                      "secondTaxId": 0,
                      "secondTaxValue": 0,
                      "volumeCount": 0,
                      "measure1": null,
                      "measure2": null,
                      "measure3": null,
                      "cloudSyncStamp": null
                    },
                    {
                      "id": 50111,
                      "session": 0,
                      "shift": 0,
                      "terminal": 0,
                      "numDocCx": 0,
                      "saleZoneAreaObjectId": 0,
                      "serieId": 3,
                      "number": 4521,
                      "orderNumber": null,
                      "sessionDate": "2025-03-10T14:32:00",
                      "creationUserId": 12,
                      "creationDate": "2025-03-10T14:33:00",
                      "closeUserId": 12,
                      "closeDate": null,
                      "sortNumber": null,
                      "sortLevel": null,
                      "entityKeyId": "CLI-00045",
                      "itemKeyId": "SRV-INST-MONT",
                      "itemGroupId": 40,
                      "itemDescription": "Serviço de montagem e assistência técnica (hora)",
                      "itemType": null,
                      "quantity": 3.5,
                      "retailPrice": 45.0,
                      "taxId": 2,
                      "taxValue": null,
                      "discount": null,
                      "discountValue": null,
                      "totalIncome": null,
                      "totalTaxes": null,
                      "totalDiscounts": null,
                      "total": 157.5,
                      "paymentType": 1,
                      "deleted": false,
                      "deletedDate": null,
                      "bar": null,
                      "documentTypeId": null,
                      "idShop": null,
                      "reasonsCancellation": null,
                      "observation": null,
                      "isOffer": null,
                      "sortKey": null,
                      "holdingTaxValue": null,
                      "totalHoldingTaxes": null,
                      "currencyId": 1,
                      "currencyRate": 1,
                      "paymentDivisionDiscount": null,
                      "serviceTaxValue": null,
                      "serviceTaxUserId": null,
                      "documentGuid": null,
                      "guid": null,
                      "parentGuid": null,
                      "netPrice": null,
                      "originWarehouse": null,
                      "destinationWarehouse": null,
                      "discountPercent1": null,
                      "discountPercent2": null,
                      "discountPercent3": null,
                      "totalNetAmount": null,
                      "totalTaxAmount": null,
                      "totalAmount": null,
                      "taxPointDate": null,
                      "headerDiscountAmount": null,
                      "commission": null,
                      "stockFlow": 0,
                      "stockBehavior": 0,
                      "lastCostPrice": null,
                      "averageCostPrice": null,
                      "taxAmount": 0,
                      "secondTaxAmount": 0,
                      "secondTaxId": 0,
                      "secondTaxValue": 0,
                      "volumeCount": 0,
                      "measure1": null,
                      "measure2": null,
                      "measure3": null,
                      "cloudSyncStamp": null
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/document-body/{id}": {
      "get": {
        "tags": [
          "DocumentBody"
        ],
        "summary": "Retrieves a single document body line by its numeric identifier.",
        "description": "To list all body lines for a given header, use `GET /document-header/{id}/bodies`\r\n(which returns the header plus its associated body lines in a single response).",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The document body identifier.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentBodyDTO"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentBodyDTO"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentBodyDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/document-header": {
      "get": {
        "tags": [
          "DocumentHeader"
        ],
        "summary": "Retrieves a paginated list of all document headers.Note: Date parameters (StartDate and EndDate) should be provided in the format \"yyyy-MM-dd\" (year-month-day).",
        "parameters": [
          {
            "name": "documentKeyId",
            "in": "query",
            "description": "Document key identifier filter (e.g. \"FA\", \"FAC\", \"FR\").",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "closed",
            "in": "query",
            "description": "Filter by closed status.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Field name to sort by. Supported values: CreationDate, DocumentNumber, Total, EntityDescription.\r\nDefaults to CreationDate when omitted or invalid.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDescending",
            "in": "query",
            "description": "Sort in descending order when true. Default is false (ascending).",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number to retrieve (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Page size for pagination (default 20, max 100).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "terminalId",
            "in": "query",
            "description": "Terminal identifier filter.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "serieId",
            "in": "query",
            "description": "Document series identifier filter.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "documentTypeId",
            "in": "query",
            "description": "Document type identifier filter.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "entityKeyId",
            "in": "query",
            "description": "Entity key identifier filter.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "number",
            "in": "query",
            "description": "Document number filter.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "Filter documents created on or after this date.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "Filter documents created on or before this date.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentHeaderDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 18402,
                      "terminal": 0,
                      "numDocCx": 0,
                      "session": 0,
                      "shift": 0,
                      "saleZoneAreaObjectId": 0,
                      "serieId": 3,
                      "number": 4521,
                      "signatureHashPt": null,
                      "signatureVersionPt": null,
                      "signatureStampPt": null,
                      "totalCustomers": null,
                      "osDate": "2025-03-10T14:32:00",
                      "creationDate": "2025-03-10T14:32:00",
                      "creationUserId": 12,
                      "closeUserId": null,
                      "closeDate": null,
                      "entityKeyId": "CLI-00045",
                      "entityDescription": "Pastelaria Conde, Lda.",
                      "entityAddress": null,
                      "entityPostalCode": null,
                      "entitycity": null,
                      "entitystate": null,
                      "entityVat": null,
                      "currencyId": 1,
                      "currencyRate": 1,
                      "discount": null,
                      "discountValue": null,
                      "roundValue": null,
                      "totalIncome": null,
                      "totalTaxes": null,
                      "totalDiscounts": null,
                      "total": 1287.45,
                      "paymentType": 1,
                      "documentCopy": false,
                      "deleted": false,
                      "documentTypeId": 1,
                      "subTotalReference": null,
                      "docReference": null,
                      "obs": null,
                      "idShop": null,
                      "dueDate": null,
                      "loadPlaceDate": null,
                      "unloadPlaceDate": null,
                      "loadPlaceDescription": null,
                      "unloadPlaceDescription": null,
                      "carrierDescription": null,
                      "numberPersons": null,
                      "holdingTaxValue": null,
                      "totalHoldingTaxes": null,
                      "dueValue": null,
                      "atdocCodeId": null,
                      "statusReason": null,
                      "emissionReason": null,
                      "numberCopies": null,
                      "paymentModeId": null,
                      "paymentDivisionDiscount": null,
                      "totalServiceTax": null,
                      "guid": null,
                      "hasTaxIncludedPrices": null,
                      "discountPercent1": null,
                      "discountPercent2": null,
                      "discountPercent3": null,
                      "lineDiscountAmount": null,
                      "paidAmount": null,
                      "advancementAmount": null,
                      "totalNetAmount": null,
                      "totalTaxAmount": null,
                      "entityAddressId": null,
                      "entityCountry": null,
                      "extraDocReference": null,
                      "cashierFlow": 0,
                      "checkingAccountFlow": 0,
                      "invoiceType": "FT",
                      "documentKeyId": "FT A/4521",
                      "taxRegionId": null,
                      "publicRelationsId": 0,
                      "points": 0,
                      "fullyConverted": false,
                      "closed": false,
                      "clientVat": null,
                      "checkSum": null,
                      "cloudSyncStamp": null,
                      "atcud": "",
                      "qeroDiscountAmount": 0,
                      "syncStamp": null
                    },
                    {
                      "id": 18403,
                      "terminal": 0,
                      "numDocCx": 0,
                      "session": 0,
                      "shift": 0,
                      "saleZoneAreaObjectId": 0,
                      "serieId": 5,
                      "number": 892,
                      "signatureHashPt": null,
                      "signatureVersionPt": null,
                      "signatureStampPt": null,
                      "totalCustomers": null,
                      "osDate": "2025-03-11T09:15:00",
                      "creationDate": "2025-03-11T09:15:00",
                      "creationUserId": 7,
                      "closeUserId": null,
                      "closeDate": null,
                      "entityKeyId": "CLI-00102",
                      "entityDescription": "Carpintaria Oliveira & Filhos",
                      "entityAddress": null,
                      "entityPostalCode": null,
                      "entitycity": null,
                      "entitystate": null,
                      "entityVat": null,
                      "currencyId": 1,
                      "currencyRate": 1,
                      "discount": null,
                      "discountValue": null,
                      "roundValue": null,
                      "totalIncome": null,
                      "totalTaxes": null,
                      "totalDiscounts": null,
                      "total": 3420.0,
                      "paymentType": 3,
                      "documentCopy": false,
                      "deleted": false,
                      "documentTypeId": 2,
                      "subTotalReference": null,
                      "docReference": null,
                      "obs": null,
                      "idShop": null,
                      "dueDate": null,
                      "loadPlaceDate": null,
                      "unloadPlaceDate": null,
                      "loadPlaceDescription": null,
                      "unloadPlaceDescription": null,
                      "carrierDescription": null,
                      "numberPersons": null,
                      "holdingTaxValue": null,
                      "totalHoldingTaxes": null,
                      "dueValue": null,
                      "atdocCodeId": null,
                      "statusReason": null,
                      "emissionReason": null,
                      "numberCopies": null,
                      "paymentModeId": null,
                      "paymentDivisionDiscount": null,
                      "totalServiceTax": null,
                      "guid": null,
                      "hasTaxIncludedPrices": null,
                      "discountPercent1": null,
                      "discountPercent2": null,
                      "discountPercent3": null,
                      "lineDiscountAmount": null,
                      "paidAmount": null,
                      "advancementAmount": null,
                      "totalNetAmount": null,
                      "totalTaxAmount": null,
                      "entityAddressId": null,
                      "entityCountry": null,
                      "extraDocReference": null,
                      "cashierFlow": 0,
                      "checkingAccountFlow": 0,
                      "invoiceType": "FR",
                      "documentKeyId": "FR B/892",
                      "taxRegionId": null,
                      "publicRelationsId": 0,
                      "points": 0,
                      "fullyConverted": false,
                      "closed": false,
                      "clientVat": null,
                      "checkSum": null,
                      "cloudSyncStamp": null,
                      "atcud": "",
                      "qeroDiscountAmount": 0,
                      "syncStamp": null
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentHeaderDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 18402,
                      "terminal": 0,
                      "numDocCx": 0,
                      "session": 0,
                      "shift": 0,
                      "saleZoneAreaObjectId": 0,
                      "serieId": 3,
                      "number": 4521,
                      "signatureHashPt": null,
                      "signatureVersionPt": null,
                      "signatureStampPt": null,
                      "totalCustomers": null,
                      "osDate": "2025-03-10T14:32:00",
                      "creationDate": "2025-03-10T14:32:00",
                      "creationUserId": 12,
                      "closeUserId": null,
                      "closeDate": null,
                      "entityKeyId": "CLI-00045",
                      "entityDescription": "Pastelaria Conde, Lda.",
                      "entityAddress": null,
                      "entityPostalCode": null,
                      "entitycity": null,
                      "entitystate": null,
                      "entityVat": null,
                      "currencyId": 1,
                      "currencyRate": 1,
                      "discount": null,
                      "discountValue": null,
                      "roundValue": null,
                      "totalIncome": null,
                      "totalTaxes": null,
                      "totalDiscounts": null,
                      "total": 1287.45,
                      "paymentType": 1,
                      "documentCopy": false,
                      "deleted": false,
                      "documentTypeId": 1,
                      "subTotalReference": null,
                      "docReference": null,
                      "obs": null,
                      "idShop": null,
                      "dueDate": null,
                      "loadPlaceDate": null,
                      "unloadPlaceDate": null,
                      "loadPlaceDescription": null,
                      "unloadPlaceDescription": null,
                      "carrierDescription": null,
                      "numberPersons": null,
                      "holdingTaxValue": null,
                      "totalHoldingTaxes": null,
                      "dueValue": null,
                      "atdocCodeId": null,
                      "statusReason": null,
                      "emissionReason": null,
                      "numberCopies": null,
                      "paymentModeId": null,
                      "paymentDivisionDiscount": null,
                      "totalServiceTax": null,
                      "guid": null,
                      "hasTaxIncludedPrices": null,
                      "discountPercent1": null,
                      "discountPercent2": null,
                      "discountPercent3": null,
                      "lineDiscountAmount": null,
                      "paidAmount": null,
                      "advancementAmount": null,
                      "totalNetAmount": null,
                      "totalTaxAmount": null,
                      "entityAddressId": null,
                      "entityCountry": null,
                      "extraDocReference": null,
                      "cashierFlow": 0,
                      "checkingAccountFlow": 0,
                      "invoiceType": "FT",
                      "documentKeyId": "FT A/4521",
                      "taxRegionId": null,
                      "publicRelationsId": 0,
                      "points": 0,
                      "fullyConverted": false,
                      "closed": false,
                      "clientVat": null,
                      "checkSum": null,
                      "cloudSyncStamp": null,
                      "atcud": "",
                      "qeroDiscountAmount": 0,
                      "syncStamp": null
                    },
                    {
                      "id": 18403,
                      "terminal": 0,
                      "numDocCx": 0,
                      "session": 0,
                      "shift": 0,
                      "saleZoneAreaObjectId": 0,
                      "serieId": 5,
                      "number": 892,
                      "signatureHashPt": null,
                      "signatureVersionPt": null,
                      "signatureStampPt": null,
                      "totalCustomers": null,
                      "osDate": "2025-03-11T09:15:00",
                      "creationDate": "2025-03-11T09:15:00",
                      "creationUserId": 7,
                      "closeUserId": null,
                      "closeDate": null,
                      "entityKeyId": "CLI-00102",
                      "entityDescription": "Carpintaria Oliveira & Filhos",
                      "entityAddress": null,
                      "entityPostalCode": null,
                      "entitycity": null,
                      "entitystate": null,
                      "entityVat": null,
                      "currencyId": 1,
                      "currencyRate": 1,
                      "discount": null,
                      "discountValue": null,
                      "roundValue": null,
                      "totalIncome": null,
                      "totalTaxes": null,
                      "totalDiscounts": null,
                      "total": 3420.0,
                      "paymentType": 3,
                      "documentCopy": false,
                      "deleted": false,
                      "documentTypeId": 2,
                      "subTotalReference": null,
                      "docReference": null,
                      "obs": null,
                      "idShop": null,
                      "dueDate": null,
                      "loadPlaceDate": null,
                      "unloadPlaceDate": null,
                      "loadPlaceDescription": null,
                      "unloadPlaceDescription": null,
                      "carrierDescription": null,
                      "numberPersons": null,
                      "holdingTaxValue": null,
                      "totalHoldingTaxes": null,
                      "dueValue": null,
                      "atdocCodeId": null,
                      "statusReason": null,
                      "emissionReason": null,
                      "numberCopies": null,
                      "paymentModeId": null,
                      "paymentDivisionDiscount": null,
                      "totalServiceTax": null,
                      "guid": null,
                      "hasTaxIncludedPrices": null,
                      "discountPercent1": null,
                      "discountPercent2": null,
                      "discountPercent3": null,
                      "lineDiscountAmount": null,
                      "paidAmount": null,
                      "advancementAmount": null,
                      "totalNetAmount": null,
                      "totalTaxAmount": null,
                      "entityAddressId": null,
                      "entityCountry": null,
                      "extraDocReference": null,
                      "cashierFlow": 0,
                      "checkingAccountFlow": 0,
                      "invoiceType": "FR",
                      "documentKeyId": "FR B/892",
                      "taxRegionId": null,
                      "publicRelationsId": 0,
                      "points": 0,
                      "fullyConverted": false,
                      "closed": false,
                      "clientVat": null,
                      "checkSum": null,
                      "cloudSyncStamp": null,
                      "atcud": "",
                      "qeroDiscountAmount": 0,
                      "syncStamp": null
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentHeaderDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 18402,
                      "terminal": 0,
                      "numDocCx": 0,
                      "session": 0,
                      "shift": 0,
                      "saleZoneAreaObjectId": 0,
                      "serieId": 3,
                      "number": 4521,
                      "signatureHashPt": null,
                      "signatureVersionPt": null,
                      "signatureStampPt": null,
                      "totalCustomers": null,
                      "osDate": "2025-03-10T14:32:00",
                      "creationDate": "2025-03-10T14:32:00",
                      "creationUserId": 12,
                      "closeUserId": null,
                      "closeDate": null,
                      "entityKeyId": "CLI-00045",
                      "entityDescription": "Pastelaria Conde, Lda.",
                      "entityAddress": null,
                      "entityPostalCode": null,
                      "entitycity": null,
                      "entitystate": null,
                      "entityVat": null,
                      "currencyId": 1,
                      "currencyRate": 1,
                      "discount": null,
                      "discountValue": null,
                      "roundValue": null,
                      "totalIncome": null,
                      "totalTaxes": null,
                      "totalDiscounts": null,
                      "total": 1287.45,
                      "paymentType": 1,
                      "documentCopy": false,
                      "deleted": false,
                      "documentTypeId": 1,
                      "subTotalReference": null,
                      "docReference": null,
                      "obs": null,
                      "idShop": null,
                      "dueDate": null,
                      "loadPlaceDate": null,
                      "unloadPlaceDate": null,
                      "loadPlaceDescription": null,
                      "unloadPlaceDescription": null,
                      "carrierDescription": null,
                      "numberPersons": null,
                      "holdingTaxValue": null,
                      "totalHoldingTaxes": null,
                      "dueValue": null,
                      "atdocCodeId": null,
                      "statusReason": null,
                      "emissionReason": null,
                      "numberCopies": null,
                      "paymentModeId": null,
                      "paymentDivisionDiscount": null,
                      "totalServiceTax": null,
                      "guid": null,
                      "hasTaxIncludedPrices": null,
                      "discountPercent1": null,
                      "discountPercent2": null,
                      "discountPercent3": null,
                      "lineDiscountAmount": null,
                      "paidAmount": null,
                      "advancementAmount": null,
                      "totalNetAmount": null,
                      "totalTaxAmount": null,
                      "entityAddressId": null,
                      "entityCountry": null,
                      "extraDocReference": null,
                      "cashierFlow": 0,
                      "checkingAccountFlow": 0,
                      "invoiceType": "FT",
                      "documentKeyId": "FT A/4521",
                      "taxRegionId": null,
                      "publicRelationsId": 0,
                      "points": 0,
                      "fullyConverted": false,
                      "closed": false,
                      "clientVat": null,
                      "checkSum": null,
                      "cloudSyncStamp": null,
                      "atcud": "",
                      "qeroDiscountAmount": 0,
                      "syncStamp": null
                    },
                    {
                      "id": 18403,
                      "terminal": 0,
                      "numDocCx": 0,
                      "session": 0,
                      "shift": 0,
                      "saleZoneAreaObjectId": 0,
                      "serieId": 5,
                      "number": 892,
                      "signatureHashPt": null,
                      "signatureVersionPt": null,
                      "signatureStampPt": null,
                      "totalCustomers": null,
                      "osDate": "2025-03-11T09:15:00",
                      "creationDate": "2025-03-11T09:15:00",
                      "creationUserId": 7,
                      "closeUserId": null,
                      "closeDate": null,
                      "entityKeyId": "CLI-00102",
                      "entityDescription": "Carpintaria Oliveira & Filhos",
                      "entityAddress": null,
                      "entityPostalCode": null,
                      "entitycity": null,
                      "entitystate": null,
                      "entityVat": null,
                      "currencyId": 1,
                      "currencyRate": 1,
                      "discount": null,
                      "discountValue": null,
                      "roundValue": null,
                      "totalIncome": null,
                      "totalTaxes": null,
                      "totalDiscounts": null,
                      "total": 3420.0,
                      "paymentType": 3,
                      "documentCopy": false,
                      "deleted": false,
                      "documentTypeId": 2,
                      "subTotalReference": null,
                      "docReference": null,
                      "obs": null,
                      "idShop": null,
                      "dueDate": null,
                      "loadPlaceDate": null,
                      "unloadPlaceDate": null,
                      "loadPlaceDescription": null,
                      "unloadPlaceDescription": null,
                      "carrierDescription": null,
                      "numberPersons": null,
                      "holdingTaxValue": null,
                      "totalHoldingTaxes": null,
                      "dueValue": null,
                      "atdocCodeId": null,
                      "statusReason": null,
                      "emissionReason": null,
                      "numberCopies": null,
                      "paymentModeId": null,
                      "paymentDivisionDiscount": null,
                      "totalServiceTax": null,
                      "guid": null,
                      "hasTaxIncludedPrices": null,
                      "discountPercent1": null,
                      "discountPercent2": null,
                      "discountPercent3": null,
                      "lineDiscountAmount": null,
                      "paidAmount": null,
                      "advancementAmount": null,
                      "totalNetAmount": null,
                      "totalTaxAmount": null,
                      "entityAddressId": null,
                      "entityCountry": null,
                      "extraDocReference": null,
                      "cashierFlow": 0,
                      "checkingAccountFlow": 0,
                      "invoiceType": "FR",
                      "documentKeyId": "FR B/892",
                      "taxRegionId": null,
                      "publicRelationsId": 0,
                      "points": 0,
                      "fullyConverted": false,
                      "closed": false,
                      "clientVat": null,
                      "checkSum": null,
                      "cloudSyncStamp": null,
                      "atcud": "",
                      "qeroDiscountAmount": 0,
                      "syncStamp": null
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/document-header/{id}": {
      "get": {
        "tags": [
          "DocumentHeader"
        ],
        "summary": "get details of a document header by id",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentHeaderDTO"
                },
                "example": {
                  "id": 18402,
                  "terminal": 0,
                  "numDocCx": 0,
                  "session": 0,
                  "shift": 0,
                  "saleZoneAreaObjectId": 0,
                  "serieId": 3,
                  "number": 4521,
                  "signatureHashPt": null,
                  "signatureVersionPt": null,
                  "signatureStampPt": null,
                  "totalCustomers": null,
                  "osDate": "2025-03-10T14:32:00",
                  "creationDate": "2025-03-10T14:32:00",
                  "creationUserId": 12,
                  "closeUserId": null,
                  "closeDate": null,
                  "entityKeyId": "CLI-00045",
                  "entityDescription": "Pastelaria Conde, Lda.",
                  "entityAddress": null,
                  "entityPostalCode": null,
                  "entitycity": null,
                  "entitystate": null,
                  "entityVat": null,
                  "currencyId": 1,
                  "currencyRate": 1,
                  "discount": null,
                  "discountValue": null,
                  "roundValue": null,
                  "totalIncome": null,
                  "totalTaxes": null,
                  "totalDiscounts": null,
                  "total": 1287.45,
                  "paymentType": 1,
                  "documentCopy": false,
                  "deleted": false,
                  "documentTypeId": 1,
                  "subTotalReference": null,
                  "docReference": null,
                  "obs": null,
                  "idShop": null,
                  "dueDate": null,
                  "loadPlaceDate": null,
                  "unloadPlaceDate": null,
                  "loadPlaceDescription": null,
                  "unloadPlaceDescription": null,
                  "carrierDescription": null,
                  "numberPersons": null,
                  "holdingTaxValue": null,
                  "totalHoldingTaxes": null,
                  "dueValue": null,
                  "atdocCodeId": null,
                  "statusReason": null,
                  "emissionReason": null,
                  "numberCopies": null,
                  "paymentModeId": null,
                  "paymentDivisionDiscount": null,
                  "totalServiceTax": null,
                  "guid": null,
                  "hasTaxIncludedPrices": null,
                  "discountPercent1": null,
                  "discountPercent2": null,
                  "discountPercent3": null,
                  "lineDiscountAmount": null,
                  "paidAmount": null,
                  "advancementAmount": null,
                  "totalNetAmount": null,
                  "totalTaxAmount": null,
                  "entityAddressId": null,
                  "entityCountry": null,
                  "extraDocReference": null,
                  "cashierFlow": 0,
                  "checkingAccountFlow": 0,
                  "invoiceType": "FT",
                  "documentKeyId": "FT A/4521",
                  "taxRegionId": null,
                  "publicRelationsId": 0,
                  "points": 0,
                  "fullyConverted": false,
                  "closed": false,
                  "clientVat": null,
                  "checkSum": null,
                  "cloudSyncStamp": null,
                  "atcud": "",
                  "qeroDiscountAmount": 0,
                  "syncStamp": null
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentHeaderDTO"
                },
                "example": {
                  "id": 18402,
                  "terminal": 0,
                  "numDocCx": 0,
                  "session": 0,
                  "shift": 0,
                  "saleZoneAreaObjectId": 0,
                  "serieId": 3,
                  "number": 4521,
                  "signatureHashPt": null,
                  "signatureVersionPt": null,
                  "signatureStampPt": null,
                  "totalCustomers": null,
                  "osDate": "2025-03-10T14:32:00",
                  "creationDate": "2025-03-10T14:32:00",
                  "creationUserId": 12,
                  "closeUserId": null,
                  "closeDate": null,
                  "entityKeyId": "CLI-00045",
                  "entityDescription": "Pastelaria Conde, Lda.",
                  "entityAddress": null,
                  "entityPostalCode": null,
                  "entitycity": null,
                  "entitystate": null,
                  "entityVat": null,
                  "currencyId": 1,
                  "currencyRate": 1,
                  "discount": null,
                  "discountValue": null,
                  "roundValue": null,
                  "totalIncome": null,
                  "totalTaxes": null,
                  "totalDiscounts": null,
                  "total": 1287.45,
                  "paymentType": 1,
                  "documentCopy": false,
                  "deleted": false,
                  "documentTypeId": 1,
                  "subTotalReference": null,
                  "docReference": null,
                  "obs": null,
                  "idShop": null,
                  "dueDate": null,
                  "loadPlaceDate": null,
                  "unloadPlaceDate": null,
                  "loadPlaceDescription": null,
                  "unloadPlaceDescription": null,
                  "carrierDescription": null,
                  "numberPersons": null,
                  "holdingTaxValue": null,
                  "totalHoldingTaxes": null,
                  "dueValue": null,
                  "atdocCodeId": null,
                  "statusReason": null,
                  "emissionReason": null,
                  "numberCopies": null,
                  "paymentModeId": null,
                  "paymentDivisionDiscount": null,
                  "totalServiceTax": null,
                  "guid": null,
                  "hasTaxIncludedPrices": null,
                  "discountPercent1": null,
                  "discountPercent2": null,
                  "discountPercent3": null,
                  "lineDiscountAmount": null,
                  "paidAmount": null,
                  "advancementAmount": null,
                  "totalNetAmount": null,
                  "totalTaxAmount": null,
                  "entityAddressId": null,
                  "entityCountry": null,
                  "extraDocReference": null,
                  "cashierFlow": 0,
                  "checkingAccountFlow": 0,
                  "invoiceType": "FT",
                  "documentKeyId": "FT A/4521",
                  "taxRegionId": null,
                  "publicRelationsId": 0,
                  "points": 0,
                  "fullyConverted": false,
                  "closed": false,
                  "clientVat": null,
                  "checkSum": null,
                  "cloudSyncStamp": null,
                  "atcud": "",
                  "qeroDiscountAmount": 0,
                  "syncStamp": null
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentHeaderDTO"
                },
                "example": {
                  "id": 18402,
                  "terminal": 0,
                  "numDocCx": 0,
                  "session": 0,
                  "shift": 0,
                  "saleZoneAreaObjectId": 0,
                  "serieId": 3,
                  "number": 4521,
                  "signatureHashPt": null,
                  "signatureVersionPt": null,
                  "signatureStampPt": null,
                  "totalCustomers": null,
                  "osDate": "2025-03-10T14:32:00",
                  "creationDate": "2025-03-10T14:32:00",
                  "creationUserId": 12,
                  "closeUserId": null,
                  "closeDate": null,
                  "entityKeyId": "CLI-00045",
                  "entityDescription": "Pastelaria Conde, Lda.",
                  "entityAddress": null,
                  "entityPostalCode": null,
                  "entitycity": null,
                  "entitystate": null,
                  "entityVat": null,
                  "currencyId": 1,
                  "currencyRate": 1,
                  "discount": null,
                  "discountValue": null,
                  "roundValue": null,
                  "totalIncome": null,
                  "totalTaxes": null,
                  "totalDiscounts": null,
                  "total": 1287.45,
                  "paymentType": 1,
                  "documentCopy": false,
                  "deleted": false,
                  "documentTypeId": 1,
                  "subTotalReference": null,
                  "docReference": null,
                  "obs": null,
                  "idShop": null,
                  "dueDate": null,
                  "loadPlaceDate": null,
                  "unloadPlaceDate": null,
                  "loadPlaceDescription": null,
                  "unloadPlaceDescription": null,
                  "carrierDescription": null,
                  "numberPersons": null,
                  "holdingTaxValue": null,
                  "totalHoldingTaxes": null,
                  "dueValue": null,
                  "atdocCodeId": null,
                  "statusReason": null,
                  "emissionReason": null,
                  "numberCopies": null,
                  "paymentModeId": null,
                  "paymentDivisionDiscount": null,
                  "totalServiceTax": null,
                  "guid": null,
                  "hasTaxIncludedPrices": null,
                  "discountPercent1": null,
                  "discountPercent2": null,
                  "discountPercent3": null,
                  "lineDiscountAmount": null,
                  "paidAmount": null,
                  "advancementAmount": null,
                  "totalNetAmount": null,
                  "totalTaxAmount": null,
                  "entityAddressId": null,
                  "entityCountry": null,
                  "extraDocReference": null,
                  "cashierFlow": 0,
                  "checkingAccountFlow": 0,
                  "invoiceType": "FT",
                  "documentKeyId": "FT A/4521",
                  "taxRegionId": null,
                  "publicRelationsId": 0,
                  "points": 0,
                  "fullyConverted": false,
                  "closed": false,
                  "clientVat": null,
                  "checkSum": null,
                  "cloudSyncStamp": null,
                  "atcud": "",
                  "qeroDiscountAmount": 0,
                  "syncStamp": null
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/document-header/{id}/bodies": {
      "get": {
        "tags": [
          "DocumentHeader"
        ],
        "summary": "get details of a document header and its assciated bodies by id",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentDetailsDTO"
                },
                "example": {
                  "documentHeader": {
                    "id": 18402,
                    "terminal": 0,
                    "numDocCx": 0,
                    "session": 0,
                    "shift": 0,
                    "saleZoneAreaObjectId": 0,
                    "serieId": 3,
                    "number": 4521,
                    "signatureHashPt": null,
                    "signatureVersionPt": null,
                    "signatureStampPt": null,
                    "totalCustomers": null,
                    "osDate": "2025-03-10T14:32:00",
                    "creationDate": "2025-03-10T14:32:00",
                    "creationUserId": 12,
                    "closeUserId": null,
                    "closeDate": null,
                    "entityKeyId": "CLI-00045",
                    "entityDescription": "Pastelaria Conde, Lda.",
                    "entityAddress": null,
                    "entityPostalCode": null,
                    "entitycity": null,
                    "entitystate": null,
                    "entityVat": null,
                    "currencyId": 1,
                    "currencyRate": 1,
                    "discount": null,
                    "discountValue": null,
                    "roundValue": null,
                    "totalIncome": null,
                    "totalTaxes": null,
                    "totalDiscounts": null,
                    "total": 1287.45,
                    "paymentType": 1,
                    "documentCopy": false,
                    "deleted": false,
                    "documentTypeId": 1,
                    "subTotalReference": null,
                    "docReference": null,
                    "obs": null,
                    "idShop": null,
                    "dueDate": null,
                    "loadPlaceDate": null,
                    "unloadPlaceDate": null,
                    "loadPlaceDescription": null,
                    "unloadPlaceDescription": null,
                    "carrierDescription": null,
                    "numberPersons": null,
                    "holdingTaxValue": null,
                    "totalHoldingTaxes": null,
                    "dueValue": null,
                    "atdocCodeId": null,
                    "statusReason": null,
                    "emissionReason": null,
                    "numberCopies": null,
                    "paymentModeId": null,
                    "paymentDivisionDiscount": null,
                    "totalServiceTax": null,
                    "guid": null,
                    "hasTaxIncludedPrices": null,
                    "discountPercent1": null,
                    "discountPercent2": null,
                    "discountPercent3": null,
                    "lineDiscountAmount": null,
                    "paidAmount": null,
                    "advancementAmount": null,
                    "totalNetAmount": null,
                    "totalTaxAmount": null,
                    "entityAddressId": null,
                    "entityCountry": null,
                    "extraDocReference": null,
                    "cashierFlow": 0,
                    "checkingAccountFlow": 0,
                    "invoiceType": "FT",
                    "documentKeyId": "FT A/4521",
                    "taxRegionId": null,
                    "publicRelationsId": 0,
                    "points": 0,
                    "fullyConverted": false,
                    "closed": false,
                    "clientVat": null,
                    "checkSum": null,
                    "cloudSyncStamp": null,
                    "atcud": "",
                    "qeroDiscountAmount": 0,
                    "syncStamp": null
                  },
                  "documentBodies": [
                    {
                      "id": 50110,
                      "session": 0,
                      "shift": 0,
                      "terminal": 0,
                      "numDocCx": 0,
                      "saleZoneAreaObjectId": 0,
                      "serieId": 3,
                      "number": 4521,
                      "orderNumber": null,
                      "sessionDate": "0001-01-01T00:00:00",
                      "creationUserId": 0,
                      "creationDate": "0001-01-01T00:00:00",
                      "closeUserId": 0,
                      "closeDate": null,
                      "sortNumber": null,
                      "sortLevel": null,
                      "entityKeyId": "CLI-00045",
                      "itemKeyId": "ART-88421",
                      "itemGroupId": 0,
                      "itemDescription": "Azeite virgem extra 0,75 L",
                      "itemType": null,
                      "quantity": 24,
                      "retailPrice": 6.95,
                      "taxId": 0,
                      "taxValue": null,
                      "discount": null,
                      "discountValue": null,
                      "totalIncome": null,
                      "totalTaxes": null,
                      "totalDiscounts": null,
                      "total": 166.8,
                      "paymentType": 0,
                      "deleted": false,
                      "deletedDate": null,
                      "bar": null,
                      "documentTypeId": null,
                      "idShop": null,
                      "reasonsCancellation": null,
                      "observation": null,
                      "isOffer": null,
                      "sortKey": null,
                      "holdingTaxValue": null,
                      "totalHoldingTaxes": null,
                      "currencyId": 0,
                      "currencyRate": 0,
                      "paymentDivisionDiscount": null,
                      "serviceTaxValue": null,
                      "serviceTaxUserId": null,
                      "documentGuid": null,
                      "guid": null,
                      "parentGuid": null,
                      "netPrice": null,
                      "originWarehouse": null,
                      "destinationWarehouse": null,
                      "discountPercent1": null,
                      "discountPercent2": null,
                      "discountPercent3": null,
                      "totalNetAmount": null,
                      "totalTaxAmount": null,
                      "totalAmount": null,
                      "taxPointDate": null,
                      "headerDiscountAmount": null,
                      "commission": null,
                      "stockFlow": 0,
                      "stockBehavior": 0,
                      "lastCostPrice": null,
                      "averageCostPrice": null,
                      "taxAmount": 0,
                      "secondTaxAmount": 0,
                      "secondTaxId": 0,
                      "secondTaxValue": 0,
                      "volumeCount": 0,
                      "measure1": null,
                      "measure2": null,
                      "measure3": null,
                      "cloudSyncStamp": null
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentDetailsDTO"
                },
                "example": {
                  "documentHeader": {
                    "id": 18402,
                    "terminal": 0,
                    "numDocCx": 0,
                    "session": 0,
                    "shift": 0,
                    "saleZoneAreaObjectId": 0,
                    "serieId": 3,
                    "number": 4521,
                    "signatureHashPt": null,
                    "signatureVersionPt": null,
                    "signatureStampPt": null,
                    "totalCustomers": null,
                    "osDate": "2025-03-10T14:32:00",
                    "creationDate": "2025-03-10T14:32:00",
                    "creationUserId": 12,
                    "closeUserId": null,
                    "closeDate": null,
                    "entityKeyId": "CLI-00045",
                    "entityDescription": "Pastelaria Conde, Lda.",
                    "entityAddress": null,
                    "entityPostalCode": null,
                    "entitycity": null,
                    "entitystate": null,
                    "entityVat": null,
                    "currencyId": 1,
                    "currencyRate": 1,
                    "discount": null,
                    "discountValue": null,
                    "roundValue": null,
                    "totalIncome": null,
                    "totalTaxes": null,
                    "totalDiscounts": null,
                    "total": 1287.45,
                    "paymentType": 1,
                    "documentCopy": false,
                    "deleted": false,
                    "documentTypeId": 1,
                    "subTotalReference": null,
                    "docReference": null,
                    "obs": null,
                    "idShop": null,
                    "dueDate": null,
                    "loadPlaceDate": null,
                    "unloadPlaceDate": null,
                    "loadPlaceDescription": null,
                    "unloadPlaceDescription": null,
                    "carrierDescription": null,
                    "numberPersons": null,
                    "holdingTaxValue": null,
                    "totalHoldingTaxes": null,
                    "dueValue": null,
                    "atdocCodeId": null,
                    "statusReason": null,
                    "emissionReason": null,
                    "numberCopies": null,
                    "paymentModeId": null,
                    "paymentDivisionDiscount": null,
                    "totalServiceTax": null,
                    "guid": null,
                    "hasTaxIncludedPrices": null,
                    "discountPercent1": null,
                    "discountPercent2": null,
                    "discountPercent3": null,
                    "lineDiscountAmount": null,
                    "paidAmount": null,
                    "advancementAmount": null,
                    "totalNetAmount": null,
                    "totalTaxAmount": null,
                    "entityAddressId": null,
                    "entityCountry": null,
                    "extraDocReference": null,
                    "cashierFlow": 0,
                    "checkingAccountFlow": 0,
                    "invoiceType": "FT",
                    "documentKeyId": "FT A/4521",
                    "taxRegionId": null,
                    "publicRelationsId": 0,
                    "points": 0,
                    "fullyConverted": false,
                    "closed": false,
                    "clientVat": null,
                    "checkSum": null,
                    "cloudSyncStamp": null,
                    "atcud": "",
                    "qeroDiscountAmount": 0,
                    "syncStamp": null
                  },
                  "documentBodies": [
                    {
                      "id": 50110,
                      "session": 0,
                      "shift": 0,
                      "terminal": 0,
                      "numDocCx": 0,
                      "saleZoneAreaObjectId": 0,
                      "serieId": 3,
                      "number": 4521,
                      "orderNumber": null,
                      "sessionDate": "0001-01-01T00:00:00",
                      "creationUserId": 0,
                      "creationDate": "0001-01-01T00:00:00",
                      "closeUserId": 0,
                      "closeDate": null,
                      "sortNumber": null,
                      "sortLevel": null,
                      "entityKeyId": "CLI-00045",
                      "itemKeyId": "ART-88421",
                      "itemGroupId": 0,
                      "itemDescription": "Azeite virgem extra 0,75 L",
                      "itemType": null,
                      "quantity": 24,
                      "retailPrice": 6.95,
                      "taxId": 0,
                      "taxValue": null,
                      "discount": null,
                      "discountValue": null,
                      "totalIncome": null,
                      "totalTaxes": null,
                      "totalDiscounts": null,
                      "total": 166.8,
                      "paymentType": 0,
                      "deleted": false,
                      "deletedDate": null,
                      "bar": null,
                      "documentTypeId": null,
                      "idShop": null,
                      "reasonsCancellation": null,
                      "observation": null,
                      "isOffer": null,
                      "sortKey": null,
                      "holdingTaxValue": null,
                      "totalHoldingTaxes": null,
                      "currencyId": 0,
                      "currencyRate": 0,
                      "paymentDivisionDiscount": null,
                      "serviceTaxValue": null,
                      "serviceTaxUserId": null,
                      "documentGuid": null,
                      "guid": null,
                      "parentGuid": null,
                      "netPrice": null,
                      "originWarehouse": null,
                      "destinationWarehouse": null,
                      "discountPercent1": null,
                      "discountPercent2": null,
                      "discountPercent3": null,
                      "totalNetAmount": null,
                      "totalTaxAmount": null,
                      "totalAmount": null,
                      "taxPointDate": null,
                      "headerDiscountAmount": null,
                      "commission": null,
                      "stockFlow": 0,
                      "stockBehavior": 0,
                      "lastCostPrice": null,
                      "averageCostPrice": null,
                      "taxAmount": 0,
                      "secondTaxAmount": 0,
                      "secondTaxId": 0,
                      "secondTaxValue": 0,
                      "volumeCount": 0,
                      "measure1": null,
                      "measure2": null,
                      "measure3": null,
                      "cloudSyncStamp": null
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentDetailsDTO"
                },
                "example": {
                  "documentHeader": {
                    "id": 18402,
                    "terminal": 0,
                    "numDocCx": 0,
                    "session": 0,
                    "shift": 0,
                    "saleZoneAreaObjectId": 0,
                    "serieId": 3,
                    "number": 4521,
                    "signatureHashPt": null,
                    "signatureVersionPt": null,
                    "signatureStampPt": null,
                    "totalCustomers": null,
                    "osDate": "2025-03-10T14:32:00",
                    "creationDate": "2025-03-10T14:32:00",
                    "creationUserId": 12,
                    "closeUserId": null,
                    "closeDate": null,
                    "entityKeyId": "CLI-00045",
                    "entityDescription": "Pastelaria Conde, Lda.",
                    "entityAddress": null,
                    "entityPostalCode": null,
                    "entitycity": null,
                    "entitystate": null,
                    "entityVat": null,
                    "currencyId": 1,
                    "currencyRate": 1,
                    "discount": null,
                    "discountValue": null,
                    "roundValue": null,
                    "totalIncome": null,
                    "totalTaxes": null,
                    "totalDiscounts": null,
                    "total": 1287.45,
                    "paymentType": 1,
                    "documentCopy": false,
                    "deleted": false,
                    "documentTypeId": 1,
                    "subTotalReference": null,
                    "docReference": null,
                    "obs": null,
                    "idShop": null,
                    "dueDate": null,
                    "loadPlaceDate": null,
                    "unloadPlaceDate": null,
                    "loadPlaceDescription": null,
                    "unloadPlaceDescription": null,
                    "carrierDescription": null,
                    "numberPersons": null,
                    "holdingTaxValue": null,
                    "totalHoldingTaxes": null,
                    "dueValue": null,
                    "atdocCodeId": null,
                    "statusReason": null,
                    "emissionReason": null,
                    "numberCopies": null,
                    "paymentModeId": null,
                    "paymentDivisionDiscount": null,
                    "totalServiceTax": null,
                    "guid": null,
                    "hasTaxIncludedPrices": null,
                    "discountPercent1": null,
                    "discountPercent2": null,
                    "discountPercent3": null,
                    "lineDiscountAmount": null,
                    "paidAmount": null,
                    "advancementAmount": null,
                    "totalNetAmount": null,
                    "totalTaxAmount": null,
                    "entityAddressId": null,
                    "entityCountry": null,
                    "extraDocReference": null,
                    "cashierFlow": 0,
                    "checkingAccountFlow": 0,
                    "invoiceType": "FT",
                    "documentKeyId": "FT A/4521",
                    "taxRegionId": null,
                    "publicRelationsId": 0,
                    "points": 0,
                    "fullyConverted": false,
                    "closed": false,
                    "clientVat": null,
                    "checkSum": null,
                    "cloudSyncStamp": null,
                    "atcud": "",
                    "qeroDiscountAmount": 0,
                    "syncStamp": null
                  },
                  "documentBodies": [
                    {
                      "id": 50110,
                      "session": 0,
                      "shift": 0,
                      "terminal": 0,
                      "numDocCx": 0,
                      "saleZoneAreaObjectId": 0,
                      "serieId": 3,
                      "number": 4521,
                      "orderNumber": null,
                      "sessionDate": "0001-01-01T00:00:00",
                      "creationUserId": 0,
                      "creationDate": "0001-01-01T00:00:00",
                      "closeUserId": 0,
                      "closeDate": null,
                      "sortNumber": null,
                      "sortLevel": null,
                      "entityKeyId": "CLI-00045",
                      "itemKeyId": "ART-88421",
                      "itemGroupId": 0,
                      "itemDescription": "Azeite virgem extra 0,75 L",
                      "itemType": null,
                      "quantity": 24,
                      "retailPrice": 6.95,
                      "taxId": 0,
                      "taxValue": null,
                      "discount": null,
                      "discountValue": null,
                      "totalIncome": null,
                      "totalTaxes": null,
                      "totalDiscounts": null,
                      "total": 166.8,
                      "paymentType": 0,
                      "deleted": false,
                      "deletedDate": null,
                      "bar": null,
                      "documentTypeId": null,
                      "idShop": null,
                      "reasonsCancellation": null,
                      "observation": null,
                      "isOffer": null,
                      "sortKey": null,
                      "holdingTaxValue": null,
                      "totalHoldingTaxes": null,
                      "currencyId": 0,
                      "currencyRate": 0,
                      "paymentDivisionDiscount": null,
                      "serviceTaxValue": null,
                      "serviceTaxUserId": null,
                      "documentGuid": null,
                      "guid": null,
                      "parentGuid": null,
                      "netPrice": null,
                      "originWarehouse": null,
                      "destinationWarehouse": null,
                      "discountPercent1": null,
                      "discountPercent2": null,
                      "discountPercent3": null,
                      "totalNetAmount": null,
                      "totalTaxAmount": null,
                      "totalAmount": null,
                      "taxPointDate": null,
                      "headerDiscountAmount": null,
                      "commission": null,
                      "stockFlow": 0,
                      "stockBehavior": 0,
                      "lastCostPrice": null,
                      "averageCostPrice": null,
                      "taxAmount": 0,
                      "secondTaxAmount": 0,
                      "secondTaxId": 0,
                      "secondTaxValue": 0,
                      "volumeCount": 0,
                      "measure1": null,
                      "measure2": null,
                      "measure3": null,
                      "cloudSyncStamp": null
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/document-type": {
      "get": {
        "tags": [
          "DocumentsTypes"
        ],
        "summary": "Retrieves a paginated list of all document types, with optional filters.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of records per page (optional).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "invoiceType",
            "in": "query",
            "description": "Exact match on the document type's invoice type code (configured `InvoiceType` value).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "documentType",
            "in": "query",
            "description": "Filters by high-level document category (sales, purchase, checking account, stock, etc.).",
            "schema": {
              "$ref": "#/components/schemas/EDocumentType"
            }
          },
          {
            "name": "inactive",
            "in": "query",
            "description": "When `true`, only inactive types; when `false`, only active types; when `null`, no filter on inactive flag.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "checkingAccountFlow",
            "in": "query",
            "description": "Filters by checking-account flow: none, debit, or credit (how the type affects current account movements).",
            "schema": {
              "$ref": "#/components/schemas/CheckingAccountFlow"
            }
          },
          {
            "name": "defaultEntityTypes",
            "in": "query",
            "description": "Filters types whose default entity type is one of the given values (entity type identifiers).",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/XConfigDocumentTypeDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "entityType": 1,
                      "description": "Fatura",
                      "checkingAccountFlow": 0,
                      "stockFlow": 0,
                      "keyId": "FT",
                      "documentType": 1,
                      "cashierFlow": null,
                      "invoiceType": "",
                      "printSystemType": null,
                      "certificationPt": null,
                      "limitValue": null,
                      "nifLimit": null,
                      "fullInfoLimit": null,
                      "replacementDocumentTypeId": null,
                      "syncStamp": null,
                      "globalDocument": null,
                      "keepPdf": null,
                      "keep": null,
                      "instances": null,
                      "reportLayout": "",
                      "isTaxIncluded": null,
                      "sendEmail": null,
                      "isValued": null,
                      "stockBehaviour": 0,
                      "defaultEntityType": 0,
                      "voucherExpirationDays": 0,
                      "voucherDeductibleAfter": 0,
                      "extraTableRequired": null,
                      "printSortByItemgroup": null,
                      "htmlLayout": "",
                      "inactive": false,
                      "isAdvancement": false,
                      "mandatoryExtraReference": null,
                      "serialNumbersRequest": null,
                      "batchesRequest": null,
                      "moveSetting": null,
                      "showCostChanges": null,
                      "documentOrder": 0,
                      "forceAskBatches": false,
                      "defaultAccountId": 0,
                      "documentsFlags": null
                    },
                    {
                      "id": 2,
                      "entityType": 1,
                      "description": "Fatura-recibo",
                      "checkingAccountFlow": 0,
                      "stockFlow": 0,
                      "keyId": "FR",
                      "documentType": 2,
                      "cashierFlow": null,
                      "invoiceType": "",
                      "printSystemType": null,
                      "certificationPt": null,
                      "limitValue": null,
                      "nifLimit": null,
                      "fullInfoLimit": null,
                      "replacementDocumentTypeId": null,
                      "syncStamp": null,
                      "globalDocument": null,
                      "keepPdf": null,
                      "keep": null,
                      "instances": null,
                      "reportLayout": "",
                      "isTaxIncluded": null,
                      "sendEmail": null,
                      "isValued": null,
                      "stockBehaviour": 0,
                      "defaultEntityType": 0,
                      "voucherExpirationDays": 0,
                      "voucherDeductibleAfter": 0,
                      "extraTableRequired": null,
                      "printSortByItemgroup": null,
                      "htmlLayout": "",
                      "inactive": false,
                      "isAdvancement": false,
                      "mandatoryExtraReference": null,
                      "serialNumbersRequest": null,
                      "batchesRequest": null,
                      "moveSetting": null,
                      "showCostChanges": null,
                      "documentOrder": 0,
                      "forceAskBatches": false,
                      "defaultAccountId": 0,
                      "documentsFlags": null
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/XConfigDocumentTypeDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "entityType": 1,
                      "description": "Fatura",
                      "checkingAccountFlow": 0,
                      "stockFlow": 0,
                      "keyId": "FT",
                      "documentType": 1,
                      "cashierFlow": null,
                      "invoiceType": "",
                      "printSystemType": null,
                      "certificationPt": null,
                      "limitValue": null,
                      "nifLimit": null,
                      "fullInfoLimit": null,
                      "replacementDocumentTypeId": null,
                      "syncStamp": null,
                      "globalDocument": null,
                      "keepPdf": null,
                      "keep": null,
                      "instances": null,
                      "reportLayout": "",
                      "isTaxIncluded": null,
                      "sendEmail": null,
                      "isValued": null,
                      "stockBehaviour": 0,
                      "defaultEntityType": 0,
                      "voucherExpirationDays": 0,
                      "voucherDeductibleAfter": 0,
                      "extraTableRequired": null,
                      "printSortByItemgroup": null,
                      "htmlLayout": "",
                      "inactive": false,
                      "isAdvancement": false,
                      "mandatoryExtraReference": null,
                      "serialNumbersRequest": null,
                      "batchesRequest": null,
                      "moveSetting": null,
                      "showCostChanges": null,
                      "documentOrder": 0,
                      "forceAskBatches": false,
                      "defaultAccountId": 0,
                      "documentsFlags": null
                    },
                    {
                      "id": 2,
                      "entityType": 1,
                      "description": "Fatura-recibo",
                      "checkingAccountFlow": 0,
                      "stockFlow": 0,
                      "keyId": "FR",
                      "documentType": 2,
                      "cashierFlow": null,
                      "invoiceType": "",
                      "printSystemType": null,
                      "certificationPt": null,
                      "limitValue": null,
                      "nifLimit": null,
                      "fullInfoLimit": null,
                      "replacementDocumentTypeId": null,
                      "syncStamp": null,
                      "globalDocument": null,
                      "keepPdf": null,
                      "keep": null,
                      "instances": null,
                      "reportLayout": "",
                      "isTaxIncluded": null,
                      "sendEmail": null,
                      "isValued": null,
                      "stockBehaviour": 0,
                      "defaultEntityType": 0,
                      "voucherExpirationDays": 0,
                      "voucherDeductibleAfter": 0,
                      "extraTableRequired": null,
                      "printSortByItemgroup": null,
                      "htmlLayout": "",
                      "inactive": false,
                      "isAdvancement": false,
                      "mandatoryExtraReference": null,
                      "serialNumbersRequest": null,
                      "batchesRequest": null,
                      "moveSetting": null,
                      "showCostChanges": null,
                      "documentOrder": 0,
                      "forceAskBatches": false,
                      "defaultAccountId": 0,
                      "documentsFlags": null
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/XConfigDocumentTypeDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "entityType": 1,
                      "description": "Fatura",
                      "checkingAccountFlow": 0,
                      "stockFlow": 0,
                      "keyId": "FT",
                      "documentType": 1,
                      "cashierFlow": null,
                      "invoiceType": "",
                      "printSystemType": null,
                      "certificationPt": null,
                      "limitValue": null,
                      "nifLimit": null,
                      "fullInfoLimit": null,
                      "replacementDocumentTypeId": null,
                      "syncStamp": null,
                      "globalDocument": null,
                      "keepPdf": null,
                      "keep": null,
                      "instances": null,
                      "reportLayout": "",
                      "isTaxIncluded": null,
                      "sendEmail": null,
                      "isValued": null,
                      "stockBehaviour": 0,
                      "defaultEntityType": 0,
                      "voucherExpirationDays": 0,
                      "voucherDeductibleAfter": 0,
                      "extraTableRequired": null,
                      "printSortByItemgroup": null,
                      "htmlLayout": "",
                      "inactive": false,
                      "isAdvancement": false,
                      "mandatoryExtraReference": null,
                      "serialNumbersRequest": null,
                      "batchesRequest": null,
                      "moveSetting": null,
                      "showCostChanges": null,
                      "documentOrder": 0,
                      "forceAskBatches": false,
                      "defaultAccountId": 0,
                      "documentsFlags": null
                    },
                    {
                      "id": 2,
                      "entityType": 1,
                      "description": "Fatura-recibo",
                      "checkingAccountFlow": 0,
                      "stockFlow": 0,
                      "keyId": "FR",
                      "documentType": 2,
                      "cashierFlow": null,
                      "invoiceType": "",
                      "printSystemType": null,
                      "certificationPt": null,
                      "limitValue": null,
                      "nifLimit": null,
                      "fullInfoLimit": null,
                      "replacementDocumentTypeId": null,
                      "syncStamp": null,
                      "globalDocument": null,
                      "keepPdf": null,
                      "keep": null,
                      "instances": null,
                      "reportLayout": "",
                      "isTaxIncluded": null,
                      "sendEmail": null,
                      "isValued": null,
                      "stockBehaviour": 0,
                      "defaultEntityType": 0,
                      "voucherExpirationDays": 0,
                      "voucherDeductibleAfter": 0,
                      "extraTableRequired": null,
                      "printSortByItemgroup": null,
                      "htmlLayout": "",
                      "inactive": false,
                      "isAdvancement": false,
                      "mandatoryExtraReference": null,
                      "serialNumbersRequest": null,
                      "batchesRequest": null,
                      "moveSetting": null,
                      "showCostChanges": null,
                      "documentOrder": 0,
                      "forceAskBatches": false,
                      "defaultAccountId": 0,
                      "documentsFlags": null
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "DocumentsTypes"
        ],
        "summary": "Creates a new document type.",
        "requestBody": {
          "description": "Document type create request.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/XConfigDocumentTypeCreateUpdateDTO"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/XConfigDocumentTypeCreateUpdateDTO"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/XConfigDocumentTypeCreateUpdateDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/document-type/{id}": {
      "get": {
        "tags": [
          "DocumentsTypes"
        ],
        "summary": "Retrieves a document type by its integer ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Document type identifier.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/XConfigDocumentTypeDTO"
                },
                "example": {
                  "id": 1,
                  "entityType": 1,
                  "description": "Fatura",
                  "checkingAccountFlow": 0,
                  "stockFlow": 0,
                  "keyId": "FT",
                  "documentType": 1,
                  "cashierFlow": null,
                  "invoiceType": "",
                  "printSystemType": null,
                  "certificationPt": null,
                  "limitValue": null,
                  "nifLimit": null,
                  "fullInfoLimit": null,
                  "replacementDocumentTypeId": null,
                  "syncStamp": null,
                  "globalDocument": null,
                  "keepPdf": null,
                  "keep": null,
                  "instances": null,
                  "reportLayout": "",
                  "isTaxIncluded": null,
                  "sendEmail": null,
                  "isValued": null,
                  "stockBehaviour": 0,
                  "defaultEntityType": 0,
                  "voucherExpirationDays": 0,
                  "voucherDeductibleAfter": 0,
                  "extraTableRequired": null,
                  "printSortByItemgroup": null,
                  "htmlLayout": "",
                  "inactive": false,
                  "isAdvancement": false,
                  "mandatoryExtraReference": null,
                  "serialNumbersRequest": null,
                  "batchesRequest": null,
                  "moveSetting": null,
                  "showCostChanges": null,
                  "documentOrder": 0,
                  "forceAskBatches": false,
                  "defaultAccountId": 0,
                  "documentsFlags": null
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/XConfigDocumentTypeDTO"
                },
                "example": {
                  "id": 1,
                  "entityType": 1,
                  "description": "Fatura",
                  "checkingAccountFlow": 0,
                  "stockFlow": 0,
                  "keyId": "FT",
                  "documentType": 1,
                  "cashierFlow": null,
                  "invoiceType": "",
                  "printSystemType": null,
                  "certificationPt": null,
                  "limitValue": null,
                  "nifLimit": null,
                  "fullInfoLimit": null,
                  "replacementDocumentTypeId": null,
                  "syncStamp": null,
                  "globalDocument": null,
                  "keepPdf": null,
                  "keep": null,
                  "instances": null,
                  "reportLayout": "",
                  "isTaxIncluded": null,
                  "sendEmail": null,
                  "isValued": null,
                  "stockBehaviour": 0,
                  "defaultEntityType": 0,
                  "voucherExpirationDays": 0,
                  "voucherDeductibleAfter": 0,
                  "extraTableRequired": null,
                  "printSortByItemgroup": null,
                  "htmlLayout": "",
                  "inactive": false,
                  "isAdvancement": false,
                  "mandatoryExtraReference": null,
                  "serialNumbersRequest": null,
                  "batchesRequest": null,
                  "moveSetting": null,
                  "showCostChanges": null,
                  "documentOrder": 0,
                  "forceAskBatches": false,
                  "defaultAccountId": 0,
                  "documentsFlags": null
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/XConfigDocumentTypeDTO"
                },
                "example": {
                  "id": 1,
                  "entityType": 1,
                  "description": "Fatura",
                  "checkingAccountFlow": 0,
                  "stockFlow": 0,
                  "keyId": "FT",
                  "documentType": 1,
                  "cashierFlow": null,
                  "invoiceType": "",
                  "printSystemType": null,
                  "certificationPt": null,
                  "limitValue": null,
                  "nifLimit": null,
                  "fullInfoLimit": null,
                  "replacementDocumentTypeId": null,
                  "syncStamp": null,
                  "globalDocument": null,
                  "keepPdf": null,
                  "keep": null,
                  "instances": null,
                  "reportLayout": "",
                  "isTaxIncluded": null,
                  "sendEmail": null,
                  "isValued": null,
                  "stockBehaviour": 0,
                  "defaultEntityType": 0,
                  "voucherExpirationDays": 0,
                  "voucherDeductibleAfter": 0,
                  "extraTableRequired": null,
                  "printSortByItemgroup": null,
                  "htmlLayout": "",
                  "inactive": false,
                  "isAdvancement": false,
                  "mandatoryExtraReference": null,
                  "serialNumbersRequest": null,
                  "batchesRequest": null,
                  "moveSetting": null,
                  "showCostChanges": null,
                  "documentOrder": 0,
                  "forceAskBatches": false,
                  "defaultAccountId": 0,
                  "documentsFlags": null
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "DocumentsTypes"
        ],
        "summary": "Updates an existing document type.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Document type identifier.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "Document type data transfer object.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/XConfigDocumentTypeCreateUpdateDTO"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/XConfigDocumentTypeCreateUpdateDTO"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/XConfigDocumentTypeCreateUpdateDTO"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "DocumentsTypes"
        ],
        "summary": "Deletes a document type by its integer ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Document type identifier.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/document-type/{id}/convertible-sources": {
      "get": {
        "tags": [
          "DocumentsTypes"
        ],
        "summary": "Retrieves the list of document types that are allowed as source for conversion to the given target document type.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The target document type ID.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/XConfigDocumentTypeDTO"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/XConfigDocumentTypeDTO"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/XConfigDocumentTypeDTO"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Server Error"
          }
        }
      }
    },
    "/gateway/document-type/{keyId}": {
      "get": {
        "tags": [
          "DocumentsTypes"
        ],
        "summary": "Retrieves a document type by its key identifier.",
        "parameters": [
          {
            "name": "keyId",
            "in": "path",
            "description": "Document type key identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/XConfigDocumentTypeDTO"
                },
                "example": {
                  "id": 1,
                  "entityType": 1,
                  "description": "Fatura",
                  "checkingAccountFlow": 0,
                  "stockFlow": 0,
                  "keyId": "FT",
                  "documentType": 1,
                  "cashierFlow": null,
                  "invoiceType": "",
                  "printSystemType": null,
                  "certificationPt": null,
                  "limitValue": null,
                  "nifLimit": null,
                  "fullInfoLimit": null,
                  "replacementDocumentTypeId": null,
                  "syncStamp": null,
                  "globalDocument": null,
                  "keepPdf": null,
                  "keep": null,
                  "instances": null,
                  "reportLayout": "",
                  "isTaxIncluded": null,
                  "sendEmail": null,
                  "isValued": null,
                  "stockBehaviour": 0,
                  "defaultEntityType": 0,
                  "voucherExpirationDays": 0,
                  "voucherDeductibleAfter": 0,
                  "extraTableRequired": null,
                  "printSortByItemgroup": null,
                  "htmlLayout": "",
                  "inactive": false,
                  "isAdvancement": false,
                  "mandatoryExtraReference": null,
                  "serialNumbersRequest": null,
                  "batchesRequest": null,
                  "moveSetting": null,
                  "showCostChanges": null,
                  "documentOrder": 0,
                  "forceAskBatches": false,
                  "defaultAccountId": 0,
                  "documentsFlags": null
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/XConfigDocumentTypeDTO"
                },
                "example": {
                  "id": 1,
                  "entityType": 1,
                  "description": "Fatura",
                  "checkingAccountFlow": 0,
                  "stockFlow": 0,
                  "keyId": "FT",
                  "documentType": 1,
                  "cashierFlow": null,
                  "invoiceType": "",
                  "printSystemType": null,
                  "certificationPt": null,
                  "limitValue": null,
                  "nifLimit": null,
                  "fullInfoLimit": null,
                  "replacementDocumentTypeId": null,
                  "syncStamp": null,
                  "globalDocument": null,
                  "keepPdf": null,
                  "keep": null,
                  "instances": null,
                  "reportLayout": "",
                  "isTaxIncluded": null,
                  "sendEmail": null,
                  "isValued": null,
                  "stockBehaviour": 0,
                  "defaultEntityType": 0,
                  "voucherExpirationDays": 0,
                  "voucherDeductibleAfter": 0,
                  "extraTableRequired": null,
                  "printSortByItemgroup": null,
                  "htmlLayout": "",
                  "inactive": false,
                  "isAdvancement": false,
                  "mandatoryExtraReference": null,
                  "serialNumbersRequest": null,
                  "batchesRequest": null,
                  "moveSetting": null,
                  "showCostChanges": null,
                  "documentOrder": 0,
                  "forceAskBatches": false,
                  "defaultAccountId": 0,
                  "documentsFlags": null
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/XConfigDocumentTypeDTO"
                },
                "example": {
                  "id": 1,
                  "entityType": 1,
                  "description": "Fatura",
                  "checkingAccountFlow": 0,
                  "stockFlow": 0,
                  "keyId": "FT",
                  "documentType": 1,
                  "cashierFlow": null,
                  "invoiceType": "",
                  "printSystemType": null,
                  "certificationPt": null,
                  "limitValue": null,
                  "nifLimit": null,
                  "fullInfoLimit": null,
                  "replacementDocumentTypeId": null,
                  "syncStamp": null,
                  "globalDocument": null,
                  "keepPdf": null,
                  "keep": null,
                  "instances": null,
                  "reportLayout": "",
                  "isTaxIncluded": null,
                  "sendEmail": null,
                  "isValued": null,
                  "stockBehaviour": 0,
                  "defaultEntityType": 0,
                  "voucherExpirationDays": 0,
                  "voucherDeductibleAfter": 0,
                  "extraTableRequired": null,
                  "printSortByItemgroup": null,
                  "htmlLayout": "",
                  "inactive": false,
                  "isAdvancement": false,
                  "mandatoryExtraReference": null,
                  "serialNumbersRequest": null,
                  "batchesRequest": null,
                  "moveSetting": null,
                  "showCostChanges": null,
                  "documentOrder": 0,
                  "forceAskBatches": false,
                  "defaultAccountId": 0,
                  "documentsFlags": null
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/document-type/layouts": {
      "get": {
        "tags": [
          "DocumentsTypes"
        ],
        "summary": "Retrieves the available report layouts for a given document type and invoice type combination.",
        "parameters": [
          {
            "name": "documentType",
            "in": "query",
            "description": "The document type category.",
            "schema": {
              "$ref": "#/components/schemas/EDocumentType"
            }
          },
          {
            "name": "invoiceType",
            "in": "query",
            "description": "The invoice type (nature). Required for CheckingAccount documents.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EntityLayoutsDTO"
                  }
                },
                "example": [
                  {
                    "guid": "a3f2c8b1-4d5e-6f70-8192-abcdef012301",
                    "name": "Fatura simplificada — POS",
                    "entityType": "customer",
                    "layoutType": 1
                  },
                  {
                    "guid": "b4e3d9c2-5e6f-7081-92a3-bcdef0123456",
                    "name": "Guia de transporte — logística",
                    "entityType": "supplier",
                    "layoutType": 3
                  }
                ]
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EntityLayoutsDTO"
                  }
                },
                "example": [
                  {
                    "guid": "a3f2c8b1-4d5e-6f70-8192-abcdef012301",
                    "name": "Fatura simplificada — POS",
                    "entityType": "customer",
                    "layoutType": 1
                  },
                  {
                    "guid": "b4e3d9c2-5e6f-7081-92a3-bcdef0123456",
                    "name": "Guia de transporte — logística",
                    "entityType": "supplier",
                    "layoutType": 3
                  }
                ]
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EntityLayoutsDTO"
                  }
                },
                "example": [
                  {
                    "guid": "a3f2c8b1-4d5e-6f70-8192-abcdef012301",
                    "name": "Fatura simplificada — POS",
                    "entityType": "customer",
                    "layoutType": 1
                  },
                  {
                    "guid": "b4e3d9c2-5e6f-7081-92a3-bcdef0123456",
                    "name": "Guia de transporte — logística",
                    "entityType": "supplier",
                    "layoutType": 3
                  }
                ]
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/document-type/natures": {
      "get": {
        "tags": [
          "DocumentsTypes"
        ],
        "summary": "Returns the available document natures for the given document type.\r\nThe response also includes pre-computed UI configuration for the type and for each nature.",
        "parameters": [
          {
            "name": "documentType",
            "in": "query",
            "description": "The document type category.",
            "schema": {
              "$ref": "#/components/schemas/EDocumentType"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentNaturesResponseDTO"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentNaturesResponseDTO"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentNaturesResponseDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/dynamic-chart-report": {
      "get": {
        "tags": [
          "DynamicChartReport"
        ],
        "summary": "Retrieves all dynamic chart reports with optional pagination.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The number of records to return per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DynamicChartDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "guid": "d0e1f2a3-b4c5-6789-3456-901234567890",
                      "name": "Evolução de faturação — últimos 12 meses",
                      "description": "Gráfico de linhas com faturação mensal",
                      "permissionType": 1,
                      "reportType": 1,
                      "reportData": "",
                      "addToRibbon": false
                    },
                    {
                      "guid": "e1f2a3b4-c5d6-7890-4567-012345678901",
                      "name": "Top 10 clientes por volume",
                      "description": "Gráfico de barras dos principais clientes",
                      "permissionType": 2,
                      "reportType": 3,
                      "reportData": "",
                      "addToRibbon": false
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DynamicChartDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "guid": "d0e1f2a3-b4c5-6789-3456-901234567890",
                      "name": "Evolução de faturação — últimos 12 meses",
                      "description": "Gráfico de linhas com faturação mensal",
                      "permissionType": 1,
                      "reportType": 1,
                      "reportData": "",
                      "addToRibbon": false
                    },
                    {
                      "guid": "e1f2a3b4-c5d6-7890-4567-012345678901",
                      "name": "Top 10 clientes por volume",
                      "description": "Gráfico de barras dos principais clientes",
                      "permissionType": 2,
                      "reportType": 3,
                      "reportData": "",
                      "addToRibbon": false
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DynamicChartDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "guid": "d0e1f2a3-b4c5-6789-3456-901234567890",
                      "name": "Evolução de faturação — últimos 12 meses",
                      "description": "Gráfico de linhas com faturação mensal",
                      "permissionType": 1,
                      "reportType": 1,
                      "reportData": "",
                      "addToRibbon": false
                    },
                    {
                      "guid": "e1f2a3b4-c5d6-7890-4567-012345678901",
                      "name": "Top 10 clientes por volume",
                      "description": "Gráfico de barras dos principais clientes",
                      "permissionType": 2,
                      "reportType": 3,
                      "reportData": "",
                      "addToRibbon": false
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/dynamic-chart-report/menu": {
      "get": {
        "tags": [
          "DynamicChartReport"
        ],
        "summary": "Retrieves all dynamic chart reports visible in the menu.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DynamicChartMenuDTO"
                  }
                },
                "example": [
                  {
                    "guid": "d0e1f2a3-b4c5-6789-0123-chart0000001",
                    "name": "Evolução de faturação",
                    "description": "Gráfico de linhas mensal"
                  },
                  {
                    "guid": "d0e1f2a3-b4c5-6789-0123-chart0000002",
                    "name": "Top 10 clientes",
                    "description": "Gráfico de barras"
                  }
                ]
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DynamicChartMenuDTO"
                  }
                },
                "example": [
                  {
                    "guid": "d0e1f2a3-b4c5-6789-0123-chart0000001",
                    "name": "Evolução de faturação",
                    "description": "Gráfico de linhas mensal"
                  },
                  {
                    "guid": "d0e1f2a3-b4c5-6789-0123-chart0000002",
                    "name": "Top 10 clientes",
                    "description": "Gráfico de barras"
                  }
                ]
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DynamicChartMenuDTO"
                  }
                },
                "example": [
                  {
                    "guid": "d0e1f2a3-b4c5-6789-0123-chart0000001",
                    "name": "Evolução de faturação",
                    "description": "Gráfico de linhas mensal"
                  },
                  {
                    "guid": "d0e1f2a3-b4c5-6789-0123-chart0000002",
                    "name": "Top 10 clientes",
                    "description": "Gráfico de barras"
                  }
                ]
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/dynamic-grid-fields-config": {
      "post": {
        "tags": [
          "DynamicGridFieldsConfig"
        ],
        "summary": "Creates a new dynamic grid field configuration.",
        "requestBody": {
          "description": "The dynamic grid field configuration data to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DynamicGridFieldConfigurationDTO"
              },
              "example": {
                "id": "config-001",
                "secondaryId": null,
                "entityType": "customer",
                "dynamicField": {
                  "guid": "b896103e-d763-4821-ab80-d91db24c78c8",
                  "name": null,
                  "description": null,
                  "typeName": null,
                  "expression": null
                },
                "description": "Configuracao de campos dinamicos para listagem de clientes",
                "permissionType": 1,
                "userId": 1,
                "groupsId": [
                  1
                ]
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DynamicGridFieldConfigurationDTO"
              },
              "example": {
                "id": "config-001",
                "secondaryId": null,
                "entityType": "customer",
                "dynamicField": {
                  "guid": "b896103e-d763-4821-ab80-d91db24c78c8",
                  "name": null,
                  "description": null,
                  "typeName": null,
                  "expression": null
                },
                "description": "Configuracao de campos dinamicos para listagem de clientes",
                "permissionType": 1,
                "userId": 1,
                "groupsId": [
                  1
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DynamicGridFieldConfigurationDTO"
              },
              "example": {
                "id": "config-001",
                "secondaryId": null,
                "entityType": "customer",
                "dynamicField": {
                  "guid": "b896103e-d763-4821-ab80-d91db24c78c8",
                  "name": null,
                  "description": null,
                  "typeName": null,
                  "expression": null
                },
                "description": "Configuracao de campos dinamicos para listagem de clientes",
                "permissionType": 1,
                "userId": 1,
                "groupsId": [
                  1
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DynamicGridFieldConfigurationDTO"
                },
                "example": {
                  "id": "config-001",
                  "secondaryId": null,
                  "entityType": "customer",
                  "dynamicField": {
                    "guid": "9fc7f148-0efa-41ac-9da6-7aff48388ece",
                    "name": null,
                    "description": null,
                    "typeName": null,
                    "expression": null
                  },
                  "description": "Configuracao de campos dinamicos para listagem de clientes",
                  "permissionType": 1,
                  "userId": 1,
                  "groupsId": [
                    1
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DynamicGridFieldConfigurationDTO"
                },
                "example": {
                  "id": "config-001",
                  "secondaryId": null,
                  "entityType": "customer",
                  "dynamicField": {
                    "guid": "9fc7f148-0efa-41ac-9da6-7aff48388ece",
                    "name": null,
                    "description": null,
                    "typeName": null,
                    "expression": null
                  },
                  "description": "Configuracao de campos dinamicos para listagem de clientes",
                  "permissionType": 1,
                  "userId": 1,
                  "groupsId": [
                    1
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DynamicGridFieldConfigurationDTO"
                },
                "example": {
                  "id": "config-001",
                  "secondaryId": null,
                  "entityType": "customer",
                  "dynamicField": {
                    "guid": "9fc7f148-0efa-41ac-9da6-7aff48388ece",
                    "name": null,
                    "description": null,
                    "typeName": null,
                    "expression": null
                  },
                  "description": "Configuracao de campos dinamicos para listagem de clientes",
                  "permissionType": 1,
                  "userId": 1,
                  "groupsId": [
                    1
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "DynamicGridFieldsConfig"
        ],
        "summary": "Updates an existing dynamic grid field configuration.",
        "requestBody": {
          "description": "The updated dynamic grid field configuration data.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DynamicGridFieldConfigurationDTO"
              },
              "example": {
                "id": "config-001",
                "secondaryId": null,
                "entityType": "customer",
                "dynamicField": {
                  "guid": "cbb8a672-4dd5-4fbe-bcba-c5174e6ebe8b",
                  "name": null,
                  "description": null,
                  "typeName": null,
                  "expression": null
                },
                "description": "Configuracao de campos dinamicos para listagem de clientes",
                "permissionType": 1,
                "userId": 1,
                "groupsId": [
                  1
                ]
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DynamicGridFieldConfigurationDTO"
              },
              "example": {
                "id": "config-001",
                "secondaryId": null,
                "entityType": "customer",
                "dynamicField": {
                  "guid": "cbb8a672-4dd5-4fbe-bcba-c5174e6ebe8b",
                  "name": null,
                  "description": null,
                  "typeName": null,
                  "expression": null
                },
                "description": "Configuracao de campos dinamicos para listagem de clientes",
                "permissionType": 1,
                "userId": 1,
                "groupsId": [
                  1
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DynamicGridFieldConfigurationDTO"
              },
              "example": {
                "id": "config-001",
                "secondaryId": null,
                "entityType": "customer",
                "dynamicField": {
                  "guid": "cbb8a672-4dd5-4fbe-bcba-c5174e6ebe8b",
                  "name": null,
                  "description": null,
                  "typeName": null,
                  "expression": null
                },
                "description": "Configuracao de campos dinamicos para listagem de clientes",
                "permissionType": 1,
                "userId": 1,
                "groupsId": [
                  1
                ]
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/dynamic-grid-fields-config/{entityType}": {
      "get": {
        "tags": [
          "DynamicGridFieldsConfig"
        ],
        "summary": "Retrieves the dynamic grid fields configuration for a given entity type.",
        "parameters": [
          {
            "name": "entityType",
            "in": "path",
            "description": "The entity type to retrieve the configuration for.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DynamicGridFieldsConfigurationDTO"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DynamicGridFieldsConfigurationDTO"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DynamicGridFieldsConfigurationDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/dynamic-grid-fields-config/{id}/{secondaryId}": {
      "delete": {
        "tags": [
          "DynamicGridFieldsConfig"
        ],
        "summary": "Deletes a dynamic grid field configuration by its identifier and secondary identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The primary identifier of the configuration to delete.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "secondaryId",
            "in": "path",
            "description": "The secondary identifier of the configuration to delete.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/dynamic-report": {
      "get": {
        "tags": [
          "DynamicReport"
        ],
        "summary": "Retrieves all dynamic reports with optional pagination.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The number of records to return per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DynamicReportDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "guid": "b8c9d0e1-f2a3-4567-1234-789012345678",
                      "name": "Vendas por família — mês corrente",
                      "description": "Resumo de vendas agrupado por família de artigos",
                      "permissionType": 1,
                      "reportType": 2,
                      "reportData": "",
                      "isPivotReport": false,
                      "dataAccess": "",
                      "addToRibbon": false,
                      "showInPos": false
                    },
                    {
                      "guid": "c9d0e1f2-a3b4-5678-2345-890123456789",
                      "name": "Stock por armazém",
                      "description": "Posição de stock detalhada por localização",
                      "permissionType": 1,
                      "reportType": 5,
                      "reportData": "",
                      "isPivotReport": false,
                      "dataAccess": "",
                      "addToRibbon": false,
                      "showInPos": false
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DynamicReportDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "guid": "b8c9d0e1-f2a3-4567-1234-789012345678",
                      "name": "Vendas por família — mês corrente",
                      "description": "Resumo de vendas agrupado por família de artigos",
                      "permissionType": 1,
                      "reportType": 2,
                      "reportData": "",
                      "isPivotReport": false,
                      "dataAccess": "",
                      "addToRibbon": false,
                      "showInPos": false
                    },
                    {
                      "guid": "c9d0e1f2-a3b4-5678-2345-890123456789",
                      "name": "Stock por armazém",
                      "description": "Posição de stock detalhada por localização",
                      "permissionType": 1,
                      "reportType": 5,
                      "reportData": "",
                      "isPivotReport": false,
                      "dataAccess": "",
                      "addToRibbon": false,
                      "showInPos": false
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DynamicReportDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "guid": "b8c9d0e1-f2a3-4567-1234-789012345678",
                      "name": "Vendas por família — mês corrente",
                      "description": "Resumo de vendas agrupado por família de artigos",
                      "permissionType": 1,
                      "reportType": 2,
                      "reportData": "",
                      "isPivotReport": false,
                      "dataAccess": "",
                      "addToRibbon": false,
                      "showInPos": false
                    },
                    {
                      "guid": "c9d0e1f2-a3b4-5678-2345-890123456789",
                      "name": "Stock por armazém",
                      "description": "Posição de stock detalhada por localização",
                      "permissionType": 1,
                      "reportType": 5,
                      "reportData": "",
                      "isPivotReport": false,
                      "dataAccess": "",
                      "addToRibbon": false,
                      "showInPos": false
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/dynamic-report/menu": {
      "get": {
        "tags": [
          "DynamicReport"
        ],
        "summary": "Retrieves all dynamic reports visible in the menu.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DynamicReportMenuDTO"
                  }
                },
                "example": [
                  {
                    "guid": "b8c9d0e1-f2a3-4567-8901-rept0000001",
                    "name": "Vendas por família",
                    "description": "Resumo mensal"
                  },
                  {
                    "guid": "b8c9d0e1-f2a3-4567-8901-rept0000002",
                    "name": "Stock por armazém",
                    "description": "Posição detalhada"
                  }
                ]
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DynamicReportMenuDTO"
                  }
                },
                "example": [
                  {
                    "guid": "b8c9d0e1-f2a3-4567-8901-rept0000001",
                    "name": "Vendas por família",
                    "description": "Resumo mensal"
                  },
                  {
                    "guid": "b8c9d0e1-f2a3-4567-8901-rept0000002",
                    "name": "Stock por armazém",
                    "description": "Posição detalhada"
                  }
                ]
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DynamicReportMenuDTO"
                  }
                },
                "example": [
                  {
                    "guid": "b8c9d0e1-f2a3-4567-8901-rept0000001",
                    "name": "Vendas por família",
                    "description": "Resumo mensal"
                  },
                  {
                    "guid": "b8c9d0e1-f2a3-4567-8901-rept0000002",
                    "name": "Stock por armazém",
                    "description": "Posição detalhada"
                  }
                ]
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/entities-types/{keyId}": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Retrieves all entity types for a given key identifier.",
        "parameters": [
          {
            "name": "keyId",
            "in": "path",
            "description": "Entity type identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/EntitiesTypesDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "entityKeyId": "ENT001",
                      "entityTypeId": 1
                    },
                    {
                      "entityKeyId": "ENT002",
                      "entityTypeId": 2
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntitiesTypesDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "entityKeyId": "ENT001",
                      "entityTypeId": 1
                    },
                    {
                      "entityKeyId": "ENT002",
                      "entityTypeId": 2
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntitiesTypesDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "entityKeyId": "ENT001",
                      "entityTypeId": 1
                    },
                    {
                      "entityKeyId": "ENT002",
                      "entityTypeId": 2
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/entity": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Retrieves a paginated list of all entities.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of records per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/EntityDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 0,
                      "keyId": "ENT001",
                      "entityType": 1,
                      "name": "Pastelaria Central, Lda.",
                      "address": "Rua Augusta 15",
                      "postalCode": "1100-053",
                      "city": "Lisboa",
                      "state": null,
                      "country": "PT",
                      "vat": "501234567",
                      "bankName": null,
                      "bankIdentifierCode": null,
                      "bankIBAN": null,
                      "bankCardNumber": null,
                      "contactName": null,
                      "contactPhone": null,
                      "phone1": "+351 213 456 789",
                      "phone2": null,
                      "phone3": null,
                      "phone4": null,
                      "mobilePhone1": null,
                      "mobilePhone2": null,
                      "fax1": null,
                      "fax2": null,
                      "contactEmail": null,
                      "email1": "geral@pastelariacentral.pt",
                      "email2": null,
                      "webSite": null,
                      "faceBook": null,
                      "linkedIn": null,
                      "skype": null,
                      "obs": null,
                      "limitCredit": null,
                      "lastPurchase": null,
                      "balance": null,
                      "discount": null,
                      "dateOfBirth": null,
                      "password": null,
                      "defaultRetailPrice": null,
                      "defaultPaymentType": null,
                      "latitude": null,
                      "longitude": null,
                      "alertCredit": 0,
                      "deliveryTaxItemId": null,
                      "holdingTax": false,
                      "holdingTaxAmount": null,
                      "holdingTaxType": 0,
                      "picturePath": null,
                      "alertMessage": false,
                      "forbiddenDocuments": false,
                      "defaultPaymentMode": 0,
                      "syncStamp": null,
                      "salesMan": 0,
                      "gender": false,
                      "customerCardNumber": null,
                      "customerCardExpirationDate": null,
                      "customerCardDays": 0,
                      "carrierDescription": null,
                      "cashRegime": 0,
                      "customerCard": null,
                      "regionId": 0,
                      "priceLine": 0,
                      "identificationNumber": null,
                      "deliveryOccurrence": null,
                      "inactive": false,
                      "grouping": null,
                      "pictureId": null,
                      "thumbId": null,
                      "bioGuid": null,
                      "schedulerResource": null,
                      "accountancyCode": null,
                      "salesZoneId": 0,
                      "bankAccount": null,
                      "dateOfSignature": null,
                      "warningMessage": null,
                      "limitDays": 0,
                      "entityGroupId": 0,
                      "limitCreditType": 0,
                      "warehouseId": 0,
                      "applyEcoTaxOnSale": false,
                      "insurance": null,
                      "webPassword": null,
                      "relatedEntityKeyId": null,
                      "businessName": null,
                      "creationDate": null,
                      "entityCommission": 0,
                      "entityGuid": null,
                      "entityConsentmentStatus": 0,
                      "forgetfulnessReason": null,
                      "identificationIssuerCountry": null,
                      "portNumber": null,
                      "municipalCode": 0,
                      "documentType": 0,
                      "electronicInvoice": false,
                      "qeroSubscriber": false,
                      "cloudSyncStamp": null,
                      "identificationNumberInd": 0,
                      "qeroSubscriptionDate": null,
                      "syncGuid": null,
                      "feapBroker": 0,
                      "addressLine2": null,
                      "neighborhood": null,
                      "complement": null,
                      "reference": null,
                      "deliveryRegionId": null,
                      "isExcludedFromDueNoticesMail": false
                    },
                    {
                      "id": 0,
                      "keyId": "ENT002",
                      "entityType": 2,
                      "name": "Cerâmica do Norte, S.A.",
                      "address": "Rua de Santa Catarina 412",
                      "postalCode": "4000-447",
                      "city": "Porto",
                      "state": null,
                      "country": "PT",
                      "vat": "508765432",
                      "bankName": null,
                      "bankIdentifierCode": null,
                      "bankIBAN": null,
                      "bankCardNumber": null,
                      "contactName": null,
                      "contactPhone": null,
                      "phone1": "+351 225 123 456",
                      "phone2": null,
                      "phone3": null,
                      "phone4": null,
                      "mobilePhone1": null,
                      "mobilePhone2": null,
                      "fax1": null,
                      "fax2": null,
                      "contactEmail": null,
                      "email1": "comercial@ceramicadonorte.pt",
                      "email2": null,
                      "webSite": null,
                      "faceBook": null,
                      "linkedIn": null,
                      "skype": null,
                      "obs": null,
                      "limitCredit": null,
                      "lastPurchase": null,
                      "balance": null,
                      "discount": null,
                      "dateOfBirth": null,
                      "password": null,
                      "defaultRetailPrice": null,
                      "defaultPaymentType": null,
                      "latitude": null,
                      "longitude": null,
                      "alertCredit": 0,
                      "deliveryTaxItemId": null,
                      "holdingTax": false,
                      "holdingTaxAmount": null,
                      "holdingTaxType": 0,
                      "picturePath": null,
                      "alertMessage": false,
                      "forbiddenDocuments": false,
                      "defaultPaymentMode": 0,
                      "syncStamp": null,
                      "salesMan": 0,
                      "gender": false,
                      "customerCardNumber": null,
                      "customerCardExpirationDate": null,
                      "customerCardDays": 0,
                      "carrierDescription": null,
                      "cashRegime": 0,
                      "customerCard": null,
                      "regionId": 0,
                      "priceLine": 0,
                      "identificationNumber": null,
                      "deliveryOccurrence": null,
                      "inactive": false,
                      "grouping": null,
                      "pictureId": null,
                      "thumbId": null,
                      "bioGuid": null,
                      "schedulerResource": null,
                      "accountancyCode": null,
                      "salesZoneId": 0,
                      "bankAccount": null,
                      "dateOfSignature": null,
                      "warningMessage": null,
                      "limitDays": 0,
                      "entityGroupId": 0,
                      "limitCreditType": 0,
                      "warehouseId": 0,
                      "applyEcoTaxOnSale": false,
                      "insurance": null,
                      "webPassword": null,
                      "relatedEntityKeyId": null,
                      "businessName": null,
                      "creationDate": null,
                      "entityCommission": 0,
                      "entityGuid": null,
                      "entityConsentmentStatus": 0,
                      "forgetfulnessReason": null,
                      "identificationIssuerCountry": null,
                      "portNumber": null,
                      "municipalCode": 0,
                      "documentType": 0,
                      "electronicInvoice": false,
                      "qeroSubscriber": false,
                      "cloudSyncStamp": null,
                      "identificationNumberInd": 0,
                      "qeroSubscriptionDate": null,
                      "syncGuid": null,
                      "feapBroker": 0,
                      "addressLine2": null,
                      "neighborhood": null,
                      "complement": null,
                      "reference": null,
                      "deliveryRegionId": null,
                      "isExcludedFromDueNoticesMail": false
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 0,
                      "keyId": "ENT001",
                      "entityType": 1,
                      "name": "Pastelaria Central, Lda.",
                      "address": "Rua Augusta 15",
                      "postalCode": "1100-053",
                      "city": "Lisboa",
                      "state": null,
                      "country": "PT",
                      "vat": "501234567",
                      "bankName": null,
                      "bankIdentifierCode": null,
                      "bankIBAN": null,
                      "bankCardNumber": null,
                      "contactName": null,
                      "contactPhone": null,
                      "phone1": "+351 213 456 789",
                      "phone2": null,
                      "phone3": null,
                      "phone4": null,
                      "mobilePhone1": null,
                      "mobilePhone2": null,
                      "fax1": null,
                      "fax2": null,
                      "contactEmail": null,
                      "email1": "geral@pastelariacentral.pt",
                      "email2": null,
                      "webSite": null,
                      "faceBook": null,
                      "linkedIn": null,
                      "skype": null,
                      "obs": null,
                      "limitCredit": null,
                      "lastPurchase": null,
                      "balance": null,
                      "discount": null,
                      "dateOfBirth": null,
                      "password": null,
                      "defaultRetailPrice": null,
                      "defaultPaymentType": null,
                      "latitude": null,
                      "longitude": null,
                      "alertCredit": 0,
                      "deliveryTaxItemId": null,
                      "holdingTax": false,
                      "holdingTaxAmount": null,
                      "holdingTaxType": 0,
                      "picturePath": null,
                      "alertMessage": false,
                      "forbiddenDocuments": false,
                      "defaultPaymentMode": 0,
                      "syncStamp": null,
                      "salesMan": 0,
                      "gender": false,
                      "customerCardNumber": null,
                      "customerCardExpirationDate": null,
                      "customerCardDays": 0,
                      "carrierDescription": null,
                      "cashRegime": 0,
                      "customerCard": null,
                      "regionId": 0,
                      "priceLine": 0,
                      "identificationNumber": null,
                      "deliveryOccurrence": null,
                      "inactive": false,
                      "grouping": null,
                      "pictureId": null,
                      "thumbId": null,
                      "bioGuid": null,
                      "schedulerResource": null,
                      "accountancyCode": null,
                      "salesZoneId": 0,
                      "bankAccount": null,
                      "dateOfSignature": null,
                      "warningMessage": null,
                      "limitDays": 0,
                      "entityGroupId": 0,
                      "limitCreditType": 0,
                      "warehouseId": 0,
                      "applyEcoTaxOnSale": false,
                      "insurance": null,
                      "webPassword": null,
                      "relatedEntityKeyId": null,
                      "businessName": null,
                      "creationDate": null,
                      "entityCommission": 0,
                      "entityGuid": null,
                      "entityConsentmentStatus": 0,
                      "forgetfulnessReason": null,
                      "identificationIssuerCountry": null,
                      "portNumber": null,
                      "municipalCode": 0,
                      "documentType": 0,
                      "electronicInvoice": false,
                      "qeroSubscriber": false,
                      "cloudSyncStamp": null,
                      "identificationNumberInd": 0,
                      "qeroSubscriptionDate": null,
                      "syncGuid": null,
                      "feapBroker": 0,
                      "addressLine2": null,
                      "neighborhood": null,
                      "complement": null,
                      "reference": null,
                      "deliveryRegionId": null,
                      "isExcludedFromDueNoticesMail": false
                    },
                    {
                      "id": 0,
                      "keyId": "ENT002",
                      "entityType": 2,
                      "name": "Cerâmica do Norte, S.A.",
                      "address": "Rua de Santa Catarina 412",
                      "postalCode": "4000-447",
                      "city": "Porto",
                      "state": null,
                      "country": "PT",
                      "vat": "508765432",
                      "bankName": null,
                      "bankIdentifierCode": null,
                      "bankIBAN": null,
                      "bankCardNumber": null,
                      "contactName": null,
                      "contactPhone": null,
                      "phone1": "+351 225 123 456",
                      "phone2": null,
                      "phone3": null,
                      "phone4": null,
                      "mobilePhone1": null,
                      "mobilePhone2": null,
                      "fax1": null,
                      "fax2": null,
                      "contactEmail": null,
                      "email1": "comercial@ceramicadonorte.pt",
                      "email2": null,
                      "webSite": null,
                      "faceBook": null,
                      "linkedIn": null,
                      "skype": null,
                      "obs": null,
                      "limitCredit": null,
                      "lastPurchase": null,
                      "balance": null,
                      "discount": null,
                      "dateOfBirth": null,
                      "password": null,
                      "defaultRetailPrice": null,
                      "defaultPaymentType": null,
                      "latitude": null,
                      "longitude": null,
                      "alertCredit": 0,
                      "deliveryTaxItemId": null,
                      "holdingTax": false,
                      "holdingTaxAmount": null,
                      "holdingTaxType": 0,
                      "picturePath": null,
                      "alertMessage": false,
                      "forbiddenDocuments": false,
                      "defaultPaymentMode": 0,
                      "syncStamp": null,
                      "salesMan": 0,
                      "gender": false,
                      "customerCardNumber": null,
                      "customerCardExpirationDate": null,
                      "customerCardDays": 0,
                      "carrierDescription": null,
                      "cashRegime": 0,
                      "customerCard": null,
                      "regionId": 0,
                      "priceLine": 0,
                      "identificationNumber": null,
                      "deliveryOccurrence": null,
                      "inactive": false,
                      "grouping": null,
                      "pictureId": null,
                      "thumbId": null,
                      "bioGuid": null,
                      "schedulerResource": null,
                      "accountancyCode": null,
                      "salesZoneId": 0,
                      "bankAccount": null,
                      "dateOfSignature": null,
                      "warningMessage": null,
                      "limitDays": 0,
                      "entityGroupId": 0,
                      "limitCreditType": 0,
                      "warehouseId": 0,
                      "applyEcoTaxOnSale": false,
                      "insurance": null,
                      "webPassword": null,
                      "relatedEntityKeyId": null,
                      "businessName": null,
                      "creationDate": null,
                      "entityCommission": 0,
                      "entityGuid": null,
                      "entityConsentmentStatus": 0,
                      "forgetfulnessReason": null,
                      "identificationIssuerCountry": null,
                      "portNumber": null,
                      "municipalCode": 0,
                      "documentType": 0,
                      "electronicInvoice": false,
                      "qeroSubscriber": false,
                      "cloudSyncStamp": null,
                      "identificationNumberInd": 0,
                      "qeroSubscriptionDate": null,
                      "syncGuid": null,
                      "feapBroker": 0,
                      "addressLine2": null,
                      "neighborhood": null,
                      "complement": null,
                      "reference": null,
                      "deliveryRegionId": null,
                      "isExcludedFromDueNoticesMail": false
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 0,
                      "keyId": "ENT001",
                      "entityType": 1,
                      "name": "Pastelaria Central, Lda.",
                      "address": "Rua Augusta 15",
                      "postalCode": "1100-053",
                      "city": "Lisboa",
                      "state": null,
                      "country": "PT",
                      "vat": "501234567",
                      "bankName": null,
                      "bankIdentifierCode": null,
                      "bankIBAN": null,
                      "bankCardNumber": null,
                      "contactName": null,
                      "contactPhone": null,
                      "phone1": "+351 213 456 789",
                      "phone2": null,
                      "phone3": null,
                      "phone4": null,
                      "mobilePhone1": null,
                      "mobilePhone2": null,
                      "fax1": null,
                      "fax2": null,
                      "contactEmail": null,
                      "email1": "geral@pastelariacentral.pt",
                      "email2": null,
                      "webSite": null,
                      "faceBook": null,
                      "linkedIn": null,
                      "skype": null,
                      "obs": null,
                      "limitCredit": null,
                      "lastPurchase": null,
                      "balance": null,
                      "discount": null,
                      "dateOfBirth": null,
                      "password": null,
                      "defaultRetailPrice": null,
                      "defaultPaymentType": null,
                      "latitude": null,
                      "longitude": null,
                      "alertCredit": 0,
                      "deliveryTaxItemId": null,
                      "holdingTax": false,
                      "holdingTaxAmount": null,
                      "holdingTaxType": 0,
                      "picturePath": null,
                      "alertMessage": false,
                      "forbiddenDocuments": false,
                      "defaultPaymentMode": 0,
                      "syncStamp": null,
                      "salesMan": 0,
                      "gender": false,
                      "customerCardNumber": null,
                      "customerCardExpirationDate": null,
                      "customerCardDays": 0,
                      "carrierDescription": null,
                      "cashRegime": 0,
                      "customerCard": null,
                      "regionId": 0,
                      "priceLine": 0,
                      "identificationNumber": null,
                      "deliveryOccurrence": null,
                      "inactive": false,
                      "grouping": null,
                      "pictureId": null,
                      "thumbId": null,
                      "bioGuid": null,
                      "schedulerResource": null,
                      "accountancyCode": null,
                      "salesZoneId": 0,
                      "bankAccount": null,
                      "dateOfSignature": null,
                      "warningMessage": null,
                      "limitDays": 0,
                      "entityGroupId": 0,
                      "limitCreditType": 0,
                      "warehouseId": 0,
                      "applyEcoTaxOnSale": false,
                      "insurance": null,
                      "webPassword": null,
                      "relatedEntityKeyId": null,
                      "businessName": null,
                      "creationDate": null,
                      "entityCommission": 0,
                      "entityGuid": null,
                      "entityConsentmentStatus": 0,
                      "forgetfulnessReason": null,
                      "identificationIssuerCountry": null,
                      "portNumber": null,
                      "municipalCode": 0,
                      "documentType": 0,
                      "electronicInvoice": false,
                      "qeroSubscriber": false,
                      "cloudSyncStamp": null,
                      "identificationNumberInd": 0,
                      "qeroSubscriptionDate": null,
                      "syncGuid": null,
                      "feapBroker": 0,
                      "addressLine2": null,
                      "neighborhood": null,
                      "complement": null,
                      "reference": null,
                      "deliveryRegionId": null,
                      "isExcludedFromDueNoticesMail": false
                    },
                    {
                      "id": 0,
                      "keyId": "ENT002",
                      "entityType": 2,
                      "name": "Cerâmica do Norte, S.A.",
                      "address": "Rua de Santa Catarina 412",
                      "postalCode": "4000-447",
                      "city": "Porto",
                      "state": null,
                      "country": "PT",
                      "vat": "508765432",
                      "bankName": null,
                      "bankIdentifierCode": null,
                      "bankIBAN": null,
                      "bankCardNumber": null,
                      "contactName": null,
                      "contactPhone": null,
                      "phone1": "+351 225 123 456",
                      "phone2": null,
                      "phone3": null,
                      "phone4": null,
                      "mobilePhone1": null,
                      "mobilePhone2": null,
                      "fax1": null,
                      "fax2": null,
                      "contactEmail": null,
                      "email1": "comercial@ceramicadonorte.pt",
                      "email2": null,
                      "webSite": null,
                      "faceBook": null,
                      "linkedIn": null,
                      "skype": null,
                      "obs": null,
                      "limitCredit": null,
                      "lastPurchase": null,
                      "balance": null,
                      "discount": null,
                      "dateOfBirth": null,
                      "password": null,
                      "defaultRetailPrice": null,
                      "defaultPaymentType": null,
                      "latitude": null,
                      "longitude": null,
                      "alertCredit": 0,
                      "deliveryTaxItemId": null,
                      "holdingTax": false,
                      "holdingTaxAmount": null,
                      "holdingTaxType": 0,
                      "picturePath": null,
                      "alertMessage": false,
                      "forbiddenDocuments": false,
                      "defaultPaymentMode": 0,
                      "syncStamp": null,
                      "salesMan": 0,
                      "gender": false,
                      "customerCardNumber": null,
                      "customerCardExpirationDate": null,
                      "customerCardDays": 0,
                      "carrierDescription": null,
                      "cashRegime": 0,
                      "customerCard": null,
                      "regionId": 0,
                      "priceLine": 0,
                      "identificationNumber": null,
                      "deliveryOccurrence": null,
                      "inactive": false,
                      "grouping": null,
                      "pictureId": null,
                      "thumbId": null,
                      "bioGuid": null,
                      "schedulerResource": null,
                      "accountancyCode": null,
                      "salesZoneId": 0,
                      "bankAccount": null,
                      "dateOfSignature": null,
                      "warningMessage": null,
                      "limitDays": 0,
                      "entityGroupId": 0,
                      "limitCreditType": 0,
                      "warehouseId": 0,
                      "applyEcoTaxOnSale": false,
                      "insurance": null,
                      "webPassword": null,
                      "relatedEntityKeyId": null,
                      "businessName": null,
                      "creationDate": null,
                      "entityCommission": 0,
                      "entityGuid": null,
                      "entityConsentmentStatus": 0,
                      "forgetfulnessReason": null,
                      "identificationIssuerCountry": null,
                      "portNumber": null,
                      "municipalCode": 0,
                      "documentType": 0,
                      "electronicInvoice": false,
                      "qeroSubscriber": false,
                      "cloudSyncStamp": null,
                      "identificationNumberInd": 0,
                      "qeroSubscriptionDate": null,
                      "syncGuid": null,
                      "feapBroker": 0,
                      "addressLine2": null,
                      "neighborhood": null,
                      "complement": null,
                      "reference": null,
                      "deliveryRegionId": null,
                      "isExcludedFromDueNoticesMail": false
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Entity"
        ],
        "summary": "Creates a new entity.",
        "requestBody": {
          "description": "Entity data transfer object.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EntityCreateDTO"
              },
              "example": {
                "keyId": "CLI001",
                "entityType": 1,
                "name": "Maria Silva",
                "businessName": "Silva & Filhos, Lda.",
                "address": "Rua Augusta, 100",
                "postalCode": "1100-053",
                "city": "Lisboa",
                "state": "Lisboa",
                "country": "PT",
                "vat": "123456789",
                "bankName": null,
                "bankIdentifierCode": null,
                "bankIban": null,
                "bankCardNumber": null,
                "contactName": "Maria Silva",
                "contactPhone": "+351 912 345 678",
                "phone1": "+351 210 000 001",
                "phone2": null,
                "phone3": null,
                "phone4": null,
                "mobilePhone1": "+351 912 345 678",
                "mobilePhone2": null,
                "fax1": null,
                "fax2": null,
                "contactEmail": "maria.silva@example.com",
                "email1": "maria.silva@example.com",
                "email2": null,
                "webSite": null,
                "faceBook": null,
                "linkedIn": null,
                "skype": null,
                "obs": null,
                "limitCredit": 5000,
                "lastPurchase": null,
                "balance": null,
                "discount": 5,
                "dateOfBirth": null,
                "password": null,
                "defaultRetailPrice": 1,
                "defaultPaymentType": 1,
                "latitude": null,
                "longitude": null,
                "alertCredit": null,
                "deliveryTaxItemId": null,
                "holdingTax": false,
                "holdingTaxAmount": null,
                "holdingTaxType": 0,
                "picturePath": null,
                "alertMessage": false,
                "forbiddenDocuments": false,
                "defaultPaymentMode": 1,
                "syncStamp": null,
                "salesMan": null,
                "gender": null,
                "customerCardNumber": null,
                "customerCardExpirationDate": null,
                "customerCardDays": null,
                "carrierDescription": null,
                "cashRegime": null,
                "customerCard": null,
                "regionId": null,
                "priceLine": null,
                "identificationNumber": null,
                "deliveryOccurrence": null,
                "inactive": false,
                "grouping": null,
                "pictureId": null,
                "thumbId": null,
                "bioGuid": null,
                "schedulerResource": null,
                "accountancyCode": null,
                "salesZoneId": null,
                "bankAccount": null,
                "dateOfSignature": null,
                "warningMessage": null,
                "limitDays": 30,
                "entityGroupId": 1,
                "limitCreditType": 0,
                "warehouseId": 0,
                "applyEcoTaxOnSale": false,
                "insurance": null,
                "webPassword": null,
                "relatedEntityKeyId": null,
                "creationDate": null,
                "entityCommission": 0,
                "entityConsentmentStatus": 0,
                "forgetfulnessReason": null,
                "identificationIssuerCountry": "PT",
                "portNumber": null,
                "municipalCode": 0,
                "documentType": null,
                "electronicInvoice": false,
                "qeroSubscriber": false,
                "cloudSyncStamp": null,
                "identificationNumberInd": 0,
                "qeroSubscriptionDate": null,
                "syncGuid": null,
                "feapbroker": 0,
                "addressLine2": null,
                "neighborhood": null,
                "complement": null,
                "reference": null,
                "deliveryRegionId": null,
                "isExcludedFromDueNoticesMail": false,
                "types": [
                  1,
                  2
                ]
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EntityCreateDTO"
              },
              "example": {
                "keyId": "CLI001",
                "entityType": 1,
                "name": "Maria Silva",
                "businessName": "Silva & Filhos, Lda.",
                "address": "Rua Augusta, 100",
                "postalCode": "1100-053",
                "city": "Lisboa",
                "state": "Lisboa",
                "country": "PT",
                "vat": "123456789",
                "bankName": null,
                "bankIdentifierCode": null,
                "bankIban": null,
                "bankCardNumber": null,
                "contactName": "Maria Silva",
                "contactPhone": "+351 912 345 678",
                "phone1": "+351 210 000 001",
                "phone2": null,
                "phone3": null,
                "phone4": null,
                "mobilePhone1": "+351 912 345 678",
                "mobilePhone2": null,
                "fax1": null,
                "fax2": null,
                "contactEmail": "maria.silva@example.com",
                "email1": "maria.silva@example.com",
                "email2": null,
                "webSite": null,
                "faceBook": null,
                "linkedIn": null,
                "skype": null,
                "obs": null,
                "limitCredit": 5000,
                "lastPurchase": null,
                "balance": null,
                "discount": 5,
                "dateOfBirth": null,
                "password": null,
                "defaultRetailPrice": 1,
                "defaultPaymentType": 1,
                "latitude": null,
                "longitude": null,
                "alertCredit": null,
                "deliveryTaxItemId": null,
                "holdingTax": false,
                "holdingTaxAmount": null,
                "holdingTaxType": 0,
                "picturePath": null,
                "alertMessage": false,
                "forbiddenDocuments": false,
                "defaultPaymentMode": 1,
                "syncStamp": null,
                "salesMan": null,
                "gender": null,
                "customerCardNumber": null,
                "customerCardExpirationDate": null,
                "customerCardDays": null,
                "carrierDescription": null,
                "cashRegime": null,
                "customerCard": null,
                "regionId": null,
                "priceLine": null,
                "identificationNumber": null,
                "deliveryOccurrence": null,
                "inactive": false,
                "grouping": null,
                "pictureId": null,
                "thumbId": null,
                "bioGuid": null,
                "schedulerResource": null,
                "accountancyCode": null,
                "salesZoneId": null,
                "bankAccount": null,
                "dateOfSignature": null,
                "warningMessage": null,
                "limitDays": 30,
                "entityGroupId": 1,
                "limitCreditType": 0,
                "warehouseId": 0,
                "applyEcoTaxOnSale": false,
                "insurance": null,
                "webPassword": null,
                "relatedEntityKeyId": null,
                "creationDate": null,
                "entityCommission": 0,
                "entityConsentmentStatus": 0,
                "forgetfulnessReason": null,
                "identificationIssuerCountry": "PT",
                "portNumber": null,
                "municipalCode": 0,
                "documentType": null,
                "electronicInvoice": false,
                "qeroSubscriber": false,
                "cloudSyncStamp": null,
                "identificationNumberInd": 0,
                "qeroSubscriptionDate": null,
                "syncGuid": null,
                "feapbroker": 0,
                "addressLine2": null,
                "neighborhood": null,
                "complement": null,
                "reference": null,
                "deliveryRegionId": null,
                "isExcludedFromDueNoticesMail": false,
                "types": [
                  1,
                  2
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EntityCreateDTO"
              },
              "example": {
                "keyId": "CLI001",
                "entityType": 1,
                "name": "Maria Silva",
                "businessName": "Silva & Filhos, Lda.",
                "address": "Rua Augusta, 100",
                "postalCode": "1100-053",
                "city": "Lisboa",
                "state": "Lisboa",
                "country": "PT",
                "vat": "123456789",
                "bankName": null,
                "bankIdentifierCode": null,
                "bankIban": null,
                "bankCardNumber": null,
                "contactName": "Maria Silva",
                "contactPhone": "+351 912 345 678",
                "phone1": "+351 210 000 001",
                "phone2": null,
                "phone3": null,
                "phone4": null,
                "mobilePhone1": "+351 912 345 678",
                "mobilePhone2": null,
                "fax1": null,
                "fax2": null,
                "contactEmail": "maria.silva@example.com",
                "email1": "maria.silva@example.com",
                "email2": null,
                "webSite": null,
                "faceBook": null,
                "linkedIn": null,
                "skype": null,
                "obs": null,
                "limitCredit": 5000,
                "lastPurchase": null,
                "balance": null,
                "discount": 5,
                "dateOfBirth": null,
                "password": null,
                "defaultRetailPrice": 1,
                "defaultPaymentType": 1,
                "latitude": null,
                "longitude": null,
                "alertCredit": null,
                "deliveryTaxItemId": null,
                "holdingTax": false,
                "holdingTaxAmount": null,
                "holdingTaxType": 0,
                "picturePath": null,
                "alertMessage": false,
                "forbiddenDocuments": false,
                "defaultPaymentMode": 1,
                "syncStamp": null,
                "salesMan": null,
                "gender": null,
                "customerCardNumber": null,
                "customerCardExpirationDate": null,
                "customerCardDays": null,
                "carrierDescription": null,
                "cashRegime": null,
                "customerCard": null,
                "regionId": null,
                "priceLine": null,
                "identificationNumber": null,
                "deliveryOccurrence": null,
                "inactive": false,
                "grouping": null,
                "pictureId": null,
                "thumbId": null,
                "bioGuid": null,
                "schedulerResource": null,
                "accountancyCode": null,
                "salesZoneId": null,
                "bankAccount": null,
                "dateOfSignature": null,
                "warningMessage": null,
                "limitDays": 30,
                "entityGroupId": 1,
                "limitCreditType": 0,
                "warehouseId": 0,
                "applyEcoTaxOnSale": false,
                "insurance": null,
                "webPassword": null,
                "relatedEntityKeyId": null,
                "creationDate": null,
                "entityCommission": 0,
                "entityConsentmentStatus": 0,
                "forgetfulnessReason": null,
                "identificationIssuerCountry": "PT",
                "portNumber": null,
                "municipalCode": 0,
                "documentType": null,
                "electronicInvoice": false,
                "qeroSubscriber": false,
                "cloudSyncStamp": null,
                "identificationNumberInd": 0,
                "qeroSubscriptionDate": null,
                "syncGuid": null,
                "feapbroker": 0,
                "addressLine2": null,
                "neighborhood": null,
                "complement": null,
                "reference": null,
                "deliveryRegionId": null,
                "isExcludedFromDueNoticesMail": false,
                "types": [
                  1,
                  2
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/entity-contract": {
      "get": {
        "tags": [
          "EntityContract"
        ],
        "summary": "Gets all entity contracts with optional filtering by entity and pagination.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number to be retrieved.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of records per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "entityKeyId",
            "in": "query",
            "description": "Optional entity key identifier to filter contracts by entity. When omitted, returns all contracts.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/EntityContractListDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 1,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "entityKeyId": "1",
                      "entityName": "North Atlantic Foods Ltd.",
                      "contractGroupId": 1,
                      "contractGroupDescription": "Preventive infrastructure maintenance",
                      "contractTypeId": 1,
                      "contractTypeDescription": "Monthly time-and-materials",
                      "contractTypeRenewable": true,
                      "contractTypePeriodicity": 1,
                      "contractServiceType": 2,
                      "contractValue": 1500.0,
                      "contractValueRp": 1800.0,
                      "contractCostValue": 900.0,
                      "startDate": "2026-01-01T00:00:00",
                      "endDate": "2026-12-31T00:00:00",
                      "totalHours": 120,
                      "usedHours": 12.5,
                      "availableHours": 107.5,
                      "canceled": false
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityContractListDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 1,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "entityKeyId": "1",
                      "entityName": "North Atlantic Foods Ltd.",
                      "contractGroupId": 1,
                      "contractGroupDescription": "Preventive infrastructure maintenance",
                      "contractTypeId": 1,
                      "contractTypeDescription": "Monthly time-and-materials",
                      "contractTypeRenewable": true,
                      "contractTypePeriodicity": 1,
                      "contractServiceType": 2,
                      "contractValue": 1500.0,
                      "contractValueRp": 1800.0,
                      "contractCostValue": 900.0,
                      "startDate": "2026-01-01T00:00:00",
                      "endDate": "2026-12-31T00:00:00",
                      "totalHours": 120,
                      "usedHours": 12.5,
                      "availableHours": 107.5,
                      "canceled": false
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityContractListDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 1,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "entityKeyId": "1",
                      "entityName": "North Atlantic Foods Ltd.",
                      "contractGroupId": 1,
                      "contractGroupDescription": "Preventive infrastructure maintenance",
                      "contractTypeId": 1,
                      "contractTypeDescription": "Monthly time-and-materials",
                      "contractTypeRenewable": true,
                      "contractTypePeriodicity": 1,
                      "contractServiceType": 2,
                      "contractValue": 1500.0,
                      "contractValueRp": 1800.0,
                      "contractCostValue": 900.0,
                      "startDate": "2026-01-01T00:00:00",
                      "endDate": "2026-12-31T00:00:00",
                      "totalHours": 120,
                      "usedHours": 12.5,
                      "availableHours": 107.5,
                      "canceled": false
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "EntityContract"
        ],
        "summary": "Creates a new entity contract.",
        "requestBody": {
          "description": "The entity contract data transfer object.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EntityContractDTO"
              },
              "example": {
                "id": 1,
                "entityKeyId": "1",
                "contractGroupId": 1,
                "contractTypeId": 1,
                "contractValue": 1500.0,
                "contractValueRp": 1800.0,
                "contractCostValue": 900.0,
                "startDate": "2026-01-01T00:00:00",
                "endDate": "2026-12-31T00:00:00",
                "observation": "Initial term; invoiced monthly against the approved timesheet.",
                "totalHours": 120,
                "covenantId": "c4a2b8e1-7f3d-4a91-9c62-1e8b5d7a3f21",
                "canceled": false
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EntityContractDTO"
              },
              "example": {
                "id": 1,
                "entityKeyId": "1",
                "contractGroupId": 1,
                "contractTypeId": 1,
                "contractValue": 1500.0,
                "contractValueRp": 1800.0,
                "contractCostValue": 900.0,
                "startDate": "2026-01-01T00:00:00",
                "endDate": "2026-12-31T00:00:00",
                "observation": "Initial term; invoiced monthly against the approved timesheet.",
                "totalHours": 120,
                "covenantId": "c4a2b8e1-7f3d-4a91-9c62-1e8b5d7a3f21",
                "canceled": false
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EntityContractDTO"
              },
              "example": {
                "id": 1,
                "entityKeyId": "1",
                "contractGroupId": 1,
                "contractTypeId": 1,
                "contractValue": 1500.0,
                "contractValueRp": 1800.0,
                "contractCostValue": 900.0,
                "startDate": "2026-01-01T00:00:00",
                "endDate": "2026-12-31T00:00:00",
                "observation": "Initial term; invoiced monthly against the approved timesheet.",
                "totalHours": 120,
                "covenantId": "c4a2b8e1-7f3d-4a91-9c62-1e8b5d7a3f21",
                "canceled": false
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/entity-contract-group": {
      "get": {
        "tags": [
          "EntityContractGroup"
        ],
        "summary": "Retrieves a paginated list of all entity contract groups.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number to retrieve.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of records per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/EntityContractGroupDTOEntityListingDTO"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityContractGroupDTOEntityListingDTO"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityContractGroupDTOEntityListingDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "EntityContractGroup"
        ],
        "summary": "Creates a new entity contract group.",
        "requestBody": {
          "description": "Entity contract group data transfer object.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EntityContractGroupDTO"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EntityContractGroupDTO"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EntityContractGroupDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/entity-contract-group/{id}": {
      "get": {
        "tags": [
          "EntityContractGroup"
        ],
        "summary": "Retrieves an entity contract group by its ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Entity contract group identifier.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/EntityContractGroupDTO"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityContractGroupDTO"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityContractGroupDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "EntityContractGroup"
        ],
        "summary": "Updates an existing entity contract group by ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Entity contract group identifier.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "Updated entity contract group data.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EntityContractGroupUpdateDTO"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EntityContractGroupUpdateDTO"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EntityContractGroupUpdateDTO"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "EntityContractGroup"
        ],
        "summary": "Deletes an entity contract group by its ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Entity contract group identifier.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/entity-contract-group/next-id": {
      "get": {
        "tags": [
          "EntityContractGroup"
        ],
        "summary": "Retrieves the next available entity contract group ID.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "text/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/entity-contract-type": {
      "post": {
        "tags": [
          "EntityContractType"
        ],
        "summary": "Creates a new entity contract type.",
        "requestBody": {
          "description": "The entity contract type data transfer object.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EntityContractTypeDTO"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EntityContractTypeDTO"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EntityContractTypeDTO"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "EntityContractType"
        ],
        "summary": "Gets all entity contract types with optional pagination.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number to retrieve.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of records per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/EntityContractTypeListDTOEntityListingDTO"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityContractTypeListDTOEntityListingDTO"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityContractTypeListDTOEntityListingDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/entity-contract-type/{id}": {
      "put": {
        "tags": [
          "EntityContractType"
        ],
        "summary": "Updates an existing entity contract type by ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the entity contract type to update.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The updated entity contract type data.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EntityContractTypeUpdateDTO"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EntityContractTypeUpdateDTO"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EntityContractTypeUpdateDTO"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "EntityContractType"
        ],
        "summary": "Deletes an entity contract type by ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the entity contract type to delete.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "EntityContractType"
        ],
        "summary": "Gets an entity contract type by ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the entity contract type.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/EntityContractTypeDTO"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityContractTypeDTO"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityContractTypeDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/entity-contract-type/next-id": {
      "get": {
        "tags": [
          "EntityContractType"
        ],
        "summary": "Gets the next available entity contract type ID.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "text/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/entity-contract/{id}": {
      "get": {
        "tags": [
          "EntityContract"
        ],
        "summary": "Gets an entity contract by ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the entity contract.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/EntityContractDetailDTO"
                },
                "example": {
                  "id": 1,
                  "entityKeyId": "1",
                  "contractGroupId": 1,
                  "contractTypeId": 1,
                  "contractValue": 1500.0,
                  "contractValueRp": 1800.0,
                  "contractCostValue": 900.0,
                  "startDate": "2026-01-01T00:00:00",
                  "endDate": "2026-12-31T00:00:00",
                  "observation": "Annual renewal; first-response SLA within four business hours.",
                  "totalHours": 120,
                  "covenantId": "c4a2b8e1-7f3d-4a91-9c62-1e8b5d7a3f21",
                  "canceled": false,
                  "usedHours": 12.5,
                  "availableHours": 107.5
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityContractDetailDTO"
                },
                "example": {
                  "id": 1,
                  "entityKeyId": "1",
                  "contractGroupId": 1,
                  "contractTypeId": 1,
                  "contractValue": 1500.0,
                  "contractValueRp": 1800.0,
                  "contractCostValue": 900.0,
                  "startDate": "2026-01-01T00:00:00",
                  "endDate": "2026-12-31T00:00:00",
                  "observation": "Annual renewal; first-response SLA within four business hours.",
                  "totalHours": 120,
                  "covenantId": "c4a2b8e1-7f3d-4a91-9c62-1e8b5d7a3f21",
                  "canceled": false,
                  "usedHours": 12.5,
                  "availableHours": 107.5
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityContractDetailDTO"
                },
                "example": {
                  "id": 1,
                  "entityKeyId": "1",
                  "contractGroupId": 1,
                  "contractTypeId": 1,
                  "contractValue": 1500.0,
                  "contractValueRp": 1800.0,
                  "contractCostValue": 900.0,
                  "startDate": "2026-01-01T00:00:00",
                  "endDate": "2026-12-31T00:00:00",
                  "observation": "Annual renewal; first-response SLA within four business hours.",
                  "totalHours": 120,
                  "covenantId": "c4a2b8e1-7f3d-4a91-9c62-1e8b5d7a3f21",
                  "canceled": false,
                  "usedHours": 12.5,
                  "availableHours": 107.5
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "EntityContract"
        ],
        "summary": "Updates an existing entity contract by ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the entity contract to update.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The updated entity contract data.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EntityContractUpdateDTO"
              },
              "example": {
                "entityKeyId": "1",
                "contractGroupId": 1,
                "contractTypeId": 1,
                "contractValue": 1600.0,
                "contractValueRp": 1900.0,
                "contractCostValue": 950.0,
                "startDate": "2026-01-01T00:00:00",
                "endDate": "2027-12-31T00:00:00",
                "observation": "Renewal with repricing and an expanded hour bank.",
                "totalHours": 150,
                "covenantId": "c4a2b8e1-7f3d-4a91-9c62-1e8b5d7a3f21",
                "canceled": false
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EntityContractUpdateDTO"
              },
              "example": {
                "entityKeyId": "1",
                "contractGroupId": 1,
                "contractTypeId": 1,
                "contractValue": 1600.0,
                "contractValueRp": 1900.0,
                "contractCostValue": 950.0,
                "startDate": "2026-01-01T00:00:00",
                "endDate": "2027-12-31T00:00:00",
                "observation": "Renewal with repricing and an expanded hour bank.",
                "totalHours": 150,
                "covenantId": "c4a2b8e1-7f3d-4a91-9c62-1e8b5d7a3f21",
                "canceled": false
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EntityContractUpdateDTO"
              },
              "example": {
                "entityKeyId": "1",
                "contractGroupId": 1,
                "contractTypeId": 1,
                "contractValue": 1600.0,
                "contractValueRp": 1900.0,
                "contractCostValue": 950.0,
                "startDate": "2026-01-01T00:00:00",
                "endDate": "2027-12-31T00:00:00",
                "observation": "Renewal with repricing and an expanded hour bank.",
                "totalHours": 150,
                "covenantId": "c4a2b8e1-7f3d-4a91-9c62-1e8b5d7a3f21",
                "canceled": false
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "EntityContract"
        ],
        "summary": "Deletes an entity contract by ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the entity contract to delete.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/entity-contract/{id}/has-documents": {
      "get": {
        "tags": [
          "EntityContract"
        ],
        "summary": "Checks whether an entity contract has associated service orders or interventions.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the entity contract.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "boolean"
                },
                "example": true
              },
              "application/json": {
                "schema": {
                  "type": "boolean"
                },
                "example": true
              },
              "text/json": {
                "schema": {
                  "type": "boolean"
                },
                "example": true
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/entity-contract/next-id": {
      "get": {
        "tags": [
          "EntityContract"
        ],
        "summary": "Gets the next available entity contract ID.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                },
                "example": 1
              },
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                },
                "example": 1
              },
              "text/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                },
                "example": 1
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/entity-group": {
      "get": {
        "tags": [
          "EntityGroup"
        ],
        "summary": "Retrieves a paginated list of all entity groups.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of records per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/EntityGroupDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "Retalho — restauração",
                      "defaultPaymentMode": null,
                      "defaultPaymentModeDescription": null,
                      "defaultPaymentType": null,
                      "defaultPaymentTypeDescription": null,
                      "priceLine": 2,
                      "alertCredit": null,
                      "limitCreditType": null,
                      "limitCredit": null,
                      "limitDays": null,
                      "discount": 5.0
                    },
                    {
                      "id": 2,
                      "description": "Indústria — matérias-primas",
                      "defaultPaymentMode": null,
                      "defaultPaymentModeDescription": null,
                      "defaultPaymentType": null,
                      "defaultPaymentTypeDescription": null,
                      "priceLine": 5,
                      "alertCredit": null,
                      "limitCreditType": null,
                      "limitCredit": null,
                      "limitDays": null,
                      "discount": 2.5
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityGroupDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "Retalho — restauração",
                      "defaultPaymentMode": null,
                      "defaultPaymentModeDescription": null,
                      "defaultPaymentType": null,
                      "defaultPaymentTypeDescription": null,
                      "priceLine": 2,
                      "alertCredit": null,
                      "limitCreditType": null,
                      "limitCredit": null,
                      "limitDays": null,
                      "discount": 5.0
                    },
                    {
                      "id": 2,
                      "description": "Indústria — matérias-primas",
                      "defaultPaymentMode": null,
                      "defaultPaymentModeDescription": null,
                      "defaultPaymentType": null,
                      "defaultPaymentTypeDescription": null,
                      "priceLine": 5,
                      "alertCredit": null,
                      "limitCreditType": null,
                      "limitCredit": null,
                      "limitDays": null,
                      "discount": 2.5
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityGroupDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "Retalho — restauração",
                      "defaultPaymentMode": null,
                      "defaultPaymentModeDescription": null,
                      "defaultPaymentType": null,
                      "defaultPaymentTypeDescription": null,
                      "priceLine": 2,
                      "alertCredit": null,
                      "limitCreditType": null,
                      "limitCredit": null,
                      "limitDays": null,
                      "discount": 5.0
                    },
                    {
                      "id": 2,
                      "description": "Indústria — matérias-primas",
                      "defaultPaymentMode": null,
                      "defaultPaymentModeDescription": null,
                      "defaultPaymentType": null,
                      "defaultPaymentTypeDescription": null,
                      "priceLine": 5,
                      "alertCredit": null,
                      "limitCreditType": null,
                      "limitCredit": null,
                      "limitDays": null,
                      "discount": 2.5
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "EntityGroup"
        ],
        "summary": "Creates a new entity group.",
        "requestBody": {
          "description": "Entity group creation data transfer object.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EntityGroupRequestDTO"
              },
              "example": {
                "description": "Clientes Premium",
                "defaultPaymentMode": 1,
                "defaultPaymentType": 1,
                "priceLine": 0,
                "alertCredit": 1000,
                "limitCreditType": 0,
                "limitCredit": 5000,
                "limitDays": 30,
                "discount": 10
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EntityGroupRequestDTO"
              },
              "example": {
                "description": "Clientes Premium",
                "defaultPaymentMode": 1,
                "defaultPaymentType": 1,
                "priceLine": 0,
                "alertCredit": 1000,
                "limitCreditType": 0,
                "limitCredit": 5000,
                "limitDays": 30,
                "discount": 10
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EntityGroupRequestDTO"
              },
              "example": {
                "description": "Clientes Premium",
                "defaultPaymentMode": 1,
                "defaultPaymentType": 1,
                "priceLine": 0,
                "alertCredit": 1000,
                "limitCreditType": 0,
                "limitCredit": 5000,
                "limitDays": 30,
                "discount": 10
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/entity-group/{id}": {
      "get": {
        "tags": [
          "EntityGroup"
        ],
        "summary": "Retrieves an entity group by its identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Entity group identifier.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/EntityGroupDTO"
                },
                "example": {
                  "id": 1,
                  "description": "Retalho — restauração",
                  "defaultPaymentMode": 1,
                  "defaultPaymentModeDescription": "Pronto pagamento",
                  "defaultPaymentType": 1,
                  "defaultPaymentTypeDescription": "Numerário",
                  "priceLine": 2,
                  "alertCredit": null,
                  "limitCreditType": null,
                  "limitCredit": null,
                  "limitDays": null,
                  "discount": 5.0
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityGroupDTO"
                },
                "example": {
                  "id": 1,
                  "description": "Retalho — restauração",
                  "defaultPaymentMode": 1,
                  "defaultPaymentModeDescription": "Pronto pagamento",
                  "defaultPaymentType": 1,
                  "defaultPaymentTypeDescription": "Numerário",
                  "priceLine": 2,
                  "alertCredit": null,
                  "limitCreditType": null,
                  "limitCredit": null,
                  "limitDays": null,
                  "discount": 5.0
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityGroupDTO"
                },
                "example": {
                  "id": 1,
                  "description": "Retalho — restauração",
                  "defaultPaymentMode": 1,
                  "defaultPaymentModeDescription": "Pronto pagamento",
                  "defaultPaymentType": 1,
                  "defaultPaymentTypeDescription": "Numerário",
                  "priceLine": 2,
                  "alertCredit": null,
                  "limitCreditType": null,
                  "limitCredit": null,
                  "limitDays": null,
                  "discount": 5.0
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "EntityGroup"
        ],
        "summary": "Updates an existing entity group by its identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Entity group identifier.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "Entity group update data transfer object.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EntityGroupUpdateDTO"
              },
              "example": {
                "description": "Clientes Premium",
                "defaultPaymentMode": 1,
                "defaultPaymentType": 1,
                "priceLine": 0,
                "alertCredit": 1000,
                "limitCreditType": 0,
                "limitCredit": 5000,
                "limitDays": 30,
                "discount": 10
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EntityGroupUpdateDTO"
              },
              "example": {
                "description": "Clientes Premium",
                "defaultPaymentMode": 1,
                "defaultPaymentType": 1,
                "priceLine": 0,
                "alertCredit": 1000,
                "limitCreditType": 0,
                "limitCredit": 5000,
                "limitDays": 30,
                "discount": 10
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EntityGroupUpdateDTO"
              },
              "example": {
                "description": "Clientes Premium",
                "defaultPaymentMode": 1,
                "defaultPaymentType": 1,
                "priceLine": 0,
                "alertCredit": 1000,
                "limitCreditType": 0,
                "limitCredit": 5000,
                "limitDays": 30,
                "discount": 10
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/EntityGroupDTO"
                },
                "example": {
                  "id": 1,
                  "description": "Retalho — restauração",
                  "defaultPaymentMode": 1,
                  "defaultPaymentModeDescription": "Pronto pagamento",
                  "defaultPaymentType": 1,
                  "defaultPaymentTypeDescription": "Numerário",
                  "priceLine": 2,
                  "alertCredit": null,
                  "limitCreditType": null,
                  "limitCredit": null,
                  "limitDays": null,
                  "discount": 5.0
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityGroupDTO"
                },
                "example": {
                  "id": 1,
                  "description": "Retalho — restauração",
                  "defaultPaymentMode": 1,
                  "defaultPaymentModeDescription": "Pronto pagamento",
                  "defaultPaymentType": 1,
                  "defaultPaymentTypeDescription": "Numerário",
                  "priceLine": 2,
                  "alertCredit": null,
                  "limitCreditType": null,
                  "limitCredit": null,
                  "limitDays": null,
                  "discount": 5.0
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityGroupDTO"
                },
                "example": {
                  "id": 1,
                  "description": "Retalho — restauração",
                  "defaultPaymentMode": 1,
                  "defaultPaymentModeDescription": "Pronto pagamento",
                  "defaultPaymentType": 1,
                  "defaultPaymentTypeDescription": "Numerário",
                  "priceLine": 2,
                  "alertCredit": null,
                  "limitCreditType": null,
                  "limitCredit": null,
                  "limitDays": null,
                  "discount": 5.0
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "EntityGroup"
        ],
        "summary": "Deletes an entity group by its identifier. Only administrators can delete entity groups.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Entity group identifier.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/entity-group/next-id": {
      "get": {
        "tags": [
          "EntityGroup"
        ],
        "summary": "Retrieves the next available entity group identifier.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "text/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/entity-models": {
      "get": {
        "tags": [
          "EntityModels"
        ],
        "summary": "Gets a list of entity models. If entityType is provided, filters by that type.",
        "parameters": [
          {
            "name": "entityType",
            "in": "query",
            "description": "Optional entity type to filter.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EntityModelDTO"
                  }
                },
                "example": [
                  {
                    "guid": "a1b2c3d4-e5f6-7890-abcd-ef0123456001",
                    "name": "ModeloLojaRetalho",
                    "description": "Modelo padrão para retalho",
                    "entityType": "1",
                    "entityData": "{}",
                    "isDefault": true
                  },
                  {
                    "guid": "a1b2c3d4-e5f6-7890-abcd-ef0123456002",
                    "name": "ModeloFornecedor",
                    "description": "Modelo para entidades fornecedoras",
                    "entityType": "2",
                    "entityData": "{}",
                    "isDefault": false
                  }
                ]
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EntityModelDTO"
                  }
                },
                "example": [
                  {
                    "guid": "a1b2c3d4-e5f6-7890-abcd-ef0123456001",
                    "name": "ModeloLojaRetalho",
                    "description": "Modelo padrão para retalho",
                    "entityType": "1",
                    "entityData": "{}",
                    "isDefault": true
                  },
                  {
                    "guid": "a1b2c3d4-e5f6-7890-abcd-ef0123456002",
                    "name": "ModeloFornecedor",
                    "description": "Modelo para entidades fornecedoras",
                    "entityType": "2",
                    "entityData": "{}",
                    "isDefault": false
                  }
                ]
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EntityModelDTO"
                  }
                },
                "example": [
                  {
                    "guid": "a1b2c3d4-e5f6-7890-abcd-ef0123456001",
                    "name": "ModeloLojaRetalho",
                    "description": "Modelo padrão para retalho",
                    "entityType": "1",
                    "entityData": "{}",
                    "isDefault": true
                  },
                  {
                    "guid": "a1b2c3d4-e5f6-7890-abcd-ef0123456002",
                    "name": "ModeloFornecedor",
                    "description": "Modelo para entidades fornecedoras",
                    "entityType": "2",
                    "entityData": "{}",
                    "isDefault": false
                  }
                ]
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "EntityModels"
        ],
        "summary": "Creates a new entity model.",
        "requestBody": {
          "description": "The entity model data to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EntityModelDTO"
              },
              "example": {
                "guid": "a7b8c9d0-e1f2-3456-7890-abcdef012345",
                "name": "ClientePadrao",
                "description": "Modelo padrao para clientes nacionais",
                "entityType": "1",
                "entityData": "{}",
                "isDefault": true
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EntityModelDTO"
              },
              "example": {
                "guid": "a7b8c9d0-e1f2-3456-7890-abcdef012345",
                "name": "ClientePadrao",
                "description": "Modelo padrao para clientes nacionais",
                "entityType": "1",
                "entityData": "{}",
                "isDefault": true
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EntityModelDTO"
              },
              "example": {
                "guid": "a7b8c9d0-e1f2-3456-7890-abcdef012345",
                "name": "ClientePadrao",
                "description": "Modelo padrao para clientes nacionais",
                "entityType": "1",
                "entityData": "{}",
                "isDefault": true
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "EntityModels"
        ],
        "summary": "Updates an existing entity model.",
        "requestBody": {
          "description": "The updated entity model data.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EntityModelDTO"
              },
              "example": {
                "guid": "a7b8c9d0-e1f2-3456-7890-abcdef012345",
                "name": "ClientePadrao",
                "description": "Modelo padrao para clientes nacionais",
                "entityType": "1",
                "entityData": "{}",
                "isDefault": true
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EntityModelDTO"
              },
              "example": {
                "guid": "a7b8c9d0-e1f2-3456-7890-abcdef012345",
                "name": "ClientePadrao",
                "description": "Modelo padrao para clientes nacionais",
                "entityType": "1",
                "entityData": "{}",
                "isDefault": true
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EntityModelDTO"
              },
              "example": {
                "guid": "a7b8c9d0-e1f2-3456-7890-abcdef012345",
                "name": "ClientePadrao",
                "description": "Modelo padrao para clientes nacionais",
                "entityType": "1",
                "entityData": "{}",
                "isDefault": true
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/entity-models/{guid}": {
      "get": {
        "tags": [
          "EntityModels"
        ],
        "summary": "Retrieves an entity model by its string GUID.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "entity model identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/EntityModelDTO"
                },
                "example": {
                  "guid": "a7b8c9d0-e1f2-3456-7890-abcdef012345",
                  "name": "ClientePadrao",
                  "description": "Modelo padrao para clientes nacionais",
                  "entityType": "1",
                  "entityData": "{}",
                  "isDefault": true
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityModelDTO"
                },
                "example": {
                  "guid": "a7b8c9d0-e1f2-3456-7890-abcdef012345",
                  "name": "ClientePadrao",
                  "description": "Modelo padrao para clientes nacionais",
                  "entityType": "1",
                  "entityData": "{}",
                  "isDefault": true
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityModelDTO"
                },
                "example": {
                  "guid": "a7b8c9d0-e1f2-3456-7890-abcdef012345",
                  "name": "ClientePadrao",
                  "description": "Modelo padrao para clientes nacionais",
                  "entityType": "1",
                  "entityData": "{}",
                  "isDefault": true
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "EntityModels"
        ],
        "summary": "Deletes a entity model by its GUID.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "The GUID of the entity model to delete.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/gateway/entity-type": {
      "get": {
        "tags": [
          "EntityType"
        ],
        "summary": "Retrieves a paginated list of all entity types.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of records per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/EntityTypeDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "Cliente",
                      "useConfig": true,
                      "prefix": "CLI",
                      "startingNumber": 1,
                      "padding": 5,
                      "sensitiveLevel": 0
                    },
                    {
                      "id": 2,
                      "description": "Fornecedor",
                      "useConfig": true,
                      "prefix": "FORN",
                      "startingNumber": 100,
                      "padding": 4,
                      "sensitiveLevel": 0
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityTypeDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "Cliente",
                      "useConfig": true,
                      "prefix": "CLI",
                      "startingNumber": 1,
                      "padding": 5,
                      "sensitiveLevel": 0
                    },
                    {
                      "id": 2,
                      "description": "Fornecedor",
                      "useConfig": true,
                      "prefix": "FORN",
                      "startingNumber": 100,
                      "padding": 4,
                      "sensitiveLevel": 0
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityTypeDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "Cliente",
                      "useConfig": true,
                      "prefix": "CLI",
                      "startingNumber": 1,
                      "padding": 5,
                      "sensitiveLevel": 0
                    },
                    {
                      "id": 2,
                      "description": "Fornecedor",
                      "useConfig": true,
                      "prefix": "FORN",
                      "startingNumber": 100,
                      "padding": 4,
                      "sensitiveLevel": 0
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "EntityType"
        ],
        "summary": "Creates a new entity type.",
        "requestBody": {
          "description": "Entity type data transfer object.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EntityTypeDTO"
              },
              "example": {
                "id": 1,
                "description": "Cliente",
                "useConfig": true,
                "prefix": "CLI",
                "startingNumber": 1,
                "padding": 5,
                "sensitiveLevel": 0
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EntityTypeDTO"
              },
              "example": {
                "id": 1,
                "description": "Cliente",
                "useConfig": true,
                "prefix": "CLI",
                "startingNumber": 1,
                "padding": 5,
                "sensitiveLevel": 0
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EntityTypeDTO"
              },
              "example": {
                "id": 1,
                "description": "Cliente",
                "useConfig": true,
                "prefix": "CLI",
                "startingNumber": 1,
                "padding": 5,
                "sensitiveLevel": 0
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "EntityType"
        ],
        "summary": "Updates an existing entity type.",
        "requestBody": {
          "description": "Entity type data transfer object.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EntityTypeDTO"
              },
              "example": {
                "id": 1,
                "description": "Cliente",
                "useConfig": true,
                "prefix": "CLI",
                "startingNumber": 1,
                "padding": 5,
                "sensitiveLevel": 0
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EntityTypeDTO"
              },
              "example": {
                "id": 1,
                "description": "Cliente",
                "useConfig": true,
                "prefix": "CLI",
                "startingNumber": 1,
                "padding": 5,
                "sensitiveLevel": 0
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EntityTypeDTO"
              },
              "example": {
                "id": 1,
                "description": "Cliente",
                "useConfig": true,
                "prefix": "CLI",
                "startingNumber": 1,
                "padding": 5,
                "sensitiveLevel": 0
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/entity-type/{id}": {
      "get": {
        "tags": [
          "EntityType"
        ],
        "summary": "Retrieves an entity type by its integer ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Entity type identifier.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/EntityTypeDTO"
                },
                "example": {
                  "id": 1,
                  "description": "Cliente",
                  "useConfig": true,
                  "prefix": "CLI",
                  "startingNumber": 1,
                  "padding": 5,
                  "sensitiveLevel": 0
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityTypeDTO"
                },
                "example": {
                  "id": 1,
                  "description": "Cliente",
                  "useConfig": true,
                  "prefix": "CLI",
                  "startingNumber": 1,
                  "padding": 5,
                  "sensitiveLevel": 0
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityTypeDTO"
                },
                "example": {
                  "id": 1,
                  "description": "Cliente",
                  "useConfig": true,
                  "prefix": "CLI",
                  "startingNumber": 1,
                  "padding": 5,
                  "sensitiveLevel": 0
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "EntityType"
        ],
        "summary": "Deletes an entity type by its integer ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Entity type identifier.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/entity-type/next-id": {
      "get": {
        "tags": [
          "EntityType"
        ],
        "summary": "Retrieves the next available entity type ID.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "text/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/entity/{keyId}": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Retrieves an entity by its key identifier.",
        "parameters": [
          {
            "name": "keyId",
            "in": "path",
            "description": "Entity identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/EntityDTO"
                },
                "example": {
                  "id": 0,
                  "keyId": "ENT001",
                  "entityType": 1,
                  "name": "Pastelaria Central, Lda.",
                  "address": "Rua Augusta 15",
                  "postalCode": "1100-053",
                  "city": "Lisboa",
                  "state": null,
                  "country": "PT",
                  "vat": "501234567",
                  "bankName": null,
                  "bankIdentifierCode": null,
                  "bankIBAN": null,
                  "bankCardNumber": null,
                  "contactName": null,
                  "contactPhone": null,
                  "phone1": "+351 213 456 789",
                  "phone2": null,
                  "phone3": null,
                  "phone4": null,
                  "mobilePhone1": null,
                  "mobilePhone2": null,
                  "fax1": null,
                  "fax2": null,
                  "contactEmail": null,
                  "email1": "geral@pastelariacentral.pt",
                  "email2": null,
                  "webSite": null,
                  "faceBook": null,
                  "linkedIn": null,
                  "skype": null,
                  "obs": null,
                  "limitCredit": null,
                  "lastPurchase": null,
                  "balance": null,
                  "discount": null,
                  "dateOfBirth": null,
                  "password": null,
                  "defaultRetailPrice": null,
                  "defaultPaymentType": null,
                  "latitude": null,
                  "longitude": null,
                  "alertCredit": 0,
                  "deliveryTaxItemId": null,
                  "holdingTax": false,
                  "holdingTaxAmount": null,
                  "holdingTaxType": 0,
                  "picturePath": null,
                  "alertMessage": false,
                  "forbiddenDocuments": false,
                  "defaultPaymentMode": 0,
                  "syncStamp": null,
                  "salesMan": 0,
                  "gender": false,
                  "customerCardNumber": null,
                  "customerCardExpirationDate": null,
                  "customerCardDays": 0,
                  "carrierDescription": null,
                  "cashRegime": 0,
                  "customerCard": null,
                  "regionId": 0,
                  "priceLine": 0,
                  "identificationNumber": null,
                  "deliveryOccurrence": null,
                  "inactive": false,
                  "grouping": null,
                  "pictureId": null,
                  "thumbId": null,
                  "bioGuid": null,
                  "schedulerResource": null,
                  "accountancyCode": null,
                  "salesZoneId": 0,
                  "bankAccount": null,
                  "dateOfSignature": null,
                  "warningMessage": null,
                  "limitDays": 0,
                  "entityGroupId": 0,
                  "limitCreditType": 0,
                  "warehouseId": 0,
                  "applyEcoTaxOnSale": false,
                  "insurance": null,
                  "webPassword": null,
                  "relatedEntityKeyId": null,
                  "businessName": "Pastelaria Central, Lda.",
                  "creationDate": null,
                  "entityCommission": 0,
                  "entityGuid": null,
                  "entityConsentmentStatus": 0,
                  "forgetfulnessReason": null,
                  "identificationIssuerCountry": null,
                  "portNumber": null,
                  "municipalCode": 0,
                  "documentType": 0,
                  "electronicInvoice": false,
                  "qeroSubscriber": false,
                  "cloudSyncStamp": null,
                  "identificationNumberInd": 0,
                  "qeroSubscriptionDate": null,
                  "syncGuid": null,
                  "feapBroker": 0,
                  "addressLine2": null,
                  "neighborhood": null,
                  "complement": null,
                  "reference": null,
                  "deliveryRegionId": null,
                  "isExcludedFromDueNoticesMail": false
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityDTO"
                },
                "example": {
                  "id": 0,
                  "keyId": "ENT001",
                  "entityType": 1,
                  "name": "Pastelaria Central, Lda.",
                  "address": "Rua Augusta 15",
                  "postalCode": "1100-053",
                  "city": "Lisboa",
                  "state": null,
                  "country": "PT",
                  "vat": "501234567",
                  "bankName": null,
                  "bankIdentifierCode": null,
                  "bankIBAN": null,
                  "bankCardNumber": null,
                  "contactName": null,
                  "contactPhone": null,
                  "phone1": "+351 213 456 789",
                  "phone2": null,
                  "phone3": null,
                  "phone4": null,
                  "mobilePhone1": null,
                  "mobilePhone2": null,
                  "fax1": null,
                  "fax2": null,
                  "contactEmail": null,
                  "email1": "geral@pastelariacentral.pt",
                  "email2": null,
                  "webSite": null,
                  "faceBook": null,
                  "linkedIn": null,
                  "skype": null,
                  "obs": null,
                  "limitCredit": null,
                  "lastPurchase": null,
                  "balance": null,
                  "discount": null,
                  "dateOfBirth": null,
                  "password": null,
                  "defaultRetailPrice": null,
                  "defaultPaymentType": null,
                  "latitude": null,
                  "longitude": null,
                  "alertCredit": 0,
                  "deliveryTaxItemId": null,
                  "holdingTax": false,
                  "holdingTaxAmount": null,
                  "holdingTaxType": 0,
                  "picturePath": null,
                  "alertMessage": false,
                  "forbiddenDocuments": false,
                  "defaultPaymentMode": 0,
                  "syncStamp": null,
                  "salesMan": 0,
                  "gender": false,
                  "customerCardNumber": null,
                  "customerCardExpirationDate": null,
                  "customerCardDays": 0,
                  "carrierDescription": null,
                  "cashRegime": 0,
                  "customerCard": null,
                  "regionId": 0,
                  "priceLine": 0,
                  "identificationNumber": null,
                  "deliveryOccurrence": null,
                  "inactive": false,
                  "grouping": null,
                  "pictureId": null,
                  "thumbId": null,
                  "bioGuid": null,
                  "schedulerResource": null,
                  "accountancyCode": null,
                  "salesZoneId": 0,
                  "bankAccount": null,
                  "dateOfSignature": null,
                  "warningMessage": null,
                  "limitDays": 0,
                  "entityGroupId": 0,
                  "limitCreditType": 0,
                  "warehouseId": 0,
                  "applyEcoTaxOnSale": false,
                  "insurance": null,
                  "webPassword": null,
                  "relatedEntityKeyId": null,
                  "businessName": "Pastelaria Central, Lda.",
                  "creationDate": null,
                  "entityCommission": 0,
                  "entityGuid": null,
                  "entityConsentmentStatus": 0,
                  "forgetfulnessReason": null,
                  "identificationIssuerCountry": null,
                  "portNumber": null,
                  "municipalCode": 0,
                  "documentType": 0,
                  "electronicInvoice": false,
                  "qeroSubscriber": false,
                  "cloudSyncStamp": null,
                  "identificationNumberInd": 0,
                  "qeroSubscriptionDate": null,
                  "syncGuid": null,
                  "feapBroker": 0,
                  "addressLine2": null,
                  "neighborhood": null,
                  "complement": null,
                  "reference": null,
                  "deliveryRegionId": null,
                  "isExcludedFromDueNoticesMail": false
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityDTO"
                },
                "example": {
                  "id": 0,
                  "keyId": "ENT001",
                  "entityType": 1,
                  "name": "Pastelaria Central, Lda.",
                  "address": "Rua Augusta 15",
                  "postalCode": "1100-053",
                  "city": "Lisboa",
                  "state": null,
                  "country": "PT",
                  "vat": "501234567",
                  "bankName": null,
                  "bankIdentifierCode": null,
                  "bankIBAN": null,
                  "bankCardNumber": null,
                  "contactName": null,
                  "contactPhone": null,
                  "phone1": "+351 213 456 789",
                  "phone2": null,
                  "phone3": null,
                  "phone4": null,
                  "mobilePhone1": null,
                  "mobilePhone2": null,
                  "fax1": null,
                  "fax2": null,
                  "contactEmail": null,
                  "email1": "geral@pastelariacentral.pt",
                  "email2": null,
                  "webSite": null,
                  "faceBook": null,
                  "linkedIn": null,
                  "skype": null,
                  "obs": null,
                  "limitCredit": null,
                  "lastPurchase": null,
                  "balance": null,
                  "discount": null,
                  "dateOfBirth": null,
                  "password": null,
                  "defaultRetailPrice": null,
                  "defaultPaymentType": null,
                  "latitude": null,
                  "longitude": null,
                  "alertCredit": 0,
                  "deliveryTaxItemId": null,
                  "holdingTax": false,
                  "holdingTaxAmount": null,
                  "holdingTaxType": 0,
                  "picturePath": null,
                  "alertMessage": false,
                  "forbiddenDocuments": false,
                  "defaultPaymentMode": 0,
                  "syncStamp": null,
                  "salesMan": 0,
                  "gender": false,
                  "customerCardNumber": null,
                  "customerCardExpirationDate": null,
                  "customerCardDays": 0,
                  "carrierDescription": null,
                  "cashRegime": 0,
                  "customerCard": null,
                  "regionId": 0,
                  "priceLine": 0,
                  "identificationNumber": null,
                  "deliveryOccurrence": null,
                  "inactive": false,
                  "grouping": null,
                  "pictureId": null,
                  "thumbId": null,
                  "bioGuid": null,
                  "schedulerResource": null,
                  "accountancyCode": null,
                  "salesZoneId": 0,
                  "bankAccount": null,
                  "dateOfSignature": null,
                  "warningMessage": null,
                  "limitDays": 0,
                  "entityGroupId": 0,
                  "limitCreditType": 0,
                  "warehouseId": 0,
                  "applyEcoTaxOnSale": false,
                  "insurance": null,
                  "webPassword": null,
                  "relatedEntityKeyId": null,
                  "businessName": "Pastelaria Central, Lda.",
                  "creationDate": null,
                  "entityCommission": 0,
                  "entityGuid": null,
                  "entityConsentmentStatus": 0,
                  "forgetfulnessReason": null,
                  "identificationIssuerCountry": null,
                  "portNumber": null,
                  "municipalCode": 0,
                  "documentType": 0,
                  "electronicInvoice": false,
                  "qeroSubscriber": false,
                  "cloudSyncStamp": null,
                  "identificationNumberInd": 0,
                  "qeroSubscriptionDate": null,
                  "syncGuid": null,
                  "feapBroker": 0,
                  "addressLine2": null,
                  "neighborhood": null,
                  "complement": null,
                  "reference": null,
                  "deliveryRegionId": null,
                  "isExcludedFromDueNoticesMail": false
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Entity"
        ],
        "summary": "Updates an existing entity by its key identifier.",
        "parameters": [
          {
            "name": "keyId",
            "in": "path",
            "description": "Entity identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Entity update data transfer object.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EntityUpdateDTO"
              },
              "example": {
                "entityType": 1,
                "name": "Maria Silva",
                "businessName": "Silva & Filhos, Lda.",
                "address": "Rua Augusta, 100",
                "postalCode": "1100-053",
                "city": "Lisboa",
                "state": "Lisboa",
                "country": "PT",
                "vat": "123456789",
                "bankName": null,
                "bankIdentifierCode": null,
                "bankIban": null,
                "bankCardNumber": null,
                "contactName": null,
                "contactPhone": null,
                "phone1": "+351 210 000 001",
                "phone2": null,
                "phone3": null,
                "phone4": null,
                "mobilePhone1": "+351 912 345 678",
                "mobilePhone2": null,
                "fax1": null,
                "fax2": null,
                "contactEmail": null,
                "email1": "maria.silva@example.com",
                "email2": null,
                "webSite": null,
                "faceBook": null,
                "linkedIn": null,
                "skype": null,
                "obs": null,
                "limitCredit": 5000,
                "lastPurchase": null,
                "balance": null,
                "discount": 5,
                "dateOfBirth": null,
                "password": null,
                "defaultRetailPrice": null,
                "defaultPaymentType": 1,
                "latitude": null,
                "longitude": null,
                "alertCredit": null,
                "deliveryTaxItemId": null,
                "holdingTax": false,
                "holdingTaxAmount": null,
                "holdingTaxType": null,
                "picturePath": null,
                "alertMessage": null,
                "forbiddenDocuments": null,
                "defaultPaymentMode": 1,
                "syncStamp": null,
                "salesMan": null,
                "gender": null,
                "customerCardNumber": null,
                "customerCardExpirationDate": null,
                "customerCardDays": null,
                "carrierDescription": null,
                "cashRegime": null,
                "customerCard": null,
                "regionId": null,
                "priceLine": null,
                "identificationNumber": null,
                "deliveryOccurrence": null,
                "inactive": false,
                "grouping": null,
                "pictureId": null,
                "thumbId": null,
                "bioGuid": null,
                "schedulerResource": null,
                "accountancyCode": null,
                "salesZoneId": null,
                "bankAccount": null,
                "dateOfSignature": null,
                "warningMessage": null,
                "limitDays": 30,
                "entityGroupId": 1,
                "limitCreditType": 0,
                "warehouseId": null,
                "applyEcoTaxOnSale": null,
                "insurance": null,
                "webPassword": null,
                "relatedEntityKeyId": null,
                "creationDate": null,
                "entityCommission": null,
                "entityConsentmentStatus": null,
                "forgetfulnessReason": null,
                "identificationIssuerCountry": "PT",
                "portNumber": null,
                "municipalCode": null,
                "documentType": null,
                "electronicInvoice": null,
                "qeroSubscriber": null,
                "cloudSyncStamp": null,
                "identificationNumberInd": null,
                "qeroSubscriptionDate": null,
                "syncGuid": null,
                "feapbroker": null,
                "addressLine2": null,
                "neighborhood": null,
                "complement": null,
                "reference": null,
                "deliveryRegionId": null,
                "isExcludedFromDueNoticesMail": null,
                "types": [
                  1,
                  2
                ]
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EntityUpdateDTO"
              },
              "example": {
                "entityType": 1,
                "name": "Maria Silva",
                "businessName": "Silva & Filhos, Lda.",
                "address": "Rua Augusta, 100",
                "postalCode": "1100-053",
                "city": "Lisboa",
                "state": "Lisboa",
                "country": "PT",
                "vat": "123456789",
                "bankName": null,
                "bankIdentifierCode": null,
                "bankIban": null,
                "bankCardNumber": null,
                "contactName": null,
                "contactPhone": null,
                "phone1": "+351 210 000 001",
                "phone2": null,
                "phone3": null,
                "phone4": null,
                "mobilePhone1": "+351 912 345 678",
                "mobilePhone2": null,
                "fax1": null,
                "fax2": null,
                "contactEmail": null,
                "email1": "maria.silva@example.com",
                "email2": null,
                "webSite": null,
                "faceBook": null,
                "linkedIn": null,
                "skype": null,
                "obs": null,
                "limitCredit": 5000,
                "lastPurchase": null,
                "balance": null,
                "discount": 5,
                "dateOfBirth": null,
                "password": null,
                "defaultRetailPrice": null,
                "defaultPaymentType": 1,
                "latitude": null,
                "longitude": null,
                "alertCredit": null,
                "deliveryTaxItemId": null,
                "holdingTax": false,
                "holdingTaxAmount": null,
                "holdingTaxType": null,
                "picturePath": null,
                "alertMessage": null,
                "forbiddenDocuments": null,
                "defaultPaymentMode": 1,
                "syncStamp": null,
                "salesMan": null,
                "gender": null,
                "customerCardNumber": null,
                "customerCardExpirationDate": null,
                "customerCardDays": null,
                "carrierDescription": null,
                "cashRegime": null,
                "customerCard": null,
                "regionId": null,
                "priceLine": null,
                "identificationNumber": null,
                "deliveryOccurrence": null,
                "inactive": false,
                "grouping": null,
                "pictureId": null,
                "thumbId": null,
                "bioGuid": null,
                "schedulerResource": null,
                "accountancyCode": null,
                "salesZoneId": null,
                "bankAccount": null,
                "dateOfSignature": null,
                "warningMessage": null,
                "limitDays": 30,
                "entityGroupId": 1,
                "limitCreditType": 0,
                "warehouseId": null,
                "applyEcoTaxOnSale": null,
                "insurance": null,
                "webPassword": null,
                "relatedEntityKeyId": null,
                "creationDate": null,
                "entityCommission": null,
                "entityConsentmentStatus": null,
                "forgetfulnessReason": null,
                "identificationIssuerCountry": "PT",
                "portNumber": null,
                "municipalCode": null,
                "documentType": null,
                "electronicInvoice": null,
                "qeroSubscriber": null,
                "cloudSyncStamp": null,
                "identificationNumberInd": null,
                "qeroSubscriptionDate": null,
                "syncGuid": null,
                "feapbroker": null,
                "addressLine2": null,
                "neighborhood": null,
                "complement": null,
                "reference": null,
                "deliveryRegionId": null,
                "isExcludedFromDueNoticesMail": null,
                "types": [
                  1,
                  2
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EntityUpdateDTO"
              },
              "example": {
                "entityType": 1,
                "name": "Maria Silva",
                "businessName": "Silva & Filhos, Lda.",
                "address": "Rua Augusta, 100",
                "postalCode": "1100-053",
                "city": "Lisboa",
                "state": "Lisboa",
                "country": "PT",
                "vat": "123456789",
                "bankName": null,
                "bankIdentifierCode": null,
                "bankIban": null,
                "bankCardNumber": null,
                "contactName": null,
                "contactPhone": null,
                "phone1": "+351 210 000 001",
                "phone2": null,
                "phone3": null,
                "phone4": null,
                "mobilePhone1": "+351 912 345 678",
                "mobilePhone2": null,
                "fax1": null,
                "fax2": null,
                "contactEmail": null,
                "email1": "maria.silva@example.com",
                "email2": null,
                "webSite": null,
                "faceBook": null,
                "linkedIn": null,
                "skype": null,
                "obs": null,
                "limitCredit": 5000,
                "lastPurchase": null,
                "balance": null,
                "discount": 5,
                "dateOfBirth": null,
                "password": null,
                "defaultRetailPrice": null,
                "defaultPaymentType": 1,
                "latitude": null,
                "longitude": null,
                "alertCredit": null,
                "deliveryTaxItemId": null,
                "holdingTax": false,
                "holdingTaxAmount": null,
                "holdingTaxType": null,
                "picturePath": null,
                "alertMessage": null,
                "forbiddenDocuments": null,
                "defaultPaymentMode": 1,
                "syncStamp": null,
                "salesMan": null,
                "gender": null,
                "customerCardNumber": null,
                "customerCardExpirationDate": null,
                "customerCardDays": null,
                "carrierDescription": null,
                "cashRegime": null,
                "customerCard": null,
                "regionId": null,
                "priceLine": null,
                "identificationNumber": null,
                "deliveryOccurrence": null,
                "inactive": false,
                "grouping": null,
                "pictureId": null,
                "thumbId": null,
                "bioGuid": null,
                "schedulerResource": null,
                "accountancyCode": null,
                "salesZoneId": null,
                "bankAccount": null,
                "dateOfSignature": null,
                "warningMessage": null,
                "limitDays": 30,
                "entityGroupId": 1,
                "limitCreditType": 0,
                "warehouseId": null,
                "applyEcoTaxOnSale": null,
                "insurance": null,
                "webPassword": null,
                "relatedEntityKeyId": null,
                "creationDate": null,
                "entityCommission": null,
                "entityConsentmentStatus": null,
                "forgetfulnessReason": null,
                "identificationIssuerCountry": "PT",
                "portNumber": null,
                "municipalCode": null,
                "documentType": null,
                "electronicInvoice": null,
                "qeroSubscriber": null,
                "cloudSyncStamp": null,
                "identificationNumberInd": null,
                "qeroSubscriptionDate": null,
                "syncGuid": null,
                "feapbroker": null,
                "addressLine2": null,
                "neighborhood": null,
                "complement": null,
                "reference": null,
                "deliveryRegionId": null,
                "isExcludedFromDueNoticesMail": null,
                "types": [
                  1,
                  2
                ]
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Entity"
        ],
        "summary": "Deletes an entity by its key identifier.",
        "parameters": [
          {
            "name": "keyId",
            "in": "path",
            "description": "Entity identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/entity/{keyId}/balance-aging": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Returns customer balance by overdue buckets and loyalty points for the entity.",
        "parameters": [
          {
            "name": "keyId",
            "in": "path",
            "description": "Entity key identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/EntityBalanceAgingDTO"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityBalanceAgingDTO"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityBalanceAgingDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/entity/{keyId}/balance-aging/recalculate": {
      "post": {
        "tags": [
          "Entity"
        ],
        "summary": "Rebuilds the checking account for the entity and returns the recalculated balance aging data.",
        "parameters": [
          {
            "name": "keyId",
            "in": "path",
            "description": "Entity key identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/EntityBalanceAgingDTO"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityBalanceAgingDTO"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityBalanceAgingDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/entity/{keyId}/digital-archives-directories": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Gets the digital archive directory associated with a customer key.",
        "parameters": [
          {
            "name": "keyId",
            "in": "path",
            "description": "Business key identifier of the customer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "97849504-7a28-4fe3-a63b-1772300e2af5",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "97849504-7a28-4fe3-a63b-1772300e2af5",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "97849504-7a28-4fe3-a63b-1772300e2af5",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/entity/digital-archives-directories/root": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Gets the root digital archive directory for customers.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "66e46e8f-6961-4a24-896b-3d844bababbb",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "66e46e8f-6961-4a24-896b-3d844bababbb",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "66e46e8f-6961-4a24-896b-3d844bababbb",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/entity/filter": {
      "post": {
        "tags": [
          "EntityPropertiesFilter"
        ],
        "summary": "Creates a new entity properties filter.\r\nFilterString is automatically generated from the Filter JSON array.",
        "requestBody": {
          "description": "Filter request containing the filter in DevExtreme JSON array format.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EntityPropertiesFilterRequestDTO"
              },
              "example": {
                "name": "Filtro de Clientes - País Angola",
                "filter": [
                  "or",
                  [
                    "KeyId",
                    "<=",
                    "?"
                  ],
                  [
                    "Country",
                    "startswith",
                    "AO"
                  ]
                ]
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EntityPropertiesFilterRequestDTO"
              },
              "example": {
                "name": "Filtro de Clientes - País Angola",
                "filter": [
                  "or",
                  [
                    "KeyId",
                    "<=",
                    "?"
                  ],
                  [
                    "Country",
                    "startswith",
                    "AO"
                  ]
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EntityPropertiesFilterRequestDTO"
              },
              "example": {
                "name": "Filtro de Clientes - País Angola",
                "filter": [
                  "or",
                  [
                    "KeyId",
                    "<=",
                    "?"
                  ],
                  [
                    "Country",
                    "startswith",
                    "AO"
                  ]
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/EntityPropertiesFilterDTO"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityPropertiesFilterDTO"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityPropertiesFilterDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error"
          }
        }
      },
      "get": {
        "tags": [
          "EntityPropertiesFilter"
        ],
        "summary": "Retrieves all entity properties filters available to the current user.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EntityPropertiesFilterDTO"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EntityPropertiesFilterDTO"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EntityPropertiesFilterDTO"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error"
          }
        }
      }
    },
    "/gateway/entity/filter/{filterId}": {
      "get": {
        "tags": [
          "EntityPropertiesFilter"
        ],
        "summary": "Retrieves an entity properties filter by its identifier.",
        "parameters": [
          {
            "name": "filterId",
            "in": "path",
            "description": "Filter identifier (Guid).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/EntityPropertiesFilterDTO"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityPropertiesFilterDTO"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityPropertiesFilterDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error"
          }
        }
      },
      "put": {
        "tags": [
          "EntityPropertiesFilter"
        ],
        "summary": "Updates an existing entity properties filter.\r\nFilterString is automatically generated from the Filter JSON array.",
        "parameters": [
          {
            "name": "filterId",
            "in": "path",
            "description": "Filter identifier (Guid).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Updated filter request containing the filter in DevExtreme JSON array format.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EntityPropertiesFilterRequestDTO"
              },
              "example": {
                "name": "Filtro de Clientes - País Angola",
                "filter": [
                  "or",
                  [
                    "KeyId",
                    "<=",
                    "?"
                  ],
                  [
                    "Country",
                    "startswith",
                    "AO"
                  ]
                ]
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EntityPropertiesFilterRequestDTO"
              },
              "example": {
                "name": "Filtro de Clientes - País Angola",
                "filter": [
                  "or",
                  [
                    "KeyId",
                    "<=",
                    "?"
                  ],
                  [
                    "Country",
                    "startswith",
                    "AO"
                  ]
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EntityPropertiesFilterRequestDTO"
              },
              "example": {
                "name": "Filtro de Clientes - País Angola",
                "filter": [
                  "or",
                  [
                    "KeyId",
                    "<=",
                    "?"
                  ],
                  [
                    "Country",
                    "startswith",
                    "AO"
                  ]
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/EntityPropertiesFilterDTO"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityPropertiesFilterDTO"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityPropertiesFilterDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "EntityPropertiesFilter"
        ],
        "summary": "Deletes an entity properties filter.",
        "parameters": [
          {
            "name": "filterId",
            "in": "path",
            "description": "Filter identifier (Guid).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error"
          }
        }
      }
    },
    "/gateway/entity/next-id": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Retrieves the next available entity ID.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "text/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/extra-address": {
      "post": {
        "tags": [
          "EntityAddress"
        ],
        "summary": "Creates a new entity address.",
        "requestBody": {
          "description": "The XDPeople.Soba.Application.DTOs.EntityAddressDTO containing the address data to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EntityAddressDTO"
              },
              "example": {
                "id": null,
                "entityKeyId": "CLI001",
                "entityName": null,
                "addressType": 1,
                "entityType": 1,
                "addressLine1": "Rua do Comercio, 200",
                "addressLine2": "Piso 3, Sala 301",
                "complement": null,
                "city": "Porto",
                "reference": null,
                "postalCode": "4000-150",
                "neighborhood": null,
                "municipalCode": null,
                "country": "PT",
                "latitude": "41.1496",
                "longitude": "-8.6110",
                "defaultShipmentAddress": true,
                "sensitiveDataLevel": null,
                "portNumber": null,
                "state": "Porto",
                "deliveryRegionId": null
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EntityAddressDTO"
              },
              "example": {
                "id": null,
                "entityKeyId": "CLI001",
                "entityName": null,
                "addressType": 1,
                "entityType": 1,
                "addressLine1": "Rua do Comercio, 200",
                "addressLine2": "Piso 3, Sala 301",
                "complement": null,
                "city": "Porto",
                "reference": null,
                "postalCode": "4000-150",
                "neighborhood": null,
                "municipalCode": null,
                "country": "PT",
                "latitude": "41.1496",
                "longitude": "-8.6110",
                "defaultShipmentAddress": true,
                "sensitiveDataLevel": null,
                "portNumber": null,
                "state": "Porto",
                "deliveryRegionId": null
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EntityAddressDTO"
              },
              "example": {
                "id": null,
                "entityKeyId": "CLI001",
                "entityName": null,
                "addressType": 1,
                "entityType": 1,
                "addressLine1": "Rua do Comercio, 200",
                "addressLine2": "Piso 3, Sala 301",
                "complement": null,
                "city": "Porto",
                "reference": null,
                "postalCode": "4000-150",
                "neighborhood": null,
                "municipalCode": null,
                "country": "PT",
                "latitude": "41.1496",
                "longitude": "-8.6110",
                "defaultShipmentAddress": true,
                "sensitiveDataLevel": null,
                "portNumber": null,
                "state": "Porto",
                "deliveryRegionId": null
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "EntityAddress"
        ],
        "summary": "Retrieves all entity addresses with optional pagination.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The number of records to return per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/EntityAddressDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 101,
                      "entityKeyId": "CLI-00045",
                      "entityName": null,
                      "addressType": 1,
                      "entityType": 0,
                      "addressLine1": "Rua da Prata 78, 2.º Esq.",
                      "addressLine2": null,
                      "complement": null,
                      "city": "Lisboa",
                      "reference": null,
                      "postalCode": "1100-420",
                      "neighborhood": null,
                      "municipalCode": null,
                      "country": "Portugal",
                      "latitude": null,
                      "longitude": null,
                      "defaultShipmentAddress": false,
                      "sensitiveDataLevel": null,
                      "portNumber": null,
                      "state": null,
                      "deliveryRegionId": null
                    },
                    {
                      "id": 102,
                      "entityKeyId": "CLI-00102",
                      "entityName": null,
                      "addressType": 2,
                      "entityType": 0,
                      "addressLine1": "Parque Industrial de Guimarães, Nave 12",
                      "addressLine2": null,
                      "complement": null,
                      "city": "Guimarães",
                      "reference": null,
                      "postalCode": "4800-012",
                      "neighborhood": null,
                      "municipalCode": null,
                      "country": "Portugal",
                      "latitude": null,
                      "longitude": null,
                      "defaultShipmentAddress": false,
                      "sensitiveDataLevel": null,
                      "portNumber": null,
                      "state": null,
                      "deliveryRegionId": null
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityAddressDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 101,
                      "entityKeyId": "CLI-00045",
                      "entityName": null,
                      "addressType": 1,
                      "entityType": 0,
                      "addressLine1": "Rua da Prata 78, 2.º Esq.",
                      "addressLine2": null,
                      "complement": null,
                      "city": "Lisboa",
                      "reference": null,
                      "postalCode": "1100-420",
                      "neighborhood": null,
                      "municipalCode": null,
                      "country": "Portugal",
                      "latitude": null,
                      "longitude": null,
                      "defaultShipmentAddress": false,
                      "sensitiveDataLevel": null,
                      "portNumber": null,
                      "state": null,
                      "deliveryRegionId": null
                    },
                    {
                      "id": 102,
                      "entityKeyId": "CLI-00102",
                      "entityName": null,
                      "addressType": 2,
                      "entityType": 0,
                      "addressLine1": "Parque Industrial de Guimarães, Nave 12",
                      "addressLine2": null,
                      "complement": null,
                      "city": "Guimarães",
                      "reference": null,
                      "postalCode": "4800-012",
                      "neighborhood": null,
                      "municipalCode": null,
                      "country": "Portugal",
                      "latitude": null,
                      "longitude": null,
                      "defaultShipmentAddress": false,
                      "sensitiveDataLevel": null,
                      "portNumber": null,
                      "state": null,
                      "deliveryRegionId": null
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityAddressDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 101,
                      "entityKeyId": "CLI-00045",
                      "entityName": null,
                      "addressType": 1,
                      "entityType": 0,
                      "addressLine1": "Rua da Prata 78, 2.º Esq.",
                      "addressLine2": null,
                      "complement": null,
                      "city": "Lisboa",
                      "reference": null,
                      "postalCode": "1100-420",
                      "neighborhood": null,
                      "municipalCode": null,
                      "country": "Portugal",
                      "latitude": null,
                      "longitude": null,
                      "defaultShipmentAddress": false,
                      "sensitiveDataLevel": null,
                      "portNumber": null,
                      "state": null,
                      "deliveryRegionId": null
                    },
                    {
                      "id": 102,
                      "entityKeyId": "CLI-00102",
                      "entityName": null,
                      "addressType": 2,
                      "entityType": 0,
                      "addressLine1": "Parque Industrial de Guimarães, Nave 12",
                      "addressLine2": null,
                      "complement": null,
                      "city": "Guimarães",
                      "reference": null,
                      "postalCode": "4800-012",
                      "neighborhood": null,
                      "municipalCode": null,
                      "country": "Portugal",
                      "latitude": null,
                      "longitude": null,
                      "defaultShipmentAddress": false,
                      "sensitiveDataLevel": null,
                      "portNumber": null,
                      "state": null,
                      "deliveryRegionId": null
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/extra-address/{id}": {
      "put": {
        "tags": [
          "EntityAddress"
        ],
        "summary": "Updates an existing entity address by its identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique identifier of the address to update.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The XDPeople.Soba.Application.DTOs.EntityAddressUpdateDTO containing the fields to update. Omitted (null) fields keep their stored values.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EntityAddressUpdateDTO"
              },
              "example": {
                "entityKeyId": null,
                "addressType": null,
                "entityType": null,
                "addressLine1": null,
                "addressLine2": null,
                "complement": null,
                "city": "Lisboa",
                "reference": null,
                "postalCode": "1000-200",
                "neighborhood": null,
                "municipalCode": null,
                "country": null,
                "latitude": null,
                "longitude": null,
                "defaultShipmentAddress": true,
                "sensitiveDataLevel": null,
                "portNumber": null,
                "state": null,
                "deliveryRegionId": null
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EntityAddressUpdateDTO"
              },
              "example": {
                "entityKeyId": null,
                "addressType": null,
                "entityType": null,
                "addressLine1": null,
                "addressLine2": null,
                "complement": null,
                "city": "Lisboa",
                "reference": null,
                "postalCode": "1000-200",
                "neighborhood": null,
                "municipalCode": null,
                "country": null,
                "latitude": null,
                "longitude": null,
                "defaultShipmentAddress": true,
                "sensitiveDataLevel": null,
                "portNumber": null,
                "state": null,
                "deliveryRegionId": null
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EntityAddressUpdateDTO"
              },
              "example": {
                "entityKeyId": null,
                "addressType": null,
                "entityType": null,
                "addressLine1": null,
                "addressLine2": null,
                "complement": null,
                "city": "Lisboa",
                "reference": null,
                "postalCode": "1000-200",
                "neighborhood": null,
                "municipalCode": null,
                "country": null,
                "latitude": null,
                "longitude": null,
                "defaultShipmentAddress": true,
                "sensitiveDataLevel": null,
                "portNumber": null,
                "state": null,
                "deliveryRegionId": null
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "EntityAddress"
        ],
        "summary": "Deletes an entity address by its identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique identifier of the address to delete.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "EntityAddress"
        ],
        "summary": "Retrieves an entity address by its identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique identifier of the address to retrieve.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/EntityAddressDTO"
                },
                "example": {
                  "id": null,
                  "entityKeyId": "CLI001",
                  "entityName": null,
                  "addressType": 1,
                  "entityType": 1,
                  "addressLine1": "Rua do Comercio, 200",
                  "addressLine2": "Piso 3, Sala 301",
                  "complement": null,
                  "city": "Porto",
                  "reference": null,
                  "postalCode": "4000-150",
                  "neighborhood": null,
                  "municipalCode": null,
                  "country": "PT",
                  "latitude": "41.1496",
                  "longitude": "-8.6110",
                  "defaultShipmentAddress": true,
                  "sensitiveDataLevel": null,
                  "portNumber": null,
                  "state": "Porto",
                  "deliveryRegionId": null
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityAddressDTO"
                },
                "example": {
                  "id": null,
                  "entityKeyId": "CLI001",
                  "entityName": null,
                  "addressType": 1,
                  "entityType": 1,
                  "addressLine1": "Rua do Comercio, 200",
                  "addressLine2": "Piso 3, Sala 301",
                  "complement": null,
                  "city": "Porto",
                  "reference": null,
                  "postalCode": "4000-150",
                  "neighborhood": null,
                  "municipalCode": null,
                  "country": "PT",
                  "latitude": "41.1496",
                  "longitude": "-8.6110",
                  "defaultShipmentAddress": true,
                  "sensitiveDataLevel": null,
                  "portNumber": null,
                  "state": "Porto",
                  "deliveryRegionId": null
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityAddressDTO"
                },
                "example": {
                  "id": null,
                  "entityKeyId": "CLI001",
                  "entityName": null,
                  "addressType": 1,
                  "entityType": 1,
                  "addressLine1": "Rua do Comercio, 200",
                  "addressLine2": "Piso 3, Sala 301",
                  "complement": null,
                  "city": "Porto",
                  "reference": null,
                  "postalCode": "4000-150",
                  "neighborhood": null,
                  "municipalCode": null,
                  "country": "PT",
                  "latitude": "41.1496",
                  "longitude": "-8.6110",
                  "defaultShipmentAddress": true,
                  "sensitiveDataLevel": null,
                  "portNumber": null,
                  "state": "Porto",
                  "deliveryRegionId": null
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/extra-address/{id}/digital-archives-directories": {
      "get": {
        "tags": [
          "EntityAddress"
        ],
        "summary": "Gets the digital archive directory associated with a entity address key.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Business key identifier of the entity address.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "089ca754-1038-4806-b06f-e7a6d02e3e5f",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "089ca754-1038-4806-b06f-e7a6d02e3e5f",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "089ca754-1038-4806-b06f-e7a6d02e3e5f",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/extra-address/digital-archives-directories/root": {
      "get": {
        "tags": [
          "EntityAddress"
        ],
        "summary": "Gets the root digital archive directory for entity addresses.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "0362b711-c6bc-4134-990e-038cfce9b3d7",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "0362b711-c6bc-4134-990e-038cfce9b3d7",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "0362b711-c6bc-4134-990e-038cfce9b3d7",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/extra-fields-values/{entityTypeName}/{entityKeyId}": {
      "get": {
        "tags": [
          "ExtraFieldsValues"
        ],
        "summary": "Retrieves extra field values for the specified entity instance across all single-registry tables.",
        "parameters": [
          {
            "name": "entityTypeName",
            "in": "path",
            "description": "The entity type identifier (e.g. ItemBE, Entity).",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "entityKeyId",
            "in": "path",
            "description": "The primary key of the entity instance.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ExtraFieldsValuesResponseDTO"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExtraFieldsValuesResponseDTO"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExtraFieldsValuesResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "ExtraFieldsValues"
        ],
        "summary": "Saves extra field values for the specified entity instance across all single-registry tables.\r\nPerforms an upsert: inserts a new row if none exists, otherwise updates the existing one.",
        "parameters": [
          {
            "name": "entityTypeName",
            "in": "path",
            "description": "The entity type identifier (e.g. ItemBE, Entity).",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "entityKeyId",
            "in": "path",
            "description": "The primary key of the entity instance.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The values to persist, keyed by \"tableName.fieldName\".",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveExtraFieldsValuesRequestDTO"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveExtraFieldsValuesRequestDTO"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SaveExtraFieldsValuesRequestDTO"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/extra-tables-fields-config/{entityTypeName}": {
      "get": {
        "tags": [
          "ExtraTablesAndFieldsConfig"
        ],
        "summary": "Retrieves the full extra tables and fields configuration for the specified entity type.",
        "parameters": [
          {
            "name": "entityTypeName",
            "in": "path",
            "description": "The entity type identifier (e.g. ItemBE, Entity).",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ExtraFieldsConfigurationResponseDTO"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExtraFieldsConfigurationResponseDTO"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExtraFieldsConfigurationResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/extra-tables-fields-config/{entityTypeName}/fields/{fieldGuid}": {
      "put": {
        "tags": [
          "ExtraTablesAndFieldsConfig"
        ],
        "summary": "Updates an existing extra field's metadata (description, order, length, validation rules and values).",
        "parameters": [
          {
            "name": "entityTypeName",
            "in": "path",
            "description": "The entity type identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fieldGuid",
            "in": "path",
            "description": "The unique identifier of the field to update.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Updated field data.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateEntityExtraFieldRequestDTO"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateEntityExtraFieldRequestDTO"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateEntityExtraFieldRequestDTO"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "ExtraTablesAndFieldsConfig"
        ],
        "summary": "Deletes an extra field and drops the corresponding MySQL column from the physical table.",
        "parameters": [
          {
            "name": "entityTypeName",
            "in": "path",
            "description": "The entity type identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fieldGuid",
            "in": "path",
            "description": "The unique identifier of the field to delete.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/extra-tables-fields-config/{entityTypeName}/tables": {
      "post": {
        "tags": [
          "ExtraTablesAndFieldsConfig"
        ],
        "summary": "Creates a new extra fields table for the specified entity type.",
        "parameters": [
          {
            "name": "entityTypeName",
            "in": "path",
            "description": "The entity type identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Table creation data including name, description, order and permissions.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateExtraFieldsTableRequestDTO"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateExtraFieldsTableRequestDTO"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateExtraFieldsTableRequestDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ExtraFieldsTableResponseDTO"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExtraFieldsTableResponseDTO"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExtraFieldsTableResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/extra-tables-fields-config/{entityTypeName}/tables/{tableGuid}": {
      "put": {
        "tags": [
          "ExtraTablesAndFieldsConfig"
        ],
        "summary": "Updates an existing extra fields table.",
        "parameters": [
          {
            "name": "entityTypeName",
            "in": "path",
            "description": "The entity type identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tableGuid",
            "in": "path",
            "description": "The unique identifier of the table to update.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Updated table data including description, order and permissions.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateExtraFieldsTableRequestDTO"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateExtraFieldsTableRequestDTO"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateExtraFieldsTableRequestDTO"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "ExtraTablesAndFieldsConfig"
        ],
        "summary": "Deletes an extra fields table and its associated physical MySQL table.",
        "parameters": [
          {
            "name": "entityTypeName",
            "in": "path",
            "description": "The entity type identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tableGuid",
            "in": "path",
            "description": "The unique identifier of the table to delete.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/extra-tables-fields-config/{entityTypeName}/tables/{tableGuid}/fields": {
      "post": {
        "tags": [
          "ExtraTablesAndFieldsConfig"
        ],
        "summary": "Creates a new extra field within the specified table, including the corresponding MySQL column.",
        "parameters": [
          {
            "name": "entityTypeName",
            "in": "path",
            "description": "The entity type identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tableGuid",
            "in": "path",
            "description": "The unique identifier of the parent table.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Field creation data including name, type, length and validation rules.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateEntityExtraFieldRequestDTO"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateEntityExtraFieldRequestDTO"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateEntityExtraFieldRequestDTO"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/EntityExtraFieldResponseDTO"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityExtraFieldResponseDTO"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityExtraFieldResponseDTO"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/fixed-expenses-and-revenues": {
      "post": {
        "tags": [
          "FixedExpensesAndRevenues"
        ],
        "summary": "Creates a new fixed expense or revenue record.",
        "requestBody": {
          "description": "The XDPeople.Soba.Application.DTOs.FixedExpensesAndRevenuesCreateDTO containing the data to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FixedExpensesAndRevenuesCreateDTO"
              },
              "example": {
                "businessAccountId": 1,
                "name": "Renda Mensal do Escritorio",
                "accountHeadingId": 1,
                "accountCategoryId": 1,
                "entityKeyId": "FORN001",
                "balanceType": 1,
                "userId": 1,
                "amount": 800.0,
                "recurrenceType": 3,
                "initialDate": "2026-07-07T00:00:00+00:00",
                "finalDate": "2027-07-07T00:00:00+00:00",
                "weekDays": [],
                "onEach": 1,
                "paymentModeId": 1
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/FixedExpensesAndRevenuesCreateDTO"
              },
              "example": {
                "businessAccountId": 1,
                "name": "Renda Mensal do Escritorio",
                "accountHeadingId": 1,
                "accountCategoryId": 1,
                "entityKeyId": "FORN001",
                "balanceType": 1,
                "userId": 1,
                "amount": 800.0,
                "recurrenceType": 3,
                "initialDate": "2026-07-07T00:00:00+00:00",
                "finalDate": "2027-07-07T00:00:00+00:00",
                "weekDays": [],
                "onEach": 1,
                "paymentModeId": 1
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/FixedExpensesAndRevenuesCreateDTO"
              },
              "example": {
                "businessAccountId": 1,
                "name": "Renda Mensal do Escritorio",
                "accountHeadingId": 1,
                "accountCategoryId": 1,
                "entityKeyId": "FORN001",
                "balanceType": 1,
                "userId": 1,
                "amount": 800.0,
                "recurrenceType": 3,
                "initialDate": "2026-07-07T00:00:00+00:00",
                "finalDate": "2027-07-07T00:00:00+00:00",
                "weekDays": [],
                "onEach": 1,
                "paymentModeId": 1
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "FixedExpensesAndRevenues"
        ],
        "summary": "Retrieves all fixed expenses and revenues with optional pagination.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The number of records to return per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/FixedExpensesAndRevenuesListDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 301,
                      "name": "Renda escritório — Avenida",
                      "businessAccount": "Conta bancária — Millennium BCP",
                      "accountHeading": "62 — Fornecimentos e serviços externos",
                      "accountCategory": "Rendas e alugueres",
                      "creationDate": "2025-01-05T00:00:00",
                      "lastMovementDate": null,
                      "recurrenceType": 3,
                      "onEach": 0,
                      "balanceType": "Débito",
                      "amount": 850.0
                    },
                    {
                      "id": 302,
                      "name": "Subscrição software de faturação",
                      "businessAccount": "Conta bancária — Millennium BCP",
                      "accountHeading": "62 — Fornecimentos e serviços externos",
                      "accountCategory": "Outros serviços",
                      "creationDate": "2025-02-01T00:00:00",
                      "lastMovementDate": null,
                      "recurrenceType": 3,
                      "onEach": 0,
                      "balanceType": "Débito",
                      "amount": 49.9
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FixedExpensesAndRevenuesListDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 301,
                      "name": "Renda escritório — Avenida",
                      "businessAccount": "Conta bancária — Millennium BCP",
                      "accountHeading": "62 — Fornecimentos e serviços externos",
                      "accountCategory": "Rendas e alugueres",
                      "creationDate": "2025-01-05T00:00:00",
                      "lastMovementDate": null,
                      "recurrenceType": 3,
                      "onEach": 0,
                      "balanceType": "Débito",
                      "amount": 850.0
                    },
                    {
                      "id": 302,
                      "name": "Subscrição software de faturação",
                      "businessAccount": "Conta bancária — Millennium BCP",
                      "accountHeading": "62 — Fornecimentos e serviços externos",
                      "accountCategory": "Outros serviços",
                      "creationDate": "2025-02-01T00:00:00",
                      "lastMovementDate": null,
                      "recurrenceType": 3,
                      "onEach": 0,
                      "balanceType": "Débito",
                      "amount": 49.9
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/FixedExpensesAndRevenuesListDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 301,
                      "name": "Renda escritório — Avenida",
                      "businessAccount": "Conta bancária — Millennium BCP",
                      "accountHeading": "62 — Fornecimentos e serviços externos",
                      "accountCategory": "Rendas e alugueres",
                      "creationDate": "2025-01-05T00:00:00",
                      "lastMovementDate": null,
                      "recurrenceType": 3,
                      "onEach": 0,
                      "balanceType": "Débito",
                      "amount": 850.0
                    },
                    {
                      "id": 302,
                      "name": "Subscrição software de faturação",
                      "businessAccount": "Conta bancária — Millennium BCP",
                      "accountHeading": "62 — Fornecimentos e serviços externos",
                      "accountCategory": "Outros serviços",
                      "creationDate": "2025-02-01T00:00:00",
                      "lastMovementDate": null,
                      "recurrenceType": 3,
                      "onEach": 0,
                      "balanceType": "Débito",
                      "amount": 49.9
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/fixed-expenses-and-revenues/{id}": {
      "get": {
        "tags": [
          "FixedExpensesAndRevenues"
        ],
        "summary": "Retrieves a fixed expense or revenue by its identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique identifier of the record to retrieve.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/FixedExpensesAndRevenuesDTO"
                },
                "example": {
                  "id": 301,
                  "businessAccountId": 2,
                  "name": "Renda escritório — Avenida",
                  "accountHeadingDto": null,
                  "accountCategoryDto": null,
                  "entityDto": null,
                  "balanceType": 1,
                  "userId": 1,
                  "amount": 850.0,
                  "recurrenceType": 3,
                  "initialDate": "2026-01-05T00:00:00",
                  "finalDate": "2026-12-31T00:00:00",
                  "weekDays": [],
                  "onEach": 5,
                  "paymentModeId": 1,
                  "isPeriodic": true
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FixedExpensesAndRevenuesDTO"
                },
                "example": {
                  "id": 301,
                  "businessAccountId": 2,
                  "name": "Renda escritório — Avenida",
                  "accountHeadingDto": null,
                  "accountCategoryDto": null,
                  "entityDto": null,
                  "balanceType": 1,
                  "userId": 1,
                  "amount": 850.0,
                  "recurrenceType": 3,
                  "initialDate": "2026-01-05T00:00:00",
                  "finalDate": "2026-12-31T00:00:00",
                  "weekDays": [],
                  "onEach": 5,
                  "paymentModeId": 1,
                  "isPeriodic": true
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/FixedExpensesAndRevenuesDTO"
                },
                "example": {
                  "id": 301,
                  "businessAccountId": 2,
                  "name": "Renda escritório — Avenida",
                  "accountHeadingDto": null,
                  "accountCategoryDto": null,
                  "entityDto": null,
                  "balanceType": 1,
                  "userId": 1,
                  "amount": 850.0,
                  "recurrenceType": 3,
                  "initialDate": "2026-01-05T00:00:00",
                  "finalDate": "2026-12-31T00:00:00",
                  "weekDays": [],
                  "onEach": 5,
                  "paymentModeId": 1,
                  "isPeriodic": true
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "FixedExpensesAndRevenues"
        ],
        "summary": "Updates an existing fixed expense or revenue by its identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique identifier of the record to update.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The XDPeople.Soba.Application.DTOs.FixedExpensesAndRevenuesCreateDTO containing the updated data.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FixedExpensesAndRevenuesCreateDTO"
              },
              "example": {
                "businessAccountId": 1,
                "name": "Renda Mensal do Escritorio",
                "accountHeadingId": 1,
                "accountCategoryId": 1,
                "entityKeyId": "FORN001",
                "balanceType": 1,
                "userId": 1,
                "amount": 800.0,
                "recurrenceType": 3,
                "initialDate": "2026-07-07T00:00:00+00:00",
                "finalDate": "2027-07-07T00:00:00+00:00",
                "weekDays": [],
                "onEach": 1,
                "paymentModeId": 1
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/FixedExpensesAndRevenuesCreateDTO"
              },
              "example": {
                "businessAccountId": 1,
                "name": "Renda Mensal do Escritorio",
                "accountHeadingId": 1,
                "accountCategoryId": 1,
                "entityKeyId": "FORN001",
                "balanceType": 1,
                "userId": 1,
                "amount": 800.0,
                "recurrenceType": 3,
                "initialDate": "2026-07-07T00:00:00+00:00",
                "finalDate": "2027-07-07T00:00:00+00:00",
                "weekDays": [],
                "onEach": 1,
                "paymentModeId": 1
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/FixedExpensesAndRevenuesCreateDTO"
              },
              "example": {
                "businessAccountId": 1,
                "name": "Renda Mensal do Escritorio",
                "accountHeadingId": 1,
                "accountCategoryId": 1,
                "entityKeyId": "FORN001",
                "balanceType": 1,
                "userId": 1,
                "amount": 800.0,
                "recurrenceType": 3,
                "initialDate": "2026-07-07T00:00:00+00:00",
                "finalDate": "2027-07-07T00:00:00+00:00",
                "weekDays": [],
                "onEach": 1,
                "paymentModeId": 1
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "FixedExpensesAndRevenues"
        ],
        "summary": "Deletes a fixed expense or revenue by its identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique identifier of the record to delete.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/fixed-expenses-and-revenues/renewal/{id}": {
      "put": {
        "tags": [
          "FixedExpensesAndRevenues"
        ],
        "summary": "Renews the recurrence of a fixed expense or revenue by its identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique identifier of the record to renew.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The XDPeople.Soba.Application.DTOs.FixedExpensesAndRevenuesRenewalDTO containing the renewal data.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FixedExpensesAndRevenuesRenewalDTO"
              },
              "example": {
                "businessAccountId": 1,
                "name": "Renda Mensal do Escritorio",
                "accountHeadingId": 1,
                "accountCategoryId": 1,
                "balanceType": 1,
                "amount": 850.0,
                "recurrenceType": 3,
                "initialDate": "2026-07-07T00:00:00+00:00",
                "finalDate": "2027-07-07T00:00:00+00:00",
                "weekDays": [],
                "onEach": 1,
                "paymentModeId": 1,
                "isManualInterval": false
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/FixedExpensesAndRevenuesRenewalDTO"
              },
              "example": {
                "businessAccountId": 1,
                "name": "Renda Mensal do Escritorio",
                "accountHeadingId": 1,
                "accountCategoryId": 1,
                "balanceType": 1,
                "amount": 850.0,
                "recurrenceType": 3,
                "initialDate": "2026-07-07T00:00:00+00:00",
                "finalDate": "2027-07-07T00:00:00+00:00",
                "weekDays": [],
                "onEach": 1,
                "paymentModeId": 1,
                "isManualInterval": false
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/FixedExpensesAndRevenuesRenewalDTO"
              },
              "example": {
                "businessAccountId": 1,
                "name": "Renda Mensal do Escritorio",
                "accountHeadingId": 1,
                "accountCategoryId": 1,
                "balanceType": 1,
                "amount": 850.0,
                "recurrenceType": 3,
                "initialDate": "2026-07-07T00:00:00+00:00",
                "finalDate": "2027-07-07T00:00:00+00:00",
                "weekDays": [],
                "onEach": 1,
                "paymentModeId": 1,
                "isManualInterval": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/intervention": {
      "get": {
        "tags": [
          "Intervention"
        ],
        "summary": "Retrieves all interventions with optional pagination.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number to be retrieved.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The number of records to return per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/InterventionDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "guid": "f6a7b8c9-d0e1-2345-f012-567890123456",
                      "id": 8801,
                      "type": "Reparação",
                      "status": null,
                      "description": "Substituição do painel LCD",
                      "userId": 12,
                      "equipmentId": 0,
                      "entityKeyId": "CLI-PT-001",
                      "estimatedConclusion": null,
                      "openingTime": null,
                      "closureTime": null,
                      "discountTime": null,
                      "deletedDate": null,
                      "commuteTime": null,
                      "serviceOrderGuid": null,
                      "serviceOrderNumber": null,
                      "serviceOrderSerie": null,
                      "problem": null,
                      "solution": null,
                      "privateObs": null,
                      "concluded": false,
                      "urgent": null,
                      "external": null,
                      "deleted": null,
                      "invoiceGuid": null,
                      "discountTimeItemId": null,
                      "commuteTimeItemId": null,
                      "entityContractId": 0,
                      "toScheduler": false
                    },
                    {
                      "guid": "a7b8c9d0-e1f2-3456-0123-678901234567",
                      "id": 8802,
                      "type": "Inspeção",
                      "status": null,
                      "description": "Verificação de fugas e calibração",
                      "userId": 8,
                      "equipmentId": 0,
                      "entityKeyId": "CLI-PT-003",
                      "estimatedConclusion": null,
                      "openingTime": null,
                      "closureTime": null,
                      "discountTime": null,
                      "deletedDate": null,
                      "commuteTime": null,
                      "serviceOrderGuid": null,
                      "serviceOrderNumber": null,
                      "serviceOrderSerie": null,
                      "problem": null,
                      "solution": null,
                      "privateObs": null,
                      "concluded": true,
                      "urgent": null,
                      "external": null,
                      "deleted": null,
                      "invoiceGuid": null,
                      "discountTimeItemId": null,
                      "commuteTimeItemId": null,
                      "entityContractId": 0,
                      "toScheduler": false
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InterventionDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "guid": "f6a7b8c9-d0e1-2345-f012-567890123456",
                      "id": 8801,
                      "type": "Reparação",
                      "status": null,
                      "description": "Substituição do painel LCD",
                      "userId": 12,
                      "equipmentId": 0,
                      "entityKeyId": "CLI-PT-001",
                      "estimatedConclusion": null,
                      "openingTime": null,
                      "closureTime": null,
                      "discountTime": null,
                      "deletedDate": null,
                      "commuteTime": null,
                      "serviceOrderGuid": null,
                      "serviceOrderNumber": null,
                      "serviceOrderSerie": null,
                      "problem": null,
                      "solution": null,
                      "privateObs": null,
                      "concluded": false,
                      "urgent": null,
                      "external": null,
                      "deleted": null,
                      "invoiceGuid": null,
                      "discountTimeItemId": null,
                      "commuteTimeItemId": null,
                      "entityContractId": 0,
                      "toScheduler": false
                    },
                    {
                      "guid": "a7b8c9d0-e1f2-3456-0123-678901234567",
                      "id": 8802,
                      "type": "Inspeção",
                      "status": null,
                      "description": "Verificação de fugas e calibração",
                      "userId": 8,
                      "equipmentId": 0,
                      "entityKeyId": "CLI-PT-003",
                      "estimatedConclusion": null,
                      "openingTime": null,
                      "closureTime": null,
                      "discountTime": null,
                      "deletedDate": null,
                      "commuteTime": null,
                      "serviceOrderGuid": null,
                      "serviceOrderNumber": null,
                      "serviceOrderSerie": null,
                      "problem": null,
                      "solution": null,
                      "privateObs": null,
                      "concluded": true,
                      "urgent": null,
                      "external": null,
                      "deleted": null,
                      "invoiceGuid": null,
                      "discountTimeItemId": null,
                      "commuteTimeItemId": null,
                      "entityContractId": 0,
                      "toScheduler": false
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/InterventionDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "guid": "f6a7b8c9-d0e1-2345-f012-567890123456",
                      "id": 8801,
                      "type": "Reparação",
                      "status": null,
                      "description": "Substituição do painel LCD",
                      "userId": 12,
                      "equipmentId": 0,
                      "entityKeyId": "CLI-PT-001",
                      "estimatedConclusion": null,
                      "openingTime": null,
                      "closureTime": null,
                      "discountTime": null,
                      "deletedDate": null,
                      "commuteTime": null,
                      "serviceOrderGuid": null,
                      "serviceOrderNumber": null,
                      "serviceOrderSerie": null,
                      "problem": null,
                      "solution": null,
                      "privateObs": null,
                      "concluded": false,
                      "urgent": null,
                      "external": null,
                      "deleted": null,
                      "invoiceGuid": null,
                      "discountTimeItemId": null,
                      "commuteTimeItemId": null,
                      "entityContractId": 0,
                      "toScheduler": false
                    },
                    {
                      "guid": "a7b8c9d0-e1f2-3456-0123-678901234567",
                      "id": 8802,
                      "type": "Inspeção",
                      "status": null,
                      "description": "Verificação de fugas e calibração",
                      "userId": 8,
                      "equipmentId": 0,
                      "entityKeyId": "CLI-PT-003",
                      "estimatedConclusion": null,
                      "openingTime": null,
                      "closureTime": null,
                      "discountTime": null,
                      "deletedDate": null,
                      "commuteTime": null,
                      "serviceOrderGuid": null,
                      "serviceOrderNumber": null,
                      "serviceOrderSerie": null,
                      "problem": null,
                      "solution": null,
                      "privateObs": null,
                      "concluded": true,
                      "urgent": null,
                      "external": null,
                      "deleted": null,
                      "invoiceGuid": null,
                      "discountTimeItemId": null,
                      "commuteTimeItemId": null,
                      "entityContractId": 0,
                      "toScheduler": false
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/intervention/{id}": {
      "get": {
        "tags": [
          "Intervention"
        ],
        "summary": "Retrieves an intervention by its identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique identifier of the intervention to retrieve.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/InterventionDTO"
                },
                "example": {
                  "guid": "f6a7b8c9-d0e1-2345-f012-567890123456",
                  "id": 8801,
                  "type": "Reparação",
                  "status": null,
                  "description": "Substituição do painel LCD",
                  "userId": 12,
                  "equipmentId": 1,
                  "entityKeyId": "CLI-PT-001",
                  "estimatedConclusion": null,
                  "openingTime": null,
                  "closureTime": null,
                  "discountTime": null,
                  "deletedDate": null,
                  "commuteTime": null,
                  "serviceOrderGuid": null,
                  "serviceOrderNumber": null,
                  "serviceOrderSerie": null,
                  "problem": null,
                  "solution": null,
                  "privateObs": null,
                  "concluded": false,
                  "urgent": null,
                  "external": null,
                  "deleted": null,
                  "invoiceGuid": null,
                  "discountTimeItemId": null,
                  "commuteTimeItemId": null,
                  "entityContractId": 0,
                  "toScheduler": false
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InterventionDTO"
                },
                "example": {
                  "guid": "f6a7b8c9-d0e1-2345-f012-567890123456",
                  "id": 8801,
                  "type": "Reparação",
                  "status": null,
                  "description": "Substituição do painel LCD",
                  "userId": 12,
                  "equipmentId": 1,
                  "entityKeyId": "CLI-PT-001",
                  "estimatedConclusion": null,
                  "openingTime": null,
                  "closureTime": null,
                  "discountTime": null,
                  "deletedDate": null,
                  "commuteTime": null,
                  "serviceOrderGuid": null,
                  "serviceOrderNumber": null,
                  "serviceOrderSerie": null,
                  "problem": null,
                  "solution": null,
                  "privateObs": null,
                  "concluded": false,
                  "urgent": null,
                  "external": null,
                  "deleted": null,
                  "invoiceGuid": null,
                  "discountTimeItemId": null,
                  "commuteTimeItemId": null,
                  "entityContractId": 0,
                  "toScheduler": false
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/InterventionDTO"
                },
                "example": {
                  "guid": "f6a7b8c9-d0e1-2345-f012-567890123456",
                  "id": 8801,
                  "type": "Reparação",
                  "status": null,
                  "description": "Substituição do painel LCD",
                  "userId": 12,
                  "equipmentId": 1,
                  "entityKeyId": "CLI-PT-001",
                  "estimatedConclusion": null,
                  "openingTime": null,
                  "closureTime": null,
                  "discountTime": null,
                  "deletedDate": null,
                  "commuteTime": null,
                  "serviceOrderGuid": null,
                  "serviceOrderNumber": null,
                  "serviceOrderSerie": null,
                  "problem": null,
                  "solution": null,
                  "privateObs": null,
                  "concluded": false,
                  "urgent": null,
                  "external": null,
                  "deleted": null,
                  "invoiceGuid": null,
                  "discountTimeItemId": null,
                  "commuteTimeItemId": null,
                  "entityContractId": 0,
                  "toScheduler": false
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/intervention/{id}/billing-details": {
      "get": {
        "tags": [
          "Intervention"
        ],
        "summary": "Retrieves the billing details for a specific intervention: hours charged to the contract,\r\ninvoiced hours, and invoiced kilometres.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique identifier of the intervention.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/InterventionBillingDetailsDTO"
                },
                "example": {
                  "contractHours": 4.25,
                  "invoiceHours": 2.25,
                  "invoiceKms": 42
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InterventionBillingDetailsDTO"
                },
                "example": {
                  "contractHours": 4.25,
                  "invoiceHours": 2.25,
                  "invoiceKms": 42
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/InterventionBillingDetailsDTO"
                },
                "example": {
                  "contractHours": 4.25,
                  "invoiceHours": 2.25,
                  "invoiceKms": 42
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/intervention/by-contract/{contractId}": {
      "get": {
        "tags": [
          "Intervention"
        ],
        "summary": "Retrieves all interventions linked to a specific entity contract.",
        "parameters": [
          {
            "name": "contractId",
            "in": "path",
            "description": "The entity contract identifier.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number to be retrieved.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The number of records to return per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/InterventionDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 1,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "guid": "a3f7c2e1-84bd-4d09-b61a-2e9f05d3c748",
                      "id": 4812,
                      "type": "On-site",
                      "status": "Closed",
                      "description": "Quarterly preventive maintenance – HVAC control units",
                      "userId": 7,
                      "equipmentId": 203,
                      "entityKeyId": "1048291",
                      "estimatedConclusion": "2026-03-10T17:00:00",
                      "openingTime": "2026-03-10T09:00:00",
                      "closureTime": "2026-03-10T15:45:00",
                      "discountTime": 6.5,
                      "deletedDate": null,
                      "commuteTime": 42,
                      "serviceOrderGuid": null,
                      "serviceOrderNumber": null,
                      "serviceOrderSerie": null,
                      "problem": null,
                      "solution": null,
                      "privateObs": null,
                      "concluded": true,
                      "urgent": false,
                      "external": false,
                      "deleted": false,
                      "invoiceGuid": null,
                      "discountTimeItemId": null,
                      "commuteTimeItemId": null,
                      "entityContractId": 1,
                      "toScheduler": false
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InterventionDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 1,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "guid": "a3f7c2e1-84bd-4d09-b61a-2e9f05d3c748",
                      "id": 4812,
                      "type": "On-site",
                      "status": "Closed",
                      "description": "Quarterly preventive maintenance – HVAC control units",
                      "userId": 7,
                      "equipmentId": 203,
                      "entityKeyId": "1048291",
                      "estimatedConclusion": "2026-03-10T17:00:00",
                      "openingTime": "2026-03-10T09:00:00",
                      "closureTime": "2026-03-10T15:45:00",
                      "discountTime": 6.5,
                      "deletedDate": null,
                      "commuteTime": 42,
                      "serviceOrderGuid": null,
                      "serviceOrderNumber": null,
                      "serviceOrderSerie": null,
                      "problem": null,
                      "solution": null,
                      "privateObs": null,
                      "concluded": true,
                      "urgent": false,
                      "external": false,
                      "deleted": false,
                      "invoiceGuid": null,
                      "discountTimeItemId": null,
                      "commuteTimeItemId": null,
                      "entityContractId": 1,
                      "toScheduler": false
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/InterventionDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 1,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "guid": "a3f7c2e1-84bd-4d09-b61a-2e9f05d3c748",
                      "id": 4812,
                      "type": "On-site",
                      "status": "Closed",
                      "description": "Quarterly preventive maintenance – HVAC control units",
                      "userId": 7,
                      "equipmentId": 203,
                      "entityKeyId": "1048291",
                      "estimatedConclusion": "2026-03-10T17:00:00",
                      "openingTime": "2026-03-10T09:00:00",
                      "closureTime": "2026-03-10T15:45:00",
                      "discountTime": 6.5,
                      "deletedDate": null,
                      "commuteTime": 42,
                      "serviceOrderGuid": null,
                      "serviceOrderNumber": null,
                      "serviceOrderSerie": null,
                      "problem": null,
                      "solution": null,
                      "privateObs": null,
                      "concluded": true,
                      "urgent": false,
                      "external": false,
                      "deleted": false,
                      "invoiceGuid": null,
                      "discountTimeItemId": null,
                      "commuteTimeItemId": null,
                      "entityContractId": 1,
                      "toScheduler": false
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/item": {
      "post": {
        "tags": [
          "Items"
        ],
        "summary": "Creates a new item.",
        "requestBody": {
          "description": "Item creation data transfer object.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ItemCreateDTO"
              },
              "examples": {
                "Standard item (itemType = 1)": {
                  "value": {
                    "keyId": "ART001",
                    "description": "Caneta Esferografica Azul",
                    "shortName1": "Caneta Azul",
                    "groupId": 1,
                    "itemType": 1,
                    "barcode": "5601234567890",
                    "barcodeType": 1,
                    "retailPrice1": 1.99,
                    "retailPrice2": 1.79,
                    "retailPrice3": 0,
                    "retailPrice4": 0,
                    "retailPrice5": 0,
                    "unitOfSale": 1,
                    "stockControl": true,
                    "discontinued": false,
                    "capacity": null,
                    "capacityUnit": null,
                    "tax1": 1,
                    "tax2": null,
                    "tax3": null,
                    "tax4": null,
                    "tax5": null,
                    "taxOverProfit": false,
                    "alternativeTaxId": null,
                    "purchasePrice": 0.8,
                    "netPrice1": 1.62,
                    "netPrice2": 1.46,
                    "netPrice3": 0,
                    "netPrice4": 0,
                    "netPrice5": 0,
                    "purchaseNetPrice": 0.65,
                    "commission": 2,
                    "stockType": null,
                    "minimumStockWarning": null,
                    "negativeStockPermission": null,
                    "averageCostPrice": 0.7,
                    "creationDate": "2026-07-07T00:00:00+00:00",
                    "askingPrice": false,
                    "fixedCostPrice": false,
                    "marginRef1": 50,
                    "marginRef2": 0,
                    "marginRef3": 0,
                    "marginRef4": 0,
                    "marginRef5": 0,
                    "batchTypeId": null,
                    "serialNumberTypeId": null,
                    "pictureId": null,
                    "thumbId": null,
                    "compositeType": null,
                    "compositePriceType": null,
                    "compositeDetailsPriceType": null,
                    "closedComposite": false,
                    "excludeDetailOnDocs": false,
                    "compositeNeededComponents": null,
                    "compositeProductionQuantity": 0,
                    "compositeProductionDuration": 0,
                    "compositeDetails": null,
                    "extraDescription": null,
                    "ordersPrintingOrder": 0,
                    "replacementReports": false,
                    "localPrinting": false,
                    "groupOnKitchen": false,
                    "followItem": false,
                    "printer1": false,
                    "printer2": false,
                    "printer3": false,
                    "printer4": false,
                    "printer5": false,
                    "printer6": false,
                    "printer7": false,
                    "printer8": false,
                    "printer9": false,
                    "printer10": false,
                    "printer11": false,
                    "printer12": false,
                    "printer13": false,
                    "printer14": false,
                    "printer15": false,
                    "printer16": false,
                    "printer17": false,
                    "printer18": false,
                    "printer19": false,
                    "printer20": false,
                    "expireTimeUnit": null,
                    "expireTime": null,
                    "maxValue": 0,
                    "taxInclude": false,
                    "contractDetails": null
                  }
                },
                "Composite item (itemType = 18)": {
                  "value": {
                    "keyId": "KIT-CAFE-01",
                    "description": "Kit Cafe Completo",
                    "shortName1": "Kit Cafe",
                    "groupId": 1,
                    "itemType": 18,
                    "barcode": null,
                    "barcodeType": null,
                    "retailPrice1": 24.99,
                    "retailPrice2": 0,
                    "retailPrice3": 0,
                    "retailPrice4": 0,
                    "retailPrice5": 0,
                    "unitOfSale": 1,
                    "stockControl": false,
                    "discontinued": false,
                    "capacity": null,
                    "capacityUnit": null,
                    "tax1": 1,
                    "tax2": null,
                    "tax3": null,
                    "tax4": null,
                    "tax5": null,
                    "taxOverProfit": false,
                    "alternativeTaxId": null,
                    "purchasePrice": 15.0,
                    "netPrice1": 20.32,
                    "netPrice2": 0,
                    "netPrice3": 0,
                    "netPrice4": 0,
                    "netPrice5": 0,
                    "purchaseNetPrice": 12.2,
                    "commission": 0,
                    "stockType": null,
                    "minimumStockWarning": null,
                    "negativeStockPermission": null,
                    "averageCostPrice": 14.5,
                    "creationDate": "2026-07-07T00:00:00+00:00",
                    "askingPrice": false,
                    "fixedCostPrice": false,
                    "marginRef1": 40,
                    "marginRef2": 0,
                    "marginRef3": 0,
                    "marginRef4": 0,
                    "marginRef5": 0,
                    "batchTypeId": null,
                    "serialNumberTypeId": null,
                    "pictureId": null,
                    "thumbId": null,
                    "compositeType": 0,
                    "compositePriceType": 0,
                    "compositeDetailsPriceType": 0,
                    "closedComposite": false,
                    "excludeDetailOnDocs": false,
                    "compositeNeededComponents": null,
                    "compositeProductionQuantity": 1,
                    "compositeProductionDuration": 0,
                    "compositeDetails": [
                      {
                        "quantity": 1,
                        "ordering": 0,
                        "detailType": 0,
                        "quantityType": 0,
                        "minRangedQuantity": 0,
                        "maxRangedQuantity": 0,
                        "itemAttributeCode": null,
                        "keyId": "ART-CAFE",
                        "description": "Maquina de Cafe",
                        "shortName1": "Cafe",
                        "retailPrice1": 19.99
                      },
                      {
                        "quantity": 2,
                        "ordering": 1,
                        "detailType": 0,
                        "quantityType": 0,
                        "minRangedQuantity": 0,
                        "maxRangedQuantity": 0,
                        "itemAttributeCode": null,
                        "keyId": "ART-CHAV",
                        "description": "Chavena Ceramica",
                        "shortName1": "Chavena",
                        "retailPrice1": 5.0
                      }
                    ],
                    "extraDescription": null,
                    "ordersPrintingOrder": 0,
                    "replacementReports": false,
                    "localPrinting": false,
                    "groupOnKitchen": false,
                    "followItem": false,
                    "printer1": false,
                    "printer2": false,
                    "printer3": false,
                    "printer4": false,
                    "printer5": false,
                    "printer6": false,
                    "printer7": false,
                    "printer8": false,
                    "printer9": false,
                    "printer10": false,
                    "printer11": false,
                    "printer12": false,
                    "printer13": false,
                    "printer14": false,
                    "printer15": false,
                    "printer16": false,
                    "printer17": false,
                    "printer18": false,
                    "printer19": false,
                    "printer20": false,
                    "expireTimeUnit": null,
                    "expireTime": null,
                    "maxValue": 0,
                    "taxInclude": false,
                    "contractDetails": null
                  }
                }
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ItemCreateDTO"
              },
              "examples": {
                "Standard item (itemType = 1)": {
                  "value": {
                    "keyId": "ART001",
                    "description": "Caneta Esferografica Azul",
                    "shortName1": "Caneta Azul",
                    "groupId": 1,
                    "itemType": 1,
                    "barcode": "5601234567890",
                    "barcodeType": 1,
                    "retailPrice1": 1.99,
                    "retailPrice2": 1.79,
                    "retailPrice3": 0,
                    "retailPrice4": 0,
                    "retailPrice5": 0,
                    "unitOfSale": 1,
                    "stockControl": true,
                    "discontinued": false,
                    "capacity": null,
                    "capacityUnit": null,
                    "tax1": 1,
                    "tax2": null,
                    "tax3": null,
                    "tax4": null,
                    "tax5": null,
                    "taxOverProfit": false,
                    "alternativeTaxId": null,
                    "purchasePrice": 0.8,
                    "netPrice1": 1.62,
                    "netPrice2": 1.46,
                    "netPrice3": 0,
                    "netPrice4": 0,
                    "netPrice5": 0,
                    "purchaseNetPrice": 0.65,
                    "commission": 2,
                    "stockType": null,
                    "minimumStockWarning": null,
                    "negativeStockPermission": null,
                    "averageCostPrice": 0.7,
                    "creationDate": "2026-07-07T00:00:00+00:00",
                    "askingPrice": false,
                    "fixedCostPrice": false,
                    "marginRef1": 50,
                    "marginRef2": 0,
                    "marginRef3": 0,
                    "marginRef4": 0,
                    "marginRef5": 0,
                    "batchTypeId": null,
                    "serialNumberTypeId": null,
                    "pictureId": null,
                    "thumbId": null,
                    "compositeType": null,
                    "compositePriceType": null,
                    "compositeDetailsPriceType": null,
                    "closedComposite": false,
                    "excludeDetailOnDocs": false,
                    "compositeNeededComponents": null,
                    "compositeProductionQuantity": 0,
                    "compositeProductionDuration": 0,
                    "compositeDetails": null,
                    "extraDescription": null,
                    "ordersPrintingOrder": 0,
                    "replacementReports": false,
                    "localPrinting": false,
                    "groupOnKitchen": false,
                    "followItem": false,
                    "printer1": false,
                    "printer2": false,
                    "printer3": false,
                    "printer4": false,
                    "printer5": false,
                    "printer6": false,
                    "printer7": false,
                    "printer8": false,
                    "printer9": false,
                    "printer10": false,
                    "printer11": false,
                    "printer12": false,
                    "printer13": false,
                    "printer14": false,
                    "printer15": false,
                    "printer16": false,
                    "printer17": false,
                    "printer18": false,
                    "printer19": false,
                    "printer20": false,
                    "expireTimeUnit": null,
                    "expireTime": null,
                    "maxValue": 0,
                    "taxInclude": false,
                    "contractDetails": null
                  }
                },
                "Composite item (itemType = 18)": {
                  "value": {
                    "keyId": "KIT-CAFE-01",
                    "description": "Kit Cafe Completo",
                    "shortName1": "Kit Cafe",
                    "groupId": 1,
                    "itemType": 18,
                    "barcode": null,
                    "barcodeType": null,
                    "retailPrice1": 24.99,
                    "retailPrice2": 0,
                    "retailPrice3": 0,
                    "retailPrice4": 0,
                    "retailPrice5": 0,
                    "unitOfSale": 1,
                    "stockControl": false,
                    "discontinued": false,
                    "capacity": null,
                    "capacityUnit": null,
                    "tax1": 1,
                    "tax2": null,
                    "tax3": null,
                    "tax4": null,
                    "tax5": null,
                    "taxOverProfit": false,
                    "alternativeTaxId": null,
                    "purchasePrice": 15.0,
                    "netPrice1": 20.32,
                    "netPrice2": 0,
                    "netPrice3": 0,
                    "netPrice4": 0,
                    "netPrice5": 0,
                    "purchaseNetPrice": 12.2,
                    "commission": 0,
                    "stockType": null,
                    "minimumStockWarning": null,
                    "negativeStockPermission": null,
                    "averageCostPrice": 14.5,
                    "creationDate": "2026-07-07T00:00:00+00:00",
                    "askingPrice": false,
                    "fixedCostPrice": false,
                    "marginRef1": 40,
                    "marginRef2": 0,
                    "marginRef3": 0,
                    "marginRef4": 0,
                    "marginRef5": 0,
                    "batchTypeId": null,
                    "serialNumberTypeId": null,
                    "pictureId": null,
                    "thumbId": null,
                    "compositeType": 0,
                    "compositePriceType": 0,
                    "compositeDetailsPriceType": 0,
                    "closedComposite": false,
                    "excludeDetailOnDocs": false,
                    "compositeNeededComponents": null,
                    "compositeProductionQuantity": 1,
                    "compositeProductionDuration": 0,
                    "compositeDetails": [
                      {
                        "quantity": 1,
                        "ordering": 0,
                        "detailType": 0,
                        "quantityType": 0,
                        "minRangedQuantity": 0,
                        "maxRangedQuantity": 0,
                        "itemAttributeCode": null,
                        "keyId": "ART-CAFE",
                        "description": "Maquina de Cafe",
                        "shortName1": "Cafe",
                        "retailPrice1": 19.99
                      },
                      {
                        "quantity": 2,
                        "ordering": 1,
                        "detailType": 0,
                        "quantityType": 0,
                        "minRangedQuantity": 0,
                        "maxRangedQuantity": 0,
                        "itemAttributeCode": null,
                        "keyId": "ART-CHAV",
                        "description": "Chavena Ceramica",
                        "shortName1": "Chavena",
                        "retailPrice1": 5.0
                      }
                    ],
                    "extraDescription": null,
                    "ordersPrintingOrder": 0,
                    "replacementReports": false,
                    "localPrinting": false,
                    "groupOnKitchen": false,
                    "followItem": false,
                    "printer1": false,
                    "printer2": false,
                    "printer3": false,
                    "printer4": false,
                    "printer5": false,
                    "printer6": false,
                    "printer7": false,
                    "printer8": false,
                    "printer9": false,
                    "printer10": false,
                    "printer11": false,
                    "printer12": false,
                    "printer13": false,
                    "printer14": false,
                    "printer15": false,
                    "printer16": false,
                    "printer17": false,
                    "printer18": false,
                    "printer19": false,
                    "printer20": false,
                    "expireTimeUnit": null,
                    "expireTime": null,
                    "maxValue": 0,
                    "taxInclude": false,
                    "contractDetails": null
                  }
                }
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ItemCreateDTO"
              },
              "examples": {
                "Standard item (itemType = 1)": {
                  "value": {
                    "keyId": "ART001",
                    "description": "Caneta Esferografica Azul",
                    "shortName1": "Caneta Azul",
                    "groupId": 1,
                    "itemType": 1,
                    "barcode": "5601234567890",
                    "barcodeType": 1,
                    "retailPrice1": 1.99,
                    "retailPrice2": 1.79,
                    "retailPrice3": 0,
                    "retailPrice4": 0,
                    "retailPrice5": 0,
                    "unitOfSale": 1,
                    "stockControl": true,
                    "discontinued": false,
                    "capacity": null,
                    "capacityUnit": null,
                    "tax1": 1,
                    "tax2": null,
                    "tax3": null,
                    "tax4": null,
                    "tax5": null,
                    "taxOverProfit": false,
                    "alternativeTaxId": null,
                    "purchasePrice": 0.8,
                    "netPrice1": 1.62,
                    "netPrice2": 1.46,
                    "netPrice3": 0,
                    "netPrice4": 0,
                    "netPrice5": 0,
                    "purchaseNetPrice": 0.65,
                    "commission": 2,
                    "stockType": null,
                    "minimumStockWarning": null,
                    "negativeStockPermission": null,
                    "averageCostPrice": 0.7,
                    "creationDate": "2026-07-07T00:00:00+00:00",
                    "askingPrice": false,
                    "fixedCostPrice": false,
                    "marginRef1": 50,
                    "marginRef2": 0,
                    "marginRef3": 0,
                    "marginRef4": 0,
                    "marginRef5": 0,
                    "batchTypeId": null,
                    "serialNumberTypeId": null,
                    "pictureId": null,
                    "thumbId": null,
                    "compositeType": null,
                    "compositePriceType": null,
                    "compositeDetailsPriceType": null,
                    "closedComposite": false,
                    "excludeDetailOnDocs": false,
                    "compositeNeededComponents": null,
                    "compositeProductionQuantity": 0,
                    "compositeProductionDuration": 0,
                    "compositeDetails": null,
                    "extraDescription": null,
                    "ordersPrintingOrder": 0,
                    "replacementReports": false,
                    "localPrinting": false,
                    "groupOnKitchen": false,
                    "followItem": false,
                    "printer1": false,
                    "printer2": false,
                    "printer3": false,
                    "printer4": false,
                    "printer5": false,
                    "printer6": false,
                    "printer7": false,
                    "printer8": false,
                    "printer9": false,
                    "printer10": false,
                    "printer11": false,
                    "printer12": false,
                    "printer13": false,
                    "printer14": false,
                    "printer15": false,
                    "printer16": false,
                    "printer17": false,
                    "printer18": false,
                    "printer19": false,
                    "printer20": false,
                    "expireTimeUnit": null,
                    "expireTime": null,
                    "maxValue": 0,
                    "taxInclude": false,
                    "contractDetails": null
                  }
                },
                "Composite item (itemType = 18)": {
                  "value": {
                    "keyId": "KIT-CAFE-01",
                    "description": "Kit Cafe Completo",
                    "shortName1": "Kit Cafe",
                    "groupId": 1,
                    "itemType": 18,
                    "barcode": null,
                    "barcodeType": null,
                    "retailPrice1": 24.99,
                    "retailPrice2": 0,
                    "retailPrice3": 0,
                    "retailPrice4": 0,
                    "retailPrice5": 0,
                    "unitOfSale": 1,
                    "stockControl": false,
                    "discontinued": false,
                    "capacity": null,
                    "capacityUnit": null,
                    "tax1": 1,
                    "tax2": null,
                    "tax3": null,
                    "tax4": null,
                    "tax5": null,
                    "taxOverProfit": false,
                    "alternativeTaxId": null,
                    "purchasePrice": 15.0,
                    "netPrice1": 20.32,
                    "netPrice2": 0,
                    "netPrice3": 0,
                    "netPrice4": 0,
                    "netPrice5": 0,
                    "purchaseNetPrice": 12.2,
                    "commission": 0,
                    "stockType": null,
                    "minimumStockWarning": null,
                    "negativeStockPermission": null,
                    "averageCostPrice": 14.5,
                    "creationDate": "2026-07-07T00:00:00+00:00",
                    "askingPrice": false,
                    "fixedCostPrice": false,
                    "marginRef1": 40,
                    "marginRef2": 0,
                    "marginRef3": 0,
                    "marginRef4": 0,
                    "marginRef5": 0,
                    "batchTypeId": null,
                    "serialNumberTypeId": null,
                    "pictureId": null,
                    "thumbId": null,
                    "compositeType": 0,
                    "compositePriceType": 0,
                    "compositeDetailsPriceType": 0,
                    "closedComposite": false,
                    "excludeDetailOnDocs": false,
                    "compositeNeededComponents": null,
                    "compositeProductionQuantity": 1,
                    "compositeProductionDuration": 0,
                    "compositeDetails": [
                      {
                        "quantity": 1,
                        "ordering": 0,
                        "detailType": 0,
                        "quantityType": 0,
                        "minRangedQuantity": 0,
                        "maxRangedQuantity": 0,
                        "itemAttributeCode": null,
                        "keyId": "ART-CAFE",
                        "description": "Maquina de Cafe",
                        "shortName1": "Cafe",
                        "retailPrice1": 19.99
                      },
                      {
                        "quantity": 2,
                        "ordering": 1,
                        "detailType": 0,
                        "quantityType": 0,
                        "minRangedQuantity": 0,
                        "maxRangedQuantity": 0,
                        "itemAttributeCode": null,
                        "keyId": "ART-CHAV",
                        "description": "Chavena Ceramica",
                        "shortName1": "Chavena",
                        "retailPrice1": 5.0
                      }
                    ],
                    "extraDescription": null,
                    "ordersPrintingOrder": 0,
                    "replacementReports": false,
                    "localPrinting": false,
                    "groupOnKitchen": false,
                    "followItem": false,
                    "printer1": false,
                    "printer2": false,
                    "printer3": false,
                    "printer4": false,
                    "printer5": false,
                    "printer6": false,
                    "printer7": false,
                    "printer8": false,
                    "printer9": false,
                    "printer10": false,
                    "printer11": false,
                    "printer12": false,
                    "printer13": false,
                    "printer14": false,
                    "printer15": false,
                    "printer16": false,
                    "printer17": false,
                    "printer18": false,
                    "printer19": false,
                    "printer20": false,
                    "expireTimeUnit": null,
                    "expireTime": null,
                    "maxValue": 0,
                    "taxInclude": false,
                    "contractDetails": null
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Items"
        ],
        "summary": "Retrieves a paginated list of all items.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of records per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "itemGroupId",
            "in": "query",
            "description": "Optional identifier of the itemgroup used for filtering.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ItemDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "keyId": "ART-10042",
                      "description": "Azeite Virgem Extra 500ml",
                      "shortName1": "Azeite EV 500",
                      "itemsGroups": "Mercearia > Óleos",
                      "itemType": 1,
                      "barcode": "5601234001001",
                      "purchaseNetPrice": 4.25,
                      "purchasePrice": 0,
                      "retailPrice1": 7.99,
                      "netPrice1": 6.49,
                      "tax": 0.23,
                      "saleUnitDescription": "Garrafa",
                      "currentStock": 128,
                      "remote5": null,
                      "taxOverProfit": null,
                      "groupId": 12,
                      "barcodeType": null,
                      "retailPrice2": 0,
                      "retailPrice3": 0,
                      "retailPrice4": 0,
                      "retailPrice5": 0,
                      "unitOfSale": null,
                      "stockControl": false,
                      "discontinued": false,
                      "capacity": null,
                      "capacityUnit": null,
                      "extraDescription": null,
                      "tax1": null,
                      "tax2": null,
                      "tax3": null,
                      "tax4": null,
                      "tax5": null,
                      "alternativeTaxId": null,
                      "netPrice2": 0,
                      "netPrice3": 0,
                      "netPrice4": 0,
                      "netPrice5": 0,
                      "commission": 0,
                      "stockType": null,
                      "minimumStockWarning": null,
                      "negativeStockPermission": null,
                      "averageCostPrice": 0,
                      "creationDate": "0001-01-01T00:00:00",
                      "askingPrice": false,
                      "fixedCostPrice": false,
                      "marginRef1": 0,
                      "marginRef2": 0,
                      "marginRef3": 0,
                      "marginRef4": 0,
                      "marginRef5": 0,
                      "batchTypeId": null,
                      "serialNumberTypeId": null,
                      "pictureId": null,
                      "thumbId": null,
                      "ordersPrintingOrder": 0,
                      "replacementReports": false,
                      "localPrinting": false,
                      "groupOnKitchen": false,
                      "followItem": false,
                      "printer1": false,
                      "printer2": false,
                      "printer3": false,
                      "printer4": false,
                      "printer5": false,
                      "printer6": false,
                      "printer7": false,
                      "printer8": false,
                      "printer9": false,
                      "printer10": false,
                      "printer11": false,
                      "printer12": false,
                      "printer13": false,
                      "printer14": false,
                      "printer15": false,
                      "printer16": false,
                      "printer17": false,
                      "printer18": false,
                      "printer19": false,
                      "printer20": false,
                      "expireTimeUnit": null,
                      "expireTime": null,
                      "maxValue": 0,
                      "taxInclude": false,
                      "contractDetails": null
                    },
                    {
                      "keyId": "ART-20891",
                      "description": "Leite Meio Gordo UHT 1L",
                      "shortName1": "Leite 1L",
                      "itemsGroups": "Lacticínios > Leite",
                      "itemType": 1,
                      "barcode": "5601002003055",
                      "purchaseNetPrice": 0.62,
                      "purchasePrice": 0,
                      "retailPrice1": 0.99,
                      "netPrice1": 0.8,
                      "tax": 0.06,
                      "saleUnitDescription": "Pacote",
                      "currentStock": 340,
                      "remote5": null,
                      "taxOverProfit": null,
                      "groupId": 8,
                      "barcodeType": null,
                      "retailPrice2": 0,
                      "retailPrice3": 0,
                      "retailPrice4": 0,
                      "retailPrice5": 0,
                      "unitOfSale": null,
                      "stockControl": false,
                      "discontinued": false,
                      "capacity": null,
                      "capacityUnit": null,
                      "extraDescription": null,
                      "tax1": null,
                      "tax2": null,
                      "tax3": null,
                      "tax4": null,
                      "tax5": null,
                      "alternativeTaxId": null,
                      "netPrice2": 0,
                      "netPrice3": 0,
                      "netPrice4": 0,
                      "netPrice5": 0,
                      "commission": 0,
                      "stockType": null,
                      "minimumStockWarning": null,
                      "negativeStockPermission": null,
                      "averageCostPrice": 0,
                      "creationDate": "0001-01-01T00:00:00",
                      "askingPrice": false,
                      "fixedCostPrice": false,
                      "marginRef1": 0,
                      "marginRef2": 0,
                      "marginRef3": 0,
                      "marginRef4": 0,
                      "marginRef5": 0,
                      "batchTypeId": null,
                      "serialNumberTypeId": null,
                      "pictureId": null,
                      "thumbId": null,
                      "ordersPrintingOrder": 0,
                      "replacementReports": false,
                      "localPrinting": false,
                      "groupOnKitchen": false,
                      "followItem": false,
                      "printer1": false,
                      "printer2": false,
                      "printer3": false,
                      "printer4": false,
                      "printer5": false,
                      "printer6": false,
                      "printer7": false,
                      "printer8": false,
                      "printer9": false,
                      "printer10": false,
                      "printer11": false,
                      "printer12": false,
                      "printer13": false,
                      "printer14": false,
                      "printer15": false,
                      "printer16": false,
                      "printer17": false,
                      "printer18": false,
                      "printer19": false,
                      "printer20": false,
                      "expireTimeUnit": null,
                      "expireTime": null,
                      "maxValue": 0,
                      "taxInclude": false,
                      "contractDetails": null
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "keyId": "ART-10042",
                      "description": "Azeite Virgem Extra 500ml",
                      "shortName1": "Azeite EV 500",
                      "itemsGroups": "Mercearia > Óleos",
                      "itemType": 1,
                      "barcode": "5601234001001",
                      "purchaseNetPrice": 4.25,
                      "purchasePrice": 0,
                      "retailPrice1": 7.99,
                      "netPrice1": 6.49,
                      "tax": 0.23,
                      "saleUnitDescription": "Garrafa",
                      "currentStock": 128,
                      "remote5": null,
                      "taxOverProfit": null,
                      "groupId": 12,
                      "barcodeType": null,
                      "retailPrice2": 0,
                      "retailPrice3": 0,
                      "retailPrice4": 0,
                      "retailPrice5": 0,
                      "unitOfSale": null,
                      "stockControl": false,
                      "discontinued": false,
                      "capacity": null,
                      "capacityUnit": null,
                      "extraDescription": null,
                      "tax1": null,
                      "tax2": null,
                      "tax3": null,
                      "tax4": null,
                      "tax5": null,
                      "alternativeTaxId": null,
                      "netPrice2": 0,
                      "netPrice3": 0,
                      "netPrice4": 0,
                      "netPrice5": 0,
                      "commission": 0,
                      "stockType": null,
                      "minimumStockWarning": null,
                      "negativeStockPermission": null,
                      "averageCostPrice": 0,
                      "creationDate": "0001-01-01T00:00:00",
                      "askingPrice": false,
                      "fixedCostPrice": false,
                      "marginRef1": 0,
                      "marginRef2": 0,
                      "marginRef3": 0,
                      "marginRef4": 0,
                      "marginRef5": 0,
                      "batchTypeId": null,
                      "serialNumberTypeId": null,
                      "pictureId": null,
                      "thumbId": null,
                      "ordersPrintingOrder": 0,
                      "replacementReports": false,
                      "localPrinting": false,
                      "groupOnKitchen": false,
                      "followItem": false,
                      "printer1": false,
                      "printer2": false,
                      "printer3": false,
                      "printer4": false,
                      "printer5": false,
                      "printer6": false,
                      "printer7": false,
                      "printer8": false,
                      "printer9": false,
                      "printer10": false,
                      "printer11": false,
                      "printer12": false,
                      "printer13": false,
                      "printer14": false,
                      "printer15": false,
                      "printer16": false,
                      "printer17": false,
                      "printer18": false,
                      "printer19": false,
                      "printer20": false,
                      "expireTimeUnit": null,
                      "expireTime": null,
                      "maxValue": 0,
                      "taxInclude": false,
                      "contractDetails": null
                    },
                    {
                      "keyId": "ART-20891",
                      "description": "Leite Meio Gordo UHT 1L",
                      "shortName1": "Leite 1L",
                      "itemsGroups": "Lacticínios > Leite",
                      "itemType": 1,
                      "barcode": "5601002003055",
                      "purchaseNetPrice": 0.62,
                      "purchasePrice": 0,
                      "retailPrice1": 0.99,
                      "netPrice1": 0.8,
                      "tax": 0.06,
                      "saleUnitDescription": "Pacote",
                      "currentStock": 340,
                      "remote5": null,
                      "taxOverProfit": null,
                      "groupId": 8,
                      "barcodeType": null,
                      "retailPrice2": 0,
                      "retailPrice3": 0,
                      "retailPrice4": 0,
                      "retailPrice5": 0,
                      "unitOfSale": null,
                      "stockControl": false,
                      "discontinued": false,
                      "capacity": null,
                      "capacityUnit": null,
                      "extraDescription": null,
                      "tax1": null,
                      "tax2": null,
                      "tax3": null,
                      "tax4": null,
                      "tax5": null,
                      "alternativeTaxId": null,
                      "netPrice2": 0,
                      "netPrice3": 0,
                      "netPrice4": 0,
                      "netPrice5": 0,
                      "commission": 0,
                      "stockType": null,
                      "minimumStockWarning": null,
                      "negativeStockPermission": null,
                      "averageCostPrice": 0,
                      "creationDate": "0001-01-01T00:00:00",
                      "askingPrice": false,
                      "fixedCostPrice": false,
                      "marginRef1": 0,
                      "marginRef2": 0,
                      "marginRef3": 0,
                      "marginRef4": 0,
                      "marginRef5": 0,
                      "batchTypeId": null,
                      "serialNumberTypeId": null,
                      "pictureId": null,
                      "thumbId": null,
                      "ordersPrintingOrder": 0,
                      "replacementReports": false,
                      "localPrinting": false,
                      "groupOnKitchen": false,
                      "followItem": false,
                      "printer1": false,
                      "printer2": false,
                      "printer3": false,
                      "printer4": false,
                      "printer5": false,
                      "printer6": false,
                      "printer7": false,
                      "printer8": false,
                      "printer9": false,
                      "printer10": false,
                      "printer11": false,
                      "printer12": false,
                      "printer13": false,
                      "printer14": false,
                      "printer15": false,
                      "printer16": false,
                      "printer17": false,
                      "printer18": false,
                      "printer19": false,
                      "printer20": false,
                      "expireTimeUnit": null,
                      "expireTime": null,
                      "maxValue": 0,
                      "taxInclude": false,
                      "contractDetails": null
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "keyId": "ART-10042",
                      "description": "Azeite Virgem Extra 500ml",
                      "shortName1": "Azeite EV 500",
                      "itemsGroups": "Mercearia > Óleos",
                      "itemType": 1,
                      "barcode": "5601234001001",
                      "purchaseNetPrice": 4.25,
                      "purchasePrice": 0,
                      "retailPrice1": 7.99,
                      "netPrice1": 6.49,
                      "tax": 0.23,
                      "saleUnitDescription": "Garrafa",
                      "currentStock": 128,
                      "remote5": null,
                      "taxOverProfit": null,
                      "groupId": 12,
                      "barcodeType": null,
                      "retailPrice2": 0,
                      "retailPrice3": 0,
                      "retailPrice4": 0,
                      "retailPrice5": 0,
                      "unitOfSale": null,
                      "stockControl": false,
                      "discontinued": false,
                      "capacity": null,
                      "capacityUnit": null,
                      "extraDescription": null,
                      "tax1": null,
                      "tax2": null,
                      "tax3": null,
                      "tax4": null,
                      "tax5": null,
                      "alternativeTaxId": null,
                      "netPrice2": 0,
                      "netPrice3": 0,
                      "netPrice4": 0,
                      "netPrice5": 0,
                      "commission": 0,
                      "stockType": null,
                      "minimumStockWarning": null,
                      "negativeStockPermission": null,
                      "averageCostPrice": 0,
                      "creationDate": "0001-01-01T00:00:00",
                      "askingPrice": false,
                      "fixedCostPrice": false,
                      "marginRef1": 0,
                      "marginRef2": 0,
                      "marginRef3": 0,
                      "marginRef4": 0,
                      "marginRef5": 0,
                      "batchTypeId": null,
                      "serialNumberTypeId": null,
                      "pictureId": null,
                      "thumbId": null,
                      "ordersPrintingOrder": 0,
                      "replacementReports": false,
                      "localPrinting": false,
                      "groupOnKitchen": false,
                      "followItem": false,
                      "printer1": false,
                      "printer2": false,
                      "printer3": false,
                      "printer4": false,
                      "printer5": false,
                      "printer6": false,
                      "printer7": false,
                      "printer8": false,
                      "printer9": false,
                      "printer10": false,
                      "printer11": false,
                      "printer12": false,
                      "printer13": false,
                      "printer14": false,
                      "printer15": false,
                      "printer16": false,
                      "printer17": false,
                      "printer18": false,
                      "printer19": false,
                      "printer20": false,
                      "expireTimeUnit": null,
                      "expireTime": null,
                      "maxValue": 0,
                      "taxInclude": false,
                      "contractDetails": null
                    },
                    {
                      "keyId": "ART-20891",
                      "description": "Leite Meio Gordo UHT 1L",
                      "shortName1": "Leite 1L",
                      "itemsGroups": "Lacticínios > Leite",
                      "itemType": 1,
                      "barcode": "5601002003055",
                      "purchaseNetPrice": 0.62,
                      "purchasePrice": 0,
                      "retailPrice1": 0.99,
                      "netPrice1": 0.8,
                      "tax": 0.06,
                      "saleUnitDescription": "Pacote",
                      "currentStock": 340,
                      "remote5": null,
                      "taxOverProfit": null,
                      "groupId": 8,
                      "barcodeType": null,
                      "retailPrice2": 0,
                      "retailPrice3": 0,
                      "retailPrice4": 0,
                      "retailPrice5": 0,
                      "unitOfSale": null,
                      "stockControl": false,
                      "discontinued": false,
                      "capacity": null,
                      "capacityUnit": null,
                      "extraDescription": null,
                      "tax1": null,
                      "tax2": null,
                      "tax3": null,
                      "tax4": null,
                      "tax5": null,
                      "alternativeTaxId": null,
                      "netPrice2": 0,
                      "netPrice3": 0,
                      "netPrice4": 0,
                      "netPrice5": 0,
                      "commission": 0,
                      "stockType": null,
                      "minimumStockWarning": null,
                      "negativeStockPermission": null,
                      "averageCostPrice": 0,
                      "creationDate": "0001-01-01T00:00:00",
                      "askingPrice": false,
                      "fixedCostPrice": false,
                      "marginRef1": 0,
                      "marginRef2": 0,
                      "marginRef3": 0,
                      "marginRef4": 0,
                      "marginRef5": 0,
                      "batchTypeId": null,
                      "serialNumberTypeId": null,
                      "pictureId": null,
                      "thumbId": null,
                      "ordersPrintingOrder": 0,
                      "replacementReports": false,
                      "localPrinting": false,
                      "groupOnKitchen": false,
                      "followItem": false,
                      "printer1": false,
                      "printer2": false,
                      "printer3": false,
                      "printer4": false,
                      "printer5": false,
                      "printer6": false,
                      "printer7": false,
                      "printer8": false,
                      "printer9": false,
                      "printer10": false,
                      "printer11": false,
                      "printer12": false,
                      "printer13": false,
                      "printer14": false,
                      "printer15": false,
                      "printer16": false,
                      "printer17": false,
                      "printer18": false,
                      "printer19": false,
                      "printer20": false,
                      "expireTimeUnit": null,
                      "expireTime": null,
                      "maxValue": 0,
                      "taxInclude": false,
                      "contractDetails": null
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/item-barcode": {
      "get": {
        "tags": [
          "ItemBarcode"
        ],
        "summary": "Retrieves all item barcodes with optional pagination.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The number of records to return per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ItemBarcodeDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 501,
                      "itemKeyId": "ART-10042",
                      "barcode": "5601234001001",
                      "barcodeType": 1,
                      "description": "EAN principal — garrafa",
                      "quantity": 1,
                      "retailPrice": null,
                      "syncStamp": null,
                      "netPrice": 0,
                      "useItemPrice": false,
                      "itemAttributeCode": ""
                    },
                    {
                      "id": 502,
                      "itemKeyId": "ART-10042",
                      "barcode": "2005601234001",
                      "barcodeType": 2,
                      "description": "Caixa fechada (6 garrafas)",
                      "quantity": 6,
                      "retailPrice": null,
                      "syncStamp": null,
                      "netPrice": 0,
                      "useItemPrice": false,
                      "itemAttributeCode": ""
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemBarcodeDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 501,
                      "itemKeyId": "ART-10042",
                      "barcode": "5601234001001",
                      "barcodeType": 1,
                      "description": "EAN principal — garrafa",
                      "quantity": 1,
                      "retailPrice": null,
                      "syncStamp": null,
                      "netPrice": 0,
                      "useItemPrice": false,
                      "itemAttributeCode": ""
                    },
                    {
                      "id": 502,
                      "itemKeyId": "ART-10042",
                      "barcode": "2005601234001",
                      "barcodeType": 2,
                      "description": "Caixa fechada (6 garrafas)",
                      "quantity": 6,
                      "retailPrice": null,
                      "syncStamp": null,
                      "netPrice": 0,
                      "useItemPrice": false,
                      "itemAttributeCode": ""
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemBarcodeDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 501,
                      "itemKeyId": "ART-10042",
                      "barcode": "5601234001001",
                      "barcodeType": 1,
                      "description": "EAN principal — garrafa",
                      "quantity": 1,
                      "retailPrice": null,
                      "syncStamp": null,
                      "netPrice": 0,
                      "useItemPrice": false,
                      "itemAttributeCode": ""
                    },
                    {
                      "id": 502,
                      "itemKeyId": "ART-10042",
                      "barcode": "2005601234001",
                      "barcodeType": 2,
                      "description": "Caixa fechada (6 garrafas)",
                      "quantity": 6,
                      "retailPrice": null,
                      "syncStamp": null,
                      "netPrice": 0,
                      "useItemPrice": false,
                      "itemAttributeCode": ""
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/item-barcode/{id}": {
      "get": {
        "tags": [
          "ItemBarcode"
        ],
        "summary": "Retrieves an item barcode by its identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique identifier of the item barcode to retrieve.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ItemBarcodeDTO"
                },
                "example": {
                  "id": 1,
                  "itemKeyId": "ART001",
                  "barcode": "5601234567890",
                  "barcodeType": 1,
                  "description": "Codigo EAN-13 principal",
                  "quantity": 1,
                  "retailPrice": 1.99,
                  "syncStamp": null,
                  "netPrice": 1.62,
                  "useItemPrice": true,
                  "itemAttributeCode": ""
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemBarcodeDTO"
                },
                "example": {
                  "id": 1,
                  "itemKeyId": "ART001",
                  "barcode": "5601234567890",
                  "barcodeType": 1,
                  "description": "Codigo EAN-13 principal",
                  "quantity": 1,
                  "retailPrice": 1.99,
                  "syncStamp": null,
                  "netPrice": 1.62,
                  "useItemPrice": true,
                  "itemAttributeCode": ""
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemBarcodeDTO"
                },
                "example": {
                  "id": 1,
                  "itemKeyId": "ART001",
                  "barcode": "5601234567890",
                  "barcodeType": 1,
                  "description": "Codigo EAN-13 principal",
                  "quantity": 1,
                  "retailPrice": 1.99,
                  "syncStamp": null,
                  "netPrice": 1.62,
                  "useItemPrice": true,
                  "itemAttributeCode": ""
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/item-batch": {
      "get": {
        "tags": [
          "ItemBatch"
        ],
        "summary": "Retrieves all item batches with optional pagination.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The number of records to return per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ItemBatchDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "keyId": "LOT-2025-0142",
                      "itemKeyId": "ART-20891",
                      "attributeCode": "DEFAULT",
                      "batchTypeId": 1,
                      "expirationDate": "2025-11-30T00:00:00",
                      "productionDate": null,
                      "systemEntryDate": null
                    },
                    {
                      "keyId": "LOT-2025-0143",
                      "itemKeyId": "ART-20891",
                      "attributeCode": "DEFAULT",
                      "batchTypeId": 1,
                      "expirationDate": "2026-02-15T00:00:00",
                      "productionDate": null,
                      "systemEntryDate": null
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemBatchDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "keyId": "LOT-2025-0142",
                      "itemKeyId": "ART-20891",
                      "attributeCode": "DEFAULT",
                      "batchTypeId": 1,
                      "expirationDate": "2025-11-30T00:00:00",
                      "productionDate": null,
                      "systemEntryDate": null
                    },
                    {
                      "keyId": "LOT-2025-0143",
                      "itemKeyId": "ART-20891",
                      "attributeCode": "DEFAULT",
                      "batchTypeId": 1,
                      "expirationDate": "2026-02-15T00:00:00",
                      "productionDate": null,
                      "systemEntryDate": null
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemBatchDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "keyId": "LOT-2025-0142",
                      "itemKeyId": "ART-20891",
                      "attributeCode": "DEFAULT",
                      "batchTypeId": 1,
                      "expirationDate": "2025-11-30T00:00:00",
                      "productionDate": null,
                      "systemEntryDate": null
                    },
                    {
                      "keyId": "LOT-2025-0143",
                      "itemKeyId": "ART-20891",
                      "attributeCode": "DEFAULT",
                      "batchTypeId": 1,
                      "expirationDate": "2026-02-15T00:00:00",
                      "productionDate": null,
                      "systemEntryDate": null
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/item-batch/{keyId}": {
      "get": {
        "tags": [
          "ItemBatch"
        ],
        "summary": "Retrieves an item batch by its key identifier.",
        "parameters": [
          {
            "name": "keyId",
            "in": "path",
            "description": "The key identifier of the item batch to retrieve.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ItemBatchDTO"
                },
                "example": {
                  "keyId": "LOTE-2026-001",
                  "itemKeyId": "ART001",
                  "attributeCode": "",
                  "batchTypeId": 1,
                  "expirationDate": "2027-07-07T00:00:00+00:00",
                  "productionDate": "2026-07-07T00:00:00+00:00",
                  "systemEntryDate": "2026-07-07T00:00:00+00:00"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemBatchDTO"
                },
                "example": {
                  "keyId": "LOTE-2026-001",
                  "itemKeyId": "ART001",
                  "attributeCode": "",
                  "batchTypeId": 1,
                  "expirationDate": "2027-07-07T00:00:00+00:00",
                  "productionDate": "2026-07-07T00:00:00+00:00",
                  "systemEntryDate": "2026-07-07T00:00:00+00:00"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemBatchDTO"
                },
                "example": {
                  "keyId": "LOTE-2026-001",
                  "itemKeyId": "ART001",
                  "attributeCode": "",
                  "batchTypeId": 1,
                  "expirationDate": "2027-07-07T00:00:00+00:00",
                  "productionDate": "2026-07-07T00:00:00+00:00",
                  "systemEntryDate": "2026-07-07T00:00:00+00:00"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/item-category": {
      "get": {
        "tags": [
          "ItemCategory"
        ],
        "summary": "Retrieves all item categories with optional pagination.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The number of records to return per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ItemCategoryDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 10,
                      "description": "Alimentação"
                    },
                    {
                      "id": 11,
                      "description": "Bebidas"
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemCategoryDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 10,
                      "description": "Alimentação"
                    },
                    {
                      "id": 11,
                      "description": "Bebidas"
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemCategoryDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 10,
                      "description": "Alimentação"
                    },
                    {
                      "id": 11,
                      "description": "Bebidas"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/item-stock": {
      "get": {
        "tags": [
          "ItemStock"
        ],
        "summary": "Retrieves stock records for an item across all warehouses.",
        "parameters": [
          {
            "name": "itemKeyId",
            "in": "query",
            "description": "Item key identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of records per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ItemStockDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "itemKeyId": "ART001",
                      "warehouseId": 1,
                      "attributeCode": "",
                      "availableQuantity": 150.0,
                      "minimumQuantity": 10.0,
                      "restockQuantity": 50.0,
                      "warehouseLocation": "A1-P3",
                      "warehouseExistentQuantity": 155.0,
                      "customerOrderQuantity": 0,
                      "customerConsignmentQuantity": 0,
                      "supplierOrderQuantity": 0,
                      "supplierConsignmentQuantity": 0,
                      "lastEntrance": null,
                      "lastExit": null,
                      "lastCostPrice": 0,
                      "averageCostPrice": 0
                    },
                    {
                      "itemKeyId": "ART001",
                      "warehouseId": 2,
                      "attributeCode": "",
                      "availableQuantity": 30.0,
                      "minimumQuantity": 5.0,
                      "restockQuantity": 20.0,
                      "warehouseLocation": "B2-P1",
                      "warehouseExistentQuantity": 30.0,
                      "customerOrderQuantity": 0,
                      "customerConsignmentQuantity": 0,
                      "supplierOrderQuantity": 0,
                      "supplierConsignmentQuantity": 0,
                      "lastEntrance": null,
                      "lastExit": null,
                      "lastCostPrice": 0,
                      "averageCostPrice": 0
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemStockDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "itemKeyId": "ART001",
                      "warehouseId": 1,
                      "attributeCode": "",
                      "availableQuantity": 150.0,
                      "minimumQuantity": 10.0,
                      "restockQuantity": 50.0,
                      "warehouseLocation": "A1-P3",
                      "warehouseExistentQuantity": 155.0,
                      "customerOrderQuantity": 0,
                      "customerConsignmentQuantity": 0,
                      "supplierOrderQuantity": 0,
                      "supplierConsignmentQuantity": 0,
                      "lastEntrance": null,
                      "lastExit": null,
                      "lastCostPrice": 0,
                      "averageCostPrice": 0
                    },
                    {
                      "itemKeyId": "ART001",
                      "warehouseId": 2,
                      "attributeCode": "",
                      "availableQuantity": 30.0,
                      "minimumQuantity": 5.0,
                      "restockQuantity": 20.0,
                      "warehouseLocation": "B2-P1",
                      "warehouseExistentQuantity": 30.0,
                      "customerOrderQuantity": 0,
                      "customerConsignmentQuantity": 0,
                      "supplierOrderQuantity": 0,
                      "supplierConsignmentQuantity": 0,
                      "lastEntrance": null,
                      "lastExit": null,
                      "lastCostPrice": 0,
                      "averageCostPrice": 0
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemStockDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "itemKeyId": "ART001",
                      "warehouseId": 1,
                      "attributeCode": "",
                      "availableQuantity": 150.0,
                      "minimumQuantity": 10.0,
                      "restockQuantity": 50.0,
                      "warehouseLocation": "A1-P3",
                      "warehouseExistentQuantity": 155.0,
                      "customerOrderQuantity": 0,
                      "customerConsignmentQuantity": 0,
                      "supplierOrderQuantity": 0,
                      "supplierConsignmentQuantity": 0,
                      "lastEntrance": null,
                      "lastExit": null,
                      "lastCostPrice": 0,
                      "averageCostPrice": 0
                    },
                    {
                      "itemKeyId": "ART001",
                      "warehouseId": 2,
                      "attributeCode": "",
                      "availableQuantity": 30.0,
                      "minimumQuantity": 5.0,
                      "restockQuantity": 20.0,
                      "warehouseLocation": "B2-P1",
                      "warehouseExistentQuantity": 30.0,
                      "customerOrderQuantity": 0,
                      "customerConsignmentQuantity": 0,
                      "supplierOrderQuantity": 0,
                      "supplierConsignmentQuantity": 0,
                      "lastEntrance": null,
                      "lastExit": null,
                      "lastCostPrice": 0,
                      "averageCostPrice": 0
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/item-stock/{itemKeyId}/{warehouseId}": {
      "get": {
        "tags": [
          "ItemStock"
        ],
        "summary": "Retrieves the stock record for an item in a specific warehouse.",
        "parameters": [
          {
            "name": "itemKeyId",
            "in": "path",
            "description": "Item key identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "warehouseId",
            "in": "path",
            "description": "Warehouse identifier.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "attributeCode",
            "in": "query",
            "description": "Optional attribute/variant code.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ItemStockDTO"
                },
                "example": {
                  "itemKeyId": "ART001",
                  "warehouseId": 1,
                  "attributeCode": "",
                  "availableQuantity": 150.0,
                  "minimumQuantity": 10.0,
                  "restockQuantity": 50.0,
                  "warehouseLocation": "A1-P3",
                  "warehouseExistentQuantity": 155.0,
                  "customerOrderQuantity": 0,
                  "customerConsignmentQuantity": 0,
                  "supplierOrderQuantity": 0,
                  "supplierConsignmentQuantity": 5.0,
                  "lastEntrance": "2026-04-10T00:00:00",
                  "lastExit": "2026-04-12T00:00:00",
                  "lastCostPrice": 8.5,
                  "averageCostPrice": 8.25
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemStockDTO"
                },
                "example": {
                  "itemKeyId": "ART001",
                  "warehouseId": 1,
                  "attributeCode": "",
                  "availableQuantity": 150.0,
                  "minimumQuantity": 10.0,
                  "restockQuantity": 50.0,
                  "warehouseLocation": "A1-P3",
                  "warehouseExistentQuantity": 155.0,
                  "customerOrderQuantity": 0,
                  "customerConsignmentQuantity": 0,
                  "supplierOrderQuantity": 0,
                  "supplierConsignmentQuantity": 5.0,
                  "lastEntrance": "2026-04-10T00:00:00",
                  "lastExit": "2026-04-12T00:00:00",
                  "lastCostPrice": 8.5,
                  "averageCostPrice": 8.25
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemStockDTO"
                },
                "example": {
                  "itemKeyId": "ART001",
                  "warehouseId": 1,
                  "attributeCode": "",
                  "availableQuantity": 150.0,
                  "minimumQuantity": 10.0,
                  "restockQuantity": 50.0,
                  "warehouseLocation": "A1-P3",
                  "warehouseExistentQuantity": 155.0,
                  "customerOrderQuantity": 0,
                  "customerConsignmentQuantity": 0,
                  "supplierOrderQuantity": 0,
                  "supplierConsignmentQuantity": 5.0,
                  "lastEntrance": "2026-04-10T00:00:00",
                  "lastExit": "2026-04-12T00:00:00",
                  "lastCostPrice": 8.5,
                  "averageCostPrice": 8.25
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/item/{keyId}": {
      "put": {
        "tags": [
          "Items"
        ],
        "summary": "Updates an existing item by its key identifier.",
        "parameters": [
          {
            "name": "keyId",
            "in": "path",
            "description": "Item identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Update request data transfer object.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateRequestDTO"
              },
              "example": {
                "item": {
                  "keyId": "ART001",
                  "description": "Caneta Esferografica Azul",
                  "shortName1": "Caneta Azul",
                  "groupId": 1,
                  "itemType": 1,
                  "barcode": "5601234567890",
                  "barcodeType": 1,
                  "retailPrice1": 1.99,
                  "retailPrice2": null,
                  "retailPrice3": null,
                  "retailPrice4": null,
                  "retailPrice5": null,
                  "unitOfSale": 1,
                  "stockControl": true,
                  "discontinued": false,
                  "capacity": null,
                  "capacityUnit": null,
                  "tax1": 1,
                  "tax2": null,
                  "tax3": null,
                  "tax4": null,
                  "tax5": null,
                  "taxOverProfit": null,
                  "alternativeTaxId": null,
                  "purchasePrice": 0.8,
                  "netPrice1": 1.62,
                  "netPrice2": null,
                  "netPrice3": null,
                  "netPrice4": null,
                  "netPrice5": null,
                  "purchaseNetPrice": 0.65,
                  "commission": null,
                  "stockType": null,
                  "minimumStockWarning": null,
                  "negativeStockPermission": null,
                  "averageCostPrice": null,
                  "creationDate": "2026-07-07T00:00:00+00:00",
                  "askingPrice": null,
                  "fixedCostPrice": null,
                  "marginRef1": null,
                  "marginRef2": null,
                  "marginRef3": null,
                  "marginRef4": null,
                  "marginRef5": null,
                  "batchTypeId": null,
                  "serialNumberTypeId": null,
                  "pictureId": null,
                  "thumbId": null,
                  "extraDescription": null,
                  "ordersPrintingOrder": null,
                  "replacementReports": null,
                  "localPrinting": null,
                  "groupOnKitchen": null,
                  "followItem": null,
                  "printer1": null,
                  "printer2": null,
                  "printer3": null,
                  "printer4": null,
                  "printer5": null,
                  "printer6": null,
                  "printer7": null,
                  "printer8": null,
                  "printer9": null,
                  "printer10": null,
                  "printer11": null,
                  "printer12": null,
                  "printer13": null,
                  "printer14": null,
                  "printer15": null,
                  "printer16": null,
                  "printer17": null,
                  "printer18": null,
                  "printer19": null,
                  "printer20": null,
                  "compositeType": null,
                  "compositePriceType": null,
                  "compositeDetailsPriceType": null,
                  "closedComposite": null,
                  "excludeDetailOnDocs": null,
                  "compositeNeededComponents": null,
                  "compositeProductionQuantity": null,
                  "compositeProductionDuration": null,
                  "compositeDetails": null,
                  "expireTimeUnit": null,
                  "expireTime": null,
                  "maxValue": null,
                  "taxInclude": null,
                  "contractDetails": null
                },
                "confirmedChecks": [
                  "price-change",
                  "stock-adjustment"
                ]
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateRequestDTO"
              },
              "example": {
                "item": {
                  "keyId": "ART001",
                  "description": "Caneta Esferografica Azul",
                  "shortName1": "Caneta Azul",
                  "groupId": 1,
                  "itemType": 1,
                  "barcode": "5601234567890",
                  "barcodeType": 1,
                  "retailPrice1": 1.99,
                  "retailPrice2": null,
                  "retailPrice3": null,
                  "retailPrice4": null,
                  "retailPrice5": null,
                  "unitOfSale": 1,
                  "stockControl": true,
                  "discontinued": false,
                  "capacity": null,
                  "capacityUnit": null,
                  "tax1": 1,
                  "tax2": null,
                  "tax3": null,
                  "tax4": null,
                  "tax5": null,
                  "taxOverProfit": null,
                  "alternativeTaxId": null,
                  "purchasePrice": 0.8,
                  "netPrice1": 1.62,
                  "netPrice2": null,
                  "netPrice3": null,
                  "netPrice4": null,
                  "netPrice5": null,
                  "purchaseNetPrice": 0.65,
                  "commission": null,
                  "stockType": null,
                  "minimumStockWarning": null,
                  "negativeStockPermission": null,
                  "averageCostPrice": null,
                  "creationDate": "2026-07-07T00:00:00+00:00",
                  "askingPrice": null,
                  "fixedCostPrice": null,
                  "marginRef1": null,
                  "marginRef2": null,
                  "marginRef3": null,
                  "marginRef4": null,
                  "marginRef5": null,
                  "batchTypeId": null,
                  "serialNumberTypeId": null,
                  "pictureId": null,
                  "thumbId": null,
                  "extraDescription": null,
                  "ordersPrintingOrder": null,
                  "replacementReports": null,
                  "localPrinting": null,
                  "groupOnKitchen": null,
                  "followItem": null,
                  "printer1": null,
                  "printer2": null,
                  "printer3": null,
                  "printer4": null,
                  "printer5": null,
                  "printer6": null,
                  "printer7": null,
                  "printer8": null,
                  "printer9": null,
                  "printer10": null,
                  "printer11": null,
                  "printer12": null,
                  "printer13": null,
                  "printer14": null,
                  "printer15": null,
                  "printer16": null,
                  "printer17": null,
                  "printer18": null,
                  "printer19": null,
                  "printer20": null,
                  "compositeType": null,
                  "compositePriceType": null,
                  "compositeDetailsPriceType": null,
                  "closedComposite": null,
                  "excludeDetailOnDocs": null,
                  "compositeNeededComponents": null,
                  "compositeProductionQuantity": null,
                  "compositeProductionDuration": null,
                  "compositeDetails": null,
                  "expireTimeUnit": null,
                  "expireTime": null,
                  "maxValue": null,
                  "taxInclude": null,
                  "contractDetails": null
                },
                "confirmedChecks": [
                  "price-change",
                  "stock-adjustment"
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateRequestDTO"
              },
              "example": {
                "item": {
                  "keyId": "ART001",
                  "description": "Caneta Esferografica Azul",
                  "shortName1": "Caneta Azul",
                  "groupId": 1,
                  "itemType": 1,
                  "barcode": "5601234567890",
                  "barcodeType": 1,
                  "retailPrice1": 1.99,
                  "retailPrice2": null,
                  "retailPrice3": null,
                  "retailPrice4": null,
                  "retailPrice5": null,
                  "unitOfSale": 1,
                  "stockControl": true,
                  "discontinued": false,
                  "capacity": null,
                  "capacityUnit": null,
                  "tax1": 1,
                  "tax2": null,
                  "tax3": null,
                  "tax4": null,
                  "tax5": null,
                  "taxOverProfit": null,
                  "alternativeTaxId": null,
                  "purchasePrice": 0.8,
                  "netPrice1": 1.62,
                  "netPrice2": null,
                  "netPrice3": null,
                  "netPrice4": null,
                  "netPrice5": null,
                  "purchaseNetPrice": 0.65,
                  "commission": null,
                  "stockType": null,
                  "minimumStockWarning": null,
                  "negativeStockPermission": null,
                  "averageCostPrice": null,
                  "creationDate": "2026-07-07T00:00:00+00:00",
                  "askingPrice": null,
                  "fixedCostPrice": null,
                  "marginRef1": null,
                  "marginRef2": null,
                  "marginRef3": null,
                  "marginRef4": null,
                  "marginRef5": null,
                  "batchTypeId": null,
                  "serialNumberTypeId": null,
                  "pictureId": null,
                  "thumbId": null,
                  "extraDescription": null,
                  "ordersPrintingOrder": null,
                  "replacementReports": null,
                  "localPrinting": null,
                  "groupOnKitchen": null,
                  "followItem": null,
                  "printer1": null,
                  "printer2": null,
                  "printer3": null,
                  "printer4": null,
                  "printer5": null,
                  "printer6": null,
                  "printer7": null,
                  "printer8": null,
                  "printer9": null,
                  "printer10": null,
                  "printer11": null,
                  "printer12": null,
                  "printer13": null,
                  "printer14": null,
                  "printer15": null,
                  "printer16": null,
                  "printer17": null,
                  "printer18": null,
                  "printer19": null,
                  "printer20": null,
                  "compositeType": null,
                  "compositePriceType": null,
                  "compositeDetailsPriceType": null,
                  "closedComposite": null,
                  "excludeDetailOnDocs": null,
                  "compositeNeededComponents": null,
                  "compositeProductionQuantity": null,
                  "compositeProductionDuration": null,
                  "compositeDetails": null,
                  "expireTimeUnit": null,
                  "expireTime": null,
                  "maxValue": null,
                  "taxInclude": null,
                  "contractDetails": null
                },
                "confirmedChecks": [
                  "price-change",
                  "stock-adjustment"
                ]
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Items"
        ],
        "summary": "Deletes an item by its key identifier.",
        "parameters": [
          {
            "name": "keyId",
            "in": "path",
            "description": "Item identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Items"
        ],
        "summary": "Retrieves an item by its key identifier, including group information.",
        "parameters": [
          {
            "name": "keyId",
            "in": "path",
            "description": "Item identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ItemDTO"
                },
                "example": {
                  "keyId": "ART-10042",
                  "description": "Azeite Virgem Extra 500ml",
                  "shortName1": "Azeite EV 500",
                  "itemsGroups": "Mercearia > Óleos",
                  "itemType": 1,
                  "barcode": "5601234001001",
                  "purchaseNetPrice": 4.25,
                  "purchasePrice": 0,
                  "retailPrice1": 7.99,
                  "netPrice1": 6.49,
                  "tax": 0.23,
                  "saleUnitDescription": "Garrafa",
                  "currentStock": 128,
                  "remote5": null,
                  "taxOverProfit": null,
                  "groupId": 12,
                  "barcodeType": null,
                  "retailPrice2": 0,
                  "retailPrice3": 0,
                  "retailPrice4": 0,
                  "retailPrice5": 0,
                  "unitOfSale": 1,
                  "stockControl": true,
                  "discontinued": false,
                  "capacity": null,
                  "capacityUnit": null,
                  "extraDescription": null,
                  "tax1": 1,
                  "tax2": null,
                  "tax3": null,
                  "tax4": null,
                  "tax5": null,
                  "alternativeTaxId": null,
                  "netPrice2": 0,
                  "netPrice3": 0,
                  "netPrice4": 0,
                  "netPrice5": 0,
                  "commission": 0,
                  "stockType": null,
                  "minimumStockWarning": null,
                  "negativeStockPermission": null,
                  "averageCostPrice": 0,
                  "creationDate": "2026-07-07T00:00:00+00:00",
                  "askingPrice": false,
                  "fixedCostPrice": false,
                  "marginRef1": 0,
                  "marginRef2": 0,
                  "marginRef3": 0,
                  "marginRef4": 0,
                  "marginRef5": 0,
                  "batchTypeId": null,
                  "serialNumberTypeId": null,
                  "pictureId": null,
                  "thumbId": null,
                  "ordersPrintingOrder": 0,
                  "replacementReports": false,
                  "localPrinting": false,
                  "groupOnKitchen": false,
                  "followItem": false,
                  "printer1": false,
                  "printer2": false,
                  "printer3": false,
                  "printer4": false,
                  "printer5": false,
                  "printer6": false,
                  "printer7": false,
                  "printer8": false,
                  "printer9": false,
                  "printer10": false,
                  "printer11": false,
                  "printer12": false,
                  "printer13": false,
                  "printer14": false,
                  "printer15": false,
                  "printer16": false,
                  "printer17": false,
                  "printer18": false,
                  "printer19": false,
                  "printer20": false,
                  "expireTimeUnit": null,
                  "expireTime": null,
                  "maxValue": 0,
                  "taxInclude": false,
                  "contractDetails": null
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemDTO"
                },
                "example": {
                  "keyId": "ART-10042",
                  "description": "Azeite Virgem Extra 500ml",
                  "shortName1": "Azeite EV 500",
                  "itemsGroups": "Mercearia > Óleos",
                  "itemType": 1,
                  "barcode": "5601234001001",
                  "purchaseNetPrice": 4.25,
                  "purchasePrice": 0,
                  "retailPrice1": 7.99,
                  "netPrice1": 6.49,
                  "tax": 0.23,
                  "saleUnitDescription": "Garrafa",
                  "currentStock": 128,
                  "remote5": null,
                  "taxOverProfit": null,
                  "groupId": 12,
                  "barcodeType": null,
                  "retailPrice2": 0,
                  "retailPrice3": 0,
                  "retailPrice4": 0,
                  "retailPrice5": 0,
                  "unitOfSale": 1,
                  "stockControl": true,
                  "discontinued": false,
                  "capacity": null,
                  "capacityUnit": null,
                  "extraDescription": null,
                  "tax1": 1,
                  "tax2": null,
                  "tax3": null,
                  "tax4": null,
                  "tax5": null,
                  "alternativeTaxId": null,
                  "netPrice2": 0,
                  "netPrice3": 0,
                  "netPrice4": 0,
                  "netPrice5": 0,
                  "commission": 0,
                  "stockType": null,
                  "minimumStockWarning": null,
                  "negativeStockPermission": null,
                  "averageCostPrice": 0,
                  "creationDate": "2026-07-07T00:00:00+00:00",
                  "askingPrice": false,
                  "fixedCostPrice": false,
                  "marginRef1": 0,
                  "marginRef2": 0,
                  "marginRef3": 0,
                  "marginRef4": 0,
                  "marginRef5": 0,
                  "batchTypeId": null,
                  "serialNumberTypeId": null,
                  "pictureId": null,
                  "thumbId": null,
                  "ordersPrintingOrder": 0,
                  "replacementReports": false,
                  "localPrinting": false,
                  "groupOnKitchen": false,
                  "followItem": false,
                  "printer1": false,
                  "printer2": false,
                  "printer3": false,
                  "printer4": false,
                  "printer5": false,
                  "printer6": false,
                  "printer7": false,
                  "printer8": false,
                  "printer9": false,
                  "printer10": false,
                  "printer11": false,
                  "printer12": false,
                  "printer13": false,
                  "printer14": false,
                  "printer15": false,
                  "printer16": false,
                  "printer17": false,
                  "printer18": false,
                  "printer19": false,
                  "printer20": false,
                  "expireTimeUnit": null,
                  "expireTime": null,
                  "maxValue": 0,
                  "taxInclude": false,
                  "contractDetails": null
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemDTO"
                },
                "example": {
                  "keyId": "ART-10042",
                  "description": "Azeite Virgem Extra 500ml",
                  "shortName1": "Azeite EV 500",
                  "itemsGroups": "Mercearia > Óleos",
                  "itemType": 1,
                  "barcode": "5601234001001",
                  "purchaseNetPrice": 4.25,
                  "purchasePrice": 0,
                  "retailPrice1": 7.99,
                  "netPrice1": 6.49,
                  "tax": 0.23,
                  "saleUnitDescription": "Garrafa",
                  "currentStock": 128,
                  "remote5": null,
                  "taxOverProfit": null,
                  "groupId": 12,
                  "barcodeType": null,
                  "retailPrice2": 0,
                  "retailPrice3": 0,
                  "retailPrice4": 0,
                  "retailPrice5": 0,
                  "unitOfSale": 1,
                  "stockControl": true,
                  "discontinued": false,
                  "capacity": null,
                  "capacityUnit": null,
                  "extraDescription": null,
                  "tax1": 1,
                  "tax2": null,
                  "tax3": null,
                  "tax4": null,
                  "tax5": null,
                  "alternativeTaxId": null,
                  "netPrice2": 0,
                  "netPrice3": 0,
                  "netPrice4": 0,
                  "netPrice5": 0,
                  "commission": 0,
                  "stockType": null,
                  "minimumStockWarning": null,
                  "negativeStockPermission": null,
                  "averageCostPrice": 0,
                  "creationDate": "2026-07-07T00:00:00+00:00",
                  "askingPrice": false,
                  "fixedCostPrice": false,
                  "marginRef1": 0,
                  "marginRef2": 0,
                  "marginRef3": 0,
                  "marginRef4": 0,
                  "marginRef5": 0,
                  "batchTypeId": null,
                  "serialNumberTypeId": null,
                  "pictureId": null,
                  "thumbId": null,
                  "ordersPrintingOrder": 0,
                  "replacementReports": false,
                  "localPrinting": false,
                  "groupOnKitchen": false,
                  "followItem": false,
                  "printer1": false,
                  "printer2": false,
                  "printer3": false,
                  "printer4": false,
                  "printer5": false,
                  "printer6": false,
                  "printer7": false,
                  "printer8": false,
                  "printer9": false,
                  "printer10": false,
                  "printer11": false,
                  "printer12": false,
                  "printer13": false,
                  "printer14": false,
                  "printer15": false,
                  "printer16": false,
                  "printer17": false,
                  "printer18": false,
                  "printer19": false,
                  "printer20": false,
                  "expireTimeUnit": null,
                  "expireTime": null,
                  "maxValue": 0,
                  "taxInclude": false,
                  "contractDetails": null
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/item/{keyId}/details": {
      "get": {
        "tags": [
          "Items"
        ],
        "summary": "Retrieves comprehensive details of an item based on its characteristics.\r\nReturns aggregated information including complements, composition, menu details, etc.",
        "parameters": [
          {
            "name": "keyId",
            "in": "path",
            "description": "The item's key identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ItemDetailDTO"
                },
                "example": {
                  "keyId": "KIT-CAFE-01",
                  "description": "Kit Cafe Completo",
                  "shortName1": "Kit Cafe",
                  "retailPrice1": 24.99,
                  "itemType": 18,
                  "complementDetails": null,
                  "menuDetails": null,
                  "compositeDetails": {
                    "compositions": [
                      {
                        "quantity": 1,
                        "ordering": 0,
                        "detailType": 0,
                        "quantityType": 0,
                        "minRangedQuantity": 0,
                        "maxRangedQuantity": 0,
                        "itemAttributeCode": null,
                        "keyId": "ART-CAFE",
                        "description": "Maquina de Cafe",
                        "shortName1": "Cafe",
                        "retailPrice1": 19.99
                      },
                      {
                        "quantity": 2,
                        "ordering": 1,
                        "detailType": 0,
                        "quantityType": 0,
                        "minRangedQuantity": 0,
                        "maxRangedQuantity": 0,
                        "itemAttributeCode": null,
                        "keyId": "ART-CHAV",
                        "description": "Chavena Ceramica",
                        "shortName1": "Chavena",
                        "retailPrice1": 5.0
                      }
                    ]
                  },
                  "pizzaDetails": null,
                  "contractDetails": null
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemDetailDTO"
                },
                "example": {
                  "keyId": "KIT-CAFE-01",
                  "description": "Kit Cafe Completo",
                  "shortName1": "Kit Cafe",
                  "retailPrice1": 24.99,
                  "itemType": 18,
                  "complementDetails": null,
                  "menuDetails": null,
                  "compositeDetails": {
                    "compositions": [
                      {
                        "quantity": 1,
                        "ordering": 0,
                        "detailType": 0,
                        "quantityType": 0,
                        "minRangedQuantity": 0,
                        "maxRangedQuantity": 0,
                        "itemAttributeCode": null,
                        "keyId": "ART-CAFE",
                        "description": "Maquina de Cafe",
                        "shortName1": "Cafe",
                        "retailPrice1": 19.99
                      },
                      {
                        "quantity": 2,
                        "ordering": 1,
                        "detailType": 0,
                        "quantityType": 0,
                        "minRangedQuantity": 0,
                        "maxRangedQuantity": 0,
                        "itemAttributeCode": null,
                        "keyId": "ART-CHAV",
                        "description": "Chavena Ceramica",
                        "shortName1": "Chavena",
                        "retailPrice1": 5.0
                      }
                    ]
                  },
                  "pizzaDetails": null,
                  "contractDetails": null
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemDetailDTO"
                },
                "example": {
                  "keyId": "KIT-CAFE-01",
                  "description": "Kit Cafe Completo",
                  "shortName1": "Kit Cafe",
                  "retailPrice1": 24.99,
                  "itemType": 18,
                  "complementDetails": null,
                  "menuDetails": null,
                  "compositeDetails": {
                    "compositions": [
                      {
                        "quantity": 1,
                        "ordering": 0,
                        "detailType": 0,
                        "quantityType": 0,
                        "minRangedQuantity": 0,
                        "maxRangedQuantity": 0,
                        "itemAttributeCode": null,
                        "keyId": "ART-CAFE",
                        "description": "Maquina de Cafe",
                        "shortName1": "Cafe",
                        "retailPrice1": 19.99
                      },
                      {
                        "quantity": 2,
                        "ordering": 1,
                        "detailType": 0,
                        "quantityType": 0,
                        "minRangedQuantity": 0,
                        "maxRangedQuantity": 0,
                        "itemAttributeCode": null,
                        "keyId": "ART-CHAV",
                        "description": "Chavena Ceramica",
                        "shortName1": "Chavena",
                        "retailPrice1": 5.0
                      }
                    ]
                  },
                  "pizzaDetails": null,
                  "contractDetails": null
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/item/{keyId}/digital-archives-directories": {
      "get": {
        "tags": [
          "Items"
        ],
        "summary": "Gets the digital archive directory associated with an item key.",
        "parameters": [
          {
            "name": "keyId",
            "in": "path",
            "description": "Business key identifier of the item.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "80e56204-9f6b-4c03-b46d-b3cf9f6cb8a4",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "80e56204-9f6b-4c03-b46d-b3cf9f6cb8a4",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "80e56204-9f6b-4c03-b46d-b3cf9f6cb8a4",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/item/digital-archives-directories/root": {
      "get": {
        "tags": [
          "Items"
        ],
        "summary": "Gets the root digital archive directory for items.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "2dfadcd2-8276-44c1-bca6-a510ae72b4f4",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "2dfadcd2-8276-44c1-bca6-a510ae72b4f4",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "2dfadcd2-8276-44c1-bca6-a510ae72b4f4",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/item/generate-barcode": {
      "get": {
        "tags": [
          "Items"
        ],
        "summary": "Generates a new barcode for an item.",
        "parameters": [
          {
            "name": "barcodeType",
            "in": "query",
            "description": "Type of barcode to generate.",
            "schema": {
              "$ref": "#/components/schemas/BarcodeType"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/item/next-keyId": {
      "get": {
        "tags": [
          "Items"
        ],
        "summary": "Retrieves the next available item key identifier.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/item/printer": {
      "put": {
        "tags": [
          "Items"
        ],
        "summary": "Selects or deselects a printer for all existing items.",
        "requestBody": {
          "description": "Printer number and selection state.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TogglePrinterRequestDTO"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TogglePrinterRequestDTO"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TogglePrinterRequestDTO"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/items-units": {
      "post": {
        "tags": [
          "ItemsUnits"
        ],
        "summary": "Creates a new item unit.",
        "requestBody": {
          "description": "Item unit creation data transfer object.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ItemUnitCreateDTO"
              },
              "example": {
                "id": 1,
                "description": "Unidade",
                "shortName": "UN",
                "useFormula": false,
                "itemMeasures": {
                  "measure1": 0,
                  "measure2": 0,
                  "measure3": 0,
                  "formula": null,
                  "measure1Description": null,
                  "measure2Description": null,
                  "measure3Description": null
                },
                "decimalPlaces": 2
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ItemUnitCreateDTO"
              },
              "example": {
                "id": 1,
                "description": "Unidade",
                "shortName": "UN",
                "useFormula": false,
                "itemMeasures": {
                  "measure1": 0,
                  "measure2": 0,
                  "measure3": 0,
                  "formula": null,
                  "measure1Description": null,
                  "measure2Description": null,
                  "measure3Description": null
                },
                "decimalPlaces": 2
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ItemUnitCreateDTO"
              },
              "example": {
                "id": 1,
                "description": "Unidade",
                "shortName": "UN",
                "useFormula": false,
                "itemMeasures": {
                  "measure1": 0,
                  "measure2": 0,
                  "measure3": 0,
                  "formula": null,
                  "measure1Description": null,
                  "measure2Description": null,
                  "measure3Description": null
                },
                "decimalPlaces": 2
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "ItemsUnits"
        ],
        "summary": "Retrieves a paginated list of all item units.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of records per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ItemsUnitsDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "Unidade",
                      "shortName": "UN",
                      "useFormula": false,
                      "formula": null,
                      "measure1Description": null,
                      "measure2Description": null,
                      "measure3Description": null,
                      "decimalPlaces": 0
                    },
                    {
                      "id": 2,
                      "description": "Caixa (12 unidades)",
                      "shortName": "CX",
                      "useFormula": true,
                      "formula": null,
                      "measure1Description": null,
                      "measure2Description": null,
                      "measure3Description": null,
                      "decimalPlaces": 0
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemsUnitsDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "Unidade",
                      "shortName": "UN",
                      "useFormula": false,
                      "formula": null,
                      "measure1Description": null,
                      "measure2Description": null,
                      "measure3Description": null,
                      "decimalPlaces": 0
                    },
                    {
                      "id": 2,
                      "description": "Caixa (12 unidades)",
                      "shortName": "CX",
                      "useFormula": true,
                      "formula": null,
                      "measure1Description": null,
                      "measure2Description": null,
                      "measure3Description": null,
                      "decimalPlaces": 0
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemsUnitsDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "Unidade",
                      "shortName": "UN",
                      "useFormula": false,
                      "formula": null,
                      "measure1Description": null,
                      "measure2Description": null,
                      "measure3Description": null,
                      "decimalPlaces": 0
                    },
                    {
                      "id": 2,
                      "description": "Caixa (12 unidades)",
                      "shortName": "CX",
                      "useFormula": true,
                      "formula": null,
                      "measure1Description": null,
                      "measure2Description": null,
                      "measure3Description": null,
                      "decimalPlaces": 0
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/items-units/{id}": {
      "put": {
        "tags": [
          "ItemsUnits"
        ],
        "summary": "Updates an existing item unit by its integer ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Item unit identifier.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "Item unit update data transfer object.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ItemUnitUpdateDTO"
              },
              "example": {
                "description": "Unidade",
                "shortName": "UN",
                "useFormula": false,
                "itemMeasures": {
                  "measure1": 0,
                  "measure2": 0,
                  "measure3": 0,
                  "formula": null,
                  "measure1Description": null,
                  "measure2Description": null,
                  "measure3Description": null
                },
                "decimalPlaces": 2
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ItemUnitUpdateDTO"
              },
              "example": {
                "description": "Unidade",
                "shortName": "UN",
                "useFormula": false,
                "itemMeasures": {
                  "measure1": 0,
                  "measure2": 0,
                  "measure3": 0,
                  "formula": null,
                  "measure1Description": null,
                  "measure2Description": null,
                  "measure3Description": null
                },
                "decimalPlaces": 2
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ItemUnitUpdateDTO"
              },
              "example": {
                "description": "Unidade",
                "shortName": "UN",
                "useFormula": false,
                "itemMeasures": {
                  "measure1": 0,
                  "measure2": 0,
                  "measure3": 0,
                  "formula": null,
                  "measure1Description": null,
                  "measure2Description": null,
                  "measure3Description": null
                },
                "decimalPlaces": 2
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "ItemsUnits"
        ],
        "summary": "Deletes an item unit by its integer ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Item unit identifier.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "ItemsUnits"
        ],
        "summary": "Retrieves an item unit by its integer ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Item unit identifier.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ItemsUnitsDTO"
                },
                "example": {
                  "id": 1,
                  "description": "Unidade",
                  "shortName": "UN",
                  "useFormula": false,
                  "formula": null,
                  "measure1Description": null,
                  "measure2Description": null,
                  "measure3Description": null,
                  "decimalPlaces": 2
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemsUnitsDTO"
                },
                "example": {
                  "id": 1,
                  "description": "Unidade",
                  "shortName": "UN",
                  "useFormula": false,
                  "formula": null,
                  "measure1Description": null,
                  "measure2Description": null,
                  "measure3Description": null,
                  "decimalPlaces": 2
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemsUnitsDTO"
                },
                "example": {
                  "id": 1,
                  "description": "Unidade",
                  "shortName": "UN",
                  "useFormula": false,
                  "formula": null,
                  "measure1Description": null,
                  "measure2Description": null,
                  "measure3Description": null,
                  "decimalPlaces": 2
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/items-units/next-id": {
      "get": {
        "tags": [
          "ItemsUnits"
        ],
        "summary": "Retrieves the next available item unit ID.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "text/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/itemsgroups": {
      "post": {
        "tags": [
          "Itemsgroup"
        ],
        "summary": "Creates a new item group.",
        "requestBody": {
          "description": "Item group data transfer object.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ItemsgroupsDTO"
              },
              "example": {
                "id": 1,
                "idParent": 0,
                "description": "Material de Escritorio",
                "extraDescription": null,
                "visibleOnFAMIX": null,
                "visibleOnAUTOPLU": null,
                "commission": 0,
                "visibleOnDELIVERY": null,
                "visibleOnMobile": null,
                "onDigitalMenu": false,
                "availableOnline": false,
                "inactive": false,
                "taxFreeCategory": "NONE",
                "terminalIdList": null,
                "hasChildren": false
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ItemsgroupsDTO"
              },
              "example": {
                "id": 1,
                "idParent": 0,
                "description": "Material de Escritorio",
                "extraDescription": null,
                "visibleOnFAMIX": null,
                "visibleOnAUTOPLU": null,
                "commission": 0,
                "visibleOnDELIVERY": null,
                "visibleOnMobile": null,
                "onDigitalMenu": false,
                "availableOnline": false,
                "inactive": false,
                "taxFreeCategory": "NONE",
                "terminalIdList": null,
                "hasChildren": false
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ItemsgroupsDTO"
              },
              "example": {
                "id": 1,
                "idParent": 0,
                "description": "Material de Escritorio",
                "extraDescription": null,
                "visibleOnFAMIX": null,
                "visibleOnAUTOPLU": null,
                "commission": 0,
                "visibleOnDELIVERY": null,
                "visibleOnMobile": null,
                "onDigitalMenu": false,
                "availableOnline": false,
                "inactive": false,
                "taxFreeCategory": "NONE",
                "terminalIdList": null,
                "hasChildren": false
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Itemsgroup"
        ],
        "summary": "Retrieves a paginated list of all item groups.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of records per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ItemsgroupsDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 101,
                      "idParent": null,
                      "description": "Mercearia Seca",
                      "extraDescription": null,
                      "visibleOnFAMIX": true,
                      "visibleOnAUTOPLU": null,
                      "commission": 2.5,
                      "visibleOnDELIVERY": null,
                      "visibleOnMobile": null,
                      "onDigitalMenu": false,
                      "availableOnline": false,
                      "inactive": null,
                      "taxFreeCategory": "",
                      "terminalIdList": null,
                      "hasChildren": true
                    },
                    {
                      "id": 102,
                      "idParent": 101,
                      "description": "Massas e Arroz",
                      "extraDescription": null,
                      "visibleOnFAMIX": true,
                      "visibleOnAUTOPLU": null,
                      "commission": 1.75,
                      "visibleOnDELIVERY": null,
                      "visibleOnMobile": null,
                      "onDigitalMenu": false,
                      "availableOnline": false,
                      "inactive": null,
                      "taxFreeCategory": "",
                      "terminalIdList": null,
                      "hasChildren": false
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemsgroupsDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 101,
                      "idParent": null,
                      "description": "Mercearia Seca",
                      "extraDescription": null,
                      "visibleOnFAMIX": true,
                      "visibleOnAUTOPLU": null,
                      "commission": 2.5,
                      "visibleOnDELIVERY": null,
                      "visibleOnMobile": null,
                      "onDigitalMenu": false,
                      "availableOnline": false,
                      "inactive": null,
                      "taxFreeCategory": "",
                      "terminalIdList": null,
                      "hasChildren": true
                    },
                    {
                      "id": 102,
                      "idParent": 101,
                      "description": "Massas e Arroz",
                      "extraDescription": null,
                      "visibleOnFAMIX": true,
                      "visibleOnAUTOPLU": null,
                      "commission": 1.75,
                      "visibleOnDELIVERY": null,
                      "visibleOnMobile": null,
                      "onDigitalMenu": false,
                      "availableOnline": false,
                      "inactive": null,
                      "taxFreeCategory": "",
                      "terminalIdList": null,
                      "hasChildren": false
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemsgroupsDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 101,
                      "idParent": null,
                      "description": "Mercearia Seca",
                      "extraDescription": null,
                      "visibleOnFAMIX": true,
                      "visibleOnAUTOPLU": null,
                      "commission": 2.5,
                      "visibleOnDELIVERY": null,
                      "visibleOnMobile": null,
                      "onDigitalMenu": false,
                      "availableOnline": false,
                      "inactive": null,
                      "taxFreeCategory": "",
                      "terminalIdList": null,
                      "hasChildren": true
                    },
                    {
                      "id": 102,
                      "idParent": 101,
                      "description": "Massas e Arroz",
                      "extraDescription": null,
                      "visibleOnFAMIX": true,
                      "visibleOnAUTOPLU": null,
                      "commission": 1.75,
                      "visibleOnDELIVERY": null,
                      "visibleOnMobile": null,
                      "onDigitalMenu": false,
                      "availableOnline": false,
                      "inactive": null,
                      "taxFreeCategory": "",
                      "terminalIdList": null,
                      "hasChildren": false
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/itemsgroups/{groupId}/analytics/monthly": {
      "get": {
        "tags": [
          "Itemsgroup"
        ],
        "summary": "Retrieves monthly analytics data for a specific item group.",
        "parameters": [
          {
            "name": "groupId",
            "in": "path",
            "description": "Group identifier.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "interval",
            "in": "query",
            "description": "Interval for analytics.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/GetTopFamilyDataDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "groupId": 101,
                      "description": "Mercearia Seca",
                      "month": "2025-03",
                      "lastYearTotalAmount": 18450.75,
                      "currentYearTotalAmount": 20120.4
                    },
                    {
                      "groupId": 205,
                      "description": "Frutas e Legumes",
                      "month": "2025-03",
                      "lastYearTotalAmount": 22310.0,
                      "currentYearTotalAmount": 23890.15
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetTopFamilyDataDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "groupId": 101,
                      "description": "Mercearia Seca",
                      "month": "2025-03",
                      "lastYearTotalAmount": 18450.75,
                      "currentYearTotalAmount": 20120.4
                    },
                    {
                      "groupId": 205,
                      "description": "Frutas e Legumes",
                      "month": "2025-03",
                      "lastYearTotalAmount": 22310.0,
                      "currentYearTotalAmount": 23890.15
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetTopFamilyDataDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "groupId": 101,
                      "description": "Mercearia Seca",
                      "month": "2025-03",
                      "lastYearTotalAmount": 18450.75,
                      "currentYearTotalAmount": 20120.4
                    },
                    {
                      "groupId": 205,
                      "description": "Frutas e Legumes",
                      "month": "2025-03",
                      "lastYearTotalAmount": 22310.0,
                      "currentYearTotalAmount": 23890.15
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/itemsgroups/{id}": {
      "get": {
        "tags": [
          "Itemsgroup"
        ],
        "summary": "Retrieves an item group by its integer ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Item group identifier.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ItemsgroupsDTO"
                },
                "example": {
                  "id": 1,
                  "idParent": 0,
                  "description": "Material de Escritorio",
                  "extraDescription": null,
                  "visibleOnFAMIX": null,
                  "visibleOnAUTOPLU": null,
                  "commission": 0,
                  "visibleOnDELIVERY": null,
                  "visibleOnMobile": null,
                  "onDigitalMenu": false,
                  "availableOnline": false,
                  "inactive": false,
                  "taxFreeCategory": "NONE",
                  "terminalIdList": null,
                  "hasChildren": false
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemsgroupsDTO"
                },
                "example": {
                  "id": 1,
                  "idParent": 0,
                  "description": "Material de Escritorio",
                  "extraDescription": null,
                  "visibleOnFAMIX": null,
                  "visibleOnAUTOPLU": null,
                  "commission": 0,
                  "visibleOnDELIVERY": null,
                  "visibleOnMobile": null,
                  "onDigitalMenu": false,
                  "availableOnline": false,
                  "inactive": false,
                  "taxFreeCategory": "NONE",
                  "terminalIdList": null,
                  "hasChildren": false
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemsgroupsDTO"
                },
                "example": {
                  "id": 1,
                  "idParent": 0,
                  "description": "Material de Escritorio",
                  "extraDescription": null,
                  "visibleOnFAMIX": null,
                  "visibleOnAUTOPLU": null,
                  "commission": 0,
                  "visibleOnDELIVERY": null,
                  "visibleOnMobile": null,
                  "onDigitalMenu": false,
                  "availableOnline": false,
                  "inactive": false,
                  "taxFreeCategory": "NONE",
                  "terminalIdList": null,
                  "hasChildren": false
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Itemsgroup"
        ],
        "summary": "Deletes an item group by its integer ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Item group identifier.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Itemsgroup"
        ],
        "summary": "Updates an existing item group identified by the route ID. Omitted JSON properties leave the stored\r\nvalues unchanged, including `taxFreeCategory` when that property is not sent.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Item group identifier (taken from the route).",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "Item group update payload.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ItemsgroupsUpdateDTO"
              },
              "example": {
                "idParent": null,
                "description": "Material de Escritorio atualizado",
                "extraDescription": null,
                "visibleOnFAMIX": null,
                "visibleOnAUTOPLU": null,
                "commission": 1.5,
                "visibleOnDELIVERY": null,
                "visibleOnMobile": null,
                "onDigitalMenu": null,
                "availableOnline": null,
                "inactive": null,
                "taxFreeCategory": null,
                "terminalIdList": [
                  "TERM01",
                  "TERM02"
                ]
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ItemsgroupsUpdateDTO"
              },
              "example": {
                "idParent": null,
                "description": "Material de Escritorio atualizado",
                "extraDescription": null,
                "visibleOnFAMIX": null,
                "visibleOnAUTOPLU": null,
                "commission": 1.5,
                "visibleOnDELIVERY": null,
                "visibleOnMobile": null,
                "onDigitalMenu": null,
                "availableOnline": null,
                "inactive": null,
                "taxFreeCategory": null,
                "terminalIdList": [
                  "TERM01",
                  "TERM02"
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ItemsgroupsUpdateDTO"
              },
              "example": {
                "idParent": null,
                "description": "Material de Escritorio atualizado",
                "extraDescription": null,
                "visibleOnFAMIX": null,
                "visibleOnAUTOPLU": null,
                "commission": 1.5,
                "visibleOnDELIVERY": null,
                "visibleOnMobile": null,
                "onDigitalMenu": null,
                "availableOnline": null,
                "inactive": null,
                "taxFreeCategory": null,
                "terminalIdList": [
                  "TERM01",
                  "TERM02"
                ]
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/itemsgroups/{id}/children": {
      "get": {
        "tags": [
          "Itemsgroup"
        ],
        "summary": "Retrieves item groups filtered by parent ID.\r\nWhen id is zero, returns root item groups (IdParent null or zero).",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Parent item group ID. If zero, root item groups are returned.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ItemsgroupsDTO"
                  }
                },
                "example": [
                  {
                    "id": 101,
                    "idParent": 1,
                    "description": "Mercearia Seca",
                    "extraDescription": null,
                    "visibleOnFAMIX": true,
                    "visibleOnAUTOPLU": null,
                    "commission": 2.5,
                    "visibleOnDELIVERY": null,
                    "visibleOnMobile": null,
                    "onDigitalMenu": false,
                    "availableOnline": false,
                    "inactive": null,
                    "taxFreeCategory": "",
                    "terminalIdList": null,
                    "hasChildren": true
                  },
                  {
                    "id": 102,
                    "idParent": 1,
                    "description": "Massas e Arroz",
                    "extraDescription": null,
                    "visibleOnFAMIX": true,
                    "visibleOnAUTOPLU": null,
                    "commission": 1.75,
                    "visibleOnDELIVERY": null,
                    "visibleOnMobile": null,
                    "onDigitalMenu": false,
                    "availableOnline": false,
                    "inactive": null,
                    "taxFreeCategory": "",
                    "terminalIdList": null,
                    "hasChildren": false
                  }
                ]
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ItemsgroupsDTO"
                  }
                },
                "example": [
                  {
                    "id": 101,
                    "idParent": 1,
                    "description": "Mercearia Seca",
                    "extraDescription": null,
                    "visibleOnFAMIX": true,
                    "visibleOnAUTOPLU": null,
                    "commission": 2.5,
                    "visibleOnDELIVERY": null,
                    "visibleOnMobile": null,
                    "onDigitalMenu": false,
                    "availableOnline": false,
                    "inactive": null,
                    "taxFreeCategory": "",
                    "terminalIdList": null,
                    "hasChildren": true
                  },
                  {
                    "id": 102,
                    "idParent": 1,
                    "description": "Massas e Arroz",
                    "extraDescription": null,
                    "visibleOnFAMIX": true,
                    "visibleOnAUTOPLU": null,
                    "commission": 1.75,
                    "visibleOnDELIVERY": null,
                    "visibleOnMobile": null,
                    "onDigitalMenu": false,
                    "availableOnline": false,
                    "inactive": null,
                    "taxFreeCategory": "",
                    "terminalIdList": null,
                    "hasChildren": false
                  }
                ]
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ItemsgroupsDTO"
                  }
                },
                "example": [
                  {
                    "id": 101,
                    "idParent": 1,
                    "description": "Mercearia Seca",
                    "extraDescription": null,
                    "visibleOnFAMIX": true,
                    "visibleOnAUTOPLU": null,
                    "commission": 2.5,
                    "visibleOnDELIVERY": null,
                    "visibleOnMobile": null,
                    "onDigitalMenu": false,
                    "availableOnline": false,
                    "inactive": null,
                    "taxFreeCategory": "",
                    "terminalIdList": null,
                    "hasChildren": true
                  },
                  {
                    "id": 102,
                    "idParent": 1,
                    "description": "Massas e Arroz",
                    "extraDescription": null,
                    "visibleOnFAMIX": true,
                    "visibleOnAUTOPLU": null,
                    "commission": 1.75,
                    "visibleOnDELIVERY": null,
                    "visibleOnMobile": null,
                    "onDigitalMenu": false,
                    "availableOnline": false,
                    "inactive": null,
                    "taxFreeCategory": "",
                    "terminalIdList": null,
                    "hasChildren": false
                  }
                ]
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/itemsgroups/next-id": {
      "get": {
        "tags": [
          "Itemsgroup"
        ],
        "summary": "Retrieves the next available item group ID.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "text/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/itemsgroups/top-sold": {
      "get": {
        "tags": [
          "Itemsgroup"
        ],
        "summary": "Retrieves the top most sold item groups for a given interval.",
        "parameters": [
          {
            "name": "interval",
            "in": "query",
            "description": "Interval for analytics.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TopMostSoldItemGroupDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "itemGroupId": 12,
                      "description": "Padaria e Pastelaria"
                    },
                    {
                      "itemGroupId": 44,
                      "description": "Bebidas Refrigerantes"
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TopMostSoldItemGroupDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "itemGroupId": 12,
                      "description": "Padaria e Pastelaria"
                    },
                    {
                      "itemGroupId": 44,
                      "description": "Bebidas Refrigerantes"
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TopMostSoldItemGroupDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "itemGroupId": 12,
                      "description": "Padaria e Pastelaria"
                    },
                    {
                      "itemGroupId": 44,
                      "description": "Bebidas Refrigerantes"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/itemsupplier": {
      "post": {
        "tags": [
          "ItemSupplier"
        ],
        "summary": "Creates a new Item → Supplier association. Requires ItemId, SupplierId and SupplierItemId.",
        "requestBody": {
          "description": "Complete association data.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ItemSupplierDTO"
              },
              "example": {
                "itemId": "ART001",
                "supplierId": "FORN005",
                "supplierItemId": "REF-A",
                "netPrice": 12.34,
                "retailPrice": 19.99,
                "costPriceDate": null,
                "currencyKeyId": "EUR",
                "currencyRate": 1.0,
                "discount1": 5,
                "discount2": 0,
                "discount3": 0,
                "extraCost": 0,
                "priceDecimalPlaces": 2,
                "minOrder": 10,
                "unitOfMeasure": 1,
                "defaultSupplier": true,
                "lastDocSeries": 2025,
                "lastDocType": "FT",
                "lastDocNumber": 12345,
                "lastQuantity": 10,
                "lastNetAmount": 123.4,
                "itemAttributes": "color=red;size=M"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ItemSupplierDTO"
              },
              "example": {
                "itemId": "ART001",
                "supplierId": "FORN005",
                "supplierItemId": "REF-A",
                "netPrice": 12.34,
                "retailPrice": 19.99,
                "costPriceDate": null,
                "currencyKeyId": "EUR",
                "currencyRate": 1.0,
                "discount1": 5,
                "discount2": 0,
                "discount3": 0,
                "extraCost": 0,
                "priceDecimalPlaces": 2,
                "minOrder": 10,
                "unitOfMeasure": 1,
                "defaultSupplier": true,
                "lastDocSeries": 2025,
                "lastDocType": "FT",
                "lastDocNumber": 12345,
                "lastQuantity": 10,
                "lastNetAmount": 123.4,
                "itemAttributes": "color=red;size=M"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ItemSupplierDTO"
              },
              "example": {
                "itemId": "ART001",
                "supplierId": "FORN005",
                "supplierItemId": "REF-A",
                "netPrice": 12.34,
                "retailPrice": 19.99,
                "costPriceDate": null,
                "currencyKeyId": "EUR",
                "currencyRate": 1.0,
                "discount1": 5,
                "discount2": 0,
                "discount3": 0,
                "extraCost": 0,
                "priceDecimalPlaces": 2,
                "minOrder": 10,
                "unitOfMeasure": 1,
                "defaultSupplier": true,
                "lastDocSeries": 2025,
                "lastDocType": "FT",
                "lastDocNumber": 12345,
                "lastQuantity": 10,
                "lastNetAmount": 123.4,
                "itemAttributes": "color=red;size=M"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ItemSupplierDTO"
                },
                "example": {
                  "itemId": "ART001",
                  "supplierId": "FORN005",
                  "supplierItemId": "REF-A",
                  "netPrice": 12.34,
                  "retailPrice": 19.99,
                  "costPriceDate": null,
                  "currencyKeyId": "EUR",
                  "currencyRate": 1.0,
                  "discount1": 5,
                  "discount2": 0,
                  "discount3": 0,
                  "extraCost": 0,
                  "priceDecimalPlaces": 2,
                  "minOrder": 10,
                  "unitOfMeasure": 1,
                  "defaultSupplier": true,
                  "lastDocSeries": 2025,
                  "lastDocType": "FT",
                  "lastDocNumber": 12345,
                  "lastQuantity": 10,
                  "lastNetAmount": 123.4,
                  "itemAttributes": "color=red;size=M"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemSupplierDTO"
                },
                "example": {
                  "itemId": "ART001",
                  "supplierId": "FORN005",
                  "supplierItemId": "REF-A",
                  "netPrice": 12.34,
                  "retailPrice": 19.99,
                  "costPriceDate": null,
                  "currencyKeyId": "EUR",
                  "currencyRate": 1.0,
                  "discount1": 5,
                  "discount2": 0,
                  "discount3": 0,
                  "extraCost": 0,
                  "priceDecimalPlaces": 2,
                  "minOrder": 10,
                  "unitOfMeasure": 1,
                  "defaultSupplier": true,
                  "lastDocSeries": 2025,
                  "lastDocType": "FT",
                  "lastDocNumber": 12345,
                  "lastQuantity": 10,
                  "lastNetAmount": 123.4,
                  "itemAttributes": "color=red;size=M"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemSupplierDTO"
                },
                "example": {
                  "itemId": "ART001",
                  "supplierId": "FORN005",
                  "supplierItemId": "REF-A",
                  "netPrice": 12.34,
                  "retailPrice": 19.99,
                  "costPriceDate": null,
                  "currencyKeyId": "EUR",
                  "currencyRate": 1.0,
                  "discount1": 5,
                  "discount2": 0,
                  "discount3": 0,
                  "extraCost": 0,
                  "priceDecimalPlaces": 2,
                  "minOrder": 10,
                  "unitOfMeasure": 1,
                  "defaultSupplier": true,
                  "lastDocSeries": 2025,
                  "lastDocType": "FT",
                  "lastDocNumber": 12345,
                  "lastQuantity": 10,
                  "lastNetAmount": 123.4,
                  "itemAttributes": "color=red;size=M"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "ItemSupplier"
        ],
        "summary": "Lists associations with pagination. Can filter by ItemId and/or SupplierId.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Page size.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          },
          {
            "name": "itemId",
            "in": "query",
            "description": "Filter by ItemId.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "supplierId",
            "in": "query",
            "description": "Filter by SupplierId.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ItemSupplierDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "itemId": "ART-10042",
                      "supplierId": "FOR-001",
                      "supplierItemId": "AZ-EV500-P",
                      "netPrice": 4.1,
                      "retailPrice": 7.99,
                      "costPriceDate": null,
                      "currencyKeyId": "XXX",
                      "currencyRate": null,
                      "discount1": null,
                      "discount2": null,
                      "discount3": null,
                      "extraCost": null,
                      "priceDecimalPlaces": 0,
                      "minOrder": null,
                      "unitOfMeasure": 0,
                      "defaultSupplier": true,
                      "lastDocSeries": 0,
                      "lastDocType": "",
                      "lastDocNumber": 0,
                      "lastQuantity": null,
                      "lastNetAmount": null,
                      "itemAttributes": ""
                    },
                    {
                      "itemId": "ART-10042",
                      "supplierId": "FOR-088",
                      "supplierItemId": "OLIV-500X12",
                      "netPrice": 4.35,
                      "retailPrice": 8.49,
                      "costPriceDate": null,
                      "currencyKeyId": "XXX",
                      "currencyRate": null,
                      "discount1": null,
                      "discount2": null,
                      "discount3": null,
                      "extraCost": null,
                      "priceDecimalPlaces": 0,
                      "minOrder": null,
                      "unitOfMeasure": 0,
                      "defaultSupplier": false,
                      "lastDocSeries": 0,
                      "lastDocType": "",
                      "lastDocNumber": 0,
                      "lastQuantity": null,
                      "lastNetAmount": null,
                      "itemAttributes": ""
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemSupplierDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "itemId": "ART-10042",
                      "supplierId": "FOR-001",
                      "supplierItemId": "AZ-EV500-P",
                      "netPrice": 4.1,
                      "retailPrice": 7.99,
                      "costPriceDate": null,
                      "currencyKeyId": "XXX",
                      "currencyRate": null,
                      "discount1": null,
                      "discount2": null,
                      "discount3": null,
                      "extraCost": null,
                      "priceDecimalPlaces": 0,
                      "minOrder": null,
                      "unitOfMeasure": 0,
                      "defaultSupplier": true,
                      "lastDocSeries": 0,
                      "lastDocType": "",
                      "lastDocNumber": 0,
                      "lastQuantity": null,
                      "lastNetAmount": null,
                      "itemAttributes": ""
                    },
                    {
                      "itemId": "ART-10042",
                      "supplierId": "FOR-088",
                      "supplierItemId": "OLIV-500X12",
                      "netPrice": 4.35,
                      "retailPrice": 8.49,
                      "costPriceDate": null,
                      "currencyKeyId": "XXX",
                      "currencyRate": null,
                      "discount1": null,
                      "discount2": null,
                      "discount3": null,
                      "extraCost": null,
                      "priceDecimalPlaces": 0,
                      "minOrder": null,
                      "unitOfMeasure": 0,
                      "defaultSupplier": false,
                      "lastDocSeries": 0,
                      "lastDocType": "",
                      "lastDocNumber": 0,
                      "lastQuantity": null,
                      "lastNetAmount": null,
                      "itemAttributes": ""
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemSupplierDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "itemId": "ART-10042",
                      "supplierId": "FOR-001",
                      "supplierItemId": "AZ-EV500-P",
                      "netPrice": 4.1,
                      "retailPrice": 7.99,
                      "costPriceDate": null,
                      "currencyKeyId": "XXX",
                      "currencyRate": null,
                      "discount1": null,
                      "discount2": null,
                      "discount3": null,
                      "extraCost": null,
                      "priceDecimalPlaces": 0,
                      "minOrder": null,
                      "unitOfMeasure": 0,
                      "defaultSupplier": true,
                      "lastDocSeries": 0,
                      "lastDocType": "",
                      "lastDocNumber": 0,
                      "lastQuantity": null,
                      "lastNetAmount": null,
                      "itemAttributes": ""
                    },
                    {
                      "itemId": "ART-10042",
                      "supplierId": "FOR-088",
                      "supplierItemId": "OLIV-500X12",
                      "netPrice": 4.35,
                      "retailPrice": 8.49,
                      "costPriceDate": null,
                      "currencyKeyId": "XXX",
                      "currencyRate": null,
                      "discount1": null,
                      "discount2": null,
                      "discount3": null,
                      "extraCost": null,
                      "priceDecimalPlaces": 0,
                      "minOrder": null,
                      "unitOfMeasure": 0,
                      "defaultSupplier": false,
                      "lastDocSeries": 0,
                      "lastDocType": "",
                      "lastDocNumber": 0,
                      "lastQuantity": null,
                      "lastNetAmount": null,
                      "itemAttributes": ""
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/itemsupplier/{itemId}/{supplierId}": {
      "get": {
        "tags": [
          "ItemSupplier"
        ],
        "summary": "Gets a specific association by ItemId and SupplierId.\r\nCan be refined with SupplierItemId and ItemAttributes.",
        "parameters": [
          {
            "name": "itemId",
            "in": "path",
            "description": "Item identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "supplierId",
            "in": "path",
            "description": "Supplier identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "supplierItemId",
            "in": "query",
            "description": "Optional: item code in the supplier.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "itemAttributes",
            "in": "query",
            "description": "Optional: attributes/variant.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ItemSupplierDTO"
                },
                "example": {
                  "itemId": "ART001",
                  "supplierId": "FORN005",
                  "supplierItemId": "REF-A",
                  "netPrice": 12.34,
                  "retailPrice": 19.99,
                  "costPriceDate": null,
                  "currencyKeyId": "EUR",
                  "currencyRate": 1.0,
                  "discount1": 5,
                  "discount2": 0,
                  "discount3": 0,
                  "extraCost": 0,
                  "priceDecimalPlaces": 2,
                  "minOrder": 10,
                  "unitOfMeasure": 1,
                  "defaultSupplier": true,
                  "lastDocSeries": 2025,
                  "lastDocType": "FT",
                  "lastDocNumber": 12345,
                  "lastQuantity": 10,
                  "lastNetAmount": 123.4,
                  "itemAttributes": "color=red;size=M"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemSupplierDTO"
                },
                "example": {
                  "itemId": "ART001",
                  "supplierId": "FORN005",
                  "supplierItemId": "REF-A",
                  "netPrice": 12.34,
                  "retailPrice": 19.99,
                  "costPriceDate": null,
                  "currencyKeyId": "EUR",
                  "currencyRate": 1.0,
                  "discount1": 5,
                  "discount2": 0,
                  "discount3": 0,
                  "extraCost": 0,
                  "priceDecimalPlaces": 2,
                  "minOrder": 10,
                  "unitOfMeasure": 1,
                  "defaultSupplier": true,
                  "lastDocSeries": 2025,
                  "lastDocType": "FT",
                  "lastDocNumber": 12345,
                  "lastQuantity": 10,
                  "lastNetAmount": 123.4,
                  "itemAttributes": "color=red;size=M"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemSupplierDTO"
                },
                "example": {
                  "itemId": "ART001",
                  "supplierId": "FORN005",
                  "supplierItemId": "REF-A",
                  "netPrice": 12.34,
                  "retailPrice": 19.99,
                  "costPriceDate": null,
                  "currencyKeyId": "EUR",
                  "currencyRate": 1.0,
                  "discount1": 5,
                  "discount2": 0,
                  "discount3": 0,
                  "extraCost": 0,
                  "priceDecimalPlaces": 2,
                  "minOrder": 10,
                  "unitOfMeasure": 1,
                  "defaultSupplier": true,
                  "lastDocSeries": 2025,
                  "lastDocType": "FT",
                  "lastDocNumber": 12345,
                  "lastQuantity": 10,
                  "lastNetAmount": 123.4,
                  "itemAttributes": "color=red;size=M"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "ItemSupplier"
        ],
        "summary": "Fully updates an existing association. Replaces all fields.",
        "parameters": [
          {
            "name": "itemId",
            "in": "path",
            "description": "Item identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "supplierId",
            "in": "path",
            "description": "Supplier identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Complete updated data.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ItemSupplierDTO"
              },
              "example": {
                "itemId": "ART001",
                "supplierId": "FORN005",
                "supplierItemId": "REF-A",
                "netPrice": 12.34,
                "retailPrice": 19.99,
                "costPriceDate": null,
                "currencyKeyId": "EUR",
                "currencyRate": 1.0,
                "discount1": 5,
                "discount2": 0,
                "discount3": 0,
                "extraCost": 0,
                "priceDecimalPlaces": 2,
                "minOrder": 10,
                "unitOfMeasure": 1,
                "defaultSupplier": true,
                "lastDocSeries": 2025,
                "lastDocType": "FT",
                "lastDocNumber": 12345,
                "lastQuantity": 10,
                "lastNetAmount": 123.4,
                "itemAttributes": "color=red;size=M"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ItemSupplierDTO"
              },
              "example": {
                "itemId": "ART001",
                "supplierId": "FORN005",
                "supplierItemId": "REF-A",
                "netPrice": 12.34,
                "retailPrice": 19.99,
                "costPriceDate": null,
                "currencyKeyId": "EUR",
                "currencyRate": 1.0,
                "discount1": 5,
                "discount2": 0,
                "discount3": 0,
                "extraCost": 0,
                "priceDecimalPlaces": 2,
                "minOrder": 10,
                "unitOfMeasure": 1,
                "defaultSupplier": true,
                "lastDocSeries": 2025,
                "lastDocType": "FT",
                "lastDocNumber": 12345,
                "lastQuantity": 10,
                "lastNetAmount": 123.4,
                "itemAttributes": "color=red;size=M"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ItemSupplierDTO"
              },
              "example": {
                "itemId": "ART001",
                "supplierId": "FORN005",
                "supplierItemId": "REF-A",
                "netPrice": 12.34,
                "retailPrice": 19.99,
                "costPriceDate": null,
                "currencyKeyId": "EUR",
                "currencyRate": 1.0,
                "discount1": 5,
                "discount2": 0,
                "discount3": 0,
                "extraCost": 0,
                "priceDecimalPlaces": 2,
                "minOrder": 10,
                "unitOfMeasure": 1,
                "defaultSupplier": true,
                "lastDocSeries": 2025,
                "lastDocType": "FT",
                "lastDocNumber": 12345,
                "lastQuantity": 10,
                "lastNetAmount": 123.4,
                "itemAttributes": "color=red;size=M"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "ItemSupplier"
        ],
        "summary": "Partially updates an association. Only provided fields will be changed.",
        "parameters": [
          {
            "name": "itemId",
            "in": "path",
            "description": "Item identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "supplierId",
            "in": "path",
            "description": "Supplier identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Partial data to update.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ItemSupplierDTO"
              },
              "example": {
                "itemId": "ART001",
                "supplierId": "FORN005",
                "supplierItemId": "REF-A",
                "netPrice": 12.34,
                "retailPrice": 19.99,
                "costPriceDate": null,
                "currencyKeyId": "EUR",
                "currencyRate": 1.0,
                "discount1": 5,
                "discount2": 0,
                "discount3": 0,
                "extraCost": 0,
                "priceDecimalPlaces": 2,
                "minOrder": 10,
                "unitOfMeasure": 1,
                "defaultSupplier": true,
                "lastDocSeries": 2025,
                "lastDocType": "FT",
                "lastDocNumber": 12345,
                "lastQuantity": 10,
                "lastNetAmount": 123.4,
                "itemAttributes": "color=red;size=M"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ItemSupplierDTO"
              },
              "example": {
                "itemId": "ART001",
                "supplierId": "FORN005",
                "supplierItemId": "REF-A",
                "netPrice": 12.34,
                "retailPrice": 19.99,
                "costPriceDate": null,
                "currencyKeyId": "EUR",
                "currencyRate": 1.0,
                "discount1": 5,
                "discount2": 0,
                "discount3": 0,
                "extraCost": 0,
                "priceDecimalPlaces": 2,
                "minOrder": 10,
                "unitOfMeasure": 1,
                "defaultSupplier": true,
                "lastDocSeries": 2025,
                "lastDocType": "FT",
                "lastDocNumber": 12345,
                "lastQuantity": 10,
                "lastNetAmount": 123.4,
                "itemAttributes": "color=red;size=M"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ItemSupplierDTO"
              },
              "example": {
                "itemId": "ART001",
                "supplierId": "FORN005",
                "supplierItemId": "REF-A",
                "netPrice": 12.34,
                "retailPrice": 19.99,
                "costPriceDate": null,
                "currencyKeyId": "EUR",
                "currencyRate": 1.0,
                "discount1": 5,
                "discount2": 0,
                "discount3": 0,
                "extraCost": 0,
                "priceDecimalPlaces": 2,
                "minOrder": 10,
                "unitOfMeasure": 1,
                "defaultSupplier": true,
                "lastDocSeries": 2025,
                "lastDocType": "FT",
                "lastDocNumber": 12345,
                "lastQuantity": 10,
                "lastNetAmount": 123.4,
                "itemAttributes": "color=red;size=M"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "ItemSupplier"
        ],
        "summary": "Permanently removes the association between Item and Supplier.",
        "parameters": [
          {
            "name": "itemId",
            "in": "path",
            "description": "Item identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "supplierId",
            "in": "path",
            "description": "Supplier identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/itemsupplier/bulk": {
      "post": {
        "tags": [
          "ItemSupplier"
        ],
        "summary": "Bulk upsert ItemSupplier associations.",
        "description": "Creates when it doesn't exist, updates when it already exists.\r\nWhen an association already exists with the same ItemId, SupplierId and SupplierItemId,\r\nit is treated as a no-op update (counted as updated but no data is changed).",
        "requestBody": {
          "description": "List with ItemId, SupplierId and SupplierItemId.",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ItemSupplierSimpleDTO"
                }
              },
              "example": {
                "itemId": "ART001",
                "supplierId": "FORN005",
                "supplierItemId": "REF-A"
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ItemSupplierSimpleDTO"
                }
              },
              "example": {
                "itemId": "ART001",
                "supplierId": "FORN005",
                "supplierItemId": "REF-A"
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ItemSupplierSimpleDTO"
                }
              },
              "example": {
                "itemId": "ART001",
                "supplierId": "FORN005",
                "supplierItemId": "REF-A"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ItemSupplierBulkResultDTO"
                },
                "example": {
                  "created": 1,
                  "updated": 2,
                  "errors": 0,
                  "errorMessages": []
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemSupplierBulkResultDTO"
                },
                "example": {
                  "created": 1,
                  "updated": 2,
                  "errors": 0,
                  "errorMessages": []
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ItemSupplierBulkResultDTO"
                },
                "example": {
                  "created": 1,
                  "updated": 2,
                  "errors": 0,
                  "errorMessages": []
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/licence-info": {
      "get": {
        "tags": [
          "LicenceInfo"
        ],
        "summary": "Gets the establishment (license) information for the current tenant.\r\nUsed for invoice/ticket header (commercial name, fiscal name, address, VAT, etc.).",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/LicenceInfoDTO"
                },
                "example": {
                  "number": "LIC-2026-00142",
                  "comercialName": "Supermercado Sol Nascente",
                  "fiscalName": "Sol Nascente — Comércio Alimentar, Lda.",
                  "address": "Rua da Prata 78",
                  "postalCode": "1100-420",
                  "city": "Lisboa",
                  "state": null,
                  "countryCode": 351,
                  "vat": "501234567",
                  "email": "geral@solnascente.pt",
                  "phoneNumber": "+351 213 456 789"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LicenceInfoDTO"
                },
                "example": {
                  "number": "LIC-2026-00142",
                  "comercialName": "Supermercado Sol Nascente",
                  "fiscalName": "Sol Nascente — Comércio Alimentar, Lda.",
                  "address": "Rua da Prata 78",
                  "postalCode": "1100-420",
                  "city": "Lisboa",
                  "state": null,
                  "countryCode": 351,
                  "vat": "501234567",
                  "email": "geral@solnascente.pt",
                  "phoneNumber": "+351 213 456 789"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/LicenceInfoDTO"
                },
                "example": {
                  "number": "LIC-2026-00142",
                  "comercialName": "Supermercado Sol Nascente",
                  "fiscalName": "Sol Nascente — Comércio Alimentar, Lda.",
                  "address": "Rua da Prata 78",
                  "postalCode": "1100-420",
                  "city": "Lisboa",
                  "state": null,
                  "countryCode": 351,
                  "vat": "501234567",
                  "email": "geral@solnascente.pt",
                  "phoneNumber": "+351 213 456 789"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/load-unload-place": {
      "get": {
        "tags": [
          "LoadUnloadPlace"
        ],
        "summary": "Gets all load and unload places with optional pagination.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of records per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/LoadUnloadPlaceDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "Plataforma logística — Maia",
                      "city": "Maia",
                      "postalCode": "4470-116",
                      "country": "Portugal",
                      "warehouseId": 3,
                      "latitude": null,
                      "longitude": null
                    },
                    {
                      "id": 2,
                      "description": "Doca 7 — Porto de Leixões",
                      "city": "Matosinhos",
                      "postalCode": "4450-718",
                      "country": "Portugal",
                      "warehouseId": 3,
                      "latitude": null,
                      "longitude": null
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LoadUnloadPlaceDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "Plataforma logística — Maia",
                      "city": "Maia",
                      "postalCode": "4470-116",
                      "country": "Portugal",
                      "warehouseId": 3,
                      "latitude": null,
                      "longitude": null
                    },
                    {
                      "id": 2,
                      "description": "Doca 7 — Porto de Leixões",
                      "city": "Matosinhos",
                      "postalCode": "4450-718",
                      "country": "Portugal",
                      "warehouseId": 3,
                      "latitude": null,
                      "longitude": null
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/LoadUnloadPlaceDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "Plataforma logística — Maia",
                      "city": "Maia",
                      "postalCode": "4470-116",
                      "country": "Portugal",
                      "warehouseId": 3,
                      "latitude": null,
                      "longitude": null
                    },
                    {
                      "id": 2,
                      "description": "Doca 7 — Porto de Leixões",
                      "city": "Matosinhos",
                      "postalCode": "4450-718",
                      "country": "Portugal",
                      "warehouseId": 3,
                      "latitude": null,
                      "longitude": null
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "LoadUnloadPlace"
        ],
        "summary": "Creates a new load and unload place.",
        "requestBody": {
          "description": "The load and unload place data to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LoadUnloadPlaceCreateDTO"
              },
              "example": {
                "description": "Armazem Central - Cais 1",
                "city": "Lisboa",
                "postalCode": "1100-200",
                "country": "PT",
                "warehouseId": 1,
                "latitude": "38.7169",
                "longitude": "-9.1399"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/LoadUnloadPlaceCreateDTO"
              },
              "example": {
                "description": "Armazem Central - Cais 1",
                "city": "Lisboa",
                "postalCode": "1100-200",
                "country": "PT",
                "warehouseId": 1,
                "latitude": "38.7169",
                "longitude": "-9.1399"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/LoadUnloadPlaceCreateDTO"
              },
              "example": {
                "description": "Armazem Central - Cais 1",
                "city": "Lisboa",
                "postalCode": "1100-200",
                "country": "PT",
                "warehouseId": 1,
                "latitude": "38.7169",
                "longitude": "-9.1399"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/load-unload-place/{id}": {
      "get": {
        "tags": [
          "LoadUnloadPlace"
        ],
        "summary": "Gets a load and unload place by its ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the load and unload place.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/LoadUnloadPlaceDTO"
                },
                "example": {
                  "id": 1,
                  "description": "Plataforma logística — Maia",
                  "city": "Maia",
                  "postalCode": "4470-116",
                  "country": "Portugal",
                  "warehouseId": 3,
                  "latitude": null,
                  "longitude": null
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LoadUnloadPlaceDTO"
                },
                "example": {
                  "id": 1,
                  "description": "Plataforma logística — Maia",
                  "city": "Maia",
                  "postalCode": "4470-116",
                  "country": "Portugal",
                  "warehouseId": 3,
                  "latitude": null,
                  "longitude": null
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/LoadUnloadPlaceDTO"
                },
                "example": {
                  "id": 1,
                  "description": "Plataforma logística — Maia",
                  "city": "Maia",
                  "postalCode": "4470-116",
                  "country": "Portugal",
                  "warehouseId": 3,
                  "latitude": null,
                  "longitude": null
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "LoadUnloadPlace"
        ],
        "summary": "Deletes a load and unload place by its ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the load and unload place to delete.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "LoadUnloadPlace"
        ],
        "summary": "Updates an existing load and unload place.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The updated load and unload place data.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The updated load and unload place data.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LoadUnloadPlaceUpdateDTO"
              },
              "example": {
                "description": "Armazem Central - Cais 1",
                "city": "Lisboa",
                "postalCode": "1100-200",
                "country": "PT",
                "warehouseId": 1,
                "latitude": "38.7169",
                "longitude": "-9.1399"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/LoadUnloadPlaceUpdateDTO"
              },
              "example": {
                "description": "Armazem Central - Cais 1",
                "city": "Lisboa",
                "postalCode": "1100-200",
                "country": "PT",
                "warehouseId": 1,
                "latitude": "38.7169",
                "longitude": "-9.1399"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/LoadUnloadPlaceUpdateDTO"
              },
              "example": {
                "description": "Armazem Central - Cais 1",
                "city": "Lisboa",
                "postalCode": "1100-200",
                "country": "PT",
                "warehouseId": 1,
                "latitude": "38.7169",
                "longitude": "-9.1399"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/manual-checking-account": {
      "post": {
        "tags": [
          "ManualCheckingAccount"
        ],
        "summary": "Creates a new manual checking account.",
        "requestBody": {
          "description": "The XDPeople.Soba.Application.DTOs.CreateManualCheckingAccountDTO containing the data to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateManualCheckingAccountDTO"
              },
              "example": {
                "serieId": 1,
                "documentTypeId": 1,
                "entityKeyId": "CLI001",
                "creationDate": "2026-07-07T00:00:00+00:00",
                "dueDate": "2026-08-06T00:00:00+00:00",
                "totalAmount": 250.0,
                "observation": "Conta corrente manual - fatura pendente",
                "employeeId": 1
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateManualCheckingAccountDTO"
              },
              "example": {
                "serieId": 1,
                "documentTypeId": 1,
                "entityKeyId": "CLI001",
                "creationDate": "2026-07-07T00:00:00+00:00",
                "dueDate": "2026-08-06T00:00:00+00:00",
                "totalAmount": 250.0,
                "observation": "Conta corrente manual - fatura pendente",
                "employeeId": 1
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateManualCheckingAccountDTO"
              },
              "example": {
                "serieId": 1,
                "documentTypeId": 1,
                "entityKeyId": "CLI001",
                "creationDate": "2026-07-07T00:00:00+00:00",
                "dueDate": "2026-08-06T00:00:00+00:00",
                "totalAmount": 250.0,
                "observation": "Conta corrente manual - fatura pendente",
                "employeeId": 1
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/manual-checking-account/{id}": {
      "get": {
        "tags": [
          "ManualCheckingAccount"
        ],
        "summary": "Retrieves a manual checking account by its identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique identifier of the checking account to retrieve.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CheckingAccountDetail"
                },
                "example": {
                  "headerId": 101,
                  "documentTypeId": 1,
                  "number": 1842,
                  "serieId": 1,
                  "entityKeyId": "FORN-PT-044",
                  "entityDescription": "Materiais de Construção Alentejo, Lda.",
                  "userId": 1,
                  "observation": "Pagamento a 30 dias",
                  "total": 1240.5,
                  "totalServiceTax": 285.32,
                  "grossTotal": 1525.82,
                  "dueValue": 1240.5,
                  "status": 2,
                  "creationDate": "2026-03-10T11:20:00",
                  "dueDate": "2026-04-09T00:00:00",
                  "receipts": [],
                  "invoiceType": "FT",
                  "paidAmount": 0,
                  "documentTypeDescription": "Fatura",
                  "documentIdentifier": "FT 2026/1842"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CheckingAccountDetail"
                },
                "example": {
                  "headerId": 101,
                  "documentTypeId": 1,
                  "number": 1842,
                  "serieId": 1,
                  "entityKeyId": "FORN-PT-044",
                  "entityDescription": "Materiais de Construção Alentejo, Lda.",
                  "userId": 1,
                  "observation": "Pagamento a 30 dias",
                  "total": 1240.5,
                  "totalServiceTax": 285.32,
                  "grossTotal": 1525.82,
                  "dueValue": 1240.5,
                  "status": 2,
                  "creationDate": "2026-03-10T11:20:00",
                  "dueDate": "2026-04-09T00:00:00",
                  "receipts": [],
                  "invoiceType": "FT",
                  "paidAmount": 0,
                  "documentTypeDescription": "Fatura",
                  "documentIdentifier": "FT 2026/1842"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CheckingAccountDetail"
                },
                "example": {
                  "headerId": 101,
                  "documentTypeId": 1,
                  "number": 1842,
                  "serieId": 1,
                  "entityKeyId": "FORN-PT-044",
                  "entityDescription": "Materiais de Construção Alentejo, Lda.",
                  "userId": 1,
                  "observation": "Pagamento a 30 dias",
                  "total": 1240.5,
                  "totalServiceTax": 285.32,
                  "grossTotal": 1525.82,
                  "dueValue": 1240.5,
                  "status": 2,
                  "creationDate": "2026-03-10T11:20:00",
                  "dueDate": "2026-04-09T00:00:00",
                  "receipts": [],
                  "invoiceType": "FT",
                  "paidAmount": 0,
                  "documentTypeDescription": "Fatura",
                  "documentIdentifier": "FT 2026/1842"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "ManualCheckingAccount"
        ],
        "summary": "Updates an existing manual checking account by its identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique identifier of the checking account to update.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The XDPeople.Soba.Application.DTOs.UpdateManualCheckingAccountDTO containing the updated data.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateManualCheckingAccountDTO"
              },
              "example": {
                "entityKeyId": "CLI001",
                "creationDate": "2026-07-07T00:00:00+00:00",
                "dueDate": "2026-08-06T00:00:00+00:00",
                "totalAmount": 300.0,
                "observation": "Conta corrente manual - valor atualizado",
                "employeeId": 1
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateManualCheckingAccountDTO"
              },
              "example": {
                "entityKeyId": "CLI001",
                "creationDate": "2026-07-07T00:00:00+00:00",
                "dueDate": "2026-08-06T00:00:00+00:00",
                "totalAmount": 300.0,
                "observation": "Conta corrente manual - valor atualizado",
                "employeeId": 1
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateManualCheckingAccountDTO"
              },
              "example": {
                "entityKeyId": "CLI001",
                "creationDate": "2026-07-07T00:00:00+00:00",
                "dueDate": "2026-08-06T00:00:00+00:00",
                "totalAmount": 300.0,
                "observation": "Conta corrente manual - valor atualizado",
                "employeeId": 1
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "ManualCheckingAccount"
        ],
        "summary": "Deletes a manual checking account by its identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique identifier of the checking account to delete.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The XDPeople.Soba.Application.DTOs.DeleteManualCheckingAccountDTO containing the deletion details.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteManualCheckingAccountDTO"
              },
              "example": {
                "statusReason": "Documento anulado por erro de lancamento",
                "employeeId": 1
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteManualCheckingAccountDTO"
              },
              "example": {
                "statusReason": "Documento anulado por erro de lancamento",
                "employeeId": 1
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteManualCheckingAccountDTO"
              },
              "example": {
                "statusReason": "Documento anulado por erro de lancamento",
                "employeeId": 1
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/manual-checking-account/{id}/printing-data": {
      "get": {
        "tags": [
          "ManualCheckingAccount"
        ],
        "summary": "Retrieves the printing data for a manual checking account by its identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique identifier of the checking account.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ManualCheckingAccountPrintingDTO"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManualCheckingAccountPrintingDTO"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManualCheckingAccountPrintingDTO"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/manual-checking-account/payable-account/{id}/digital-archives-directories": {
      "get": {
        "tags": [
          "ManualCheckingAccount"
        ],
        "summary": "Gets the digital archive directory associated with a payable account key.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Business key identifier of the payable account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "b4465758-6f65-4df7-8e6b-e2898c3bef3a",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "b4465758-6f65-4df7-8e6b-e2898c3bef3a",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "b4465758-6f65-4df7-8e6b-e2898c3bef3a",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/manual-checking-account/payable-account/digital-archives-directories/root": {
      "get": {
        "tags": [
          "ManualCheckingAccount"
        ],
        "summary": "Gets the root digital archive directory for payable accounts.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "d5cc437f-2114-489c-9ea8-a33f7583f2d8",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "d5cc437f-2114-489c-9ea8-a33f7583f2d8",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "d5cc437f-2114-489c-9ea8-a33f7583f2d8",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/manual-checking-account/receivable-account/{id}/digital-archives-directories": {
      "get": {
        "tags": [
          "ManualCheckingAccount"
        ],
        "summary": "Gets the digital archive directory associated with a receivable account key.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Business key identifier of the receivable account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "eeab660c-27eb-42aa-92ff-ad97a7a5a692",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "eeab660c-27eb-42aa-92ff-ad97a7a5a692",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "eeab660c-27eb-42aa-92ff-ad97a7a5a692",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/manual-checking-account/receivable-account/digital-archives-directories/root": {
      "get": {
        "tags": [
          "ManualCheckingAccount"
        ],
        "summary": "Gets the root digital archive directory for receivable accounts.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "c17eebd0-677a-4036-9d81-7ef46fc1774f",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "c17eebd0-677a-4036-9d81-7ef46fc1774f",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "c17eebd0-677a-4036-9d81-7ef46fc1774f",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/payable-account/params": {
      "get": {
        "tags": [
          "ManualCheckingAccount"
        ],
        "summary": "Retrieves the available list parameters for manual checking accounts.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ListParametersDTO"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ListParametersDTO"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ListParametersDTO"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/payment-mode": {
      "get": {
        "tags": [
          "PaymentMode"
        ],
        "summary": "Retrieves a paginated list of all payment modes.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of records per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentModeDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "paymentKey": 10,
                      "description": "Pagamento a 30 dias após emissão",
                      "id": 1,
                      "syncStamp": null,
                      "paymentModeType": 0,
                      "incrementDays": 30,
                      "paymentDay": 0
                    },
                    {
                      "paymentKey": 11,
                      "description": "Pronto pagamento à data do documento",
                      "id": 2,
                      "syncStamp": null,
                      "paymentModeType": 0,
                      "incrementDays": 0,
                      "paymentDay": 0
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentModeDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "paymentKey": 10,
                      "description": "Pagamento a 30 dias após emissão",
                      "id": 1,
                      "syncStamp": null,
                      "paymentModeType": 0,
                      "incrementDays": 30,
                      "paymentDay": 0
                    },
                    {
                      "paymentKey": 11,
                      "description": "Pronto pagamento à data do documento",
                      "id": 2,
                      "syncStamp": null,
                      "paymentModeType": 0,
                      "incrementDays": 0,
                      "paymentDay": 0
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentModeDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "paymentKey": 10,
                      "description": "Pagamento a 30 dias após emissão",
                      "id": 1,
                      "syncStamp": null,
                      "paymentModeType": 0,
                      "incrementDays": 30,
                      "paymentDay": 0
                    },
                    {
                      "paymentKey": 11,
                      "description": "Pronto pagamento à data do documento",
                      "id": 2,
                      "syncStamp": null,
                      "paymentModeType": 0,
                      "incrementDays": 0,
                      "paymentDay": 0
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "PaymentMode"
        ],
        "summary": "Creates a new payment mode.",
        "requestBody": {
          "description": "Payment mode data transfer object.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentModeDTO"
              },
              "example": {
                "paymentKey": 1,
                "description": "Pronto Pagamento",
                "id": 1,
                "syncStamp": null,
                "paymentModeType": 0,
                "incrementDays": 0,
                "paymentDay": 0
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentModeDTO"
              },
              "example": {
                "paymentKey": 1,
                "description": "Pronto Pagamento",
                "id": 1,
                "syncStamp": null,
                "paymentModeType": 0,
                "incrementDays": 0,
                "paymentDay": 0
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentModeDTO"
              },
              "example": {
                "paymentKey": 1,
                "description": "Pronto Pagamento",
                "id": 1,
                "syncStamp": null,
                "paymentModeType": 0,
                "incrementDays": 0,
                "paymentDay": 0
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentModeDTO"
                },
                "example": {
                  "paymentKey": 1,
                  "description": "Pronto Pagamento",
                  "id": 1,
                  "syncStamp": null,
                  "paymentModeType": 0,
                  "incrementDays": 0,
                  "paymentDay": 0
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentModeDTO"
                },
                "example": {
                  "paymentKey": 1,
                  "description": "Pronto Pagamento",
                  "id": 1,
                  "syncStamp": null,
                  "paymentModeType": 0,
                  "incrementDays": 0,
                  "paymentDay": 0
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentModeDTO"
                },
                "example": {
                  "paymentKey": 1,
                  "description": "Pronto Pagamento",
                  "id": 1,
                  "syncStamp": null,
                  "paymentModeType": 0,
                  "incrementDays": 0,
                  "paymentDay": 0
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/payment-mode/{id}": {
      "get": {
        "tags": [
          "PaymentMode"
        ],
        "summary": "Retrieves a payment mode by its integer ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Payment mode identifier.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentModeDTO"
                },
                "example": {
                  "paymentKey": 1,
                  "description": "Pronto Pagamento",
                  "id": 1,
                  "syncStamp": null,
                  "paymentModeType": 0,
                  "incrementDays": 0,
                  "paymentDay": 0
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentModeDTO"
                },
                "example": {
                  "paymentKey": 1,
                  "description": "Pronto Pagamento",
                  "id": 1,
                  "syncStamp": null,
                  "paymentModeType": 0,
                  "incrementDays": 0,
                  "paymentDay": 0
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentModeDTO"
                },
                "example": {
                  "paymentKey": 1,
                  "description": "Pronto Pagamento",
                  "id": 1,
                  "syncStamp": null,
                  "paymentModeType": 0,
                  "incrementDays": 0,
                  "paymentDay": 0
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "PaymentMode"
        ],
        "summary": "Deletes a payment mode by its integer ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Payment mode identifier.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "PaymentMode"
        ],
        "summary": "Updates an existing payment mode identified by its integer ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Payment mode identifier.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "Payment mode update payload (without the identifier).",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentModeUpdateDTO"
              },
              "example": {
                "paymentKey": 1,
                "description": "Pronto Pagamento",
                "paymentModeType": 0,
                "incrementDays": 0,
                "paymentDay": 0
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentModeUpdateDTO"
              },
              "example": {
                "paymentKey": 1,
                "description": "Pronto Pagamento",
                "paymentModeType": 0,
                "incrementDays": 0,
                "paymentDay": 0
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentModeUpdateDTO"
              },
              "example": {
                "paymentKey": 1,
                "description": "Pronto Pagamento",
                "paymentModeType": 0,
                "incrementDays": 0,
                "paymentDay": 0
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/payment-mode/next-id": {
      "get": {
        "tags": [
          "PaymentMode"
        ],
        "summary": "Retrieves the next available payment mode ID.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "text/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/payment-type": {
      "get": {
        "tags": [
          "PaymentTypes"
        ],
        "summary": "Gets all payment types with optional pagination.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of records per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sendToCheckingAccount",
            "in": "query",
            "description": "Filter by send to checking account.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentTypesDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "description": "Numerário",
                      "id": 1,
                      "requiresExchange": true,
                      "sendToCheckingAccount": true,
                      "syncStamp": "0001-01-01T00:00:00",
                      "paymentMechanism": null,
                      "paymentGroup": 0,
                      "businessAccountId": 0,
                      "visibleDelivery": false,
                      "currencyId": 0,
                      "sortOrder": 0,
                      "cashierAccountId": 0,
                      "imageName": null,
                      "issueDirectDebit": false,
                      "inactive": false,
                      "generateMBReference": false,
                      "cloudSyncStamp": "0001-01-01T00:00:00",
                      "brPaymentTypeId": 0,
                      "brPaymentTypeProviderId": 0,
                      "brPaymentTypeDescription": null
                    },
                    {
                      "description": "Transferência bancária (IBAN)",
                      "id": 4,
                      "requiresExchange": false,
                      "sendToCheckingAccount": true,
                      "syncStamp": "0001-01-01T00:00:00",
                      "paymentMechanism": null,
                      "paymentGroup": 0,
                      "businessAccountId": 0,
                      "visibleDelivery": false,
                      "currencyId": 0,
                      "sortOrder": 0,
                      "cashierAccountId": 0,
                      "imageName": null,
                      "issueDirectDebit": false,
                      "inactive": false,
                      "generateMBReference": false,
                      "cloudSyncStamp": "0001-01-01T00:00:00",
                      "brPaymentTypeId": 0,
                      "brPaymentTypeProviderId": 0,
                      "brPaymentTypeDescription": null
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentTypesDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "description": "Numerário",
                      "id": 1,
                      "requiresExchange": true,
                      "sendToCheckingAccount": true,
                      "syncStamp": "0001-01-01T00:00:00",
                      "paymentMechanism": null,
                      "paymentGroup": 0,
                      "businessAccountId": 0,
                      "visibleDelivery": false,
                      "currencyId": 0,
                      "sortOrder": 0,
                      "cashierAccountId": 0,
                      "imageName": null,
                      "issueDirectDebit": false,
                      "inactive": false,
                      "generateMBReference": false,
                      "cloudSyncStamp": "0001-01-01T00:00:00",
                      "brPaymentTypeId": 0,
                      "brPaymentTypeProviderId": 0,
                      "brPaymentTypeDescription": null
                    },
                    {
                      "description": "Transferência bancária (IBAN)",
                      "id": 4,
                      "requiresExchange": false,
                      "sendToCheckingAccount": true,
                      "syncStamp": "0001-01-01T00:00:00",
                      "paymentMechanism": null,
                      "paymentGroup": 0,
                      "businessAccountId": 0,
                      "visibleDelivery": false,
                      "currencyId": 0,
                      "sortOrder": 0,
                      "cashierAccountId": 0,
                      "imageName": null,
                      "issueDirectDebit": false,
                      "inactive": false,
                      "generateMBReference": false,
                      "cloudSyncStamp": "0001-01-01T00:00:00",
                      "brPaymentTypeId": 0,
                      "brPaymentTypeProviderId": 0,
                      "brPaymentTypeDescription": null
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentTypesDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "description": "Numerário",
                      "id": 1,
                      "requiresExchange": true,
                      "sendToCheckingAccount": true,
                      "syncStamp": "0001-01-01T00:00:00",
                      "paymentMechanism": null,
                      "paymentGroup": 0,
                      "businessAccountId": 0,
                      "visibleDelivery": false,
                      "currencyId": 0,
                      "sortOrder": 0,
                      "cashierAccountId": 0,
                      "imageName": null,
                      "issueDirectDebit": false,
                      "inactive": false,
                      "generateMBReference": false,
                      "cloudSyncStamp": "0001-01-01T00:00:00",
                      "brPaymentTypeId": 0,
                      "brPaymentTypeProviderId": 0,
                      "brPaymentTypeDescription": null
                    },
                    {
                      "description": "Transferência bancária (IBAN)",
                      "id": 4,
                      "requiresExchange": false,
                      "sendToCheckingAccount": true,
                      "syncStamp": "0001-01-01T00:00:00",
                      "paymentMechanism": null,
                      "paymentGroup": 0,
                      "businessAccountId": 0,
                      "visibleDelivery": false,
                      "currencyId": 0,
                      "sortOrder": 0,
                      "cashierAccountId": 0,
                      "imageName": null,
                      "issueDirectDebit": false,
                      "inactive": false,
                      "generateMBReference": false,
                      "cloudSyncStamp": "0001-01-01T00:00:00",
                      "brPaymentTypeId": 0,
                      "brPaymentTypeProviderId": 0,
                      "brPaymentTypeDescription": null
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "PaymentTypes"
        ],
        "summary": "Creates a new payment type.",
        "requestBody": {
          "description": "Payment type data transfer object.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentTypesDTO"
              },
              "example": {
                "description": "Numerario",
                "id": 1,
                "requiresExchange": true,
                "sendToCheckingAccount": false,
                "syncStamp": "0001-01-01T00:00:00",
                "paymentMechanism": "NU",
                "paymentGroup": 1,
                "businessAccountId": 1,
                "visibleDelivery": false,
                "currencyId": 0,
                "sortOrder": 1,
                "cashierAccountId": 0,
                "imageName": null,
                "issueDirectDebit": false,
                "inactive": false,
                "generateMBReference": false,
                "cloudSyncStamp": "0001-01-01T00:00:00",
                "brPaymentTypeId": 0,
                "brPaymentTypeProviderId": 0,
                "brPaymentTypeDescription": null
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentTypesDTO"
              },
              "example": {
                "description": "Numerario",
                "id": 1,
                "requiresExchange": true,
                "sendToCheckingAccount": false,
                "syncStamp": "0001-01-01T00:00:00",
                "paymentMechanism": "NU",
                "paymentGroup": 1,
                "businessAccountId": 1,
                "visibleDelivery": false,
                "currencyId": 0,
                "sortOrder": 1,
                "cashierAccountId": 0,
                "imageName": null,
                "issueDirectDebit": false,
                "inactive": false,
                "generateMBReference": false,
                "cloudSyncStamp": "0001-01-01T00:00:00",
                "brPaymentTypeId": 0,
                "brPaymentTypeProviderId": 0,
                "brPaymentTypeDescription": null
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentTypesDTO"
              },
              "example": {
                "description": "Numerario",
                "id": 1,
                "requiresExchange": true,
                "sendToCheckingAccount": false,
                "syncStamp": "0001-01-01T00:00:00",
                "paymentMechanism": "NU",
                "paymentGroup": 1,
                "businessAccountId": 1,
                "visibleDelivery": false,
                "currencyId": 0,
                "sortOrder": 1,
                "cashierAccountId": 0,
                "imageName": null,
                "issueDirectDebit": false,
                "inactive": false,
                "generateMBReference": false,
                "cloudSyncStamp": "0001-01-01T00:00:00",
                "brPaymentTypeId": 0,
                "brPaymentTypeProviderId": 0,
                "brPaymentTypeDescription": null
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentTypesDTO"
                },
                "example": {
                  "description": "Numerario",
                  "id": 1,
                  "requiresExchange": true,
                  "sendToCheckingAccount": false,
                  "syncStamp": "0001-01-01T00:00:00",
                  "paymentMechanism": "NU",
                  "paymentGroup": 1,
                  "businessAccountId": 1,
                  "visibleDelivery": false,
                  "currencyId": 0,
                  "sortOrder": 1,
                  "cashierAccountId": 0,
                  "imageName": null,
                  "issueDirectDebit": false,
                  "inactive": false,
                  "generateMBReference": false,
                  "cloudSyncStamp": "0001-01-01T00:00:00",
                  "brPaymentTypeId": 0,
                  "brPaymentTypeProviderId": 0,
                  "brPaymentTypeDescription": null
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentTypesDTO"
                },
                "example": {
                  "description": "Numerario",
                  "id": 1,
                  "requiresExchange": true,
                  "sendToCheckingAccount": false,
                  "syncStamp": "0001-01-01T00:00:00",
                  "paymentMechanism": "NU",
                  "paymentGroup": 1,
                  "businessAccountId": 1,
                  "visibleDelivery": false,
                  "currencyId": 0,
                  "sortOrder": 1,
                  "cashierAccountId": 0,
                  "imageName": null,
                  "issueDirectDebit": false,
                  "inactive": false,
                  "generateMBReference": false,
                  "cloudSyncStamp": "0001-01-01T00:00:00",
                  "brPaymentTypeId": 0,
                  "brPaymentTypeProviderId": 0,
                  "brPaymentTypeDescription": null
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentTypesDTO"
                },
                "example": {
                  "description": "Numerario",
                  "id": 1,
                  "requiresExchange": true,
                  "sendToCheckingAccount": false,
                  "syncStamp": "0001-01-01T00:00:00",
                  "paymentMechanism": "NU",
                  "paymentGroup": 1,
                  "businessAccountId": 1,
                  "visibleDelivery": false,
                  "currencyId": 0,
                  "sortOrder": 1,
                  "cashierAccountId": 0,
                  "imageName": null,
                  "issueDirectDebit": false,
                  "inactive": false,
                  "generateMBReference": false,
                  "cloudSyncStamp": "0001-01-01T00:00:00",
                  "brPaymentTypeId": 0,
                  "brPaymentTypeProviderId": 0,
                  "brPaymentTypeDescription": null
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/payment-type/{id}": {
      "get": {
        "tags": [
          "PaymentTypes"
        ],
        "summary": "Retrieves a payment type by its integer ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Payment type identifier.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentTypesDTO"
                },
                "example": {
                  "description": "Numerario",
                  "id": 1,
                  "requiresExchange": true,
                  "sendToCheckingAccount": false,
                  "syncStamp": "0001-01-01T00:00:00",
                  "paymentMechanism": "NU",
                  "paymentGroup": 1,
                  "businessAccountId": 1,
                  "visibleDelivery": false,
                  "currencyId": 0,
                  "sortOrder": 1,
                  "cashierAccountId": 0,
                  "imageName": null,
                  "issueDirectDebit": false,
                  "inactive": false,
                  "generateMBReference": false,
                  "cloudSyncStamp": "0001-01-01T00:00:00",
                  "brPaymentTypeId": 0,
                  "brPaymentTypeProviderId": 0,
                  "brPaymentTypeDescription": null
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentTypesDTO"
                },
                "example": {
                  "description": "Numerario",
                  "id": 1,
                  "requiresExchange": true,
                  "sendToCheckingAccount": false,
                  "syncStamp": "0001-01-01T00:00:00",
                  "paymentMechanism": "NU",
                  "paymentGroup": 1,
                  "businessAccountId": 1,
                  "visibleDelivery": false,
                  "currencyId": 0,
                  "sortOrder": 1,
                  "cashierAccountId": 0,
                  "imageName": null,
                  "issueDirectDebit": false,
                  "inactive": false,
                  "generateMBReference": false,
                  "cloudSyncStamp": "0001-01-01T00:00:00",
                  "brPaymentTypeId": 0,
                  "brPaymentTypeProviderId": 0,
                  "brPaymentTypeDescription": null
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentTypesDTO"
                },
                "example": {
                  "description": "Numerario",
                  "id": 1,
                  "requiresExchange": true,
                  "sendToCheckingAccount": false,
                  "syncStamp": "0001-01-01T00:00:00",
                  "paymentMechanism": "NU",
                  "paymentGroup": 1,
                  "businessAccountId": 1,
                  "visibleDelivery": false,
                  "currencyId": 0,
                  "sortOrder": 1,
                  "cashierAccountId": 0,
                  "imageName": null,
                  "issueDirectDebit": false,
                  "inactive": false,
                  "generateMBReference": false,
                  "cloudSyncStamp": "0001-01-01T00:00:00",
                  "brPaymentTypeId": 0,
                  "brPaymentTypeProviderId": 0,
                  "brPaymentTypeDescription": null
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "PaymentTypes"
        ],
        "summary": "Updates an existing payment type.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Payment type identifier.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "Payment type update payload.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentTypesUpdateDTO"
              },
              "example": {
                "description": "Numerario",
                "requiresExchange": true,
                "sendToCheckingAccount": false,
                "paymentMechanism": "NU",
                "paymentGroup": 1,
                "businessAccountId": 1,
                "visibleDelivery": false,
                "currencyId": 0,
                "sortOrder": 1,
                "cashierAccountId": 0,
                "imageName": null,
                "issueDirectDebit": false,
                "inactive": false,
                "generateMBReference": false,
                "brPaymentTypeId": 0,
                "brPaymentTypeProviderId": 0,
                "brPaymentTypeDescription": null
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentTypesUpdateDTO"
              },
              "example": {
                "description": "Numerario",
                "requiresExchange": true,
                "sendToCheckingAccount": false,
                "paymentMechanism": "NU",
                "paymentGroup": 1,
                "businessAccountId": 1,
                "visibleDelivery": false,
                "currencyId": 0,
                "sortOrder": 1,
                "cashierAccountId": 0,
                "imageName": null,
                "issueDirectDebit": false,
                "inactive": false,
                "generateMBReference": false,
                "brPaymentTypeId": 0,
                "brPaymentTypeProviderId": 0,
                "brPaymentTypeDescription": null
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentTypesUpdateDTO"
              },
              "example": {
                "description": "Numerario",
                "requiresExchange": true,
                "sendToCheckingAccount": false,
                "paymentMechanism": "NU",
                "paymentGroup": 1,
                "businessAccountId": 1,
                "visibleDelivery": false,
                "currencyId": 0,
                "sortOrder": 1,
                "cashierAccountId": 0,
                "imageName": null,
                "issueDirectDebit": false,
                "inactive": false,
                "generateMBReference": false,
                "brPaymentTypeId": 0,
                "brPaymentTypeProviderId": 0,
                "brPaymentTypeDescription": null
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "PaymentTypes"
        ],
        "summary": "Deletes a payment type by its integer ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Payment type identifier.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/payment-type/next-id": {
      "get": {
        "tags": [
          "PaymentTypes"
        ],
        "summary": "Retrieves the next available payment type ID.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "text/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/points-config": {
      "get": {
        "tags": [
          "PointsConfig"
        ],
        "summary": "Retrieves all point configurations.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of records per page (optional).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PointsConfigDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": "a1b2c3d4-e5f6-4789-a012-3456789abcde",
                      "order": 1,
                      "description": "Pontos por valor em documento — regime geral",
                      "active": true,
                      "startDate": "2026-01-01T00:00:00",
                      "endDate": "2026-12-31T00:00:00",
                      "cumulative": false,
                      "allowDecimalPoints": false,
                      "startDateHolder": "",
                      "endDateHolder": "",
                      "activeHolder": "",
                      "isPreCompiled": false,
                      "preCompiledType": "",
                      "criteriaType": 0,
                      "defaultHeaderCriteria": null,
                      "defaultDetailsItemCriteria": null,
                      "defaultDetailsFamilyCriteria": null
                    },
                    {
                      "id": "b2c3d4e5-f6a7-4890-b123-456789abcdef",
                      "order": 2,
                      "description": "Acúmulo em compras acima de €50",
                      "active": true,
                      "startDate": "2026-02-15T00:00:00",
                      "endDate": "2027-02-14T00:00:00",
                      "cumulative": false,
                      "allowDecimalPoints": false,
                      "startDateHolder": "",
                      "endDateHolder": "",
                      "activeHolder": "",
                      "isPreCompiled": false,
                      "preCompiledType": "",
                      "criteriaType": 0,
                      "defaultHeaderCriteria": null,
                      "defaultDetailsItemCriteria": null,
                      "defaultDetailsFamilyCriteria": null
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PointsConfigDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": "a1b2c3d4-e5f6-4789-a012-3456789abcde",
                      "order": 1,
                      "description": "Pontos por valor em documento — regime geral",
                      "active": true,
                      "startDate": "2026-01-01T00:00:00",
                      "endDate": "2026-12-31T00:00:00",
                      "cumulative": false,
                      "allowDecimalPoints": false,
                      "startDateHolder": "",
                      "endDateHolder": "",
                      "activeHolder": "",
                      "isPreCompiled": false,
                      "preCompiledType": "",
                      "criteriaType": 0,
                      "defaultHeaderCriteria": null,
                      "defaultDetailsItemCriteria": null,
                      "defaultDetailsFamilyCriteria": null
                    },
                    {
                      "id": "b2c3d4e5-f6a7-4890-b123-456789abcdef",
                      "order": 2,
                      "description": "Acúmulo em compras acima de €50",
                      "active": true,
                      "startDate": "2026-02-15T00:00:00",
                      "endDate": "2027-02-14T00:00:00",
                      "cumulative": false,
                      "allowDecimalPoints": false,
                      "startDateHolder": "",
                      "endDateHolder": "",
                      "activeHolder": "",
                      "isPreCompiled": false,
                      "preCompiledType": "",
                      "criteriaType": 0,
                      "defaultHeaderCriteria": null,
                      "defaultDetailsItemCriteria": null,
                      "defaultDetailsFamilyCriteria": null
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PointsConfigDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": "a1b2c3d4-e5f6-4789-a012-3456789abcde",
                      "order": 1,
                      "description": "Pontos por valor em documento — regime geral",
                      "active": true,
                      "startDate": "2026-01-01T00:00:00",
                      "endDate": "2026-12-31T00:00:00",
                      "cumulative": false,
                      "allowDecimalPoints": false,
                      "startDateHolder": "",
                      "endDateHolder": "",
                      "activeHolder": "",
                      "isPreCompiled": false,
                      "preCompiledType": "",
                      "criteriaType": 0,
                      "defaultHeaderCriteria": null,
                      "defaultDetailsItemCriteria": null,
                      "defaultDetailsFamilyCriteria": null
                    },
                    {
                      "id": "b2c3d4e5-f6a7-4890-b123-456789abcdef",
                      "order": 2,
                      "description": "Acúmulo em compras acima de €50",
                      "active": true,
                      "startDate": "2026-02-15T00:00:00",
                      "endDate": "2027-02-14T00:00:00",
                      "cumulative": false,
                      "allowDecimalPoints": false,
                      "startDateHolder": "",
                      "endDateHolder": "",
                      "activeHolder": "",
                      "isPreCompiled": false,
                      "preCompiledType": "",
                      "criteriaType": 0,
                      "defaultHeaderCriteria": null,
                      "defaultDetailsItemCriteria": null,
                      "defaultDetailsFamilyCriteria": null
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "PointsConfig"
        ],
        "summary": "Creates a new point configuration.",
        "requestBody": {
          "description": "The point configuration data to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PointsConfigDTO"
              },
              "example": {
                "id": "46f30f2c-dd07-44b2-aa78-909d2e55d35a",
                "order": 1,
                "description": "Programa de pontos - 1 ponto por euro",
                "active": true,
                "startDate": "2026-07-07T00:00:00+00:00",
                "endDate": "2027-07-07T00:00:00+00:00",
                "cumulative": true,
                "allowDecimalPoints": false,
                "startDateHolder": "",
                "endDateHolder": "",
                "activeHolder": "",
                "isPreCompiled": false,
                "preCompiledType": "",
                "criteriaType": 0,
                "defaultHeaderCriteria": null,
                "defaultDetailsItemCriteria": null,
                "defaultDetailsFamilyCriteria": null
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PointsConfigDTO"
              },
              "example": {
                "id": "46f30f2c-dd07-44b2-aa78-909d2e55d35a",
                "order": 1,
                "description": "Programa de pontos - 1 ponto por euro",
                "active": true,
                "startDate": "2026-07-07T00:00:00+00:00",
                "endDate": "2027-07-07T00:00:00+00:00",
                "cumulative": true,
                "allowDecimalPoints": false,
                "startDateHolder": "",
                "endDateHolder": "",
                "activeHolder": "",
                "isPreCompiled": false,
                "preCompiledType": "",
                "criteriaType": 0,
                "defaultHeaderCriteria": null,
                "defaultDetailsItemCriteria": null,
                "defaultDetailsFamilyCriteria": null
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PointsConfigDTO"
              },
              "example": {
                "id": "46f30f2c-dd07-44b2-aa78-909d2e55d35a",
                "order": 1,
                "description": "Programa de pontos - 1 ponto por euro",
                "active": true,
                "startDate": "2026-07-07T00:00:00+00:00",
                "endDate": "2027-07-07T00:00:00+00:00",
                "cumulative": true,
                "allowDecimalPoints": false,
                "startDateHolder": "",
                "endDateHolder": "",
                "activeHolder": "",
                "isPreCompiled": false,
                "preCompiledType": "",
                "criteriaType": 0,
                "defaultHeaderCriteria": null,
                "defaultDetailsItemCriteria": null,
                "defaultDetailsFamilyCriteria": null
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/points-config/{id}": {
      "get": {
        "tags": [
          "PointsConfig"
        ],
        "summary": "Retrieves a specific point configuration by its unique identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique identifier of the point configuration.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PointsConfigDTO"
                },
                "example": {
                  "id": "4e1fadfb-ee39-40b8-9690-772f3cb65013",
                  "order": 1,
                  "description": "Programa de pontos - 1 ponto por euro",
                  "active": true,
                  "startDate": "2026-07-07T00:00:00+00:00",
                  "endDate": "2027-07-07T00:00:00+00:00",
                  "cumulative": true,
                  "allowDecimalPoints": false,
                  "startDateHolder": "",
                  "endDateHolder": "",
                  "activeHolder": "",
                  "isPreCompiled": false,
                  "preCompiledType": "",
                  "criteriaType": 0,
                  "defaultHeaderCriteria": null,
                  "defaultDetailsItemCriteria": null,
                  "defaultDetailsFamilyCriteria": null
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PointsConfigDTO"
                },
                "example": {
                  "id": "4e1fadfb-ee39-40b8-9690-772f3cb65013",
                  "order": 1,
                  "description": "Programa de pontos - 1 ponto por euro",
                  "active": true,
                  "startDate": "2026-07-07T00:00:00+00:00",
                  "endDate": "2027-07-07T00:00:00+00:00",
                  "cumulative": true,
                  "allowDecimalPoints": false,
                  "startDateHolder": "",
                  "endDateHolder": "",
                  "activeHolder": "",
                  "isPreCompiled": false,
                  "preCompiledType": "",
                  "criteriaType": 0,
                  "defaultHeaderCriteria": null,
                  "defaultDetailsItemCriteria": null,
                  "defaultDetailsFamilyCriteria": null
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PointsConfigDTO"
                },
                "example": {
                  "id": "4e1fadfb-ee39-40b8-9690-772f3cb65013",
                  "order": 1,
                  "description": "Programa de pontos - 1 ponto por euro",
                  "active": true,
                  "startDate": "2026-07-07T00:00:00+00:00",
                  "endDate": "2027-07-07T00:00:00+00:00",
                  "cumulative": true,
                  "allowDecimalPoints": false,
                  "startDateHolder": "",
                  "endDateHolder": "",
                  "activeHolder": "",
                  "isPreCompiled": false,
                  "preCompiledType": "",
                  "criteriaType": 0,
                  "defaultHeaderCriteria": null,
                  "defaultDetailsItemCriteria": null,
                  "defaultDetailsFamilyCriteria": null
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "PointsConfig"
        ],
        "summary": "Updates an existing point configuration.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique identifier of the point configuration to update.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PointsConfigUpdateDTO"
              },
              "example": {
                "order": 1,
                "description": "Programa de pontos - 1 ponto por euro",
                "active": true,
                "startDate": "2026-07-07T00:00:00+00:00",
                "endDate": "2027-07-07T00:00:00+00:00",
                "cumulative": true,
                "allowDecimalPoints": false,
                "startDateHolder": "",
                "endDateHolder": "",
                "activeHolder": "",
                "isPreCompiled": false,
                "preCompiledType": "",
                "criteriaType": 0,
                "defaultHeaderCriteria": null,
                "defaultDetailsItemCriteria": null,
                "defaultDetailsFamilyCriteria": null
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PointsConfigUpdateDTO"
              },
              "example": {
                "order": 1,
                "description": "Programa de pontos - 1 ponto por euro",
                "active": true,
                "startDate": "2026-07-07T00:00:00+00:00",
                "endDate": "2027-07-07T00:00:00+00:00",
                "cumulative": true,
                "allowDecimalPoints": false,
                "startDateHolder": "",
                "endDateHolder": "",
                "activeHolder": "",
                "isPreCompiled": false,
                "preCompiledType": "",
                "criteriaType": 0,
                "defaultHeaderCriteria": null,
                "defaultDetailsItemCriteria": null,
                "defaultDetailsFamilyCriteria": null
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PointsConfigUpdateDTO"
              },
              "example": {
                "order": 1,
                "description": "Programa de pontos - 1 ponto por euro",
                "active": true,
                "startDate": "2026-07-07T00:00:00+00:00",
                "endDate": "2027-07-07T00:00:00+00:00",
                "cumulative": true,
                "allowDecimalPoints": false,
                "startDateHolder": "",
                "endDateHolder": "",
                "activeHolder": "",
                "isPreCompiled": false,
                "preCompiledType": "",
                "criteriaType": 0,
                "defaultHeaderCriteria": null,
                "defaultDetailsItemCriteria": null,
                "defaultDetailsFamilyCriteria": null
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "PointsConfig"
        ],
        "summary": "Deletes a point configuration by its unique identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique identifier of the configuration to delete.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/points-config/next-order": {
      "get": {
        "tags": [
          "PointsConfig"
        ],
        "summary": "Retrieves the next available order number for a new point configuration.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "text/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/price-table": {
      "get": {
        "tags": [
          "PriceTable"
        ],
        "summary": "Gets all price tables with optional pagination.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of records per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PriceTableDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "priceTableType": 0,
                      "description": "Tabela PVP Natal 2026",
                      "startDate": "2026-11-01T00:00:00",
                      "endDate": "2027-01-15T23:59:59",
                      "absolutePriceLineId": 0,
                      "percentageReference": 0,
                      "discountPercentage1": 0,
                      "discountPercentage2": 0,
                      "discountPercentage3": 0,
                      "isTaxIncludedPrice": false,
                      "inactive": false,
                      "syncGuid": null,
                      "syncStamp": null,
                      "cloudSyncStamp": null,
                      "isCloudTable": false,
                      "inUseForPriority": false,
                      "items": null,
                      "relatedItemGroups": null
                    },
                    {
                      "id": 2,
                      "priceTableType": 1,
                      "description": "Desc. família ref. PVP base",
                      "startDate": "2026-01-01T08:00:00",
                      "endDate": "2026-12-31T20:00:00",
                      "absolutePriceLineId": 0,
                      "percentageReference": 0,
                      "discountPercentage1": 0,
                      "discountPercentage2": 0,
                      "discountPercentage3": 0,
                      "isTaxIncludedPrice": false,
                      "inactive": false,
                      "syncGuid": null,
                      "syncStamp": null,
                      "cloudSyncStamp": null,
                      "isCloudTable": false,
                      "inUseForPriority": false,
                      "items": null,
                      "relatedItemGroups": null
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PriceTableDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "priceTableType": 0,
                      "description": "Tabela PVP Natal 2026",
                      "startDate": "2026-11-01T00:00:00",
                      "endDate": "2027-01-15T23:59:59",
                      "absolutePriceLineId": 0,
                      "percentageReference": 0,
                      "discountPercentage1": 0,
                      "discountPercentage2": 0,
                      "discountPercentage3": 0,
                      "isTaxIncludedPrice": false,
                      "inactive": false,
                      "syncGuid": null,
                      "syncStamp": null,
                      "cloudSyncStamp": null,
                      "isCloudTable": false,
                      "inUseForPriority": false,
                      "items": null,
                      "relatedItemGroups": null
                    },
                    {
                      "id": 2,
                      "priceTableType": 1,
                      "description": "Desc. família ref. PVP base",
                      "startDate": "2026-01-01T08:00:00",
                      "endDate": "2026-12-31T20:00:00",
                      "absolutePriceLineId": 0,
                      "percentageReference": 0,
                      "discountPercentage1": 0,
                      "discountPercentage2": 0,
                      "discountPercentage3": 0,
                      "isTaxIncludedPrice": false,
                      "inactive": false,
                      "syncGuid": null,
                      "syncStamp": null,
                      "cloudSyncStamp": null,
                      "isCloudTable": false,
                      "inUseForPriority": false,
                      "items": null,
                      "relatedItemGroups": null
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PriceTableDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "priceTableType": 0,
                      "description": "Tabela PVP Natal 2026",
                      "startDate": "2026-11-01T00:00:00",
                      "endDate": "2027-01-15T23:59:59",
                      "absolutePriceLineId": 0,
                      "percentageReference": 0,
                      "discountPercentage1": 0,
                      "discountPercentage2": 0,
                      "discountPercentage3": 0,
                      "isTaxIncludedPrice": false,
                      "inactive": false,
                      "syncGuid": null,
                      "syncStamp": null,
                      "cloudSyncStamp": null,
                      "isCloudTable": false,
                      "inUseForPriority": false,
                      "items": null,
                      "relatedItemGroups": null
                    },
                    {
                      "id": 2,
                      "priceTableType": 1,
                      "description": "Desc. família ref. PVP base",
                      "startDate": "2026-01-01T08:00:00",
                      "endDate": "2026-12-31T20:00:00",
                      "absolutePriceLineId": 0,
                      "percentageReference": 0,
                      "discountPercentage1": 0,
                      "discountPercentage2": 0,
                      "discountPercentage3": 0,
                      "isTaxIncludedPrice": false,
                      "inactive": false,
                      "syncGuid": null,
                      "syncStamp": null,
                      "cloudSyncStamp": null,
                      "isCloudTable": false,
                      "inUseForPriority": false,
                      "items": null,
                      "relatedItemGroups": null
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "PriceTable"
        ],
        "summary": "Creates a new price table.",
        "requestBody": {
          "description": "The price table data transfer object.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PriceTableDTO"
              },
              "example": {
                "id": 6,
                "priceTableType": 0,
                "description": "Tabela Verao 2026",
                "startDate": "2026-07-07T00:00:00+00:00",
                "endDate": "2026-10-07T00:00:00+00:00",
                "absolutePriceLineId": 1,
                "percentageReference": 0,
                "discountPercentage1": 0,
                "discountPercentage2": 0,
                "discountPercentage3": 0,
                "isTaxIncludedPrice": true,
                "inactive": false,
                "syncGuid": null,
                "syncStamp": null,
                "cloudSyncStamp": null,
                "isCloudTable": false,
                "inUseForPriority": false,
                "items": [
                  {
                    "priceLineId": 1,
                    "itemKeyId": "ART001",
                    "itemAttributeCode": "",
                    "itemType": 0,
                    "description": "Caneta Esferografica Azul",
                    "percentageReference": 0,
                    "discountPercentage1": 0,
                    "discountPercentage2": 0,
                    "discountPercentage3": 0,
                    "netPrice": 1.5,
                    "taxIncludedPrice": 1.85,
                    "isTaxIncludedPrice": true,
                    "itemPriceLineId": null,
                    "syncGuid": null
                  }
                ],
                "relatedItemGroups": null
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PriceTableDTO"
              },
              "example": {
                "id": 6,
                "priceTableType": 0,
                "description": "Tabela Verao 2026",
                "startDate": "2026-07-07T00:00:00+00:00",
                "endDate": "2026-10-07T00:00:00+00:00",
                "absolutePriceLineId": 1,
                "percentageReference": 0,
                "discountPercentage1": 0,
                "discountPercentage2": 0,
                "discountPercentage3": 0,
                "isTaxIncludedPrice": true,
                "inactive": false,
                "syncGuid": null,
                "syncStamp": null,
                "cloudSyncStamp": null,
                "isCloudTable": false,
                "inUseForPriority": false,
                "items": [
                  {
                    "priceLineId": 1,
                    "itemKeyId": "ART001",
                    "itemAttributeCode": "",
                    "itemType": 0,
                    "description": "Caneta Esferografica Azul",
                    "percentageReference": 0,
                    "discountPercentage1": 0,
                    "discountPercentage2": 0,
                    "discountPercentage3": 0,
                    "netPrice": 1.5,
                    "taxIncludedPrice": 1.85,
                    "isTaxIncludedPrice": true,
                    "itemPriceLineId": null,
                    "syncGuid": null
                  }
                ],
                "relatedItemGroups": null
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PriceTableDTO"
              },
              "example": {
                "id": 6,
                "priceTableType": 0,
                "description": "Tabela Verao 2026",
                "startDate": "2026-07-07T00:00:00+00:00",
                "endDate": "2026-10-07T00:00:00+00:00",
                "absolutePriceLineId": 1,
                "percentageReference": 0,
                "discountPercentage1": 0,
                "discountPercentage2": 0,
                "discountPercentage3": 0,
                "isTaxIncludedPrice": true,
                "inactive": false,
                "syncGuid": null,
                "syncStamp": null,
                "cloudSyncStamp": null,
                "isCloudTable": false,
                "inUseForPriority": false,
                "items": [
                  {
                    "priceLineId": 1,
                    "itemKeyId": "ART001",
                    "itemAttributeCode": "",
                    "itemType": 0,
                    "description": "Caneta Esferografica Azul",
                    "percentageReference": 0,
                    "discountPercentage1": 0,
                    "discountPercentage2": 0,
                    "discountPercentage3": 0,
                    "netPrice": 1.5,
                    "taxIncludedPrice": 1.85,
                    "isTaxIncludedPrice": true,
                    "itemPriceLineId": null,
                    "syncGuid": null
                  }
                ],
                "relatedItemGroups": null
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/price-table/{id}": {
      "put": {
        "tags": [
          "PriceTable"
        ],
        "summary": "Updates an existing price table.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the price table.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PriceTableUpdateDTO"
              },
              "example": {
                "priceTableType": 0,
                "description": "Tabela Verao 2026",
                "startDate": "2026-07-07T00:00:00+00:00",
                "endDate": "2026-10-07T00:00:00+00:00",
                "absolutePriceLineId": 1,
                "percentageReference": 0,
                "discountPercentage1": 0,
                "discountPercentage2": 0,
                "discountPercentage3": 0,
                "isTaxIncludedPrice": true,
                "inactive": false,
                "items": [
                  {
                    "priceLineId": 1,
                    "itemKeyId": "ART001",
                    "itemAttributeCode": "",
                    "itemType": 0,
                    "description": "Caneta Esferografica Azul",
                    "percentageReference": 0,
                    "discountPercentage1": 0,
                    "discountPercentage2": 0,
                    "discountPercentage3": 0,
                    "netPrice": 1.5,
                    "taxIncludedPrice": 1.85,
                    "isTaxIncludedPrice": true,
                    "itemPriceLineId": null,
                    "syncGuid": null
                  }
                ],
                "relatedItemGroups": null
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PriceTableUpdateDTO"
              },
              "example": {
                "priceTableType": 0,
                "description": "Tabela Verao 2026",
                "startDate": "2026-07-07T00:00:00+00:00",
                "endDate": "2026-10-07T00:00:00+00:00",
                "absolutePriceLineId": 1,
                "percentageReference": 0,
                "discountPercentage1": 0,
                "discountPercentage2": 0,
                "discountPercentage3": 0,
                "isTaxIncludedPrice": true,
                "inactive": false,
                "items": [
                  {
                    "priceLineId": 1,
                    "itemKeyId": "ART001",
                    "itemAttributeCode": "",
                    "itemType": 0,
                    "description": "Caneta Esferografica Azul",
                    "percentageReference": 0,
                    "discountPercentage1": 0,
                    "discountPercentage2": 0,
                    "discountPercentage3": 0,
                    "netPrice": 1.5,
                    "taxIncludedPrice": 1.85,
                    "isTaxIncludedPrice": true,
                    "itemPriceLineId": null,
                    "syncGuid": null
                  }
                ],
                "relatedItemGroups": null
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PriceTableUpdateDTO"
              },
              "example": {
                "priceTableType": 0,
                "description": "Tabela Verao 2026",
                "startDate": "2026-07-07T00:00:00+00:00",
                "endDate": "2026-10-07T00:00:00+00:00",
                "absolutePriceLineId": 1,
                "percentageReference": 0,
                "discountPercentage1": 0,
                "discountPercentage2": 0,
                "discountPercentage3": 0,
                "isTaxIncludedPrice": true,
                "inactive": false,
                "items": [
                  {
                    "priceLineId": 1,
                    "itemKeyId": "ART001",
                    "itemAttributeCode": "",
                    "itemType": 0,
                    "description": "Caneta Esferografica Azul",
                    "percentageReference": 0,
                    "discountPercentage1": 0,
                    "discountPercentage2": 0,
                    "discountPercentage3": 0,
                    "netPrice": 1.5,
                    "taxIncludedPrice": 1.85,
                    "isTaxIncludedPrice": true,
                    "itemPriceLineId": null,
                    "syncGuid": null
                  }
                ],
                "relatedItemGroups": null
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "PriceTable"
        ],
        "summary": "Deletes an price table by ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the price table to delete.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "PriceTable"
        ],
        "summary": "Gets an price table by ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the price table.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PriceTableDTO"
                },
                "example": {
                  "id": 0,
                  "priceTableType": 0,
                  "description": "Tabela PVP Natal 2026",
                  "startDate": "2026-11-01T00:00:00",
                  "endDate": "2027-01-15T23:59:59",
                  "absolutePriceLineId": 1,
                  "percentageReference": 0,
                  "discountPercentage1": 0,
                  "discountPercentage2": 0,
                  "discountPercentage3": 0,
                  "isTaxIncludedPrice": false,
                  "inactive": false,
                  "syncGuid": null,
                  "syncStamp": null,
                  "cloudSyncStamp": null,
                  "isCloudTable": false,
                  "inUseForPriority": false,
                  "items": null,
                  "relatedItemGroups": null
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PriceTableDTO"
                },
                "example": {
                  "id": 0,
                  "priceTableType": 0,
                  "description": "Tabela PVP Natal 2026",
                  "startDate": "2026-11-01T00:00:00",
                  "endDate": "2027-01-15T23:59:59",
                  "absolutePriceLineId": 1,
                  "percentageReference": 0,
                  "discountPercentage1": 0,
                  "discountPercentage2": 0,
                  "discountPercentage3": 0,
                  "isTaxIncludedPrice": false,
                  "inactive": false,
                  "syncGuid": null,
                  "syncStamp": null,
                  "cloudSyncStamp": null,
                  "isCloudTable": false,
                  "inUseForPriority": false,
                  "items": null,
                  "relatedItemGroups": null
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PriceTableDTO"
                },
                "example": {
                  "id": 0,
                  "priceTableType": 0,
                  "description": "Tabela PVP Natal 2026",
                  "startDate": "2026-11-01T00:00:00",
                  "endDate": "2027-01-15T23:59:59",
                  "absolutePriceLineId": 1,
                  "percentageReference": 0,
                  "discountPercentage1": 0,
                  "discountPercentage2": 0,
                  "discountPercentage3": 0,
                  "isTaxIncludedPrice": false,
                  "inactive": false,
                  "syncGuid": null,
                  "syncStamp": null,
                  "cloudSyncStamp": null,
                  "isCloudTable": false,
                  "inUseForPriority": false,
                  "items": null,
                  "relatedItemGroups": null
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/price-table/next-id": {
      "get": {
        "tags": [
          "PriceTable"
        ],
        "summary": "Gets the next available price tables ID.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "text/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/production-order": {
      "get": {
        "tags": [
          "ProductionOrder"
        ],
        "summary": "Retrieves all production orders with optional pagination.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The number of records to return per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProductionOrderDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "guid": "d4e5f6a7-b8c9-0123-def0-345678901234",
                      "number": 5001,
                      "serieId": 3,
                      "itemKeyId": "ART-OLIV-500ML",
                      "observations": null,
                      "creationDate": "2026-03-21T07:00:00",
                      "compositeType": 0,
                      "productionState": 1,
                      "materialsWarehouseId": null,
                      "productionWarehouseId": null,
                      "finalWarehouseId": null,
                      "productionQuantity": null,
                      "userId": 0,
                      "attributeCode": null,
                      "finalDate": null,
                      "productionDate": null,
                      "isDeleted": false,
                      "productionDeviation": 0
                    },
                    {
                      "guid": "e5f6a7b8-c9d0-1234-ef01-456789012345",
                      "number": 5002,
                      "serieId": 3,
                      "itemKeyId": "ART-CERAM-PRATO",
                      "observations": null,
                      "creationDate": "2026-03-22T08:45:00",
                      "compositeType": 0,
                      "productionState": 0,
                      "materialsWarehouseId": null,
                      "productionWarehouseId": null,
                      "finalWarehouseId": null,
                      "productionQuantity": null,
                      "userId": 0,
                      "attributeCode": null,
                      "finalDate": null,
                      "productionDate": null,
                      "isDeleted": false,
                      "productionDeviation": 0
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductionOrderDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "guid": "d4e5f6a7-b8c9-0123-def0-345678901234",
                      "number": 5001,
                      "serieId": 3,
                      "itemKeyId": "ART-OLIV-500ML",
                      "observations": null,
                      "creationDate": "2026-03-21T07:00:00",
                      "compositeType": 0,
                      "productionState": 1,
                      "materialsWarehouseId": null,
                      "productionWarehouseId": null,
                      "finalWarehouseId": null,
                      "productionQuantity": null,
                      "userId": 0,
                      "attributeCode": null,
                      "finalDate": null,
                      "productionDate": null,
                      "isDeleted": false,
                      "productionDeviation": 0
                    },
                    {
                      "guid": "e5f6a7b8-c9d0-1234-ef01-456789012345",
                      "number": 5002,
                      "serieId": 3,
                      "itemKeyId": "ART-CERAM-PRATO",
                      "observations": null,
                      "creationDate": "2026-03-22T08:45:00",
                      "compositeType": 0,
                      "productionState": 0,
                      "materialsWarehouseId": null,
                      "productionWarehouseId": null,
                      "finalWarehouseId": null,
                      "productionQuantity": null,
                      "userId": 0,
                      "attributeCode": null,
                      "finalDate": null,
                      "productionDate": null,
                      "isDeleted": false,
                      "productionDeviation": 0
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductionOrderDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "guid": "d4e5f6a7-b8c9-0123-def0-345678901234",
                      "number": 5001,
                      "serieId": 3,
                      "itemKeyId": "ART-OLIV-500ML",
                      "observations": null,
                      "creationDate": "2026-03-21T07:00:00",
                      "compositeType": 0,
                      "productionState": 1,
                      "materialsWarehouseId": null,
                      "productionWarehouseId": null,
                      "finalWarehouseId": null,
                      "productionQuantity": null,
                      "userId": 0,
                      "attributeCode": null,
                      "finalDate": null,
                      "productionDate": null,
                      "isDeleted": false,
                      "productionDeviation": 0
                    },
                    {
                      "guid": "e5f6a7b8-c9d0-1234-ef01-456789012345",
                      "number": 5002,
                      "serieId": 3,
                      "itemKeyId": "ART-CERAM-PRATO",
                      "observations": null,
                      "creationDate": "2026-03-22T08:45:00",
                      "compositeType": 0,
                      "productionState": 0,
                      "materialsWarehouseId": null,
                      "productionWarehouseId": null,
                      "finalWarehouseId": null,
                      "productionQuantity": null,
                      "userId": 0,
                      "attributeCode": null,
                      "finalDate": null,
                      "productionDate": null,
                      "isDeleted": false,
                      "productionDeviation": 0
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/production-order/{guid}": {
      "get": {
        "tags": [
          "ProductionOrder"
        ],
        "summary": "Retrieves a production order by its unique identifier (GUID).",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "The unique identifier of the production order to retrieve.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProductionOrderDTO"
                },
                "example": {
                  "guid": "d4e5f6a7-b8c9-0123-def0-345678901234",
                  "number": 5001,
                  "serieId": 3,
                  "itemKeyId": "ART-OLIV-500ML",
                  "observations": null,
                  "creationDate": "2026-03-21T07:00:00",
                  "compositeType": 1,
                  "productionState": 1,
                  "materialsWarehouseId": null,
                  "productionWarehouseId": null,
                  "finalWarehouseId": null,
                  "productionQuantity": null,
                  "userId": 1,
                  "attributeCode": null,
                  "finalDate": null,
                  "productionDate": null,
                  "isDeleted": false,
                  "productionDeviation": 0
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductionOrderDTO"
                },
                "example": {
                  "guid": "d4e5f6a7-b8c9-0123-def0-345678901234",
                  "number": 5001,
                  "serieId": 3,
                  "itemKeyId": "ART-OLIV-500ML",
                  "observations": null,
                  "creationDate": "2026-03-21T07:00:00",
                  "compositeType": 1,
                  "productionState": 1,
                  "materialsWarehouseId": null,
                  "productionWarehouseId": null,
                  "finalWarehouseId": null,
                  "productionQuantity": null,
                  "userId": 1,
                  "attributeCode": null,
                  "finalDate": null,
                  "productionDate": null,
                  "isDeleted": false,
                  "productionDeviation": 0
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductionOrderDTO"
                },
                "example": {
                  "guid": "d4e5f6a7-b8c9-0123-def0-345678901234",
                  "number": 5001,
                  "serieId": 3,
                  "itemKeyId": "ART-OLIV-500ML",
                  "observations": null,
                  "creationDate": "2026-03-21T07:00:00",
                  "compositeType": 1,
                  "productionState": 1,
                  "materialsWarehouseId": null,
                  "productionWarehouseId": null,
                  "finalWarehouseId": null,
                  "productionQuantity": null,
                  "userId": 1,
                  "attributeCode": null,
                  "finalDate": null,
                  "productionDate": null,
                  "isDeleted": false,
                  "productionDeviation": 0
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/promo": {
      "get": {
        "tags": [
          "Promo"
        ],
        "summary": "Retrieves a paginated list of promos.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of records per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PromoListDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "Promoção de verão — 20% em gelados",
                      "initialDate": "2026-06-01T00:00:00",
                      "endDate": "2026-08-31T00:00:00",
                      "shopDescription": "Loja Centro — Lisboa",
                      "terminalList": ""
                    },
                    {
                      "id": 2,
                      "description": "Segunda a sexta — café e pastel a €3",
                      "initialDate": "2026-03-01T00:00:00",
                      "endDate": "2026-12-31T00:00:00",
                      "shopDescription": "Pastelaria Avenida, Porto",
                      "terminalList": ""
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PromoListDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "Promoção de verão — 20% em gelados",
                      "initialDate": "2026-06-01T00:00:00",
                      "endDate": "2026-08-31T00:00:00",
                      "shopDescription": "Loja Centro — Lisboa",
                      "terminalList": ""
                    },
                    {
                      "id": 2,
                      "description": "Segunda a sexta — café e pastel a €3",
                      "initialDate": "2026-03-01T00:00:00",
                      "endDate": "2026-12-31T00:00:00",
                      "shopDescription": "Pastelaria Avenida, Porto",
                      "terminalList": ""
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PromoListDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "Promoção de verão — 20% em gelados",
                      "initialDate": "2026-06-01T00:00:00",
                      "endDate": "2026-08-31T00:00:00",
                      "shopDescription": "Loja Centro — Lisboa",
                      "terminalList": ""
                    },
                    {
                      "id": 2,
                      "description": "Segunda a sexta — café e pastel a €3",
                      "initialDate": "2026-03-01T00:00:00",
                      "endDate": "2026-12-31T00:00:00",
                      "shopDescription": "Pastelaria Avenida, Porto",
                      "terminalList": ""
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Promo"
        ],
        "summary": "Creates a new promo.",
        "requestBody": {
          "description": "Promo data transfer object.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PromoDTO"
              },
              "example": {
                "id": 1,
                "description": "Promocao de Verao 2026",
                "initialDate": "2026-07-07T00:00:00+00:00",
                "endDate": "2026-10-07T00:00:00+00:00",
                "shopDescription": "Loja Principal",
                "terminalList": "1,2,3",
                "promoObjects": [
                  {
                    "idPromo": 1,
                    "idObject": "ART001",
                    "objectType": 0,
                    "percentage": 15,
                    "quantity": 1,
                    "afterQuantity": false,
                    "discountType": 0,
                    "priceLine": 1,
                    "fixedPrice": 0,
                    "description": "Caneta Esferografica Azul",
                    "retailPrice": null
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PromoDTO"
              },
              "example": {
                "id": 1,
                "description": "Promocao de Verao 2026",
                "initialDate": "2026-07-07T00:00:00+00:00",
                "endDate": "2026-10-07T00:00:00+00:00",
                "shopDescription": "Loja Principal",
                "terminalList": "1,2,3",
                "promoObjects": [
                  {
                    "idPromo": 1,
                    "idObject": "ART001",
                    "objectType": 0,
                    "percentage": 15,
                    "quantity": 1,
                    "afterQuantity": false,
                    "discountType": 0,
                    "priceLine": 1,
                    "fixedPrice": 0,
                    "description": "Caneta Esferografica Azul",
                    "retailPrice": null
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PromoDTO"
              },
              "example": {
                "id": 1,
                "description": "Promocao de Verao 2026",
                "initialDate": "2026-07-07T00:00:00+00:00",
                "endDate": "2026-10-07T00:00:00+00:00",
                "shopDescription": "Loja Principal",
                "terminalList": "1,2,3",
                "promoObjects": [
                  {
                    "idPromo": 1,
                    "idObject": "ART001",
                    "objectType": 0,
                    "percentage": 15,
                    "quantity": 1,
                    "afterQuantity": false,
                    "discountType": 0,
                    "priceLine": 1,
                    "fixedPrice": 0,
                    "description": "Caneta Esferografica Azul",
                    "retailPrice": null
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/promo/{id}": {
      "get": {
        "tags": [
          "Promo"
        ],
        "summary": "Retrieves a promo by its identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Promo identifier.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/PromoDTO"
                },
                "example": {
                  "id": 1,
                  "description": "Promoção de verão — 20% em gelados",
                  "initialDate": "2026-06-01T00:00:00",
                  "endDate": "2026-08-31T00:00:00",
                  "shopDescription": "Loja Centro — Lisboa",
                  "terminalList": "1,2",
                  "promoObjects": []
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PromoDTO"
                },
                "example": {
                  "id": 1,
                  "description": "Promoção de verão — 20% em gelados",
                  "initialDate": "2026-06-01T00:00:00",
                  "endDate": "2026-08-31T00:00:00",
                  "shopDescription": "Loja Centro — Lisboa",
                  "terminalList": "1,2",
                  "promoObjects": []
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/PromoDTO"
                },
                "example": {
                  "id": 1,
                  "description": "Promoção de verão — 20% em gelados",
                  "initialDate": "2026-06-01T00:00:00",
                  "endDate": "2026-08-31T00:00:00",
                  "shopDescription": "Loja Centro — Lisboa",
                  "terminalList": "1,2",
                  "promoObjects": []
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Promo"
        ],
        "summary": "Updates an existing promo by its identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Promo identifier.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "Promo data transfer object.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PromoDTO"
              },
              "example": {
                "id": 1,
                "description": "Promocao de Verao 2026",
                "initialDate": "2026-07-07T00:00:00+00:00",
                "endDate": "2026-10-07T00:00:00+00:00",
                "shopDescription": "Loja Principal",
                "terminalList": "1,2,3",
                "promoObjects": [
                  {
                    "idPromo": 1,
                    "idObject": "ART001",
                    "objectType": 0,
                    "percentage": 15,
                    "quantity": 1,
                    "afterQuantity": false,
                    "discountType": 0,
                    "priceLine": 1,
                    "fixedPrice": 0,
                    "description": "Caneta Esferografica Azul",
                    "retailPrice": null
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/PromoDTO"
              },
              "example": {
                "id": 1,
                "description": "Promocao de Verao 2026",
                "initialDate": "2026-07-07T00:00:00+00:00",
                "endDate": "2026-10-07T00:00:00+00:00",
                "shopDescription": "Loja Principal",
                "terminalList": "1,2,3",
                "promoObjects": [
                  {
                    "idPromo": 1,
                    "idObject": "ART001",
                    "objectType": 0,
                    "percentage": 15,
                    "quantity": 1,
                    "afterQuantity": false,
                    "discountType": 0,
                    "priceLine": 1,
                    "fixedPrice": 0,
                    "description": "Caneta Esferografica Azul",
                    "retailPrice": null
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/PromoDTO"
              },
              "example": {
                "id": 1,
                "description": "Promocao de Verao 2026",
                "initialDate": "2026-07-07T00:00:00+00:00",
                "endDate": "2026-10-07T00:00:00+00:00",
                "shopDescription": "Loja Principal",
                "terminalList": "1,2,3",
                "promoObjects": [
                  {
                    "idPromo": 1,
                    "idObject": "ART001",
                    "objectType": 0,
                    "percentage": 15,
                    "quantity": 1,
                    "afterQuantity": false,
                    "discountType": 0,
                    "priceLine": 1,
                    "fixedPrice": 0,
                    "description": "Caneta Esferografica Azul",
                    "retailPrice": null
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Promo"
        ],
        "summary": "Deletes a promo by its identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Promo identifier.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/promo/next-id": {
      "get": {
        "tags": [
          "Promo"
        ],
        "summary": "Retrieves the next available promo identifier.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "text/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/receipt-document": {
      "post": {
        "tags": [
          "ReceiptDocument"
        ],
        "summary": "Creates a new receipt document.",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "creationDate",
                  "discountPercentage",
                  "discountValue",
                  "documentTypeId",
                  "employeeId",
                  "entityKeyId",
                  "payments",
                  "receiptBodyDetails",
                  "serieId",
                  "totalIncome"
                ],
                "type": "object",
                "properties": {
                  "documentTypeId": {
                    "type": "integer",
                    "description": "Document type identifier.",
                    "format": "int32"
                  },
                  "serieId": {
                    "type": "integer",
                    "description": "Document series identifier.",
                    "format": "int32"
                  },
                  "creationDate": {
                    "type": "string",
                    "description": "Receipt creation date.",
                    "format": "date-time"
                  },
                  "entityKeyId": {
                    "maxLength": 25,
                    "type": "string",
                    "description": "Entity (customer/supplier) key identifier."
                  },
                  "receiptBodyDetails": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/CreateReceiptBodyDetailsDTO"
                    },
                    "description": "List of invoice body details being paid by this receipt."
                  },
                  "businessAccountId": {
                    "type": "integer",
                    "description": "Business account identifier for the receipt.",
                    "format": "int32"
                  },
                  "accountCategoryId": {
                    "type": "integer",
                    "description": "Account category identifier.",
                    "format": "int32"
                  },
                  "accountHeadingId": {
                    "type": "integer",
                    "description": "Account heading identifier.",
                    "format": "int32"
                  },
                  "discountPercentage": {
                    "type": "number",
                    "description": "Discount percentage applied to the receipt.",
                    "format": "double"
                  },
                  "discountValue": {
                    "type": "number",
                    "description": "Discount value amount.",
                    "format": "double"
                  },
                  "totalPaidAmount": {
                    "type": "number",
                    "description": "Total amount paid in this receipt.",
                    "format": "double"
                  },
                  "totalIncome": {
                    "type": "number",
                    "description": "Total income amount of the receipt.",
                    "format": "double"
                  },
                  "observation": {
                    "maxLength": 5000,
                    "type": "string",
                    "description": "Additional observations/notes for this receipt."
                  },
                  "employeeId": {
                    "type": "integer",
                    "description": "Employee/user identifier who created the receipt.",
                    "format": "int32"
                  },
                  "payments": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/CreateReceiptPaymentDTO"
                    },
                    "description": "List of payments associated with this receipt."
                  }
                }
              },
              "encoding": {
                "documentTypeId": {
                  "style": "form"
                },
                "serieId": {
                  "style": "form"
                },
                "creationDate": {
                  "style": "form"
                },
                "entityKeyId": {
                  "style": "form"
                },
                "receiptBodyDetails": {
                  "style": "form"
                },
                "businessAccountId": {
                  "style": "form"
                },
                "accountCategoryId": {
                  "style": "form"
                },
                "accountHeadingId": {
                  "style": "form"
                },
                "discountPercentage": {
                  "style": "form"
                },
                "discountValue": {
                  "style": "form"
                },
                "totalPaidAmount": {
                  "style": "form"
                },
                "totalIncome": {
                  "style": "form"
                },
                "observation": {
                  "style": "form"
                },
                "employeeId": {
                  "style": "form"
                },
                "payments": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/receipt-document/{id}": {
      "delete": {
        "tags": [
          "ReceiptDocument"
        ],
        "summary": "Voids a receipt document by its identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique identifier of the receipt document to void.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "The XDPeople.Soba.Application.Models.StatusReason containing the reason for voiding.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StatusReason"
              },
              "example": {
                "reason": "Documento anulado por erro de lancamento"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/StatusReason"
              },
              "example": {
                "reason": "Documento anulado por erro de lancamento"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/StatusReason"
              },
              "example": {
                "reason": "Documento anulado por erro de lancamento"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/receipt-document/{id}/printing-data": {
      "get": {
        "tags": [
          "ReceiptDocument"
        ],
        "summary": "Retrieves the printing data for a receipt document by its identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique identifier of the receipt document.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ReceiptDocumentPrintingDTO"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReceiptDocumentPrintingDTO"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReceiptDocumentPrintingDTO"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/receipt-document/{keyId}/digital-archives-directories": {
      "get": {
        "tags": [
          "ReceiptDocument"
        ],
        "summary": "Gets the digital archive directory associated with a receipt document key.",
        "parameters": [
          {
            "name": "keyId",
            "in": "path",
            "description": "Business key identifier of the receipt document.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "f6fbfacd-dd2b-4abe-abdb-5dadb1135e69",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "f6fbfacd-dd2b-4abe-abdb-5dadb1135e69",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "f6fbfacd-dd2b-4abe-abdb-5dadb1135e69",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/receipt-document/digital-archives-directories/root": {
      "get": {
        "tags": [
          "ReceiptDocument"
        ],
        "summary": "Gets the root digital archive directory for receipt documents.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "e60ecd32-d7d2-49ce-bb3a-043890862f75",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "e60ecd32-d7d2-49ce-bb3a-043890862f75",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "e60ecd32-d7d2-49ce-bb3a-043890862f75",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/receivable-account/params": {
      "get": {
        "tags": [
          "ManualCheckingAccount"
        ],
        "summary": "Retrieves the available list parameters for manual checking accounts.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ListParametersDTO"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ListParametersDTO"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ListParametersDTO"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/resource": {
      "post": {
        "tags": [
          "Resource"
        ],
        "summary": "Uploads a new file resource.",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "file": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/resource/{id}": {
      "put": {
        "tags": [
          "Resource"
        ],
        "summary": "Updates an existing file resource by its identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique identifier of the resource to update.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "createThumbnail",
            "in": "query",
            "description": "Whether to create a thumbnail for the resource. Defaults to false.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "contentType": {
                    "type": "string"
                  },
                  "contentDisposition": {
                    "type": "string"
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  },
                  "length": {
                    "type": "integer",
                    "format": "int64"
                  },
                  "name": {
                    "type": "string"
                  },
                  "fileName": {
                    "type": "string"
                  }
                }
              },
              "encoding": {
                "contentType": {
                  "style": "form"
                },
                "contentDisposition": {
                  "style": "form"
                },
                "headers": {
                  "style": "form"
                },
                "length": {
                  "style": "form"
                },
                "name": {
                  "style": "form"
                },
                "fileName": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Resource"
        ],
        "summary": "Deletes a file resource by its identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique identifier of the resource to delete.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/resource/{id}/url": {
      "get": {
        "tags": [
          "Resource"
        ],
        "summary": "Generates a temporary streaming URL for a resource.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique identifier of the resource.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/StreamSessionResponse"
                },
                "example": {
                  "url": "https://stream.example.com/session/abc123"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StreamSessionResponse"
                },
                "example": {
                  "url": "https://stream.example.com/session/abc123"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/StreamSessionResponse"
                },
                "example": {
                  "url": "https://stream.example.com/session/abc123"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/resource/file/{id}": {
      "get": {
        "tags": [
          "Resource"
        ],
        "summary": "Downloads a file resource by its identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique identifier of the file resource to download.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/resource/stream": {
      "post": {
        "tags": [
          "Resource"
        ],
        "summary": "Uploads a new stream resource.",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "file": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/resource/stream/{id}": {
      "put": {
        "tags": [
          "Resource"
        ],
        "summary": "Updates an existing stream resource by its identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique identifier of the stream resource to update.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "contentType": {
                    "type": "string"
                  },
                  "contentDisposition": {
                    "type": "string"
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  },
                  "length": {
                    "type": "integer",
                    "format": "int64"
                  },
                  "name": {
                    "type": "string"
                  },
                  "fileName": {
                    "type": "string"
                  }
                }
              },
              "encoding": {
                "contentType": {
                  "style": "form"
                },
                "contentDisposition": {
                  "style": "form"
                },
                "headers": {
                  "style": "form"
                },
                "length": {
                  "style": "form"
                },
                "name": {
                  "style": "form"
                },
                "fileName": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Resource"
        ],
        "summary": "Retrieves a stream resource by its identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique identifier of the stream resource to retrieve.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filename",
            "in": "query",
            "description": "The filename to use for the download.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/sales-zone": {
      "get": {
        "tags": [
          "SalesZone"
        ],
        "summary": "Retrieves a paginated list of all sales zones.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of records per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SalesZoneDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "name": "Norte e Centro",
                      "description": "Porto, Braga, Aveiro, Coimbra e Viseu",
                      "defaultSalesmanId": 14,
                      "defaultSalesmanName": ""
                    },
                    {
                      "id": 2,
                      "name": "Lisboa e Sul",
                      "description": "Grande Lisboa, Setúbal, Alentejo e Algarve",
                      "defaultSalesmanId": 22,
                      "defaultSalesmanName": ""
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SalesZoneDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "name": "Norte e Centro",
                      "description": "Porto, Braga, Aveiro, Coimbra e Viseu",
                      "defaultSalesmanId": 14,
                      "defaultSalesmanName": ""
                    },
                    {
                      "id": 2,
                      "name": "Lisboa e Sul",
                      "description": "Grande Lisboa, Setúbal, Alentejo e Algarve",
                      "defaultSalesmanId": 22,
                      "defaultSalesmanName": ""
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SalesZoneDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "name": "Norte e Centro",
                      "description": "Porto, Braga, Aveiro, Coimbra e Viseu",
                      "defaultSalesmanId": 14,
                      "defaultSalesmanName": ""
                    },
                    {
                      "id": 2,
                      "name": "Lisboa e Sul",
                      "description": "Grande Lisboa, Setúbal, Alentejo e Algarve",
                      "defaultSalesmanId": 22,
                      "defaultSalesmanName": ""
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "SalesZone"
        ],
        "summary": "Creates a new sales zone.",
        "requestBody": {
          "description": "Sales zone data transfer object.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SalesZoneDTO"
              },
              "example": {
                "id": 1,
                "name": "Zona Norte",
                "description": "Zona comercial Norte - Porto e Braga",
                "defaultSalesmanId": 1,
                "defaultSalesmanName": "Ana Ferreira"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SalesZoneDTO"
              },
              "example": {
                "id": 1,
                "name": "Zona Norte",
                "description": "Zona comercial Norte - Porto e Braga",
                "defaultSalesmanId": 1,
                "defaultSalesmanName": "Ana Ferreira"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SalesZoneDTO"
              },
              "example": {
                "id": 1,
                "name": "Zona Norte",
                "description": "Zona comercial Norte - Porto e Braga",
                "defaultSalesmanId": 1,
                "defaultSalesmanName": "Ana Ferreira"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/sales-zone/{id}": {
      "get": {
        "tags": [
          "SalesZone"
        ],
        "summary": "Retrieves a sales zone by its integer ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Sales zone identifier.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SalesZoneDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Zona Norte",
                  "description": "Zona comercial Norte - Porto e Braga",
                  "defaultSalesmanId": 1,
                  "defaultSalesmanName": "Ana Ferreira"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SalesZoneDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Zona Norte",
                  "description": "Zona comercial Norte - Porto e Braga",
                  "defaultSalesmanId": 1,
                  "defaultSalesmanName": "Ana Ferreira"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SalesZoneDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Zona Norte",
                  "description": "Zona comercial Norte - Porto e Braga",
                  "defaultSalesmanId": 1,
                  "defaultSalesmanName": "Ana Ferreira"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "SalesZone"
        ],
        "summary": "Updates an existing sales zone.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Sales zone identifier.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "Sales zone update data transfer object.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SalesZoneUpdateDTO"
              },
              "example": {
                "name": "Zona Norte",
                "description": "Zona comercial Norte - Porto e Braga",
                "defaultSalesmanId": 1
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SalesZoneUpdateDTO"
              },
              "example": {
                "name": "Zona Norte",
                "description": "Zona comercial Norte - Porto e Braga",
                "defaultSalesmanId": 1
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SalesZoneUpdateDTO"
              },
              "example": {
                "name": "Zona Norte",
                "description": "Zona comercial Norte - Porto e Braga",
                "defaultSalesmanId": 1
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "SalesZone"
        ],
        "summary": "Deletes a sales zone by its integer ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Sales zone identifier.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/sales-zone/next-id": {
      "get": {
        "tags": [
          "SalesZone"
        ],
        "summary": "Retrieves the next available sales zone ID.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "text/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/serial-number-type": {
      "get": {
        "tags": [
          "SerialNumberType"
        ],
        "summary": "Retrieves all serial number types with pagination.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The number of records to return per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SerialNumberTypeDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "IMEI — equipamentos móveis",
                      "movementType": null,
                      "identifier1": "IMEI",
                      "identifier1IsGlobal": true,
                      "useIdentifier2": false,
                      "identifier2": null,
                      "identifier2IsGlobal": false,
                      "useIdentifier3": false,
                      "identifier3": null,
                      "identifier3IsGlobal": false
                    },
                    {
                      "id": 2,
                      "description": "Número de série do fabricante",
                      "movementType": null,
                      "identifier1": "SN_FAB",
                      "identifier1IsGlobal": false,
                      "useIdentifier2": false,
                      "identifier2": null,
                      "identifier2IsGlobal": false,
                      "useIdentifier3": false,
                      "identifier3": null,
                      "identifier3IsGlobal": false
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SerialNumberTypeDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "IMEI — equipamentos móveis",
                      "movementType": null,
                      "identifier1": "IMEI",
                      "identifier1IsGlobal": true,
                      "useIdentifier2": false,
                      "identifier2": null,
                      "identifier2IsGlobal": false,
                      "useIdentifier3": false,
                      "identifier3": null,
                      "identifier3IsGlobal": false
                    },
                    {
                      "id": 2,
                      "description": "Número de série do fabricante",
                      "movementType": null,
                      "identifier1": "SN_FAB",
                      "identifier1IsGlobal": false,
                      "useIdentifier2": false,
                      "identifier2": null,
                      "identifier2IsGlobal": false,
                      "useIdentifier3": false,
                      "identifier3": null,
                      "identifier3IsGlobal": false
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SerialNumberTypeDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "IMEI — equipamentos móveis",
                      "movementType": null,
                      "identifier1": "IMEI",
                      "identifier1IsGlobal": true,
                      "useIdentifier2": false,
                      "identifier2": null,
                      "identifier2IsGlobal": false,
                      "useIdentifier3": false,
                      "identifier3": null,
                      "identifier3IsGlobal": false
                    },
                    {
                      "id": 2,
                      "description": "Número de série do fabricante",
                      "movementType": null,
                      "identifier1": "SN_FAB",
                      "identifier1IsGlobal": false,
                      "useIdentifier2": false,
                      "identifier2": null,
                      "identifier2IsGlobal": false,
                      "useIdentifier3": false,
                      "identifier3": null,
                      "identifier3IsGlobal": false
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/series": {
      "get": {
        "tags": [
          "DocumentsSeries"
        ],
        "summary": "Retrieves a paginated list of all document series, with optional filters for inactive and offline status.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of records per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "inactive",
            "in": "query",
            "description": "Filter by inactive status. If null, returns all records. If true, returns only inactive records. If false, returns only active records (optional).",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "offline",
            "in": "query",
            "description": "Filter by offline status. If null, returns all records. If true, returns only offline records. If false, returns only online records (optional).",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/XConfigDocumentsSeriesDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "Série A — faturação geral",
                      "manual": false,
                      "inactive": false,
                      "syncStamp": "2026-07-07T16:48:00.8333598Z",
                      "eacCode": "",
                      "cashRegime": 0,
                      "sourceBilling": 0,
                      "certificationNumber": 0,
                      "rectifying": false,
                      "ral": "",
                      "offline": false,
                      "cloudSyncStamp": null,
                      "initialDate": null,
                      "finalDate": null,
                      "newSerieId": 0
                    },
                    {
                      "id": 2,
                      "description": "Série R — notas de crédito",
                      "manual": true,
                      "inactive": false,
                      "syncStamp": "2026-07-07T16:48:00.8333638Z",
                      "eacCode": "",
                      "cashRegime": 0,
                      "sourceBilling": 0,
                      "certificationNumber": 0,
                      "rectifying": true,
                      "ral": "",
                      "offline": false,
                      "cloudSyncStamp": null,
                      "initialDate": null,
                      "finalDate": null,
                      "newSerieId": 0
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/XConfigDocumentsSeriesDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "Série A — faturação geral",
                      "manual": false,
                      "inactive": false,
                      "syncStamp": "2026-07-07T16:48:00.8333598Z",
                      "eacCode": "",
                      "cashRegime": 0,
                      "sourceBilling": 0,
                      "certificationNumber": 0,
                      "rectifying": false,
                      "ral": "",
                      "offline": false,
                      "cloudSyncStamp": null,
                      "initialDate": null,
                      "finalDate": null,
                      "newSerieId": 0
                    },
                    {
                      "id": 2,
                      "description": "Série R — notas de crédito",
                      "manual": true,
                      "inactive": false,
                      "syncStamp": "2026-07-07T16:48:00.8333638Z",
                      "eacCode": "",
                      "cashRegime": 0,
                      "sourceBilling": 0,
                      "certificationNumber": 0,
                      "rectifying": true,
                      "ral": "",
                      "offline": false,
                      "cloudSyncStamp": null,
                      "initialDate": null,
                      "finalDate": null,
                      "newSerieId": 0
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/XConfigDocumentsSeriesDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "Série A — faturação geral",
                      "manual": false,
                      "inactive": false,
                      "syncStamp": "2026-07-07T16:48:00.8333598Z",
                      "eacCode": "",
                      "cashRegime": 0,
                      "sourceBilling": 0,
                      "certificationNumber": 0,
                      "rectifying": false,
                      "ral": "",
                      "offline": false,
                      "cloudSyncStamp": null,
                      "initialDate": null,
                      "finalDate": null,
                      "newSerieId": 0
                    },
                    {
                      "id": 2,
                      "description": "Série R — notas de crédito",
                      "manual": true,
                      "inactive": false,
                      "syncStamp": "2026-07-07T16:48:00.8333638Z",
                      "eacCode": "",
                      "cashRegime": 0,
                      "sourceBilling": 0,
                      "certificationNumber": 0,
                      "rectifying": true,
                      "ral": "",
                      "offline": false,
                      "cloudSyncStamp": null,
                      "initialDate": null,
                      "finalDate": null,
                      "newSerieId": 0
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/series/{id}": {
      "get": {
        "tags": [
          "DocumentsSeries"
        ],
        "summary": "Retrieves a document series by its integer ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Document series identifier.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/XConfigDocumentsSeriesDTO"
                },
                "example": {
                  "id": 1,
                  "description": "Série A — faturação geral",
                  "manual": false,
                  "inactive": false,
                  "syncStamp": "2026-07-07T16:48:00.8374134Z",
                  "eacCode": "",
                  "cashRegime": 0,
                  "sourceBilling": 0,
                  "certificationNumber": 0,
                  "rectifying": false,
                  "ral": "",
                  "offline": false,
                  "cloudSyncStamp": null,
                  "initialDate": null,
                  "finalDate": null,
                  "newSerieId": 0
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/XConfigDocumentsSeriesDTO"
                },
                "example": {
                  "id": 1,
                  "description": "Série A — faturação geral",
                  "manual": false,
                  "inactive": false,
                  "syncStamp": "2026-07-07T16:48:00.8374134Z",
                  "eacCode": "",
                  "cashRegime": 0,
                  "sourceBilling": 0,
                  "certificationNumber": 0,
                  "rectifying": false,
                  "ral": "",
                  "offline": false,
                  "cloudSyncStamp": null,
                  "initialDate": null,
                  "finalDate": null,
                  "newSerieId": 0
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/XConfigDocumentsSeriesDTO"
                },
                "example": {
                  "id": 1,
                  "description": "Série A — faturação geral",
                  "manual": false,
                  "inactive": false,
                  "syncStamp": "2026-07-07T16:48:00.8374134Z",
                  "eacCode": "",
                  "cashRegime": 0,
                  "sourceBilling": 0,
                  "certificationNumber": 0,
                  "rectifying": false,
                  "ral": "",
                  "offline": false,
                  "cloudSyncStamp": null,
                  "initialDate": null,
                  "finalDate": null,
                  "newSerieId": 0
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/service-order": {
      "get": {
        "tags": [
          "ServiceOrder"
        ],
        "summary": "Retrieves all service orders with pagination.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The number of records to return per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceOrderDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "guid": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
                      "number": 2401,
                      "serie": 1,
                      "designation": "Reparação de portátil — ecrã não acende",
                      "status": "Aberto",
                      "creationDate": "2026-03-18T09:30:00",
                      "userId": 0,
                      "equipmentId": 0,
                      "equipmentDescription": null,
                      "equipmentType": null,
                      "equipmentModel": null,
                      "equipmentBrand": null,
                      "equipmentSerialNumber": null,
                      "equipmentImei": null,
                      "formatEquipment": null,
                      "backupEquipment": null,
                      "responsibleUserId": null,
                      "entityKeyId": "CLI-PT-001",
                      "entityDescription": "Informática Silva & Associados, Lda.",
                      "entityAddress": null,
                      "entityPostalCode": null,
                      "entityCity": null,
                      "entityState": null,
                      "entityCountry": null,
                      "entityVat": null,
                      "entityPhoneNumber": null,
                      "entityEmail": null,
                      "priority": null,
                      "deliveryForecast": null,
                      "breakdownDescription": null,
                      "technicalReport": null,
                      "additionalObservations": null,
                      "deleted": null,
                      "deletedDate": null,
                      "assistanceTypeKeyId": null,
                      "breakdownResponsible": 0,
                      "equipmentPassword": null,
                      "closed": false,
                      "entityContractId": 0
                    },
                    {
                      "guid": "c3d4e5f6-a7b8-9012-cdef-23456789012a",
                      "number": 2402,
                      "serie": 1,
                      "designation": "Manutenção anual — máquina de café",
                      "status": "Em curso",
                      "creationDate": "2026-03-20T14:15:00",
                      "userId": 0,
                      "equipmentId": 0,
                      "equipmentDescription": null,
                      "equipmentType": null,
                      "equipmentModel": null,
                      "equipmentBrand": null,
                      "equipmentSerialNumber": null,
                      "equipmentImei": null,
                      "formatEquipment": null,
                      "backupEquipment": null,
                      "responsibleUserId": null,
                      "entityKeyId": "CLI-PT-002",
                      "entityDescription": "Café Central — Unipessoal, Lda.",
                      "entityAddress": null,
                      "entityPostalCode": null,
                      "entityCity": null,
                      "entityState": null,
                      "entityCountry": null,
                      "entityVat": null,
                      "entityPhoneNumber": null,
                      "entityEmail": null,
                      "priority": null,
                      "deliveryForecast": null,
                      "breakdownDescription": null,
                      "technicalReport": null,
                      "additionalObservations": null,
                      "deleted": null,
                      "deletedDate": null,
                      "assistanceTypeKeyId": null,
                      "breakdownResponsible": 0,
                      "equipmentPassword": null,
                      "closed": false,
                      "entityContractId": 0
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceOrderDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "guid": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
                      "number": 2401,
                      "serie": 1,
                      "designation": "Reparação de portátil — ecrã não acende",
                      "status": "Aberto",
                      "creationDate": "2026-03-18T09:30:00",
                      "userId": 0,
                      "equipmentId": 0,
                      "equipmentDescription": null,
                      "equipmentType": null,
                      "equipmentModel": null,
                      "equipmentBrand": null,
                      "equipmentSerialNumber": null,
                      "equipmentImei": null,
                      "formatEquipment": null,
                      "backupEquipment": null,
                      "responsibleUserId": null,
                      "entityKeyId": "CLI-PT-001",
                      "entityDescription": "Informática Silva & Associados, Lda.",
                      "entityAddress": null,
                      "entityPostalCode": null,
                      "entityCity": null,
                      "entityState": null,
                      "entityCountry": null,
                      "entityVat": null,
                      "entityPhoneNumber": null,
                      "entityEmail": null,
                      "priority": null,
                      "deliveryForecast": null,
                      "breakdownDescription": null,
                      "technicalReport": null,
                      "additionalObservations": null,
                      "deleted": null,
                      "deletedDate": null,
                      "assistanceTypeKeyId": null,
                      "breakdownResponsible": 0,
                      "equipmentPassword": null,
                      "closed": false,
                      "entityContractId": 0
                    },
                    {
                      "guid": "c3d4e5f6-a7b8-9012-cdef-23456789012a",
                      "number": 2402,
                      "serie": 1,
                      "designation": "Manutenção anual — máquina de café",
                      "status": "Em curso",
                      "creationDate": "2026-03-20T14:15:00",
                      "userId": 0,
                      "equipmentId": 0,
                      "equipmentDescription": null,
                      "equipmentType": null,
                      "equipmentModel": null,
                      "equipmentBrand": null,
                      "equipmentSerialNumber": null,
                      "equipmentImei": null,
                      "formatEquipment": null,
                      "backupEquipment": null,
                      "responsibleUserId": null,
                      "entityKeyId": "CLI-PT-002",
                      "entityDescription": "Café Central — Unipessoal, Lda.",
                      "entityAddress": null,
                      "entityPostalCode": null,
                      "entityCity": null,
                      "entityState": null,
                      "entityCountry": null,
                      "entityVat": null,
                      "entityPhoneNumber": null,
                      "entityEmail": null,
                      "priority": null,
                      "deliveryForecast": null,
                      "breakdownDescription": null,
                      "technicalReport": null,
                      "additionalObservations": null,
                      "deleted": null,
                      "deletedDate": null,
                      "assistanceTypeKeyId": null,
                      "breakdownResponsible": 0,
                      "equipmentPassword": null,
                      "closed": false,
                      "entityContractId": 0
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceOrderDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "guid": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
                      "number": 2401,
                      "serie": 1,
                      "designation": "Reparação de portátil — ecrã não acende",
                      "status": "Aberto",
                      "creationDate": "2026-03-18T09:30:00",
                      "userId": 0,
                      "equipmentId": 0,
                      "equipmentDescription": null,
                      "equipmentType": null,
                      "equipmentModel": null,
                      "equipmentBrand": null,
                      "equipmentSerialNumber": null,
                      "equipmentImei": null,
                      "formatEquipment": null,
                      "backupEquipment": null,
                      "responsibleUserId": null,
                      "entityKeyId": "CLI-PT-001",
                      "entityDescription": "Informática Silva & Associados, Lda.",
                      "entityAddress": null,
                      "entityPostalCode": null,
                      "entityCity": null,
                      "entityState": null,
                      "entityCountry": null,
                      "entityVat": null,
                      "entityPhoneNumber": null,
                      "entityEmail": null,
                      "priority": null,
                      "deliveryForecast": null,
                      "breakdownDescription": null,
                      "technicalReport": null,
                      "additionalObservations": null,
                      "deleted": null,
                      "deletedDate": null,
                      "assistanceTypeKeyId": null,
                      "breakdownResponsible": 0,
                      "equipmentPassword": null,
                      "closed": false,
                      "entityContractId": 0
                    },
                    {
                      "guid": "c3d4e5f6-a7b8-9012-cdef-23456789012a",
                      "number": 2402,
                      "serie": 1,
                      "designation": "Manutenção anual — máquina de café",
                      "status": "Em curso",
                      "creationDate": "2026-03-20T14:15:00",
                      "userId": 0,
                      "equipmentId": 0,
                      "equipmentDescription": null,
                      "equipmentType": null,
                      "equipmentModel": null,
                      "equipmentBrand": null,
                      "equipmentSerialNumber": null,
                      "equipmentImei": null,
                      "formatEquipment": null,
                      "backupEquipment": null,
                      "responsibleUserId": null,
                      "entityKeyId": "CLI-PT-002",
                      "entityDescription": "Café Central — Unipessoal, Lda.",
                      "entityAddress": null,
                      "entityPostalCode": null,
                      "entityCity": null,
                      "entityState": null,
                      "entityCountry": null,
                      "entityVat": null,
                      "entityPhoneNumber": null,
                      "entityEmail": null,
                      "priority": null,
                      "deliveryForecast": null,
                      "breakdownDescription": null,
                      "technicalReport": null,
                      "additionalObservations": null,
                      "deleted": null,
                      "deletedDate": null,
                      "assistanceTypeKeyId": null,
                      "breakdownResponsible": 0,
                      "equipmentPassword": null,
                      "closed": false,
                      "entityContractId": 0
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/service-order/{guid}": {
      "get": {
        "tags": [
          "ServiceOrder"
        ],
        "summary": "Retrieves a service order by its GUID.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "The GUID of the service order to retrieve.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceOrderDTO"
                },
                "example": {
                  "guid": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
                  "number": 2401,
                  "serie": 1,
                  "designation": "Reparação de portátil — ecrã não acende",
                  "status": "Aberto",
                  "creationDate": "2026-03-18T09:30:00",
                  "userId": 1,
                  "equipmentId": 1,
                  "equipmentDescription": null,
                  "equipmentType": null,
                  "equipmentModel": null,
                  "equipmentBrand": null,
                  "equipmentSerialNumber": null,
                  "equipmentImei": null,
                  "formatEquipment": null,
                  "backupEquipment": null,
                  "responsibleUserId": null,
                  "entityKeyId": "CLI-PT-001",
                  "entityDescription": "Informática Silva & Associados, Lda.",
                  "entityAddress": null,
                  "entityPostalCode": null,
                  "entityCity": null,
                  "entityState": null,
                  "entityCountry": null,
                  "entityVat": null,
                  "entityPhoneNumber": null,
                  "entityEmail": null,
                  "priority": null,
                  "deliveryForecast": null,
                  "breakdownDescription": null,
                  "technicalReport": null,
                  "additionalObservations": null,
                  "deleted": null,
                  "deletedDate": null,
                  "assistanceTypeKeyId": "REP",
                  "breakdownResponsible": 0,
                  "equipmentPassword": null,
                  "closed": false,
                  "entityContractId": 0
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceOrderDTO"
                },
                "example": {
                  "guid": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
                  "number": 2401,
                  "serie": 1,
                  "designation": "Reparação de portátil — ecrã não acende",
                  "status": "Aberto",
                  "creationDate": "2026-03-18T09:30:00",
                  "userId": 1,
                  "equipmentId": 1,
                  "equipmentDescription": null,
                  "equipmentType": null,
                  "equipmentModel": null,
                  "equipmentBrand": null,
                  "equipmentSerialNumber": null,
                  "equipmentImei": null,
                  "formatEquipment": null,
                  "backupEquipment": null,
                  "responsibleUserId": null,
                  "entityKeyId": "CLI-PT-001",
                  "entityDescription": "Informática Silva & Associados, Lda.",
                  "entityAddress": null,
                  "entityPostalCode": null,
                  "entityCity": null,
                  "entityState": null,
                  "entityCountry": null,
                  "entityVat": null,
                  "entityPhoneNumber": null,
                  "entityEmail": null,
                  "priority": null,
                  "deliveryForecast": null,
                  "breakdownDescription": null,
                  "technicalReport": null,
                  "additionalObservations": null,
                  "deleted": null,
                  "deletedDate": null,
                  "assistanceTypeKeyId": "REP",
                  "breakdownResponsible": 0,
                  "equipmentPassword": null,
                  "closed": false,
                  "entityContractId": 0
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceOrderDTO"
                },
                "example": {
                  "guid": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
                  "number": 2401,
                  "serie": 1,
                  "designation": "Reparação de portátil — ecrã não acende",
                  "status": "Aberto",
                  "creationDate": "2026-03-18T09:30:00",
                  "userId": 1,
                  "equipmentId": 1,
                  "equipmentDescription": null,
                  "equipmentType": null,
                  "equipmentModel": null,
                  "equipmentBrand": null,
                  "equipmentSerialNumber": null,
                  "equipmentImei": null,
                  "formatEquipment": null,
                  "backupEquipment": null,
                  "responsibleUserId": null,
                  "entityKeyId": "CLI-PT-001",
                  "entityDescription": "Informática Silva & Associados, Lda.",
                  "entityAddress": null,
                  "entityPostalCode": null,
                  "entityCity": null,
                  "entityState": null,
                  "entityCountry": null,
                  "entityVat": null,
                  "entityPhoneNumber": null,
                  "entityEmail": null,
                  "priority": null,
                  "deliveryForecast": null,
                  "breakdownDescription": null,
                  "technicalReport": null,
                  "additionalObservations": null,
                  "deleted": null,
                  "deletedDate": null,
                  "assistanceTypeKeyId": "REP",
                  "breakdownResponsible": 0,
                  "equipmentPassword": null,
                  "closed": false,
                  "entityContractId": 0
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/supplier": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Retrieves a paginated list of suppliers.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of records per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SupplierDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "keyId": "FORN001",
                      "name": "Distribuidora Luso, S.A.",
                      "businessName": "Distribuidora Luso, S.A.",
                      "entityType": 2,
                      "address": "Zona Industrial de Maia, Lote 7",
                      "addressLine2": null,
                      "complement": null,
                      "neighborhood": null,
                      "reference": null,
                      "postalCode": "4470-116",
                      "city": "Maia",
                      "state": null,
                      "country": "PT",
                      "vat": "509876543",
                      "phone1": "+351 229 800 200",
                      "phone2": null,
                      "phone3": null,
                      "phone4": null,
                      "mobilePhone1": null,
                      "mobilePhone2": null,
                      "fax1": null,
                      "fax2": null,
                      "contactName": null,
                      "contactEmail": null,
                      "email1": "encomendas@distribluso.pt",
                      "email2": null,
                      "contactPhone": null,
                      "obs": null,
                      "defaultPaymentType": null,
                      "limitCreditType": 0,
                      "limitCredit": null,
                      "limitDays": 0,
                      "lastPurchase": null,
                      "balance": null,
                      "discount": null,
                      "entityCommission": 0,
                      "dateOfBirth": null,
                      "latitude": null,
                      "longitude": null,
                      "alertCredit": 0,
                      "deliveryTaxItemId": null,
                      "holdingTax": false,
                      "holdingTaxAmount": null,
                      "holdingTaxType": 0,
                      "feapBroker": 0,
                      "alertMessage": false,
                      "forbiddenDocuments": false,
                      "defaultPaymentMode": 0,
                      "syncStamp": null,
                      "salesMan": 0,
                      "gender": false,
                      "customerCardNumber": null,
                      "customerCardExpirationDate": null,
                      "customerCardDays": 0,
                      "carrierDescription": null,
                      "webSite": null,
                      "faceBook": null,
                      "linkedIn": null,
                      "skype": null,
                      "cashRegime": 0,
                      "customerCard": null,
                      "regionId": 0,
                      "priceLine": 0,
                      "identificationNumber": null,
                      "identificationIssuerCountry": null,
                      "inactive": false,
                      "entityGroupId": 0,
                      "isExcludedFromDueNoticesMail": false,
                      "grouping": null,
                      "pictureId": null,
                      "thumbId": null,
                      "bioGuid": null,
                      "schedulerResource": null,
                      "accountancyCode": null,
                      "salesZoneId": 0,
                      "bankAccount": null,
                      "dateOfSignature": null,
                      "warningMessage": null,
                      "warehouseId": 0,
                      "applyEcoTaxOnSale": false,
                      "insurance": null,
                      "webPassword": null,
                      "relatedEntityKeyId": null,
                      "creationDate": null,
                      "entityGuid": null,
                      "entityConsentmentStatus": 0,
                      "forgetfulnessReason": null,
                      "portNumber": null,
                      "municipalCode": 0,
                      "documentType": 0,
                      "electronicInvoice": false,
                      "qeroSubscriber": false,
                      "cloudSyncStamp": null,
                      "identificationNumberInd": 0,
                      "qeroSubscriptionDate": null,
                      "syncGuid": null,
                      "deliveryRegionId": null,
                      "password": null,
                      "defaultRetailPrice": null,
                      "bankName": null,
                      "bankIdentifierCode": null,
                      "bankIBAN": null,
                      "bankCardNumber": null,
                      "picturePath": null,
                      "deliveryOccurrence": null,
                      "entityTypes": []
                    },
                    {
                      "keyId": "FORN002",
                      "name": "Frutas & Legumes Ribatejo",
                      "businessName": "Ribatejo Fresco — Comércio de Produtos Agrícolas, Lda.",
                      "entityType": 2,
                      "address": "Estrada Nacional 3, Km 42",
                      "addressLine2": null,
                      "complement": null,
                      "neighborhood": null,
                      "reference": null,
                      "postalCode": "2005-000",
                      "city": "Santarém",
                      "state": null,
                      "country": "PT",
                      "vat": "503456789",
                      "phone1": "+351 243 330 110",
                      "phone2": null,
                      "phone3": null,
                      "phone4": null,
                      "mobilePhone1": null,
                      "mobilePhone2": null,
                      "fax1": null,
                      "fax2": null,
                      "contactName": null,
                      "contactEmail": null,
                      "email1": "logistica@ribatejofresco.pt",
                      "email2": null,
                      "contactPhone": null,
                      "obs": null,
                      "defaultPaymentType": null,
                      "limitCreditType": 0,
                      "limitCredit": null,
                      "limitDays": 0,
                      "lastPurchase": null,
                      "balance": null,
                      "discount": null,
                      "entityCommission": 0,
                      "dateOfBirth": null,
                      "latitude": null,
                      "longitude": null,
                      "alertCredit": 0,
                      "deliveryTaxItemId": null,
                      "holdingTax": false,
                      "holdingTaxAmount": null,
                      "holdingTaxType": 0,
                      "feapBroker": 0,
                      "alertMessage": false,
                      "forbiddenDocuments": false,
                      "defaultPaymentMode": 0,
                      "syncStamp": null,
                      "salesMan": 0,
                      "gender": false,
                      "customerCardNumber": null,
                      "customerCardExpirationDate": null,
                      "customerCardDays": 0,
                      "carrierDescription": null,
                      "webSite": null,
                      "faceBook": null,
                      "linkedIn": null,
                      "skype": null,
                      "cashRegime": 0,
                      "customerCard": null,
                      "regionId": 0,
                      "priceLine": 0,
                      "identificationNumber": null,
                      "identificationIssuerCountry": null,
                      "inactive": false,
                      "entityGroupId": 0,
                      "isExcludedFromDueNoticesMail": false,
                      "grouping": null,
                      "pictureId": null,
                      "thumbId": null,
                      "bioGuid": null,
                      "schedulerResource": null,
                      "accountancyCode": null,
                      "salesZoneId": 0,
                      "bankAccount": null,
                      "dateOfSignature": null,
                      "warningMessage": null,
                      "warehouseId": 0,
                      "applyEcoTaxOnSale": false,
                      "insurance": null,
                      "webPassword": null,
                      "relatedEntityKeyId": null,
                      "creationDate": null,
                      "entityGuid": null,
                      "entityConsentmentStatus": 0,
                      "forgetfulnessReason": null,
                      "portNumber": null,
                      "municipalCode": 0,
                      "documentType": 0,
                      "electronicInvoice": false,
                      "qeroSubscriber": false,
                      "cloudSyncStamp": null,
                      "identificationNumberInd": 0,
                      "qeroSubscriptionDate": null,
                      "syncGuid": null,
                      "deliveryRegionId": null,
                      "password": null,
                      "defaultRetailPrice": null,
                      "bankName": null,
                      "bankIdentifierCode": null,
                      "bankIBAN": null,
                      "bankCardNumber": null,
                      "picturePath": null,
                      "deliveryOccurrence": null,
                      "entityTypes": []
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SupplierDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "keyId": "FORN001",
                      "name": "Distribuidora Luso, S.A.",
                      "businessName": "Distribuidora Luso, S.A.",
                      "entityType": 2,
                      "address": "Zona Industrial de Maia, Lote 7",
                      "addressLine2": null,
                      "complement": null,
                      "neighborhood": null,
                      "reference": null,
                      "postalCode": "4470-116",
                      "city": "Maia",
                      "state": null,
                      "country": "PT",
                      "vat": "509876543",
                      "phone1": "+351 229 800 200",
                      "phone2": null,
                      "phone3": null,
                      "phone4": null,
                      "mobilePhone1": null,
                      "mobilePhone2": null,
                      "fax1": null,
                      "fax2": null,
                      "contactName": null,
                      "contactEmail": null,
                      "email1": "encomendas@distribluso.pt",
                      "email2": null,
                      "contactPhone": null,
                      "obs": null,
                      "defaultPaymentType": null,
                      "limitCreditType": 0,
                      "limitCredit": null,
                      "limitDays": 0,
                      "lastPurchase": null,
                      "balance": null,
                      "discount": null,
                      "entityCommission": 0,
                      "dateOfBirth": null,
                      "latitude": null,
                      "longitude": null,
                      "alertCredit": 0,
                      "deliveryTaxItemId": null,
                      "holdingTax": false,
                      "holdingTaxAmount": null,
                      "holdingTaxType": 0,
                      "feapBroker": 0,
                      "alertMessage": false,
                      "forbiddenDocuments": false,
                      "defaultPaymentMode": 0,
                      "syncStamp": null,
                      "salesMan": 0,
                      "gender": false,
                      "customerCardNumber": null,
                      "customerCardExpirationDate": null,
                      "customerCardDays": 0,
                      "carrierDescription": null,
                      "webSite": null,
                      "faceBook": null,
                      "linkedIn": null,
                      "skype": null,
                      "cashRegime": 0,
                      "customerCard": null,
                      "regionId": 0,
                      "priceLine": 0,
                      "identificationNumber": null,
                      "identificationIssuerCountry": null,
                      "inactive": false,
                      "entityGroupId": 0,
                      "isExcludedFromDueNoticesMail": false,
                      "grouping": null,
                      "pictureId": null,
                      "thumbId": null,
                      "bioGuid": null,
                      "schedulerResource": null,
                      "accountancyCode": null,
                      "salesZoneId": 0,
                      "bankAccount": null,
                      "dateOfSignature": null,
                      "warningMessage": null,
                      "warehouseId": 0,
                      "applyEcoTaxOnSale": false,
                      "insurance": null,
                      "webPassword": null,
                      "relatedEntityKeyId": null,
                      "creationDate": null,
                      "entityGuid": null,
                      "entityConsentmentStatus": 0,
                      "forgetfulnessReason": null,
                      "portNumber": null,
                      "municipalCode": 0,
                      "documentType": 0,
                      "electronicInvoice": false,
                      "qeroSubscriber": false,
                      "cloudSyncStamp": null,
                      "identificationNumberInd": 0,
                      "qeroSubscriptionDate": null,
                      "syncGuid": null,
                      "deliveryRegionId": null,
                      "password": null,
                      "defaultRetailPrice": null,
                      "bankName": null,
                      "bankIdentifierCode": null,
                      "bankIBAN": null,
                      "bankCardNumber": null,
                      "picturePath": null,
                      "deliveryOccurrence": null,
                      "entityTypes": []
                    },
                    {
                      "keyId": "FORN002",
                      "name": "Frutas & Legumes Ribatejo",
                      "businessName": "Ribatejo Fresco — Comércio de Produtos Agrícolas, Lda.",
                      "entityType": 2,
                      "address": "Estrada Nacional 3, Km 42",
                      "addressLine2": null,
                      "complement": null,
                      "neighborhood": null,
                      "reference": null,
                      "postalCode": "2005-000",
                      "city": "Santarém",
                      "state": null,
                      "country": "PT",
                      "vat": "503456789",
                      "phone1": "+351 243 330 110",
                      "phone2": null,
                      "phone3": null,
                      "phone4": null,
                      "mobilePhone1": null,
                      "mobilePhone2": null,
                      "fax1": null,
                      "fax2": null,
                      "contactName": null,
                      "contactEmail": null,
                      "email1": "logistica@ribatejofresco.pt",
                      "email2": null,
                      "contactPhone": null,
                      "obs": null,
                      "defaultPaymentType": null,
                      "limitCreditType": 0,
                      "limitCredit": null,
                      "limitDays": 0,
                      "lastPurchase": null,
                      "balance": null,
                      "discount": null,
                      "entityCommission": 0,
                      "dateOfBirth": null,
                      "latitude": null,
                      "longitude": null,
                      "alertCredit": 0,
                      "deliveryTaxItemId": null,
                      "holdingTax": false,
                      "holdingTaxAmount": null,
                      "holdingTaxType": 0,
                      "feapBroker": 0,
                      "alertMessage": false,
                      "forbiddenDocuments": false,
                      "defaultPaymentMode": 0,
                      "syncStamp": null,
                      "salesMan": 0,
                      "gender": false,
                      "customerCardNumber": null,
                      "customerCardExpirationDate": null,
                      "customerCardDays": 0,
                      "carrierDescription": null,
                      "webSite": null,
                      "faceBook": null,
                      "linkedIn": null,
                      "skype": null,
                      "cashRegime": 0,
                      "customerCard": null,
                      "regionId": 0,
                      "priceLine": 0,
                      "identificationNumber": null,
                      "identificationIssuerCountry": null,
                      "inactive": false,
                      "entityGroupId": 0,
                      "isExcludedFromDueNoticesMail": false,
                      "grouping": null,
                      "pictureId": null,
                      "thumbId": null,
                      "bioGuid": null,
                      "schedulerResource": null,
                      "accountancyCode": null,
                      "salesZoneId": 0,
                      "bankAccount": null,
                      "dateOfSignature": null,
                      "warningMessage": null,
                      "warehouseId": 0,
                      "applyEcoTaxOnSale": false,
                      "insurance": null,
                      "webPassword": null,
                      "relatedEntityKeyId": null,
                      "creationDate": null,
                      "entityGuid": null,
                      "entityConsentmentStatus": 0,
                      "forgetfulnessReason": null,
                      "portNumber": null,
                      "municipalCode": 0,
                      "documentType": 0,
                      "electronicInvoice": false,
                      "qeroSubscriber": false,
                      "cloudSyncStamp": null,
                      "identificationNumberInd": 0,
                      "qeroSubscriptionDate": null,
                      "syncGuid": null,
                      "deliveryRegionId": null,
                      "password": null,
                      "defaultRetailPrice": null,
                      "bankName": null,
                      "bankIdentifierCode": null,
                      "bankIBAN": null,
                      "bankCardNumber": null,
                      "picturePath": null,
                      "deliveryOccurrence": null,
                      "entityTypes": []
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SupplierDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "keyId": "FORN001",
                      "name": "Distribuidora Luso, S.A.",
                      "businessName": "Distribuidora Luso, S.A.",
                      "entityType": 2,
                      "address": "Zona Industrial de Maia, Lote 7",
                      "addressLine2": null,
                      "complement": null,
                      "neighborhood": null,
                      "reference": null,
                      "postalCode": "4470-116",
                      "city": "Maia",
                      "state": null,
                      "country": "PT",
                      "vat": "509876543",
                      "phone1": "+351 229 800 200",
                      "phone2": null,
                      "phone3": null,
                      "phone4": null,
                      "mobilePhone1": null,
                      "mobilePhone2": null,
                      "fax1": null,
                      "fax2": null,
                      "contactName": null,
                      "contactEmail": null,
                      "email1": "encomendas@distribluso.pt",
                      "email2": null,
                      "contactPhone": null,
                      "obs": null,
                      "defaultPaymentType": null,
                      "limitCreditType": 0,
                      "limitCredit": null,
                      "limitDays": 0,
                      "lastPurchase": null,
                      "balance": null,
                      "discount": null,
                      "entityCommission": 0,
                      "dateOfBirth": null,
                      "latitude": null,
                      "longitude": null,
                      "alertCredit": 0,
                      "deliveryTaxItemId": null,
                      "holdingTax": false,
                      "holdingTaxAmount": null,
                      "holdingTaxType": 0,
                      "feapBroker": 0,
                      "alertMessage": false,
                      "forbiddenDocuments": false,
                      "defaultPaymentMode": 0,
                      "syncStamp": null,
                      "salesMan": 0,
                      "gender": false,
                      "customerCardNumber": null,
                      "customerCardExpirationDate": null,
                      "customerCardDays": 0,
                      "carrierDescription": null,
                      "webSite": null,
                      "faceBook": null,
                      "linkedIn": null,
                      "skype": null,
                      "cashRegime": 0,
                      "customerCard": null,
                      "regionId": 0,
                      "priceLine": 0,
                      "identificationNumber": null,
                      "identificationIssuerCountry": null,
                      "inactive": false,
                      "entityGroupId": 0,
                      "isExcludedFromDueNoticesMail": false,
                      "grouping": null,
                      "pictureId": null,
                      "thumbId": null,
                      "bioGuid": null,
                      "schedulerResource": null,
                      "accountancyCode": null,
                      "salesZoneId": 0,
                      "bankAccount": null,
                      "dateOfSignature": null,
                      "warningMessage": null,
                      "warehouseId": 0,
                      "applyEcoTaxOnSale": false,
                      "insurance": null,
                      "webPassword": null,
                      "relatedEntityKeyId": null,
                      "creationDate": null,
                      "entityGuid": null,
                      "entityConsentmentStatus": 0,
                      "forgetfulnessReason": null,
                      "portNumber": null,
                      "municipalCode": 0,
                      "documentType": 0,
                      "electronicInvoice": false,
                      "qeroSubscriber": false,
                      "cloudSyncStamp": null,
                      "identificationNumberInd": 0,
                      "qeroSubscriptionDate": null,
                      "syncGuid": null,
                      "deliveryRegionId": null,
                      "password": null,
                      "defaultRetailPrice": null,
                      "bankName": null,
                      "bankIdentifierCode": null,
                      "bankIBAN": null,
                      "bankCardNumber": null,
                      "picturePath": null,
                      "deliveryOccurrence": null,
                      "entityTypes": []
                    },
                    {
                      "keyId": "FORN002",
                      "name": "Frutas & Legumes Ribatejo",
                      "businessName": "Ribatejo Fresco — Comércio de Produtos Agrícolas, Lda.",
                      "entityType": 2,
                      "address": "Estrada Nacional 3, Km 42",
                      "addressLine2": null,
                      "complement": null,
                      "neighborhood": null,
                      "reference": null,
                      "postalCode": "2005-000",
                      "city": "Santarém",
                      "state": null,
                      "country": "PT",
                      "vat": "503456789",
                      "phone1": "+351 243 330 110",
                      "phone2": null,
                      "phone3": null,
                      "phone4": null,
                      "mobilePhone1": null,
                      "mobilePhone2": null,
                      "fax1": null,
                      "fax2": null,
                      "contactName": null,
                      "contactEmail": null,
                      "email1": "logistica@ribatejofresco.pt",
                      "email2": null,
                      "contactPhone": null,
                      "obs": null,
                      "defaultPaymentType": null,
                      "limitCreditType": 0,
                      "limitCredit": null,
                      "limitDays": 0,
                      "lastPurchase": null,
                      "balance": null,
                      "discount": null,
                      "entityCommission": 0,
                      "dateOfBirth": null,
                      "latitude": null,
                      "longitude": null,
                      "alertCredit": 0,
                      "deliveryTaxItemId": null,
                      "holdingTax": false,
                      "holdingTaxAmount": null,
                      "holdingTaxType": 0,
                      "feapBroker": 0,
                      "alertMessage": false,
                      "forbiddenDocuments": false,
                      "defaultPaymentMode": 0,
                      "syncStamp": null,
                      "salesMan": 0,
                      "gender": false,
                      "customerCardNumber": null,
                      "customerCardExpirationDate": null,
                      "customerCardDays": 0,
                      "carrierDescription": null,
                      "webSite": null,
                      "faceBook": null,
                      "linkedIn": null,
                      "skype": null,
                      "cashRegime": 0,
                      "customerCard": null,
                      "regionId": 0,
                      "priceLine": 0,
                      "identificationNumber": null,
                      "identificationIssuerCountry": null,
                      "inactive": false,
                      "entityGroupId": 0,
                      "isExcludedFromDueNoticesMail": false,
                      "grouping": null,
                      "pictureId": null,
                      "thumbId": null,
                      "bioGuid": null,
                      "schedulerResource": null,
                      "accountancyCode": null,
                      "salesZoneId": 0,
                      "bankAccount": null,
                      "dateOfSignature": null,
                      "warningMessage": null,
                      "warehouseId": 0,
                      "applyEcoTaxOnSale": false,
                      "insurance": null,
                      "webPassword": null,
                      "relatedEntityKeyId": null,
                      "creationDate": null,
                      "entityGuid": null,
                      "entityConsentmentStatus": 0,
                      "forgetfulnessReason": null,
                      "portNumber": null,
                      "municipalCode": 0,
                      "documentType": 0,
                      "electronicInvoice": false,
                      "qeroSubscriber": false,
                      "cloudSyncStamp": null,
                      "identificationNumberInd": 0,
                      "qeroSubscriptionDate": null,
                      "syncGuid": null,
                      "deliveryRegionId": null,
                      "password": null,
                      "defaultRetailPrice": null,
                      "bankName": null,
                      "bankIdentifierCode": null,
                      "bankIBAN": null,
                      "bankCardNumber": null,
                      "picturePath": null,
                      "deliveryOccurrence": null,
                      "entityTypes": []
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/supplier/{keyId}": {
      "get": {
        "tags": [
          "Entity"
        ],
        "summary": "Retrieves a supplier by its key identifier.",
        "parameters": [
          {
            "name": "keyId",
            "in": "path",
            "description": "Supplier identifier.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/EntityDTO"
                },
                "example": {
                  "id": 0,
                  "keyId": "ENT001",
                  "entityType": 1,
                  "name": "Pastelaria Central, Lda.",
                  "address": "Rua Augusta 15",
                  "postalCode": "1100-053",
                  "city": "Lisboa",
                  "state": null,
                  "country": "PT",
                  "vat": "501234567",
                  "bankName": null,
                  "bankIdentifierCode": null,
                  "bankIBAN": null,
                  "bankCardNumber": null,
                  "contactName": null,
                  "contactPhone": null,
                  "phone1": "+351 213 456 789",
                  "phone2": null,
                  "phone3": null,
                  "phone4": null,
                  "mobilePhone1": null,
                  "mobilePhone2": null,
                  "fax1": null,
                  "fax2": null,
                  "contactEmail": null,
                  "email1": "geral@pastelariacentral.pt",
                  "email2": null,
                  "webSite": null,
                  "faceBook": null,
                  "linkedIn": null,
                  "skype": null,
                  "obs": null,
                  "limitCredit": null,
                  "lastPurchase": null,
                  "balance": null,
                  "discount": null,
                  "dateOfBirth": null,
                  "password": null,
                  "defaultRetailPrice": null,
                  "defaultPaymentType": null,
                  "latitude": null,
                  "longitude": null,
                  "alertCredit": 0,
                  "deliveryTaxItemId": null,
                  "holdingTax": false,
                  "holdingTaxAmount": null,
                  "holdingTaxType": 0,
                  "picturePath": null,
                  "alertMessage": false,
                  "forbiddenDocuments": false,
                  "defaultPaymentMode": 0,
                  "syncStamp": null,
                  "salesMan": 0,
                  "gender": false,
                  "customerCardNumber": null,
                  "customerCardExpirationDate": null,
                  "customerCardDays": 0,
                  "carrierDescription": null,
                  "cashRegime": 0,
                  "customerCard": null,
                  "regionId": 0,
                  "priceLine": 0,
                  "identificationNumber": null,
                  "deliveryOccurrence": null,
                  "inactive": false,
                  "grouping": null,
                  "pictureId": null,
                  "thumbId": null,
                  "bioGuid": null,
                  "schedulerResource": null,
                  "accountancyCode": null,
                  "salesZoneId": 0,
                  "bankAccount": null,
                  "dateOfSignature": null,
                  "warningMessage": null,
                  "limitDays": 0,
                  "entityGroupId": 0,
                  "limitCreditType": 0,
                  "warehouseId": 0,
                  "applyEcoTaxOnSale": false,
                  "insurance": null,
                  "webPassword": null,
                  "relatedEntityKeyId": null,
                  "businessName": "Pastelaria Central, Lda.",
                  "creationDate": null,
                  "entityCommission": 0,
                  "entityGuid": null,
                  "entityConsentmentStatus": 0,
                  "forgetfulnessReason": null,
                  "identificationIssuerCountry": null,
                  "portNumber": null,
                  "municipalCode": 0,
                  "documentType": 0,
                  "electronicInvoice": false,
                  "qeroSubscriber": false,
                  "cloudSyncStamp": null,
                  "identificationNumberInd": 0,
                  "qeroSubscriptionDate": null,
                  "syncGuid": null,
                  "feapBroker": 0,
                  "addressLine2": null,
                  "neighborhood": null,
                  "complement": null,
                  "reference": null,
                  "deliveryRegionId": null,
                  "isExcludedFromDueNoticesMail": false
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityDTO"
                },
                "example": {
                  "id": 0,
                  "keyId": "ENT001",
                  "entityType": 1,
                  "name": "Pastelaria Central, Lda.",
                  "address": "Rua Augusta 15",
                  "postalCode": "1100-053",
                  "city": "Lisboa",
                  "state": null,
                  "country": "PT",
                  "vat": "501234567",
                  "bankName": null,
                  "bankIdentifierCode": null,
                  "bankIBAN": null,
                  "bankCardNumber": null,
                  "contactName": null,
                  "contactPhone": null,
                  "phone1": "+351 213 456 789",
                  "phone2": null,
                  "phone3": null,
                  "phone4": null,
                  "mobilePhone1": null,
                  "mobilePhone2": null,
                  "fax1": null,
                  "fax2": null,
                  "contactEmail": null,
                  "email1": "geral@pastelariacentral.pt",
                  "email2": null,
                  "webSite": null,
                  "faceBook": null,
                  "linkedIn": null,
                  "skype": null,
                  "obs": null,
                  "limitCredit": null,
                  "lastPurchase": null,
                  "balance": null,
                  "discount": null,
                  "dateOfBirth": null,
                  "password": null,
                  "defaultRetailPrice": null,
                  "defaultPaymentType": null,
                  "latitude": null,
                  "longitude": null,
                  "alertCredit": 0,
                  "deliveryTaxItemId": null,
                  "holdingTax": false,
                  "holdingTaxAmount": null,
                  "holdingTaxType": 0,
                  "picturePath": null,
                  "alertMessage": false,
                  "forbiddenDocuments": false,
                  "defaultPaymentMode": 0,
                  "syncStamp": null,
                  "salesMan": 0,
                  "gender": false,
                  "customerCardNumber": null,
                  "customerCardExpirationDate": null,
                  "customerCardDays": 0,
                  "carrierDescription": null,
                  "cashRegime": 0,
                  "customerCard": null,
                  "regionId": 0,
                  "priceLine": 0,
                  "identificationNumber": null,
                  "deliveryOccurrence": null,
                  "inactive": false,
                  "grouping": null,
                  "pictureId": null,
                  "thumbId": null,
                  "bioGuid": null,
                  "schedulerResource": null,
                  "accountancyCode": null,
                  "salesZoneId": 0,
                  "bankAccount": null,
                  "dateOfSignature": null,
                  "warningMessage": null,
                  "limitDays": 0,
                  "entityGroupId": 0,
                  "limitCreditType": 0,
                  "warehouseId": 0,
                  "applyEcoTaxOnSale": false,
                  "insurance": null,
                  "webPassword": null,
                  "relatedEntityKeyId": null,
                  "businessName": "Pastelaria Central, Lda.",
                  "creationDate": null,
                  "entityCommission": 0,
                  "entityGuid": null,
                  "entityConsentmentStatus": 0,
                  "forgetfulnessReason": null,
                  "identificationIssuerCountry": null,
                  "portNumber": null,
                  "municipalCode": 0,
                  "documentType": 0,
                  "electronicInvoice": false,
                  "qeroSubscriber": false,
                  "cloudSyncStamp": null,
                  "identificationNumberInd": 0,
                  "qeroSubscriptionDate": null,
                  "syncGuid": null,
                  "feapBroker": 0,
                  "addressLine2": null,
                  "neighborhood": null,
                  "complement": null,
                  "reference": null,
                  "deliveryRegionId": null,
                  "isExcludedFromDueNoticesMail": false
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/EntityDTO"
                },
                "example": {
                  "id": 0,
                  "keyId": "ENT001",
                  "entityType": 1,
                  "name": "Pastelaria Central, Lda.",
                  "address": "Rua Augusta 15",
                  "postalCode": "1100-053",
                  "city": "Lisboa",
                  "state": null,
                  "country": "PT",
                  "vat": "501234567",
                  "bankName": null,
                  "bankIdentifierCode": null,
                  "bankIBAN": null,
                  "bankCardNumber": null,
                  "contactName": null,
                  "contactPhone": null,
                  "phone1": "+351 213 456 789",
                  "phone2": null,
                  "phone3": null,
                  "phone4": null,
                  "mobilePhone1": null,
                  "mobilePhone2": null,
                  "fax1": null,
                  "fax2": null,
                  "contactEmail": null,
                  "email1": "geral@pastelariacentral.pt",
                  "email2": null,
                  "webSite": null,
                  "faceBook": null,
                  "linkedIn": null,
                  "skype": null,
                  "obs": null,
                  "limitCredit": null,
                  "lastPurchase": null,
                  "balance": null,
                  "discount": null,
                  "dateOfBirth": null,
                  "password": null,
                  "defaultRetailPrice": null,
                  "defaultPaymentType": null,
                  "latitude": null,
                  "longitude": null,
                  "alertCredit": 0,
                  "deliveryTaxItemId": null,
                  "holdingTax": false,
                  "holdingTaxAmount": null,
                  "holdingTaxType": 0,
                  "picturePath": null,
                  "alertMessage": false,
                  "forbiddenDocuments": false,
                  "defaultPaymentMode": 0,
                  "syncStamp": null,
                  "salesMan": 0,
                  "gender": false,
                  "customerCardNumber": null,
                  "customerCardExpirationDate": null,
                  "customerCardDays": 0,
                  "carrierDescription": null,
                  "cashRegime": 0,
                  "customerCard": null,
                  "regionId": 0,
                  "priceLine": 0,
                  "identificationNumber": null,
                  "deliveryOccurrence": null,
                  "inactive": false,
                  "grouping": null,
                  "pictureId": null,
                  "thumbId": null,
                  "bioGuid": null,
                  "schedulerResource": null,
                  "accountancyCode": null,
                  "salesZoneId": 0,
                  "bankAccount": null,
                  "dateOfSignature": null,
                  "warningMessage": null,
                  "limitDays": 0,
                  "entityGroupId": 0,
                  "limitCreditType": 0,
                  "warehouseId": 0,
                  "applyEcoTaxOnSale": false,
                  "insurance": null,
                  "webPassword": null,
                  "relatedEntityKeyId": null,
                  "businessName": "Pastelaria Central, Lda.",
                  "creationDate": null,
                  "entityCommission": 0,
                  "entityGuid": null,
                  "entityConsentmentStatus": 0,
                  "forgetfulnessReason": null,
                  "identificationIssuerCountry": null,
                  "portNumber": null,
                  "municipalCode": 0,
                  "documentType": 0,
                  "electronicInvoice": false,
                  "qeroSubscriber": false,
                  "cloudSyncStamp": null,
                  "identificationNumberInd": 0,
                  "qeroSubscriptionDate": null,
                  "syncGuid": null,
                  "feapBroker": 0,
                  "addressLine2": null,
                  "neighborhood": null,
                  "complement": null,
                  "reference": null,
                  "deliveryRegionId": null,
                  "isExcludedFromDueNoticesMail": false
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/terminal": {
      "get": {
        "tags": [
          "Terminal"
        ],
        "summary": "Retrieves all terminals with optional pagination.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The number of records to return per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TerminalDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "TPV — Balcão principal",
                      "shift": null,
                      "defaultObjectId": null,
                      "defaultUserId": null,
                      "initialPage": null,
                      "hasX64Device": null,
                      "printSystemTimerTick": null,
                      "numDocCX": 0,
                      "drawerPort": null,
                      "closeAccountEmail": null,
                      "closeAccountEmailSubject": null,
                      "closeAccountEmailBody": null,
                      "displayPort": null,
                      "hideBCInput": null,
                      "drawerDriver": null,
                      "displayDriver": null,
                      "backupPath": null,
                      "tradeBalancePort": null,
                      "tradeBalanceDriver": null,
                      "externalExe": null,
                      "printOnline": null,
                      "directBarcode": null,
                      "boardType": null,
                      "keyboardOnly": null,
                      "initialDisplayMessage": null,
                      "finalDisplayMessage": null,
                      "displayTimout": null,
                      "defaultDocumentTypeId": null,
                      "defaultSerieId": null,
                      "requestBarNumber": null,
                      "closeMessages": false,
                      "dspLicenceMsg": false,
                      "unlimitedNumberTables": null,
                      "idShop": null,
                      "cardSystem": null,
                      "defaultBar": null,
                      "cxMargin": null,
                      "cxTries": null,
                      "cxRemainingTries": null,
                      "blindClose": null,
                      "blockCashier": null,
                      "showConsumption": null,
                      "reasonsCancellation": null,
                      "startWithTables": null,
                      "showCustomerBoard": null,
                      "showFacObs": null,
                      "ordersById": null,
                      "scannerPort": null,
                      "priceIncome": null,
                      "displayMessage": null,
                      "onlineVat": null,
                      "askNumberPersons": null,
                      "defaultCurrency": null,
                      "syncStamp": null,
                      "autoTableRefresh": null,
                      "documentSortMode": null,
                      "showTableTime": null,
                      "requestVatOnAccount": null,
                      "skipWelcome": null,
                      "checkDocumentReference": null,
                      "videoPort": null,
                      "famixInitialGroupId": null,
                      "readNumberOnly": null,
                      "gridTextSize": null,
                      "gridCellHeight": null,
                      "backupSchedule": null,
                      "autoRecalculateDocument": null,
                      "showLastSaleInformation": false,
                      "defaultWarehouseId": null,
                      "saveCustomerOnTables": false,
                      "altBarcodeMode": null,
                      "recalculateOnTransfer": null,
                      "subtotalMaintainsBoard": null,
                      "satFiscalBr": null,
                      "fontSizePizzaItems": null,
                      "defaultAccountId": null,
                      "offlineSerieId": null,
                      "cloudSyncStamp": null,
                      "offlineDefaultAccountId": null
                    },
                    {
                      "id": 2,
                      "description": "TPV — Esplanada",
                      "shift": null,
                      "defaultObjectId": null,
                      "defaultUserId": null,
                      "initialPage": null,
                      "hasX64Device": null,
                      "printSystemTimerTick": null,
                      "numDocCX": 0,
                      "drawerPort": null,
                      "closeAccountEmail": null,
                      "closeAccountEmailSubject": null,
                      "closeAccountEmailBody": null,
                      "displayPort": null,
                      "hideBCInput": null,
                      "drawerDriver": null,
                      "displayDriver": null,
                      "backupPath": null,
                      "tradeBalancePort": null,
                      "tradeBalanceDriver": null,
                      "externalExe": null,
                      "printOnline": null,
                      "directBarcode": null,
                      "boardType": null,
                      "keyboardOnly": null,
                      "initialDisplayMessage": null,
                      "finalDisplayMessage": null,
                      "displayTimout": null,
                      "defaultDocumentTypeId": null,
                      "defaultSerieId": null,
                      "requestBarNumber": null,
                      "closeMessages": false,
                      "dspLicenceMsg": false,
                      "unlimitedNumberTables": null,
                      "idShop": null,
                      "cardSystem": null,
                      "defaultBar": null,
                      "cxMargin": null,
                      "cxTries": null,
                      "cxRemainingTries": null,
                      "blindClose": null,
                      "blockCashier": null,
                      "showConsumption": null,
                      "reasonsCancellation": null,
                      "startWithTables": null,
                      "showCustomerBoard": null,
                      "showFacObs": null,
                      "ordersById": null,
                      "scannerPort": null,
                      "priceIncome": null,
                      "displayMessage": null,
                      "onlineVat": null,
                      "askNumberPersons": null,
                      "defaultCurrency": null,
                      "syncStamp": null,
                      "autoTableRefresh": null,
                      "documentSortMode": null,
                      "showTableTime": null,
                      "requestVatOnAccount": null,
                      "skipWelcome": null,
                      "checkDocumentReference": null,
                      "videoPort": null,
                      "famixInitialGroupId": null,
                      "readNumberOnly": null,
                      "gridTextSize": null,
                      "gridCellHeight": null,
                      "backupSchedule": null,
                      "autoRecalculateDocument": null,
                      "showLastSaleInformation": false,
                      "defaultWarehouseId": null,
                      "saveCustomerOnTables": false,
                      "altBarcodeMode": null,
                      "recalculateOnTransfer": null,
                      "subtotalMaintainsBoard": null,
                      "satFiscalBr": null,
                      "fontSizePizzaItems": null,
                      "defaultAccountId": null,
                      "offlineSerieId": null,
                      "cloudSyncStamp": null,
                      "offlineDefaultAccountId": null
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TerminalDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "TPV — Balcão principal",
                      "shift": null,
                      "defaultObjectId": null,
                      "defaultUserId": null,
                      "initialPage": null,
                      "hasX64Device": null,
                      "printSystemTimerTick": null,
                      "numDocCX": 0,
                      "drawerPort": null,
                      "closeAccountEmail": null,
                      "closeAccountEmailSubject": null,
                      "closeAccountEmailBody": null,
                      "displayPort": null,
                      "hideBCInput": null,
                      "drawerDriver": null,
                      "displayDriver": null,
                      "backupPath": null,
                      "tradeBalancePort": null,
                      "tradeBalanceDriver": null,
                      "externalExe": null,
                      "printOnline": null,
                      "directBarcode": null,
                      "boardType": null,
                      "keyboardOnly": null,
                      "initialDisplayMessage": null,
                      "finalDisplayMessage": null,
                      "displayTimout": null,
                      "defaultDocumentTypeId": null,
                      "defaultSerieId": null,
                      "requestBarNumber": null,
                      "closeMessages": false,
                      "dspLicenceMsg": false,
                      "unlimitedNumberTables": null,
                      "idShop": null,
                      "cardSystem": null,
                      "defaultBar": null,
                      "cxMargin": null,
                      "cxTries": null,
                      "cxRemainingTries": null,
                      "blindClose": null,
                      "blockCashier": null,
                      "showConsumption": null,
                      "reasonsCancellation": null,
                      "startWithTables": null,
                      "showCustomerBoard": null,
                      "showFacObs": null,
                      "ordersById": null,
                      "scannerPort": null,
                      "priceIncome": null,
                      "displayMessage": null,
                      "onlineVat": null,
                      "askNumberPersons": null,
                      "defaultCurrency": null,
                      "syncStamp": null,
                      "autoTableRefresh": null,
                      "documentSortMode": null,
                      "showTableTime": null,
                      "requestVatOnAccount": null,
                      "skipWelcome": null,
                      "checkDocumentReference": null,
                      "videoPort": null,
                      "famixInitialGroupId": null,
                      "readNumberOnly": null,
                      "gridTextSize": null,
                      "gridCellHeight": null,
                      "backupSchedule": null,
                      "autoRecalculateDocument": null,
                      "showLastSaleInformation": false,
                      "defaultWarehouseId": null,
                      "saveCustomerOnTables": false,
                      "altBarcodeMode": null,
                      "recalculateOnTransfer": null,
                      "subtotalMaintainsBoard": null,
                      "satFiscalBr": null,
                      "fontSizePizzaItems": null,
                      "defaultAccountId": null,
                      "offlineSerieId": null,
                      "cloudSyncStamp": null,
                      "offlineDefaultAccountId": null
                    },
                    {
                      "id": 2,
                      "description": "TPV — Esplanada",
                      "shift": null,
                      "defaultObjectId": null,
                      "defaultUserId": null,
                      "initialPage": null,
                      "hasX64Device": null,
                      "printSystemTimerTick": null,
                      "numDocCX": 0,
                      "drawerPort": null,
                      "closeAccountEmail": null,
                      "closeAccountEmailSubject": null,
                      "closeAccountEmailBody": null,
                      "displayPort": null,
                      "hideBCInput": null,
                      "drawerDriver": null,
                      "displayDriver": null,
                      "backupPath": null,
                      "tradeBalancePort": null,
                      "tradeBalanceDriver": null,
                      "externalExe": null,
                      "printOnline": null,
                      "directBarcode": null,
                      "boardType": null,
                      "keyboardOnly": null,
                      "initialDisplayMessage": null,
                      "finalDisplayMessage": null,
                      "displayTimout": null,
                      "defaultDocumentTypeId": null,
                      "defaultSerieId": null,
                      "requestBarNumber": null,
                      "closeMessages": false,
                      "dspLicenceMsg": false,
                      "unlimitedNumberTables": null,
                      "idShop": null,
                      "cardSystem": null,
                      "defaultBar": null,
                      "cxMargin": null,
                      "cxTries": null,
                      "cxRemainingTries": null,
                      "blindClose": null,
                      "blockCashier": null,
                      "showConsumption": null,
                      "reasonsCancellation": null,
                      "startWithTables": null,
                      "showCustomerBoard": null,
                      "showFacObs": null,
                      "ordersById": null,
                      "scannerPort": null,
                      "priceIncome": null,
                      "displayMessage": null,
                      "onlineVat": null,
                      "askNumberPersons": null,
                      "defaultCurrency": null,
                      "syncStamp": null,
                      "autoTableRefresh": null,
                      "documentSortMode": null,
                      "showTableTime": null,
                      "requestVatOnAccount": null,
                      "skipWelcome": null,
                      "checkDocumentReference": null,
                      "videoPort": null,
                      "famixInitialGroupId": null,
                      "readNumberOnly": null,
                      "gridTextSize": null,
                      "gridCellHeight": null,
                      "backupSchedule": null,
                      "autoRecalculateDocument": null,
                      "showLastSaleInformation": false,
                      "defaultWarehouseId": null,
                      "saveCustomerOnTables": false,
                      "altBarcodeMode": null,
                      "recalculateOnTransfer": null,
                      "subtotalMaintainsBoard": null,
                      "satFiscalBr": null,
                      "fontSizePizzaItems": null,
                      "defaultAccountId": null,
                      "offlineSerieId": null,
                      "cloudSyncStamp": null,
                      "offlineDefaultAccountId": null
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TerminalDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "TPV — Balcão principal",
                      "shift": null,
                      "defaultObjectId": null,
                      "defaultUserId": null,
                      "initialPage": null,
                      "hasX64Device": null,
                      "printSystemTimerTick": null,
                      "numDocCX": 0,
                      "drawerPort": null,
                      "closeAccountEmail": null,
                      "closeAccountEmailSubject": null,
                      "closeAccountEmailBody": null,
                      "displayPort": null,
                      "hideBCInput": null,
                      "drawerDriver": null,
                      "displayDriver": null,
                      "backupPath": null,
                      "tradeBalancePort": null,
                      "tradeBalanceDriver": null,
                      "externalExe": null,
                      "printOnline": null,
                      "directBarcode": null,
                      "boardType": null,
                      "keyboardOnly": null,
                      "initialDisplayMessage": null,
                      "finalDisplayMessage": null,
                      "displayTimout": null,
                      "defaultDocumentTypeId": null,
                      "defaultSerieId": null,
                      "requestBarNumber": null,
                      "closeMessages": false,
                      "dspLicenceMsg": false,
                      "unlimitedNumberTables": null,
                      "idShop": null,
                      "cardSystem": null,
                      "defaultBar": null,
                      "cxMargin": null,
                      "cxTries": null,
                      "cxRemainingTries": null,
                      "blindClose": null,
                      "blockCashier": null,
                      "showConsumption": null,
                      "reasonsCancellation": null,
                      "startWithTables": null,
                      "showCustomerBoard": null,
                      "showFacObs": null,
                      "ordersById": null,
                      "scannerPort": null,
                      "priceIncome": null,
                      "displayMessage": null,
                      "onlineVat": null,
                      "askNumberPersons": null,
                      "defaultCurrency": null,
                      "syncStamp": null,
                      "autoTableRefresh": null,
                      "documentSortMode": null,
                      "showTableTime": null,
                      "requestVatOnAccount": null,
                      "skipWelcome": null,
                      "checkDocumentReference": null,
                      "videoPort": null,
                      "famixInitialGroupId": null,
                      "readNumberOnly": null,
                      "gridTextSize": null,
                      "gridCellHeight": null,
                      "backupSchedule": null,
                      "autoRecalculateDocument": null,
                      "showLastSaleInformation": false,
                      "defaultWarehouseId": null,
                      "saveCustomerOnTables": false,
                      "altBarcodeMode": null,
                      "recalculateOnTransfer": null,
                      "subtotalMaintainsBoard": null,
                      "satFiscalBr": null,
                      "fontSizePizzaItems": null,
                      "defaultAccountId": null,
                      "offlineSerieId": null,
                      "cloudSyncStamp": null,
                      "offlineDefaultAccountId": null
                    },
                    {
                      "id": 2,
                      "description": "TPV — Esplanada",
                      "shift": null,
                      "defaultObjectId": null,
                      "defaultUserId": null,
                      "initialPage": null,
                      "hasX64Device": null,
                      "printSystemTimerTick": null,
                      "numDocCX": 0,
                      "drawerPort": null,
                      "closeAccountEmail": null,
                      "closeAccountEmailSubject": null,
                      "closeAccountEmailBody": null,
                      "displayPort": null,
                      "hideBCInput": null,
                      "drawerDriver": null,
                      "displayDriver": null,
                      "backupPath": null,
                      "tradeBalancePort": null,
                      "tradeBalanceDriver": null,
                      "externalExe": null,
                      "printOnline": null,
                      "directBarcode": null,
                      "boardType": null,
                      "keyboardOnly": null,
                      "initialDisplayMessage": null,
                      "finalDisplayMessage": null,
                      "displayTimout": null,
                      "defaultDocumentTypeId": null,
                      "defaultSerieId": null,
                      "requestBarNumber": null,
                      "closeMessages": false,
                      "dspLicenceMsg": false,
                      "unlimitedNumberTables": null,
                      "idShop": null,
                      "cardSystem": null,
                      "defaultBar": null,
                      "cxMargin": null,
                      "cxTries": null,
                      "cxRemainingTries": null,
                      "blindClose": null,
                      "blockCashier": null,
                      "showConsumption": null,
                      "reasonsCancellation": null,
                      "startWithTables": null,
                      "showCustomerBoard": null,
                      "showFacObs": null,
                      "ordersById": null,
                      "scannerPort": null,
                      "priceIncome": null,
                      "displayMessage": null,
                      "onlineVat": null,
                      "askNumberPersons": null,
                      "defaultCurrency": null,
                      "syncStamp": null,
                      "autoTableRefresh": null,
                      "documentSortMode": null,
                      "showTableTime": null,
                      "requestVatOnAccount": null,
                      "skipWelcome": null,
                      "checkDocumentReference": null,
                      "videoPort": null,
                      "famixInitialGroupId": null,
                      "readNumberOnly": null,
                      "gridTextSize": null,
                      "gridCellHeight": null,
                      "backupSchedule": null,
                      "autoRecalculateDocument": null,
                      "showLastSaleInformation": false,
                      "defaultWarehouseId": null,
                      "saveCustomerOnTables": false,
                      "altBarcodeMode": null,
                      "recalculateOnTransfer": null,
                      "subtotalMaintainsBoard": null,
                      "satFiscalBr": null,
                      "fontSizePizzaItems": null,
                      "defaultAccountId": null,
                      "offlineSerieId": null,
                      "cloudSyncStamp": null,
                      "offlineDefaultAccountId": null
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/time-zones": {
      "get": {
        "tags": [
          "TimeZones"
        ],
        "summary": "Retrieves a list of all available IANA time zones with their display names and UTC offsets.",
        "description": "This endpoint returns a list of time zones in IANA format, including their display names and current UTC offsets.",
        "responses": {
          "200": {
            "description": "Returns the list of time zones.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TimeZoneDisplay"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TimeZoneDisplay"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TimeZoneDisplay"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized access.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/time-zones/config": {
      "get": {
        "tags": [
          "TimeZones"
        ],
        "summary": "Gets the current time zone configuration.",
        "description": "This endpoint retrieves the current time zone configuration for the application.",
        "responses": {
          "200": {
            "description": "Returns the current time zone configuration.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/TimeZoneConfigDTO"
                },
                "example": {
                  "timeZoneId": "Europe/Lisbon"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TimeZoneConfigDTO"
                },
                "example": {
                  "timeZoneId": "Europe/Lisbon"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/TimeZoneConfigDTO"
                },
                "example": {
                  "timeZoneId": "Europe/Lisbon"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized access.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "TimeZones"
        ],
        "summary": "Creates a new time zone configuration.",
        "description": "This endpoint creates a new time zone configuration for the application.",
        "requestBody": {
          "description": "The time zone configuration to create. Must contain a valid IANA time zone identifier in `TimeZoneId`.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TimeZoneConfigDTO"
              },
              "example": {
                "timeZoneId": "Europe/Lisbon"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TimeZoneConfigDTO"
              },
              "example": {
                "timeZoneId": "Europe/Lisbon"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TimeZoneConfigDTO"
              },
              "example": {
                "timeZoneId": "Europe/Lisbon"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Time zone configuration created successfully."
          },
          "401": {
            "description": "Unauthorized access.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "A configuration conflict occurred.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "TimeZones"
        ],
        "summary": "Updates the existing time zone configuration.",
        "description": "This endpoint updates the application's time zone configuration.",
        "requestBody": {
          "description": "The updated time zone configuration. Must contain a valid IANA time zone identifier in `TimeZoneId`.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TimeZoneConfigDTO"
              },
              "example": {
                "timeZoneId": "Europe/Lisbon"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/TimeZoneConfigDTO"
              },
              "example": {
                "timeZoneId": "Europe/Lisbon"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/TimeZoneConfigDTO"
              },
              "example": {
                "timeZoneId": "Europe/Lisbon"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Time zone configuration updated successfully."
          },
          "401": {
            "description": "Unauthorized access.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "The configuration to update was not found.",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/top-seller": {
      "get": {
        "tags": [
          "BusinessSummary"
        ],
        "summary": "Gets the top seller for the specified search period.",
        "parameters": [
          {
            "name": "searchPeriodEnum",
            "in": "query",
            "description": "The period to search for top sellers.",
            "schema": {
              "$ref": "#/components/schemas/SearchPeriodEnum"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TopSellerDTO"
                  }
                },
                "example": [
                  {
                    "name": "Carla Mendes",
                    "total": 28450.75
                  },
                  {
                    "name": "João Almeida",
                    "total": 22130.4
                  }
                ]
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TopSellerDTO"
                  }
                },
                "example": [
                  {
                    "name": "Carla Mendes",
                    "total": 28450.75
                  },
                  {
                    "name": "João Almeida",
                    "total": 22130.4
                  }
                ]
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TopSellerDTO"
                  }
                },
                "example": [
                  {
                    "name": "Carla Mendes",
                    "total": 28450.75
                  },
                  {
                    "name": "João Almeida",
                    "total": 22130.4
                  }
                ]
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/top-terminal": {
      "get": {
        "tags": [
          "BusinessSummary"
        ],
        "summary": "Gets the top terminal for the specified search period.",
        "parameters": [
          {
            "name": "searchPeriodEnum",
            "in": "query",
            "description": "The period to search for top terminals.",
            "schema": {
              "$ref": "#/components/schemas/SearchPeriodEnum"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TopTerminalDTO"
                  }
                },
                "example": [
                  {
                    "name": "TPV — Balcão principal",
                    "total": 45230.9
                  },
                  {
                    "name": "TPV — Esplanada",
                    "total": 18920.15
                  }
                ]
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TopTerminalDTO"
                  }
                },
                "example": [
                  {
                    "name": "TPV — Balcão principal",
                    "total": 45230.9
                  },
                  {
                    "name": "TPV — Esplanada",
                    "total": 18920.15
                  }
                ]
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TopTerminalDTO"
                  }
                },
                "example": [
                  {
                    "name": "TPV — Balcão principal",
                    "total": 45230.9
                  },
                  {
                    "name": "TPV — Esplanada",
                    "total": 18920.15
                  }
                ]
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/treasury-config": {
      "get": {
        "tags": [
          "XConfigTreasury"
        ],
        "summary": "Retrieves the current treasury configuration.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/XConfigTreasuryDTO"
                },
                "example": {
                  "transferCategory": {
                    "id": 201,
                    "name": "Transferências internas",
                    "description": null,
                    "idParent": 0,
                    "pictureId": "00000000-0000-0000-0000-000000000000",
                    "thumbId": "00000000-0000-0000-0000-000000000000",
                    "hasChildren": false
                  },
                  "transferHeading": {
                    "id": 10,
                    "name": "Transferências entre contas",
                    "description": null,
                    "pictureId": "00000000-0000-0000-0000-000000000000",
                    "thumbId": "00000000-0000-0000-0000-000000000000",
                    "defaultBalanceType": 0
                  },
                  "documentsSellHeading": {
                    "id": 11,
                    "name": "71 — Vendas",
                    "description": null,
                    "pictureId": "00000000-0000-0000-0000-000000000000",
                    "thumbId": "00000000-0000-0000-0000-000000000000",
                    "defaultBalanceType": 0
                  },
                  "documentsBuyHeading": {
                    "id": 12,
                    "name": "61 — Custo das mercadorias vendidas",
                    "description": null,
                    "pictureId": "00000000-0000-0000-0000-000000000000",
                    "thumbId": "00000000-0000-0000-0000-000000000000",
                    "defaultBalanceType": 0
                  }
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/XConfigTreasuryDTO"
                },
                "example": {
                  "transferCategory": {
                    "id": 201,
                    "name": "Transferências internas",
                    "description": null,
                    "idParent": 0,
                    "pictureId": "00000000-0000-0000-0000-000000000000",
                    "thumbId": "00000000-0000-0000-0000-000000000000",
                    "hasChildren": false
                  },
                  "transferHeading": {
                    "id": 10,
                    "name": "Transferências entre contas",
                    "description": null,
                    "pictureId": "00000000-0000-0000-0000-000000000000",
                    "thumbId": "00000000-0000-0000-0000-000000000000",
                    "defaultBalanceType": 0
                  },
                  "documentsSellHeading": {
                    "id": 11,
                    "name": "71 — Vendas",
                    "description": null,
                    "pictureId": "00000000-0000-0000-0000-000000000000",
                    "thumbId": "00000000-0000-0000-0000-000000000000",
                    "defaultBalanceType": 0
                  },
                  "documentsBuyHeading": {
                    "id": 12,
                    "name": "61 — Custo das mercadorias vendidas",
                    "description": null,
                    "pictureId": "00000000-0000-0000-0000-000000000000",
                    "thumbId": "00000000-0000-0000-0000-000000000000",
                    "defaultBalanceType": 0
                  }
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/XConfigTreasuryDTO"
                },
                "example": {
                  "transferCategory": {
                    "id": 201,
                    "name": "Transferências internas",
                    "description": null,
                    "idParent": 0,
                    "pictureId": "00000000-0000-0000-0000-000000000000",
                    "thumbId": "00000000-0000-0000-0000-000000000000",
                    "hasChildren": false
                  },
                  "transferHeading": {
                    "id": 10,
                    "name": "Transferências entre contas",
                    "description": null,
                    "pictureId": "00000000-0000-0000-0000-000000000000",
                    "thumbId": "00000000-0000-0000-0000-000000000000",
                    "defaultBalanceType": 0
                  },
                  "documentsSellHeading": {
                    "id": 11,
                    "name": "71 — Vendas",
                    "description": null,
                    "pictureId": "00000000-0000-0000-0000-000000000000",
                    "thumbId": "00000000-0000-0000-0000-000000000000",
                    "defaultBalanceType": 0
                  },
                  "documentsBuyHeading": {
                    "id": 12,
                    "name": "61 — Custo das mercadorias vendidas",
                    "description": null,
                    "pictureId": "00000000-0000-0000-0000-000000000000",
                    "thumbId": "00000000-0000-0000-0000-000000000000",
                    "defaultBalanceType": 0
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "XConfigTreasury"
        ],
        "summary": "Creates a new treasury configuration.",
        "requestBody": {
          "description": "The XDPeople.Soba.Application.DTOs.Treasury.XConfigTreasury.SaveXConfigTreasuryDTO containing the configuration data to create.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveXConfigTreasuryDTO"
              },
              "example": {
                "transferCategory": 1,
                "transferHeading": 1,
                "documentsSellHeading": 2,
                "documentsBuyHeading": 3
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveXConfigTreasuryDTO"
              },
              "example": {
                "transferCategory": 1,
                "transferHeading": 1,
                "documentsSellHeading": 2,
                "documentsBuyHeading": 3
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SaveXConfigTreasuryDTO"
              },
              "example": {
                "transferCategory": 1,
                "transferHeading": 1,
                "documentsSellHeading": 2,
                "documentsBuyHeading": 3
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "XConfigTreasury"
        ],
        "summary": "Updates the existing treasury configuration.",
        "requestBody": {
          "description": "The XDPeople.Soba.Application.DTOs.Treasury.XConfigTreasury.SaveXConfigTreasuryDTO containing the updated configuration data.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveXConfigTreasuryDTO"
              },
              "example": {
                "transferCategory": 1,
                "transferHeading": 1,
                "documentsSellHeading": 2,
                "documentsBuyHeading": 3
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveXConfigTreasuryDTO"
              },
              "example": {
                "transferCategory": 1,
                "transferHeading": 1,
                "documentsSellHeading": 2,
                "documentsBuyHeading": 3
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SaveXConfigTreasuryDTO"
              },
              "example": {
                "transferCategory": 1,
                "transferHeading": 1,
                "documentsSellHeading": 2,
                "documentsBuyHeading": 3
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/treasury-dashboard/account-categories": {
      "get": {
        "tags": [
          "TreasuryDashboard"
        ],
        "summary": "Retrieves account categories chart data for the treasury dashboard.",
        "parameters": [
          {
            "name": "periodType",
            "in": "query",
            "description": "The period type to filter the data by.",
            "schema": {
              "$ref": "#/components/schemas/TreasuryDashboardPeriod"
            }
          },
          {
            "name": "level",
            "in": "query",
            "description": "The category level to retrieve.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "shouldSumSubLevels",
            "in": "query",
            "description": "Whether to sum sub-level values into the parent level.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "balanceType",
            "in": "query",
            "description": "The balance type (debit or credit). Defaults to Debit.",
            "schema": {
              "$ref": "#/components/schemas/BalanceType"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AccountCategorieChartData"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountCategorieChartData"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountCategorieChartData"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/treasury-dashboard/account-headings": {
      "get": {
        "tags": [
          "TreasuryDashboard"
        ],
        "summary": "Retrieves account headings chart data for the treasury dashboard.",
        "parameters": [
          {
            "name": "periodType",
            "in": "query",
            "description": "The period type to filter the data by.",
            "schema": {
              "$ref": "#/components/schemas/TreasuryDashboardPeriod"
            }
          },
          {
            "name": "balanceType",
            "in": "query",
            "description": "The balance type (debit or credit). Defaults to Debit.",
            "schema": {
              "$ref": "#/components/schemas/BalanceType"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TreasuryChartItem"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TreasuryChartItem"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TreasuryChartItem"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/treasury-dashboard/bills": {
      "get": {
        "tags": [
          "TreasuryDashboard"
        ],
        "summary": "Retrieves expenses and revenues filtered by type and due status.",
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "description": "The type of manual checking account to filter by.",
            "schema": {
              "$ref": "#/components/schemas/ManualCheckingAccountType"
            }
          },
          {
            "name": "dueStatus",
            "in": "query",
            "description": "The due status to filter by.",
            "schema": {
              "$ref": "#/components/schemas/DueStatus"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BillDTO"
                  }
                },
                "example": [
                  {
                    "id": 101,
                    "documentIdentifier": "FT 2026/1842",
                    "observation": "Material obra",
                    "entityName": "Materiais de Construção, Lda.",
                    "dueValue": 1240.5,
                    "dueDate": "2026-04-09T00:00:00",
                    "daysPastDue": null
                  },
                  {
                    "id": 102,
                    "documentIdentifier": "FR 2026/0091",
                    "observation": "Serviço catering",
                    "entityName": "Restaurante O Marés, Lda.",
                    "dueValue": 445.0,
                    "dueDate": "2026-03-25T00:00:00",
                    "daysPastDue": null
                  }
                ]
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BillDTO"
                  }
                },
                "example": [
                  {
                    "id": 101,
                    "documentIdentifier": "FT 2026/1842",
                    "observation": "Material obra",
                    "entityName": "Materiais de Construção, Lda.",
                    "dueValue": 1240.5,
                    "dueDate": "2026-04-09T00:00:00",
                    "daysPastDue": null
                  },
                  {
                    "id": 102,
                    "documentIdentifier": "FR 2026/0091",
                    "observation": "Serviço catering",
                    "entityName": "Restaurante O Marés, Lda.",
                    "dueValue": 445.0,
                    "dueDate": "2026-03-25T00:00:00",
                    "daysPastDue": null
                  }
                ]
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BillDTO"
                  }
                },
                "example": [
                  {
                    "id": 101,
                    "documentIdentifier": "FT 2026/1842",
                    "observation": "Material obra",
                    "entityName": "Materiais de Construção, Lda.",
                    "dueValue": 1240.5,
                    "dueDate": "2026-04-09T00:00:00",
                    "daysPastDue": null
                  },
                  {
                    "id": 102,
                    "documentIdentifier": "FR 2026/0091",
                    "observation": "Serviço catering",
                    "entityName": "Restaurante O Marés, Lda.",
                    "dueValue": 445.0,
                    "dueDate": "2026-03-25T00:00:00",
                    "daysPastDue": null
                  }
                ]
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/treasury-dashboard/business-accounts": {
      "get": {
        "tags": [
          "TreasuryDashboard"
        ],
        "summary": "Retrieves business accounts data for the treasury dashboard.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BusinessAccountDashboardItem"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BusinessAccountDashboardItem"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BusinessAccountDashboardItem"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/treasury-dashboard/cashier-flow": {
      "get": {
        "tags": [
          "TreasuryDashboard"
        ],
        "summary": "Retrieves cashier flow chart data for the treasury dashboard.",
        "parameters": [
          {
            "name": "year",
            "in": "query",
            "description": "The year to retrieve the cash flow data for.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "includePreviousYears",
            "in": "query",
            "description": "Whether to include data from previous years. Defaults to true.",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "includePendingValue",
            "in": "query",
            "description": "Whether to include pending values. Defaults to true.",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "includeNonPendingValue",
            "in": "query",
            "description": "Whether to include non-pending values. Defaults to true.",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CashFlowChart"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CashFlowChart"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CashFlowChart"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/treasury-dashboard/total": {
      "get": {
        "tags": [
          "TreasuryDashboard"
        ],
        "summary": "Retrieves the total value for a given treasury dashboard metric.",
        "parameters": [
          {
            "name": "metricType",
            "in": "query",
            "description": "The type of metric to calculate the total for.",
            "schema": {
              "$ref": "#/components/schemas/TreasuryDashboardMetricType"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "number",
                  "format": "double"
                }
              },
              "application/json": {
                "schema": {
                  "type": "number",
                  "format": "double"
                }
              },
              "text/json": {
                "schema": {
                  "type": "number",
                  "format": "double"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/user": {
      "get": {
        "tags": [
          "User"
        ],
        "summary": "Retrieves a paginated list of all users, optionally filtered by name.",
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "description": "Optional name filter.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of records per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/UserDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "groupId": 1,
                      "name": "Carla Mendes",
                      "address": null,
                      "postalCode": null,
                      "city": null,
                      "state": null,
                      "country": null,
                      "vat": null,
                      "bi": null,
                      "lastSale": null,
                      "limits": null,
                      "commission": 3.5,
                      "birthDate": null,
                      "phone": "+351 213 441 902",
                      "mobilePhone": null,
                      "email": "carla.mendes@loja-exemplo.pt",
                      "latitude": null,
                      "longitude": null,
                      "obs": null,
                      "defaultSerieId": 0,
                      "pictureId": null,
                      "thumbId": null,
                      "imagePath": null,
                      "lastLogin": null,
                      "logins": null,
                      "changePassword": null,
                      "sContaPrinterId": null,
                      "fContaPrinterId": null,
                      "defaultDocumentTypeId": null,
                      "maxDiscount": null,
                      "profile": null,
                      "defaultAccountId": 0,
                      "isAdmin": false,
                      "inactive": false,
                      "discount": null,
                      "schedulerResource": null,
                      "schedulerOwnEvents": false,
                      "fixedUser": false,
                      "supervisor": false
                    },
                    {
                      "id": 2,
                      "groupId": 2,
                      "name": "João Almeida",
                      "address": null,
                      "postalCode": null,
                      "city": null,
                      "state": null,
                      "country": null,
                      "vat": null,
                      "bi": null,
                      "lastSale": null,
                      "limits": null,
                      "commission": 5,
                      "birthDate": null,
                      "phone": "+351 912 778 003",
                      "mobilePhone": null,
                      "email": "joao.almeida@loja-exemplo.pt",
                      "latitude": null,
                      "longitude": null,
                      "obs": null,
                      "defaultSerieId": 0,
                      "pictureId": null,
                      "thumbId": null,
                      "imagePath": null,
                      "lastLogin": null,
                      "logins": null,
                      "changePassword": null,
                      "sContaPrinterId": null,
                      "fContaPrinterId": null,
                      "defaultDocumentTypeId": null,
                      "maxDiscount": null,
                      "profile": null,
                      "defaultAccountId": 0,
                      "isAdmin": true,
                      "inactive": false,
                      "discount": null,
                      "schedulerResource": null,
                      "schedulerOwnEvents": false,
                      "fixedUser": false,
                      "supervisor": false
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "groupId": 1,
                      "name": "Carla Mendes",
                      "address": null,
                      "postalCode": null,
                      "city": null,
                      "state": null,
                      "country": null,
                      "vat": null,
                      "bi": null,
                      "lastSale": null,
                      "limits": null,
                      "commission": 3.5,
                      "birthDate": null,
                      "phone": "+351 213 441 902",
                      "mobilePhone": null,
                      "email": "carla.mendes@loja-exemplo.pt",
                      "latitude": null,
                      "longitude": null,
                      "obs": null,
                      "defaultSerieId": 0,
                      "pictureId": null,
                      "thumbId": null,
                      "imagePath": null,
                      "lastLogin": null,
                      "logins": null,
                      "changePassword": null,
                      "sContaPrinterId": null,
                      "fContaPrinterId": null,
                      "defaultDocumentTypeId": null,
                      "maxDiscount": null,
                      "profile": null,
                      "defaultAccountId": 0,
                      "isAdmin": false,
                      "inactive": false,
                      "discount": null,
                      "schedulerResource": null,
                      "schedulerOwnEvents": false,
                      "fixedUser": false,
                      "supervisor": false
                    },
                    {
                      "id": 2,
                      "groupId": 2,
                      "name": "João Almeida",
                      "address": null,
                      "postalCode": null,
                      "city": null,
                      "state": null,
                      "country": null,
                      "vat": null,
                      "bi": null,
                      "lastSale": null,
                      "limits": null,
                      "commission": 5,
                      "birthDate": null,
                      "phone": "+351 912 778 003",
                      "mobilePhone": null,
                      "email": "joao.almeida@loja-exemplo.pt",
                      "latitude": null,
                      "longitude": null,
                      "obs": null,
                      "defaultSerieId": 0,
                      "pictureId": null,
                      "thumbId": null,
                      "imagePath": null,
                      "lastLogin": null,
                      "logins": null,
                      "changePassword": null,
                      "sContaPrinterId": null,
                      "fContaPrinterId": null,
                      "defaultDocumentTypeId": null,
                      "maxDiscount": null,
                      "profile": null,
                      "defaultAccountId": 0,
                      "isAdmin": true,
                      "inactive": false,
                      "discount": null,
                      "schedulerResource": null,
                      "schedulerOwnEvents": false,
                      "fixedUser": false,
                      "supervisor": false
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "groupId": 1,
                      "name": "Carla Mendes",
                      "address": null,
                      "postalCode": null,
                      "city": null,
                      "state": null,
                      "country": null,
                      "vat": null,
                      "bi": null,
                      "lastSale": null,
                      "limits": null,
                      "commission": 3.5,
                      "birthDate": null,
                      "phone": "+351 213 441 902",
                      "mobilePhone": null,
                      "email": "carla.mendes@loja-exemplo.pt",
                      "latitude": null,
                      "longitude": null,
                      "obs": null,
                      "defaultSerieId": 0,
                      "pictureId": null,
                      "thumbId": null,
                      "imagePath": null,
                      "lastLogin": null,
                      "logins": null,
                      "changePassword": null,
                      "sContaPrinterId": null,
                      "fContaPrinterId": null,
                      "defaultDocumentTypeId": null,
                      "maxDiscount": null,
                      "profile": null,
                      "defaultAccountId": 0,
                      "isAdmin": false,
                      "inactive": false,
                      "discount": null,
                      "schedulerResource": null,
                      "schedulerOwnEvents": false,
                      "fixedUser": false,
                      "supervisor": false
                    },
                    {
                      "id": 2,
                      "groupId": 2,
                      "name": "João Almeida",
                      "address": null,
                      "postalCode": null,
                      "city": null,
                      "state": null,
                      "country": null,
                      "vat": null,
                      "bi": null,
                      "lastSale": null,
                      "limits": null,
                      "commission": 5,
                      "birthDate": null,
                      "phone": "+351 912 778 003",
                      "mobilePhone": null,
                      "email": "joao.almeida@loja-exemplo.pt",
                      "latitude": null,
                      "longitude": null,
                      "obs": null,
                      "defaultSerieId": 0,
                      "pictureId": null,
                      "thumbId": null,
                      "imagePath": null,
                      "lastLogin": null,
                      "logins": null,
                      "changePassword": null,
                      "sContaPrinterId": null,
                      "fContaPrinterId": null,
                      "defaultDocumentTypeId": null,
                      "maxDiscount": null,
                      "profile": null,
                      "defaultAccountId": 0,
                      "isAdmin": true,
                      "inactive": false,
                      "discount": null,
                      "schedulerResource": null,
                      "schedulerOwnEvents": false,
                      "fixedUser": false,
                      "supervisor": false
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "User"
        ],
        "summary": "Creates a new user.",
        "requestBody": {
          "description": "User data transfer object.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserCreateDTO"
              },
              "example": {
                "id": 12,
                "groupId": 1,
                "name": "Ana Ferreira",
                "password": "P@ssw0rd123",
                "address": "Rua do Ouro, 45",
                "postalCode": "1100-060",
                "city": "Lisboa",
                "state": "Lisboa",
                "country": "PT",
                "vat": "234567890",
                "bi": null,
                "birthDate": null,
                "limits": 15,
                "commission": 5,
                "phone": "+351 213 000 200",
                "mobilePhone": "+351 918 765 432",
                "email": "ana.ferreira@example.com",
                "obs": null,
                "defaultSerieId": 1,
                "pictureId": null,
                "thumbId": null,
                "imagePath": null,
                "sContaPrinterId": null,
                "fContaPrinterId": null,
                "defaultDocumentTypeId": null,
                "maxDiscount": 20,
                "profile": null,
                "latitude": null,
                "longitude": null,
                "defaultAccountId": 1,
                "isAdmin": false,
                "inactive": false,
                "discount": true,
                "schedulerResource": null,
                "schedulerOwnEvents": false,
                "fixedUser": false,
                "supervisor": false
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UserCreateDTO"
              },
              "example": {
                "id": 12,
                "groupId": 1,
                "name": "Ana Ferreira",
                "password": "P@ssw0rd123",
                "address": "Rua do Ouro, 45",
                "postalCode": "1100-060",
                "city": "Lisboa",
                "state": "Lisboa",
                "country": "PT",
                "vat": "234567890",
                "bi": null,
                "birthDate": null,
                "limits": 15,
                "commission": 5,
                "phone": "+351 213 000 200",
                "mobilePhone": "+351 918 765 432",
                "email": "ana.ferreira@example.com",
                "obs": null,
                "defaultSerieId": 1,
                "pictureId": null,
                "thumbId": null,
                "imagePath": null,
                "sContaPrinterId": null,
                "fContaPrinterId": null,
                "defaultDocumentTypeId": null,
                "maxDiscount": 20,
                "profile": null,
                "latitude": null,
                "longitude": null,
                "defaultAccountId": 1,
                "isAdmin": false,
                "inactive": false,
                "discount": true,
                "schedulerResource": null,
                "schedulerOwnEvents": false,
                "fixedUser": false,
                "supervisor": false
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UserCreateDTO"
              },
              "example": {
                "id": 12,
                "groupId": 1,
                "name": "Ana Ferreira",
                "password": "P@ssw0rd123",
                "address": "Rua do Ouro, 45",
                "postalCode": "1100-060",
                "city": "Lisboa",
                "state": "Lisboa",
                "country": "PT",
                "vat": "234567890",
                "bi": null,
                "birthDate": null,
                "limits": 15,
                "commission": 5,
                "phone": "+351 213 000 200",
                "mobilePhone": "+351 918 765 432",
                "email": "ana.ferreira@example.com",
                "obs": null,
                "defaultSerieId": 1,
                "pictureId": null,
                "thumbId": null,
                "imagePath": null,
                "sContaPrinterId": null,
                "fContaPrinterId": null,
                "defaultDocumentTypeId": null,
                "maxDiscount": 20,
                "profile": null,
                "latitude": null,
                "longitude": null,
                "defaultAccountId": 1,
                "isAdmin": false,
                "inactive": false,
                "discount": true,
                "schedulerResource": null,
                "schedulerOwnEvents": false,
                "fixedUser": false,
                "supervisor": false
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/user-group": {
      "get": {
        "tags": [
          "UserGroup"
        ],
        "summary": "Retrieves all user groups with optional pagination.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The number of records to return per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/UserGroupDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "Caixa e vendas"
                    },
                    {
                      "id": 2,
                      "description": "Gestão e administradores"
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserGroupDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "Caixa e vendas"
                    },
                    {
                      "id": 2,
                      "description": "Gestão e administradores"
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserGroupDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "Caixa e vendas"
                    },
                    {
                      "id": 2,
                      "description": "Gestão e administradores"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/user/{id}": {
      "get": {
        "tags": [
          "User"
        ],
        "summary": "Retrieves a user by its integer ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "User identifier.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/UserDTO"
                },
                "example": {
                  "id": 1,
                  "groupId": 1,
                  "name": "Ana Ferreira",
                  "address": "Rua do Ouro, 45",
                  "postalCode": "1100-060",
                  "city": "Lisboa",
                  "state": "Lisboa",
                  "country": "PT",
                  "vat": "234567890",
                  "bi": null,
                  "lastSale": null,
                  "limits": 15,
                  "commission": 5,
                  "birthDate": null,
                  "phone": "+351 213 000 200",
                  "mobilePhone": "+351 918 765 432",
                  "email": "ana.ferreira@example.com",
                  "latitude": null,
                  "longitude": null,
                  "obs": null,
                  "defaultSerieId": 1,
                  "pictureId": null,
                  "thumbId": null,
                  "imagePath": null,
                  "lastLogin": null,
                  "logins": null,
                  "changePassword": null,
                  "sContaPrinterId": null,
                  "fContaPrinterId": null,
                  "defaultDocumentTypeId": null,
                  "maxDiscount": 20,
                  "profile": null,
                  "defaultAccountId": 1,
                  "isAdmin": false,
                  "inactive": false,
                  "discount": true,
                  "schedulerResource": null,
                  "schedulerOwnEvents": false,
                  "fixedUser": false,
                  "supervisor": false
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDTO"
                },
                "example": {
                  "id": 1,
                  "groupId": 1,
                  "name": "Ana Ferreira",
                  "address": "Rua do Ouro, 45",
                  "postalCode": "1100-060",
                  "city": "Lisboa",
                  "state": "Lisboa",
                  "country": "PT",
                  "vat": "234567890",
                  "bi": null,
                  "lastSale": null,
                  "limits": 15,
                  "commission": 5,
                  "birthDate": null,
                  "phone": "+351 213 000 200",
                  "mobilePhone": "+351 918 765 432",
                  "email": "ana.ferreira@example.com",
                  "latitude": null,
                  "longitude": null,
                  "obs": null,
                  "defaultSerieId": 1,
                  "pictureId": null,
                  "thumbId": null,
                  "imagePath": null,
                  "lastLogin": null,
                  "logins": null,
                  "changePassword": null,
                  "sContaPrinterId": null,
                  "fContaPrinterId": null,
                  "defaultDocumentTypeId": null,
                  "maxDiscount": 20,
                  "profile": null,
                  "defaultAccountId": 1,
                  "isAdmin": false,
                  "inactive": false,
                  "discount": true,
                  "schedulerResource": null,
                  "schedulerOwnEvents": false,
                  "fixedUser": false,
                  "supervisor": false
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDTO"
                },
                "example": {
                  "id": 1,
                  "groupId": 1,
                  "name": "Ana Ferreira",
                  "address": "Rua do Ouro, 45",
                  "postalCode": "1100-060",
                  "city": "Lisboa",
                  "state": "Lisboa",
                  "country": "PT",
                  "vat": "234567890",
                  "bi": null,
                  "lastSale": null,
                  "limits": 15,
                  "commission": 5,
                  "birthDate": null,
                  "phone": "+351 213 000 200",
                  "mobilePhone": "+351 918 765 432",
                  "email": "ana.ferreira@example.com",
                  "latitude": null,
                  "longitude": null,
                  "obs": null,
                  "defaultSerieId": 1,
                  "pictureId": null,
                  "thumbId": null,
                  "imagePath": null,
                  "lastLogin": null,
                  "logins": null,
                  "changePassword": null,
                  "sContaPrinterId": null,
                  "fContaPrinterId": null,
                  "defaultDocumentTypeId": null,
                  "maxDiscount": 20,
                  "profile": null,
                  "defaultAccountId": 1,
                  "isAdmin": false,
                  "inactive": false,
                  "discount": true,
                  "schedulerResource": null,
                  "schedulerOwnEvents": false,
                  "fixedUser": false,
                  "supervisor": false
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "User"
        ],
        "summary": "Updates an existing user by its integer ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "User identifier.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "User update data transfer object.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserUpdateDTO"
              },
              "example": {
                "groupId": 1,
                "name": "Ana Ferreira",
                "address": "Rua do Ouro, 45",
                "postalCode": "1100-060",
                "vat": "234567890",
                "bi": null,
                "birthDate": null,
                "limits": 15,
                "commission": 5,
                "phone": "+351 213 000 200",
                "mobilePhone": "+351 918 765 432",
                "email": "ana.ferreira@example.com",
                "obs": null,
                "defaultSerieId": 1,
                "country": "PT",
                "city": "Lisboa",
                "state": "Lisboa",
                "pictureId": null,
                "thumbId": null,
                "imagePath": null,
                "lastLogin": null,
                "logins": null,
                "changePassword": null,
                "sContaPrinterId": null,
                "fContaPrinterId": null,
                "defaultDocumentTypeId": null,
                "maxDiscount": 20,
                "profile": null,
                "latitude": null,
                "longitude": null,
                "defaultAccountId": 1,
                "isAdmin": false,
                "inactive": false,
                "discount": true,
                "schedulerResource": null,
                "schedulerOwnEvents": null,
                "fixedUser": null,
                "password": null
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UserUpdateDTO"
              },
              "example": {
                "groupId": 1,
                "name": "Ana Ferreira",
                "address": "Rua do Ouro, 45",
                "postalCode": "1100-060",
                "vat": "234567890",
                "bi": null,
                "birthDate": null,
                "limits": 15,
                "commission": 5,
                "phone": "+351 213 000 200",
                "mobilePhone": "+351 918 765 432",
                "email": "ana.ferreira@example.com",
                "obs": null,
                "defaultSerieId": 1,
                "country": "PT",
                "city": "Lisboa",
                "state": "Lisboa",
                "pictureId": null,
                "thumbId": null,
                "imagePath": null,
                "lastLogin": null,
                "logins": null,
                "changePassword": null,
                "sContaPrinterId": null,
                "fContaPrinterId": null,
                "defaultDocumentTypeId": null,
                "maxDiscount": 20,
                "profile": null,
                "latitude": null,
                "longitude": null,
                "defaultAccountId": 1,
                "isAdmin": false,
                "inactive": false,
                "discount": true,
                "schedulerResource": null,
                "schedulerOwnEvents": null,
                "fixedUser": null,
                "password": null
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UserUpdateDTO"
              },
              "example": {
                "groupId": 1,
                "name": "Ana Ferreira",
                "address": "Rua do Ouro, 45",
                "postalCode": "1100-060",
                "vat": "234567890",
                "bi": null,
                "birthDate": null,
                "limits": 15,
                "commission": 5,
                "phone": "+351 213 000 200",
                "mobilePhone": "+351 918 765 432",
                "email": "ana.ferreira@example.com",
                "obs": null,
                "defaultSerieId": 1,
                "country": "PT",
                "city": "Lisboa",
                "state": "Lisboa",
                "pictureId": null,
                "thumbId": null,
                "imagePath": null,
                "lastLogin": null,
                "logins": null,
                "changePassword": null,
                "sContaPrinterId": null,
                "fContaPrinterId": null,
                "defaultDocumentTypeId": null,
                "maxDiscount": 20,
                "profile": null,
                "latitude": null,
                "longitude": null,
                "defaultAccountId": 1,
                "isAdmin": false,
                "inactive": false,
                "discount": true,
                "schedulerResource": null,
                "schedulerOwnEvents": null,
                "fixedUser": null,
                "password": null
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "User"
        ],
        "summary": "Deletes a user by its integer ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "User identifier.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/user/{id}/digital-archives-directories": {
      "get": {
        "tags": [
          "User"
        ],
        "summary": "Gets the digital archive directory associated with a user key.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Business key identifier of the user.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "3ec17544-bb14-4b66-8bd4-05091f30bd8f",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "3ec17544-bb14-4b66-8bd4-05091f30bd8f",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "3ec17544-bb14-4b66-8bd4-05091f30bd8f",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/user/{id}/password": {
      "patch": {
        "tags": [
          "User"
        ],
        "summary": "Updates the password for a user by its integer ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "User identifier.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "Password update data transfer object.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePasswordDTO"
              },
              "example": {
                "password": "N0vaP@ssword!",
                "currentPassword": "P@ssw0rd123",
                "changePassword": 0
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePasswordDTO"
              },
              "example": {
                "password": "N0vaP@ssword!",
                "currentPassword": "P@ssw0rd123",
                "changePassword": 0
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePasswordDTO"
              },
              "example": {
                "password": "N0vaP@ssword!",
                "currentPassword": "P@ssw0rd123",
                "changePassword": 0
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/user/digital-archives-directories/root": {
      "get": {
        "tags": [
          "User"
        ],
        "summary": "Gets the root digital archive directory for users.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "463c32ad-e3f9-46bc-952c-b193e16e6e94",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "463c32ad-e3f9-46bc-952c-b193e16e6e94",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DigitalArchiveDirectoryDTO"
                },
                "example": {
                  "id": 1,
                  "name": "Documentos fiscais",
                  "path": "/documentos-fiscais",
                  "idParent": 0,
                  "folderIdentifier": "463c32ad-e3f9-46bc-952c-b193e16e6e94",
                  "caption": "Documentos fiscais",
                  "digitalArchives": [],
                  "hasChildren": true
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/user/next-id": {
      "get": {
        "tags": [
          "User"
        ],
        "summary": "Retrieves the next available user ID.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "text/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/warehouse": {
      "get": {
        "tags": [
          "Warehouse"
        ],
        "summary": "Retrieves a paginated list of all warehouses.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of records per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/WarehousesDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "Armazém central — Lisboa",
                      "allowWarningMinStock": false,
                      "allowNegativeStock": false,
                      "showNegativeStockWarning": false,
                      "autoFillBatches": false
                    },
                    {
                      "id": 3,
                      "description": "Armazém Norte — zona industrial da Maia",
                      "allowWarningMinStock": false,
                      "allowNegativeStock": false,
                      "showNegativeStockWarning": false,
                      "autoFillBatches": false
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WarehousesDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "Armazém central — Lisboa",
                      "allowWarningMinStock": false,
                      "allowNegativeStock": false,
                      "showNegativeStockWarning": false,
                      "autoFillBatches": false
                    },
                    {
                      "id": 3,
                      "description": "Armazém Norte — zona industrial da Maia",
                      "allowWarningMinStock": false,
                      "allowNegativeStock": false,
                      "showNegativeStockWarning": false,
                      "autoFillBatches": false
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/WarehousesDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "Armazém central — Lisboa",
                      "allowWarningMinStock": false,
                      "allowNegativeStock": false,
                      "showNegativeStockWarning": false,
                      "autoFillBatches": false
                    },
                    {
                      "id": 3,
                      "description": "Armazém Norte — zona industrial da Maia",
                      "allowWarningMinStock": false,
                      "allowNegativeStock": false,
                      "showNegativeStockWarning": false,
                      "autoFillBatches": false
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Warehouse"
        ],
        "summary": "Creates a new warehouse.",
        "requestBody": {
          "description": "Warehouse data transfer object.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WarehousesDTO"
              },
              "example": {
                "id": 1,
                "description": "Armazem Principal",
                "allowWarningMinStock": true,
                "allowNegativeStock": false,
                "showNegativeStockWarning": true,
                "autoFillBatches": false
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/WarehousesDTO"
              },
              "example": {
                "id": 1,
                "description": "Armazem Principal",
                "allowWarningMinStock": true,
                "allowNegativeStock": false,
                "showNegativeStockWarning": true,
                "autoFillBatches": false
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/WarehousesDTO"
              },
              "example": {
                "id": 1,
                "description": "Armazem Principal",
                "allowWarningMinStock": true,
                "allowNegativeStock": false,
                "showNegativeStockWarning": true,
                "autoFillBatches": false
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/WarehousesDTO"
                },
                "example": {
                  "id": 1,
                  "description": "Armazem Principal",
                  "allowWarningMinStock": true,
                  "allowNegativeStock": false,
                  "showNegativeStockWarning": true,
                  "autoFillBatches": false
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WarehousesDTO"
                },
                "example": {
                  "id": 1,
                  "description": "Armazem Principal",
                  "allowWarningMinStock": true,
                  "allowNegativeStock": false,
                  "showNegativeStockWarning": true,
                  "autoFillBatches": false
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/WarehousesDTO"
                },
                "example": {
                  "id": 1,
                  "description": "Armazem Principal",
                  "allowWarningMinStock": true,
                  "allowNegativeStock": false,
                  "showNegativeStockWarning": true,
                  "autoFillBatches": false
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/warehouse/{id}": {
      "get": {
        "tags": [
          "Warehouse"
        ],
        "summary": "Retrieves a warehouse by its integer ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Warehouse identifier.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/WarehousesDTO"
                },
                "example": {
                  "id": 1,
                  "description": "Armazem Principal",
                  "allowWarningMinStock": true,
                  "allowNegativeStock": false,
                  "showNegativeStockWarning": true,
                  "autoFillBatches": false
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WarehousesDTO"
                },
                "example": {
                  "id": 1,
                  "description": "Armazem Principal",
                  "allowWarningMinStock": true,
                  "allowNegativeStock": false,
                  "showNegativeStockWarning": true,
                  "autoFillBatches": false
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/WarehousesDTO"
                },
                "example": {
                  "id": 1,
                  "description": "Armazem Principal",
                  "allowWarningMinStock": true,
                  "allowNegativeStock": false,
                  "showNegativeStockWarning": true,
                  "autoFillBatches": false
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Warehouse"
        ],
        "summary": "Updates an existing warehouse.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Warehouse identifier.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "Warehouse data transfer object.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WarehousesUpdateDTO"
              },
              "example": {
                "description": "Armazem Principal",
                "allowWarningMinStock": true,
                "allowNegativeStock": false,
                "showNegativeStockWarning": true,
                "autoFillBatches": false
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/WarehousesUpdateDTO"
              },
              "example": {
                "description": "Armazem Principal",
                "allowWarningMinStock": true,
                "allowNegativeStock": false,
                "showNegativeStockWarning": true,
                "autoFillBatches": false
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/WarehousesUpdateDTO"
              },
              "example": {
                "description": "Armazem Principal",
                "allowWarningMinStock": true,
                "allowNegativeStock": false,
                "showNegativeStockWarning": true,
                "autoFillBatches": false
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Warehouse"
        ],
        "summary": "Deletes a warehouse by its integer ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Warehouse identifier.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/warehouse/next-id": {
      "get": {
        "tags": [
          "Warehouse"
        ],
        "summary": "Retrieves the next available warehouse ID.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              },
              "text/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/xconfig": {
      "get": {
        "tags": [
          "XConfig"
        ],
        "summary": "Retrieves the current general configuration.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/XConfigDTO"
                },
                "example": {
                  "id": 1,
                  "regionId": 1,
                  "taxCountryRegion": "PT",
                  "printer1": null,
                  "printer2": null,
                  "printer3": null,
                  "printer4": null,
                  "printer5": null,
                  "printer6": null,
                  "printer7": null,
                  "printer8": null,
                  "printer9": null,
                  "printer10": null,
                  "printer11": null,
                  "printer12": null,
                  "printer13": null,
                  "printer14": null,
                  "printer15": null,
                  "printer16": null,
                  "printer17": null,
                  "printer18": null,
                  "printer19": null,
                  "printer20": null,
                  "printer21": null,
                  "printer22": null,
                  "printer23": null
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/XConfigDTO"
                },
                "example": {
                  "id": 1,
                  "regionId": 1,
                  "taxCountryRegion": "PT",
                  "printer1": null,
                  "printer2": null,
                  "printer3": null,
                  "printer4": null,
                  "printer5": null,
                  "printer6": null,
                  "printer7": null,
                  "printer8": null,
                  "printer9": null,
                  "printer10": null,
                  "printer11": null,
                  "printer12": null,
                  "printer13": null,
                  "printer14": null,
                  "printer15": null,
                  "printer16": null,
                  "printer17": null,
                  "printer18": null,
                  "printer19": null,
                  "printer20": null,
                  "printer21": null,
                  "printer22": null,
                  "printer23": null
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/XConfigDTO"
                },
                "example": {
                  "id": 1,
                  "regionId": 1,
                  "taxCountryRegion": "PT",
                  "printer1": null,
                  "printer2": null,
                  "printer3": null,
                  "printer4": null,
                  "printer5": null,
                  "printer6": null,
                  "printer7": null,
                  "printer8": null,
                  "printer9": null,
                  "printer10": null,
                  "printer11": null,
                  "printer12": null,
                  "printer13": null,
                  "printer14": null,
                  "printer15": null,
                  "printer16": null,
                  "printer17": null,
                  "printer18": null,
                  "printer19": null,
                  "printer20": null,
                  "printer21": null,
                  "printer22": null,
                  "printer23": null
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/xconfig-misc": {
      "get": {
        "tags": [
          "XConfigMisc"
        ],
        "summary": "Retrieves the miscellaneous configuration settings.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/XConfigMiscDTO"
                },
                "example": {
                  "onEntitySaveBehavior": 0,
                  "visibleTable1": true,
                  "visibleTable2": true,
                  "visibleTable3": false,
                  "nameTable1": "Tabela 1",
                  "nameTable2": "Tabela 2",
                  "nameTable3": "Tabela 3",
                  "itemContractDocumentType": null
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/XConfigMiscDTO"
                },
                "example": {
                  "onEntitySaveBehavior": 0,
                  "visibleTable1": true,
                  "visibleTable2": true,
                  "visibleTable3": false,
                  "nameTable1": "Tabela 1",
                  "nameTable2": "Tabela 2",
                  "nameTable3": "Tabela 3",
                  "itemContractDocumentType": null
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/XConfigMiscDTO"
                },
                "example": {
                  "onEntitySaveBehavior": 0,
                  "visibleTable1": true,
                  "visibleTable2": true,
                  "visibleTable3": false,
                  "nameTable1": "Tabela 1",
                  "nameTable2": "Tabela 2",
                  "nameTable3": "Tabela 3",
                  "itemContractDocumentType": null
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "XConfigMisc"
        ],
        "summary": "Updates the miscellaneous configuration settings.",
        "requestBody": {
          "description": "The updated miscellaneous configuration data.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/XConfigMiscDTO"
              },
              "example": {
                "onEntitySaveBehavior": 0,
                "visibleTable1": true,
                "visibleTable2": true,
                "visibleTable3": false,
                "nameTable1": "Tabela Livre 1",
                "nameTable2": "Tabela Livre 2",
                "nameTable3": "Tabela Livre 3",
                "itemContractDocumentType": null
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/XConfigMiscDTO"
              },
              "example": {
                "onEntitySaveBehavior": 0,
                "visibleTable1": true,
                "visibleTable2": true,
                "visibleTable3": false,
                "nameTable1": "Tabela Livre 1",
                "nameTable2": "Tabela Livre 2",
                "nameTable3": "Tabela Livre 3",
                "itemContractDocumentType": null
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/XConfigMiscDTO"
              },
              "example": {
                "onEntitySaveBehavior": 0,
                "visibleTable1": true,
                "visibleTable2": true,
                "visibleTable3": false,
                "nameTable1": "Tabela Livre 1",
                "nameTable2": "Tabela Livre 2",
                "nameTable3": "Tabela Livre 3",
                "itemContractDocumentType": null
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/xconfig-region": {
      "get": {
        "tags": [
          "XConfigRegion"
        ],
        "summary": "Retrieves a paginated list of region configurations.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of records per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/XConfigRegionDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "keyId": "PT-11",
                      "description": "Lisboa Portugal"
                    },
                    {
                      "id": 2,
                      "keyId": "PT-13",
                      "description": "Porto Portugal"
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/XConfigRegionDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "keyId": "PT-11",
                      "description": "Lisboa Portugal"
                    },
                    {
                      "id": 2,
                      "keyId": "PT-13",
                      "description": "Porto Portugal"
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/XConfigRegionDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "keyId": "PT-11",
                      "description": "Lisboa Portugal"
                    },
                    {
                      "id": 2,
                      "keyId": "PT-13",
                      "description": "Porto Portugal"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/xconfig-taxes": {
      "get": {
        "tags": [
          "XConfigTaxes"
        ],
        "summary": "Retrieves all tax configurations with optional pagination.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The number of records to return per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/XConfigTaxesDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "IVA — taxa normal",
                      "tax": 23,
                      "documentDescription": "Imposto sobre o valor acrescentado (taxa normal)",
                      "taxCode": "NOR",
                      "taxType": "IVA",
                      "exemptionKeyId": ""
                    },
                    {
                      "id": 2,
                      "description": "IVA — taxa intermédia",
                      "tax": 13,
                      "documentDescription": "IVA à taxa intermédia (restauração e similares)",
                      "taxCode": "INT",
                      "taxType": "IVA",
                      "exemptionKeyId": "M07"
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/XConfigTaxesDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "IVA — taxa normal",
                      "tax": 23,
                      "documentDescription": "Imposto sobre o valor acrescentado (taxa normal)",
                      "taxCode": "NOR",
                      "taxType": "IVA",
                      "exemptionKeyId": ""
                    },
                    {
                      "id": 2,
                      "description": "IVA — taxa intermédia",
                      "tax": 13,
                      "documentDescription": "IVA à taxa intermédia (restauração e similares)",
                      "taxCode": "INT",
                      "taxType": "IVA",
                      "exemptionKeyId": "M07"
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/XConfigTaxesDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "description": "IVA — taxa normal",
                      "tax": 23,
                      "documentDescription": "Imposto sobre o valor acrescentado (taxa normal)",
                      "taxCode": "NOR",
                      "taxType": "IVA",
                      "exemptionKeyId": ""
                    },
                    {
                      "id": 2,
                      "description": "IVA — taxa intermédia",
                      "tax": 13,
                      "documentDescription": "IVA à taxa intermédia (restauração e similares)",
                      "taxCode": "INT",
                      "taxType": "IVA",
                      "exemptionKeyId": "M07"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/xconfig-taxes-code": {
      "get": {
        "tags": [
          "XConfigTaxesCode"
        ],
        "summary": "Retrieves all tax codes with optional pagination and region filtering.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The number of records to return per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "regionId",
            "in": "query",
            "description": "Optional region identifier to filter tax codes by.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/XConfigTaxesCodeDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 10,
                      "description": "Código fiscal — operações nacionais B2B",
                      "xConfigTaxesGroups": []
                    },
                    {
                      "id": 11,
                      "description": "Código fiscal — exportação UE",
                      "xConfigTaxesGroups": []
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/XConfigTaxesCodeDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 10,
                      "description": "Código fiscal — operações nacionais B2B",
                      "xConfigTaxesGroups": []
                    },
                    {
                      "id": 11,
                      "description": "Código fiscal — exportação UE",
                      "xConfigTaxesGroups": []
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/XConfigTaxesCodeDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 10,
                      "description": "Código fiscal — operações nacionais B2B",
                      "xConfigTaxesGroups": []
                    },
                    {
                      "id": 11,
                      "description": "Código fiscal — exportação UE",
                      "xConfigTaxesGroups": []
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/xd-free01": {
      "get": {
        "tags": [
          "XDfree"
        ],
        "summary": "Retrieves all XDfree01 records with optional pagination.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The number of records to return per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/XDfreeOneDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "keyId": "XF1-LOTE-A",
                      "name": "Armazém secundário — Zona Industrial"
                    },
                    {
                      "id": 2,
                      "keyId": "XF1-LOTE-B",
                      "name": "Ponto de recolha — Mercado Municipal"
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/XDfreeOneDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "keyId": "XF1-LOTE-A",
                      "name": "Armazém secundário — Zona Industrial"
                    },
                    {
                      "id": 2,
                      "keyId": "XF1-LOTE-B",
                      "name": "Ponto de recolha — Mercado Municipal"
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/XDfreeOneDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 1,
                      "keyId": "XF1-LOTE-A",
                      "name": "Armazém secundário — Zona Industrial"
                    },
                    {
                      "id": 2,
                      "keyId": "XF1-LOTE-B",
                      "name": "Ponto de recolha — Mercado Municipal"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "XDfree"
        ],
        "summary": "Creates a new XDfree01 record. The Id is generated by the database (auto-increment).\r\nUse the returned Id as extraFieldRegistryId when creating documents with baseTypeName \"XDfree01\".",
        "requestBody": {
          "description": "KeyId (unique) and Name for the new record.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateXDfreeRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateXDfreeRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateXDfreeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/XDfreeOneDTO"
                },
                "example": {
                  "id": 1,
                  "keyId": "XDF01-001",
                  "name": "Campo livre 1 - Exemplo"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/XDfreeOneDTO"
                },
                "example": {
                  "id": 1,
                  "keyId": "XDF01-001",
                  "name": "Campo livre 1 - Exemplo"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/XDfreeOneDTO"
                },
                "example": {
                  "id": 1,
                  "keyId": "XDF01-001",
                  "name": "Campo livre 1 - Exemplo"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/xd-free01/{id}": {
      "get": {
        "tags": [
          "XDfree"
        ],
        "summary": "Retrieves an XDfree01 record by its identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique identifier of the XDfree01 record to retrieve.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/XDfreeOneDTO"
                },
                "example": {
                  "id": 1,
                  "keyId": "XDF01-001",
                  "name": "Campo livre 1 - Exemplo"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/XDfreeOneDTO"
                },
                "example": {
                  "id": 1,
                  "keyId": "XDF01-001",
                  "name": "Campo livre 1 - Exemplo"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/XDfreeOneDTO"
                },
                "example": {
                  "id": 1,
                  "keyId": "XDF01-001",
                  "name": "Campo livre 1 - Exemplo"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/xd-free02": {
      "get": {
        "tags": [
          "XDfree"
        ],
        "summary": "Retrieves all XDfree02 records with optional pagination.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The number of records to return per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/XDfreeTwoDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 10,
                      "keyId": "XF2-RUTA-N",
                      "name": "Rota de distribuição Norte"
                    },
                    {
                      "id": 11,
                      "keyId": "XF2-RUTA-S",
                      "name": "Rota de distribuição Sul"
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/XDfreeTwoDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 10,
                      "keyId": "XF2-RUTA-N",
                      "name": "Rota de distribuição Norte"
                    },
                    {
                      "id": 11,
                      "keyId": "XF2-RUTA-S",
                      "name": "Rota de distribuição Sul"
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/XDfreeTwoDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 10,
                      "keyId": "XF2-RUTA-N",
                      "name": "Rota de distribuição Norte"
                    },
                    {
                      "id": 11,
                      "keyId": "XF2-RUTA-S",
                      "name": "Rota de distribuição Sul"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "XDfree"
        ],
        "summary": "Creates a new XDfree02 record. The Id is generated by the database (auto-increment).\r\nUse the returned Id as extraFieldRegistryId when creating documents with baseTypeName \"XDfree02\".",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateXDfreeRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateXDfreeRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateXDfreeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/XDfreeTwoDTO"
                },
                "example": {
                  "id": 1,
                  "keyId": "XDF02-001",
                  "name": "Campo livre 2 - Exemplo"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/XDfreeTwoDTO"
                },
                "example": {
                  "id": 1,
                  "keyId": "XDF02-001",
                  "name": "Campo livre 2 - Exemplo"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/XDfreeTwoDTO"
                },
                "example": {
                  "id": 1,
                  "keyId": "XDF02-001",
                  "name": "Campo livre 2 - Exemplo"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/xd-free02/{id}": {
      "get": {
        "tags": [
          "XDfree"
        ],
        "summary": "Retrieves an XDfree02 record by its identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique identifier of the XDfree02 record to retrieve.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/XDfreeTwoDTO"
                },
                "example": {
                  "id": 1,
                  "keyId": "XDF02-001",
                  "name": "Campo livre 2 - Exemplo"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/XDfreeTwoDTO"
                },
                "example": {
                  "id": 1,
                  "keyId": "XDF02-001",
                  "name": "Campo livre 2 - Exemplo"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/XDfreeTwoDTO"
                },
                "example": {
                  "id": 1,
                  "keyId": "XDF02-001",
                  "name": "Campo livre 2 - Exemplo"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/xd-free03": {
      "get": {
        "tags": [
          "XDfree"
        ],
        "summary": "Retrieves all XDfree03 records with optional pagination.",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number (1-based).",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The number of records to return per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/XDfreeThreeDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 20,
                      "keyId": "XF3-PROJ-2026",
                      "name": "Projeto expansão lojas 2026"
                    },
                    {
                      "id": 21,
                      "keyId": "XF3-PROJ-MANUT",
                      "name": "Manutenção preventiva — equipamentos"
                    }
                  ]
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/XDfreeThreeDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 20,
                      "keyId": "XF3-PROJ-2026",
                      "name": "Projeto expansão lojas 2026"
                    },
                    {
                      "id": 21,
                      "keyId": "XF3-PROJ-MANUT",
                      "name": "Manutenção preventiva — equipamentos"
                    }
                  ]
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/XDfreeThreeDTOEntityListingDTO"
                },
                "example": {
                  "totalCount": 2,
                  "pageSize": 20,
                  "currentPage": 1,
                  "totalPages": 1,
                  "data": [
                    {
                      "id": 20,
                      "keyId": "XF3-PROJ-2026",
                      "name": "Projeto expansão lojas 2026"
                    },
                    {
                      "id": 21,
                      "keyId": "XF3-PROJ-MANUT",
                      "name": "Manutenção preventiva — equipamentos"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "XDfree"
        ],
        "summary": "Creates a new XDfree03 record. The Id is generated by the database (auto-increment).\r\nUse the returned Id as extraFieldRegistryId when creating documents with baseTypeName \"XDfree03\".",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateXDfreeRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateXDfreeRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateXDfreeRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/XDfreeThreeDTO"
                },
                "example": {
                  "id": 1,
                  "keyId": "XDF03-001",
                  "name": "Campo livre 3 - Exemplo"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/XDfreeThreeDTO"
                },
                "example": {
                  "id": 1,
                  "keyId": "XDF03-001",
                  "name": "Campo livre 3 - Exemplo"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/XDfreeThreeDTO"
                },
                "example": {
                  "id": 1,
                  "keyId": "XDF03-001",
                  "name": "Campo livre 3 - Exemplo"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    },
    "/gateway/xd-free03/{id}": {
      "get": {
        "tags": [
          "XDfree"
        ],
        "summary": "Retrieves an XDfree03 record by its identifier.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique identifier of the XDfree03 record to retrieve.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/XDfreeThreeDTO"
                },
                "example": {
                  "id": 1,
                  "keyId": "XDF03-001",
                  "name": "Campo livre 3 - Exemplo"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/XDfreeThreeDTO"
                },
                "example": {
                  "id": 1,
                  "keyId": "XDF03-001",
                  "name": "Campo livre 3 - Exemplo"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/XDfreeThreeDTO"
                },
                "example": {
                  "id": 1,
                  "keyId": "XDF03-001",
                  "name": "Campo livre 3 - Exemplo"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpResponseError"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AccountCategorieChartData": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TreasuryChartItem"
            },
            "nullable": true
          },
          "maxLevel": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "AccountCategoryDTO": {
        "required": [
          "description",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Id.",
            "format": "int32"
          },
          "name": {
            "maxLength": 50,
            "minLength": 1,
            "type": "string",
            "description": "Name."
          },
          "description": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string",
            "description": "Description."
          },
          "idParent": {
            "type": "integer",
            "description": "Parent Id.",
            "format": "int32"
          },
          "pictureId": {
            "type": "string",
            "description": "Picture Id.",
            "format": "uuid"
          },
          "thumbId": {
            "type": "string",
            "description": "Thumb Id.",
            "format": "uuid"
          },
          "hasChildren": {
            "type": "boolean",
            "description": "Whether this category has children."
          }
        },
        "additionalProperties": false,
        "description": "Account category."
      },
      "AccountCategoryListDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Id.",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "Name.",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Description.",
            "nullable": true
          },
          "idParent": {
            "type": "integer",
            "description": "Parent Id.",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Account category list item."
      },
      "AccountCategoryListDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccountCategoryListDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "AccountCategoryUpdateDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name.",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Description.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Partial account category update request. Omitted fields keep their stored values."
      },
      "AccountHeadingDTO": {
        "required": [
          "description",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Id.",
            "format": "int32"
          },
          "name": {
            "maxLength": 50,
            "minLength": 1,
            "type": "string",
            "description": "Name."
          },
          "description": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string",
            "description": "Description."
          },
          "pictureId": {
            "type": "string",
            "description": "Picture Id.",
            "format": "uuid"
          },
          "thumbId": {
            "type": "string",
            "description": "Thumb Id.",
            "format": "uuid"
          },
          "defaultBalanceType": {
            "$ref": "#/components/schemas/BalanceType"
          }
        },
        "additionalProperties": false,
        "description": "Account heading."
      },
      "AccountHeadingListDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Id.",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "Name.",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Description.",
            "nullable": true
          },
          "defaultBalanceType": {
            "type": "string",
            "description": "Default Balance Type.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Account heading list item."
      },
      "AccountHeadingListDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccountHeadingListDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "AccountHeadingUpdateDTO": {
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 50,
            "type": "string",
            "description": "Name.",
            "nullable": true
          },
          "description": {
            "maxLength": 255,
            "type": "string",
            "description": "Description.",
            "nullable": true
          },
          "pictureId": {
            "type": "string",
            "description": "Picture Id.",
            "format": "uuid",
            "nullable": true
          },
          "thumbId": {
            "type": "string",
            "description": "Thumb Id.",
            "format": "uuid",
            "nullable": true
          },
          "defaultBalanceType": {
            "$ref": "#/components/schemas/BalanceType"
          }
        },
        "additionalProperties": false,
        "description": "Partial account heading update request. Omitted fields keep their stored values."
      },
      "AccountSessionFilterDateType": {
        "enum": [
          0,
          1
        ],
        "type": "integer",
        "format": "int32"
      },
      "AccountType": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AccountTypeDTO": {
        "required": [
          "description"
        ],
        "type": "object",
        "properties": {
          "id": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Id.",
            "format": "int32"
          },
          "description": {
            "maxLength": 50,
            "minLength": 1,
            "type": "string",
            "description": "Description."
          }
        },
        "additionalProperties": false,
        "description": "Account type."
      },
      "AccountTypeDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccountTypeDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "AccountTypeUpdateDTO": {
        "required": [
          "description"
        ],
        "type": "object",
        "properties": {
          "description": {
            "maxLength": 50,
            "minLength": 1,
            "type": "string",
            "description": "Description."
          }
        },
        "additionalProperties": false,
        "description": "Account type update request."
      },
      "Address": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "line1": {
            "type": "string",
            "nullable": true
          },
          "postalCode": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "stateOrProvince": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "type": "string",
            "nullable": true
          },
          "state": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AddressTypeDTO": {
        "type": "object",
        "properties": {
          "id": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Address type identifier.",
            "format": "int32"
          },
          "description": {
            "type": "string",
            "description": "Address type description.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Address type configuration."
      },
      "AddressTypeDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AddressTypeDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "AddressTypeUpdateDTO": {
        "required": [
          "description"
        ],
        "type": "object",
        "properties": {
          "description": {
            "minLength": 1,
            "type": "string",
            "description": "Address type description."
          }
        },
        "additionalProperties": false,
        "description": "Address type update request."
      },
      "AdvancedDiscountAppliesTo": {
        "enum": [
          0,
          1
        ],
        "type": "integer",
        "format": "int32"
      },
      "AdvancedDiscountDTOBase": {
        "required": [
          "description"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Gets or sets the unique identifier of the advanced discount.",
            "nullable": true
          },
          "active": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether the discount is active."
          },
          "description": {
            "minLength": 1,
            "type": "string",
            "description": "Gets or sets the description of the discount."
          },
          "includedTerminals": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Gets or sets the array of terminal IDs where this discount is included.",
            "nullable": true
          },
          "discountOrder": {
            "type": "integer",
            "description": "Gets or sets the order in which the discount is applied.",
            "format": "int32",
            "nullable": true
          },
          "cumulative": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether the discount is cumulative with other discounts."
          },
          "startDate": {
            "type": "string",
            "description": "Gets or sets the start date of the discount validity period.",
            "format": "date-time",
            "nullable": true
          },
          "endDate": {
            "type": "string",
            "description": "Gets or sets the end date of the discount validity period.",
            "format": "date-time",
            "nullable": true
          },
          "target": {
            "type": "string",
            "description": "Gets or sets the target identifier for the discount.",
            "nullable": true
          },
          "appliedTo": {
            "$ref": "#/components/schemas/AdvancedDiscountAppliesTo"
          },
          "weekDaysAvailability": {
            "$ref": "#/components/schemas/WeekDay"
          },
          "targetObject": {
            "$ref": "#/components/schemas/AdvancedFilterCriteria"
          },
          "templateType": {
            "$ref": "#/components/schemas/TemplateType"
          }
        },
        "additionalProperties": false,
        "description": "Base DTO for advanced discount configurations."
      },
      "AdvancedDiscountListDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Gets or sets the unique identifier of the advanced discount.",
            "nullable": true
          },
          "active": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether the discount is active."
          },
          "description": {
            "type": "string",
            "description": "Gets or sets the description of the discount.",
            "nullable": true
          },
          "discountOrder": {
            "type": "integer",
            "description": "Gets or sets the order in which the discount is applied.",
            "format": "int32",
            "nullable": true
          },
          "cumulative": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether the discount is cumulative.",
            "nullable": true
          },
          "startDate": {
            "type": "string",
            "description": "Gets or sets the start date of the discount validity period.",
            "format": "date-time",
            "nullable": true
          },
          "endDate": {
            "type": "string",
            "description": "Gets or sets the end date of the discount validity period.",
            "format": "date-time",
            "nullable": true
          },
          "templateType": {
            "$ref": "#/components/schemas/TemplateType"
          }
        },
        "additionalProperties": false,
        "description": "DTO for listing advanced discounts in entity listings."
      },
      "AdvancedDiscountListDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AdvancedDiscountListDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "AdvancedFilterCriteria": {
        "type": "object",
        "properties": {
          "logicOperator": {
            "type": "string",
            "nullable": true
          },
          "criterias": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AdvancedFilterCriteria"
            },
            "nullable": true
          },
          "variableName": {
            "type": "string",
            "nullable": true
          },
          "operation": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "string",
            "nullable": true
          },
          "leftValue": {
            "type": "string",
            "nullable": true
          },
          "valueList": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "functionName": {
            "type": "string",
            "nullable": true
          },
          "notOperator": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "AmountDiscriminationType": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "AssetsType": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7
        ],
        "type": "integer",
        "format": "int32"
      },
      "AssignCovenantLogLineDTO": {
        "type": "object",
        "properties": {
          "entityKeyId": {
            "type": "string",
            "description": "Entity Key Id.",
            "nullable": true
          },
          "entityName": {
            "type": "string",
            "description": "Entity Name.",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/AssignmentStatus"
          },
          "errorMessage": {
            "type": "string",
            "description": "Error Message.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Assign covenant log line."
      },
      "AssignCovenantToEntitiesRequestDTO": {
        "type": "object",
        "properties": {
          "entityKeyIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Entity Key Ids.",
            "nullable": true
          },
          "assignment": {
            "$ref": "#/components/schemas/CovenantAssignmentDTO"
          }
        },
        "additionalProperties": false,
        "description": "Assign covenant to entities request."
      },
      "AssignCovenantToEntitiesResponseDTO": {
        "type": "object",
        "properties": {
          "totalSuccess": {
            "type": "integer",
            "description": "Total successful assignments.",
            "format": "int32"
          },
          "totalFailed": {
            "type": "integer",
            "description": "Total failed assignments.",
            "format": "int32"
          },
          "logLines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AssignCovenantLogLineDTO"
            },
            "description": "Log lines.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Assign covenant to entities response."
      },
      "AssignedEntityInfoDTO": {
        "type": "object",
        "properties": {
          "entityKeyId": {
            "type": "string",
            "description": "Entity Key Id.",
            "nullable": true
          },
          "entityName": {
            "type": "string",
            "description": "Entity Name.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Assigned entity information."
      },
      "AssignmentStatus": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "AutoGenerationBudgetRequestDTO": {
        "type": "object",
        "properties": {
          "generationMode": {
            "$ref": "#/components/schemas/BudgetGenerationMode"
          },
          "growthRate": {
            "type": "number",
            "description": "Gets or sets the overall growth rate percentage applied to the budget.",
            "format": "double"
          },
          "expensesGrowthRate": {
            "type": "number",
            "description": "Gets or sets the growth rate percentage applied to expenses.",
            "format": "double"
          },
          "revenuesGrowthRate": {
            "type": "number",
            "description": "Gets or sets the growth rate percentage applied to revenues.",
            "format": "double"
          },
          "baseYear": {
            "type": "integer",
            "description": "Gets or sets the base year used as reference for generation. Null if not applicable.",
            "format": "int32",
            "nullable": true
          },
          "targetYear": {
            "type": "integer",
            "description": "Gets or sets the target year for the generated budget.",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "DTO for requesting automatic budget generation."
      },
      "BalanceType": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "BankAccountDTO": {
        "type": "object",
        "properties": {
          "bankName": {
            "maxLength": 255,
            "type": "string",
            "description": "Bank Name.",
            "nullable": true
          },
          "entityKeyId": {
            "type": "string",
            "description": "Entity Key Id.",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Description.",
            "nullable": true
          },
          "accountType": {
            "type": "integer",
            "description": "Account Type.",
            "format": "int32"
          },
          "agency": {
            "maxLength": 20,
            "type": "string",
            "description": "Agency.",
            "nullable": true
          },
          "bankAccountType": {
            "$ref": "#/components/schemas/BankAccountType"
          },
          "bankAccountNumber": {
            "maxLength": 20,
            "type": "string",
            "description": "Bank Account Number.",
            "nullable": true
          },
          "pix": {
            "type": "string",
            "description": "PIX key.",
            "nullable": true
          },
          "iban": {
            "maxLength": 50,
            "type": "string",
            "description": "IBAN.",
            "nullable": true
          },
          "swiftCode": {
            "maxLength": 20,
            "type": "string",
            "description": "SWIFT Code.",
            "nullable": true
          },
          "remittanceAccount": {
            "type": "boolean",
            "description": "Whether this is a remittance account."
          },
          "suffix": {
            "type": "integer",
            "description": "Suffix.",
            "format": "int32",
            "nullable": true
          },
          "suffixStandard58": {
            "type": "integer",
            "description": "Suffix Standard 58.",
            "format": "int32",
            "nullable": true
          },
          "defaultPayments": {
            "type": "boolean",
            "description": "Whether this is the default payments account."
          }
        },
        "additionalProperties": false,
        "description": "Bank account information."
      },
      "BankAccountType": {
        "enum": [
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "BarcodeType": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5
        ],
        "type": "integer",
        "format": "int32"
      },
      "BatchTypeDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Batch type identifier.",
            "format": "int32"
          },
          "description": {
            "type": "string",
            "description": "Batch type description.",
            "nullable": true
          },
          "hasExpirationDate": {
            "type": "boolean",
            "description": "Whether batches of this type have an expiration date."
          },
          "hasProductionDate": {
            "type": "boolean",
            "description": "Whether batches of this type have a production date."
          },
          "minimumExpirationDays": {
            "type": "integer",
            "description": "Minimum expiration days for alerts.",
            "format": "int32",
            "nullable": true
          },
          "movementType": {
            "type": "integer",
            "description": "Stock movement type.",
            "format": "int32",
            "nullable": true
          },
          "movementSugestion": {
            "type": "integer",
            "description": "Movement suggestion type.",
            "format": "int32",
            "nullable": true
          },
          "expirationOption": {
            "type": "integer",
            "description": "Expiration option setting.",
            "format": "int32"
          },
          "useAutoFill": {
            "type": "boolean",
            "description": "Whether to use auto-fill for batch data."
          }
        },
        "additionalProperties": false,
        "description": "Batch type configuration."
      },
      "BatchTypeDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BatchTypeDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "BillDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Gets or sets the unique identifier of the bill.",
            "format": "int32"
          },
          "documentIdentifier": {
            "type": "string",
            "description": "Gets or sets the document identifier associated with the bill.",
            "nullable": true
          },
          "observation": {
            "type": "string",
            "description": "Gets or sets the observation or notes for the bill.",
            "nullable": true
          },
          "entityName": {
            "type": "string",
            "description": "Gets or sets the name of the entity (customer/supplier) associated with the bill.",
            "nullable": true
          },
          "dueValue": {
            "type": "number",
            "description": "Gets or sets the outstanding due value of the bill.",
            "format": "double"
          },
          "dueDate": {
            "type": "string",
            "description": "Gets or sets the due date of the bill.",
            "format": "date-time"
          },
          "daysPastDue": {
            "type": "integer",
            "description": "Gets or sets the number of days past the due date. Null if not yet overdue.",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a bill (receivable or payable) in the checking account system."
      },
      "BlindCloseConfigDTO": {
        "type": "object",
        "properties": {
          "active": {
            "type": "boolean",
            "description": "Whether blind close is active."
          },
          "triesLimit": {
            "type": "integer",
            "description": "Maximum number of tries.",
            "format": "int32"
          },
          "margin": {
            "type": "number",
            "description": "Allowed margin for discrepancies.",
            "format": "double"
          },
          "shouldBlockCashier": {
            "type": "boolean",
            "description": "Whether to block the cashier on limit exceeded."
          }
        },
        "additionalProperties": false,
        "description": "Blind close configuration for cashier sessions."
      },
      "BudgetDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Gets or sets the unique identifier.",
            "format": "int32"
          },
          "budgetId": {
            "type": "integer",
            "description": "Gets or sets the budget identifier.",
            "format": "int32"
          },
          "year": {
            "type": "integer",
            "description": "Gets or sets the budget year.",
            "format": "int32"
          },
          "entityId": {
            "type": "integer",
            "description": "Gets or sets the associated entity identifier.",
            "format": "int32"
          },
          "entityName": {
            "type": "string",
            "description": "Gets or sets the name of the associated entity.",
            "nullable": true
          },
          "entityDescription": {
            "type": "string",
            "description": "Gets or sets the description of the associated entity.",
            "nullable": true
          },
          "monthlyAmounts": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/BudgetMonthlyAmountsDTO"
            },
            "description": "Gets or sets the monthly amounts, keyed by month number.",
            "nullable": true
          },
          "secundaryId": {
            "type": "string",
            "description": "Gets or sets the secondary identifier.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "DTO representing a budget record with monthly amounts."
      },
      "BudgetDetailDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Gets or sets the unique identifier of the budget detail.",
            "format": "int32"
          },
          "year": {
            "type": "integer",
            "description": "Gets or sets the budget year.",
            "format": "int32"
          },
          "entityId": {
            "type": "integer",
            "description": "Gets or sets the associated entity identifier.",
            "format": "int32"
          },
          "entityDescription": {
            "type": "string",
            "description": "Gets or sets the description of the associated entity.",
            "nullable": true
          },
          "entityName": {
            "type": "string",
            "description": "Gets or sets the name of the associated entity.",
            "nullable": true
          },
          "months": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/BudgetMonthDetailDTO"
            },
            "description": "Gets or sets the monthly detail breakdown, keyed by month number.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "DTO representing detailed budget information including monthly breakdowns."
      },
      "BudgetGenerationMode": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "BudgetMonthDetailDTO": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "description": "Gets or sets the budgeted amount for the month.",
            "format": "double"
          },
          "deviation": {
            "type": "number",
            "description": "Gets or sets the deviation from the budgeted amount.",
            "format": "double"
          },
          "total": {
            "type": "number",
            "description": "Gets or sets the total amount for the month.",
            "format": "double"
          },
          "balance": {
            "type": "number",
            "description": "Gets or sets the balance for the month.",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "DTO representing detailed monthly budget amounts including deviation and balance."
      },
      "BudgetMonthlyAmountsDTO": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "description": "Gets or sets the monthly amount.",
            "format": "double"
          },
          "balanceType": {
            "$ref": "#/components/schemas/BalanceType"
          }
        },
        "additionalProperties": false,
        "description": "DTO representing monthly budget amounts with balance type."
      },
      "BusinessAccount": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "integer",
            "format": "int32"
          },
          "balance": {
            "type": "number",
            "format": "double"
          },
          "maxBalance": {
            "type": "number",
            "format": "double"
          },
          "warningBalance": {
            "type": "number",
            "format": "double"
          },
          "password": {
            "type": "string",
            "nullable": true
          },
          "userPermissions": {
            "type": "string",
            "nullable": true
          },
          "usersPermissionList": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "readOnly": true
          },
          "accountOwner": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "creditorSchemeId": {
            "type": "string",
            "nullable": true
          },
          "workingCapital": {
            "type": "number",
            "format": "double"
          },
          "cashierControl": {
            "type": "integer",
            "format": "int32"
          },
          "dailySession": {
            "type": "boolean"
          },
          "offline": {
            "type": "boolean"
          },
          "isCashierBlocked": {
            "type": "boolean"
          },
          "accountType": {
            "$ref": "#/components/schemas/AccountType"
          }
        },
        "additionalProperties": false
      },
      "BusinessAccountAuthorizationDTO": {
        "type": "object",
        "properties": {
          "password": {
            "type": "string",
            "description": "Password.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Business account authorization request."
      },
      "BusinessAccountDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Id.",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "Name.",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Description.",
            "nullable": true
          },
          "type": {
            "type": "integer",
            "description": "Type.",
            "format": "int32"
          },
          "cashierControl": {
            "type": "integer",
            "description": "Cashier Control.",
            "format": "int32"
          },
          "offline": {
            "type": "boolean",
            "description": "Whether the account is offline."
          },
          "workingCapital": {
            "type": "number",
            "description": "Working Capital.",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Business account summary."
      },
      "BusinessAccountDashboardItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "balance": {
            "type": "number",
            "format": "double"
          },
          "maxBalance": {
            "type": "number",
            "format": "double"
          },
          "accountType": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BusinessAccountDetailsDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Id.",
            "format": "int32"
          },
          "description": {
            "type": "string",
            "description": "Description.",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Name.",
            "nullable": true
          },
          "type": {
            "type": "integer",
            "description": "Type.",
            "format": "int32"
          },
          "balance": {
            "type": "number",
            "description": "Balance.",
            "format": "double"
          },
          "maxBalance": {
            "type": "number",
            "description": "Max Balance.",
            "format": "double"
          },
          "warningBalance": {
            "type": "number",
            "description": "Warning Balance.",
            "format": "double"
          },
          "password": {
            "type": "string",
            "description": "Password.",
            "nullable": true
          },
          "userPermissions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "User Permissions.",
            "nullable": true
          },
          "accountOwner": {
            "type": "integer",
            "description": "Account Owner.",
            "format": "int32"
          },
          "creditorSchemeId": {
            "type": "string",
            "description": "Creditor Scheme Id.",
            "nullable": true
          },
          "workingCapital": {
            "type": "number",
            "description": "Working Capital.",
            "format": "double"
          },
          "cashierControl": {
            "type": "integer",
            "description": "Cashier Control.",
            "format": "int32"
          },
          "dailySession": {
            "type": "integer",
            "description": "Daily Session.",
            "format": "int32"
          },
          "offline": {
            "type": "boolean",
            "description": "Whether the account is offline."
          },
          "isCashierBlocked": {
            "type": "boolean",
            "description": "Whether the cashier is blocked."
          },
          "bankAccount": {
            "$ref": "#/components/schemas/BankAccountDTO"
          },
          "blindCloseConfig": {
            "$ref": "#/components/schemas/BlindCloseConfigDTO"
          }
        },
        "additionalProperties": false,
        "description": "Business account details."
      },
      "BusinessAccountLedgerCreateDTO": {
        "required": [
          "amount",
          "businessAccountId"
        ],
        "type": "object",
        "properties": {
          "businessAccountId": {
            "type": "integer",
            "description": "Business account identifier.",
            "format": "int32"
          },
          "paymentDate": {
            "type": "string",
            "description": "Payment date.",
            "format": "date-time",
            "nullable": true
          },
          "creationDate": {
            "type": "string",
            "description": "Creation date.",
            "format": "date-time",
            "nullable": true
          },
          "entityKeyId": {
            "type": "string",
            "description": "Entity key identifier.",
            "nullable": true
          },
          "accountHeadingId": {
            "type": "integer",
            "description": "Account heading identifier.",
            "format": "int32"
          },
          "accountCategoryId": {
            "type": "integer",
            "description": "Account category identifier.",
            "format": "int32"
          },
          "balanceType": {
            "$ref": "#/components/schemas/BalanceType"
          },
          "amount": {
            "type": "number",
            "description": "Amount of the ledger entry.",
            "format": "double"
          },
          "comments": {
            "maxLength": 255,
            "type": "string",
            "description": "Comments or description for the entry.",
            "nullable": true
          },
          "docReference": {
            "type": "string",
            "description": "Document reference.",
            "nullable": true
          },
          "isPending": {
            "type": "boolean",
            "description": "Whether the entry is pending."
          },
          "movementType": {
            "$ref": "#/components/schemas/CashierMovementType"
          },
          "isReconciled": {
            "type": "boolean",
            "description": "Whether the entry is reconciled."
          },
          "ignoreWarningBalance": {
            "type": "boolean",
            "description": "Whether to ignore warning balance validation."
          }
        },
        "additionalProperties": false,
        "description": "DTO for creating a business account ledger entry."
      },
      "BusinessAccountLedgerDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique identifier.",
            "format": "int32"
          },
          "businessAccountId": {
            "type": "integer",
            "description": "Business account identifier.",
            "format": "int32"
          },
          "creationDate": {
            "type": "string",
            "description": "Creation date.",
            "format": "date-time"
          },
          "paymentDate": {
            "type": "string",
            "description": "Payment date.",
            "format": "date-time"
          },
          "entityType": {
            "type": "integer",
            "description": "Entity type.",
            "format": "int32"
          },
          "entity": {
            "$ref": "#/components/schemas/EntityDTO"
          },
          "accountHeading": {
            "$ref": "#/components/schemas/AccountHeadingDTO"
          },
          "accountCategory": {
            "$ref": "#/components/schemas/AccountCategoryDTO"
          },
          "balanceType": {
            "$ref": "#/components/schemas/BalanceType"
          },
          "amount": {
            "type": "number",
            "description": "Amount.",
            "format": "double"
          },
          "comments": {
            "type": "string",
            "description": "Comments or description.",
            "nullable": true
          },
          "docReference": {
            "type": "string",
            "description": "Document reference.",
            "nullable": true
          },
          "isPending": {
            "type": "boolean",
            "description": "Whether the entry is pending."
          },
          "isManual": {
            "type": "boolean",
            "description": "Whether the entry was manually created."
          },
          "documentGuid": {
            "type": "string",
            "description": "Associated document GUID.",
            "nullable": true
          },
          "paymentTypeId": {
            "type": "integer",
            "description": "Payment type identifier.",
            "format": "int32"
          },
          "movementType": {
            "$ref": "#/components/schemas/CashierMovementType"
          },
          "isReconciled": {
            "type": "boolean",
            "description": "Whether the entry is reconciled."
          },
          "fixedMovementId": {
            "type": "integer",
            "description": "Fixed movement identifier.",
            "format": "int32"
          },
          "documentIsDeposited": {
            "type": "boolean",
            "description": "Whether the document is deposited."
          }
        },
        "additionalProperties": false,
        "description": "DTO for business account ledger entry details."
      },
      "BusinessAccountLedgerDuplicatedReconciliationImportDTO": {
        "type": "object",
        "properties": {
          "comments": {
            "type": "string",
            "description": "Comments or description.",
            "nullable": true
          },
          "creationDate": {
            "type": "string",
            "description": "Creation date.",
            "format": "date-time"
          },
          "paymentDate": {
            "type": "string",
            "description": "Payment date.",
            "format": "date-time"
          },
          "accountHeadingId": {
            "type": "integer",
            "description": "Account heading identifier.",
            "format": "int32"
          },
          "accountHeadingHolder": {
            "type": "string",
            "description": "Account heading display name.",
            "nullable": true
          },
          "accountCategoryId": {
            "type": "integer",
            "description": "Account category identifier.",
            "format": "int32"
          },
          "accountCategoryHolder": {
            "type": "string",
            "description": "Account category display name.",
            "nullable": true
          },
          "balanceType": {
            "$ref": "#/components/schemas/BalanceType"
          },
          "balanceTypeHolder": {
            "type": "string",
            "description": "Balance type display name.",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "description": "Amount.",
            "format": "double"
          },
          "id": {
            "type": "integer",
            "description": "Unique identifier of the existing entry.",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "DTO for duplicated business account ledger reconciliation import entry."
      },
      "BusinessAccountLedgerListDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique identifier.",
            "format": "int32"
          },
          "comments": {
            "type": "string",
            "description": "Comments or description.",
            "nullable": true
          },
          "creationDate": {
            "type": "string",
            "description": "Creation date.",
            "format": "date-time"
          },
          "paymentDate": {
            "type": "string",
            "description": "Payment date.",
            "format": "date-time",
            "nullable": true
          },
          "businessAccount": {
            "type": "string",
            "description": "Business account name.",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "description": "Amount.",
            "format": "double"
          },
          "balanceType": {
            "type": "string",
            "description": "Balance type description.",
            "nullable": true
          },
          "accountHeading": {
            "type": "string",
            "description": "Account heading description.",
            "nullable": true
          },
          "accountCategory": {
            "type": "string",
            "description": "Account category description.",
            "nullable": true
          },
          "status": {
            "type": "string",
            "description": "Status description.",
            "nullable": true
          },
          "entity": {
            "type": "string",
            "description": "Entity description.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "DTO for business account ledger list item."
      },
      "BusinessAccountLedgerListDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BusinessAccountLedgerListDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "BusinessAccountLedgerPrintingDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique identifier.",
            "format": "int32"
          },
          "creationDate": {
            "type": "string",
            "description": "Creation date.",
            "format": "date-time"
          },
          "balanceType": {
            "$ref": "#/components/schemas/BalanceType"
          },
          "amount": {
            "type": "number",
            "description": "Amount.",
            "format": "double"
          },
          "comments": {
            "type": "string",
            "description": "Comments or description.",
            "nullable": true
          },
          "paymentTypeDescription": {
            "type": "string",
            "description": "Payment type description.",
            "nullable": true
          },
          "movementType": {
            "$ref": "#/components/schemas/CashierMovementType"
          },
          "movementTypeHolder": {
            "type": "string",
            "description": "Display name for the movement type.",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "description": "DTO for business account ledger printing."
      },
      "BusinessAccountLedgerReconciliationImportDTO": {
        "type": "object",
        "properties": {
          "comments": {
            "type": "string",
            "description": "Comments or description.",
            "nullable": true
          },
          "creationDate": {
            "type": "string",
            "description": "Creation date.",
            "format": "date-time"
          },
          "paymentDate": {
            "type": "string",
            "description": "Payment date.",
            "format": "date-time"
          },
          "accountHeadingId": {
            "type": "integer",
            "description": "Account heading identifier.",
            "format": "int32"
          },
          "accountHeadingHolder": {
            "type": "string",
            "description": "Account heading display name.",
            "nullable": true
          },
          "accountCategoryId": {
            "type": "integer",
            "description": "Account category identifier.",
            "format": "int32"
          },
          "accountCategoryHolder": {
            "type": "string",
            "description": "Account category display name.",
            "nullable": true
          },
          "balanceType": {
            "$ref": "#/components/schemas/BalanceType"
          },
          "balanceTypeHolder": {
            "type": "string",
            "description": "Balance type display name.",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "description": "Amount.",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "DTO for business account ledger reconciliation import entry."
      },
      "BusinessAccountLedgerReconciliationImportResponseDTO": {
        "type": "object",
        "properties": {
          "newMovements": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BusinessAccountLedgerReconciliationImportDTO"
            },
            "description": "New movements to be created.",
            "nullable": true
          },
          "oldMovements": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BusinessAccountLedgerDuplicatedReconciliationImportDTO"
            },
            "description": "Existing movements that were found as duplicates.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "DTO for business account ledger reconciliation import response."
      },
      "BusinessAccountLedgerUpdateDTO": {
        "required": [
          "amount",
          "creationDate",
          "paymentDate"
        ],
        "type": "object",
        "properties": {
          "creationDate": {
            "type": "string",
            "description": "Creation date.",
            "format": "date-time"
          },
          "paymentDate": {
            "type": "string",
            "description": "Payment date.",
            "format": "date-time"
          },
          "entityKeyId": {
            "type": "string",
            "description": "Entity key identifier.",
            "nullable": true
          },
          "accountHeadingId": {
            "type": "integer",
            "description": "Account heading identifier.",
            "format": "int32"
          },
          "accountCategoryId": {
            "type": "integer",
            "description": "Account category identifier.",
            "format": "int32"
          },
          "balanceType": {
            "$ref": "#/components/schemas/BalanceType"
          },
          "amount": {
            "type": "number",
            "description": "Amount of the ledger entry.",
            "format": "double"
          },
          "comments": {
            "maxLength": 255,
            "type": "string",
            "description": "Comments or description.",
            "nullable": true
          },
          "isPending": {
            "type": "boolean",
            "description": "Whether the entry is pending."
          },
          "isReconciled": {
            "type": "boolean",
            "description": "Whether the entry is reconciled."
          },
          "ignoreWarningBalance": {
            "type": "boolean",
            "description": "Whether to ignore warning balance validation."
          }
        },
        "additionalProperties": false,
        "description": "DTO for updating a business account ledger entry."
      },
      "BusinessAccountListDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Id.",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "Name.",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Description.",
            "nullable": true
          },
          "type": {
            "type": "string",
            "description": "Type.",
            "nullable": true
          },
          "typeId": {
            "type": "integer",
            "description": "Type Id.",
            "format": "int32"
          },
          "workingCapital": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Business account list item."
      },
      "BusinessAccountListDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BusinessAccountListDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "BusinessSummaryCardStatus": {
        "enum": [
          0,
          1,
          2,
          3
        ],
        "type": "integer",
        "format": "int32"
      },
      "BusinessSummaryCardType": {
        "enum": [
          0,
          1
        ],
        "type": "integer",
        "format": "int32"
      },
      "BusinessSummaryDTO": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "description": "Gets or sets the description of the summary card.",
            "nullable": true
          },
          "value": {
            "$ref": "#/components/schemas/FinancialSummaryDTO"
          },
          "balancePercentage": {
            "type": "number",
            "description": "Gets or sets the balance percentage.",
            "format": "double"
          },
          "balance": {
            "type": "number",
            "description": "Gets or sets the balance amount.",
            "format": "double"
          },
          "tooltipDescription": {
            "type": "string",
            "description": "Gets or sets the tooltip description displayed on hover.",
            "nullable": true
          },
          "type": {
            "$ref": "#/components/schemas/BusinessSummaryCardType"
          },
          "status": {
            "$ref": "#/components/schemas/BusinessSummaryCardStatus"
          }
        },
        "additionalProperties": false,
        "description": "DTO representing a business summary card with financial data."
      },
      "BussinessSummaryChartReportConfigDTO": {
        "type": "object",
        "properties": {
          "chartReportGuid": {
            "type": "string",
            "description": "Gets or sets the chart report GUID identifier.",
            "nullable": true
          },
          "chartReportType": {
            "$ref": "#/components/schemas/BussinessSummaryChartReportType"
          }
        },
        "additionalProperties": false,
        "description": "DTO for configuring business summary chart report with typed enum."
      },
      "BussinessSummaryChartReportType": {
        "enum": [
          0,
          1,
          2,
          3
        ],
        "type": "integer",
        "format": "int32"
      },
      "CampaignsDiscountType": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "CashFlowChart": {
        "type": "object",
        "properties": {
          "businessAccountId": {
            "type": "integer",
            "format": "int32"
          },
          "businessAccountName": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CashFlowMonthData"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CashFlowMonthData": {
        "type": "object",
        "properties": {
          "month": {
            "$ref": "#/components/schemas/Month"
          },
          "totalReceipt": {
            "type": "number",
            "format": "double"
          },
          "consolidatedReceipt": {
            "type": "number",
            "format": "double"
          },
          "expectedReceipt": {
            "type": "number",
            "format": "double"
          },
          "totalExpense": {
            "type": "number",
            "format": "double"
          },
          "consolidatedExpense": {
            "type": "number",
            "format": "double"
          },
          "expectedExpense": {
            "type": "number",
            "format": "double"
          },
          "consolidatedBalance": {
            "type": "number",
            "format": "double"
          },
          "accumulatedBalance": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "CashierAccountSessionCurrencyDeclarationsDTO": {
        "type": "object",
        "properties": {
          "currencyId": {
            "type": "integer",
            "description": "Currency identifier.",
            "format": "int32"
          },
          "currencyName": {
            "type": "string",
            "description": "Currency name.",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "description": "Declared amount.",
            "format": "double"
          },
          "currencyKeyId": {
            "type": "string",
            "description": "Currency key identifier.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "DTO for cashier account session currency declarations."
      },
      "CashierAccountSessionDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique identifier.",
            "format": "int32"
          },
          "guid": {
            "type": "string",
            "description": "GUID of the session.",
            "format": "uuid"
          },
          "cashierAccountId": {
            "type": "integer",
            "description": "Cashier account identifier.",
            "format": "int32"
          },
          "destinationBusinessAccountId": {
            "type": "integer",
            "description": "Destination business account identifier.",
            "format": "int32",
            "nullable": true
          },
          "declarations": {
            "$ref": "#/components/schemas/CashierAccountSessionDeclarationsDTO"
          }
        },
        "additionalProperties": false,
        "description": "DTO for cashier account session details."
      },
      "CashierAccountSessionDeclarationsDTO": {
        "type": "object",
        "properties": {
          "cardDeclarations": {
            "$ref": "#/components/schemas/SavePaymentTypeDeclarationsDTO"
          },
          "otherDeclarations": {
            "$ref": "#/components/schemas/SavePaymentTypeDeclarationsDTO"
          },
          "currencyDeclarations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CashierAccountSessionCurrencyDeclarationsDTO"
            },
            "description": "Currency declarations.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "DTO for cashier account session declarations."
      },
      "CashierAccountSessionLedgerListDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique identifier.",
            "format": "int32"
          },
          "creationDate": {
            "type": "string",
            "description": "Creation date.",
            "format": "date-time"
          },
          "user": {
            "type": "string",
            "description": "User name.",
            "nullable": true
          },
          "movementTypeHolder": {
            "type": "string",
            "description": "Movement type display name.",
            "nullable": true
          },
          "movementType": {
            "type": "integer",
            "description": "Movement type identifier.",
            "format": "int32"
          },
          "comments": {
            "type": "string",
            "description": "Comments or description.",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "description": "Amount.",
            "format": "double"
          },
          "currency": {
            "$ref": "#/components/schemas/SimpleCurrencyDTO"
          }
        },
        "additionalProperties": false,
        "description": "DTO for cashier account session ledger list item."
      },
      "CashierAccountSessionListDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Session identifier.",
            "format": "int32"
          },
          "startDate": {
            "type": "string",
            "description": "Session start date.",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "description": "Session end date.",
            "format": "date-time",
            "nullable": true
          },
          "cashierAccountName": {
            "type": "string",
            "description": "Cashier account name.",
            "nullable": true
          },
          "cashierAccountId": {
            "type": "integer",
            "description": "Cashier account identifier.",
            "format": "int32"
          },
          "openingUserName": {
            "type": "string",
            "description": "Name of the user who opened the session.",
            "nullable": true
          },
          "openingUserId": {
            "type": "integer",
            "description": "Identifier of the user who opened the session.",
            "format": "int32"
          },
          "closeUserName": {
            "type": "string",
            "description": "Name of the user who closed the session.",
            "nullable": true
          },
          "closeUserId": {
            "type": "integer",
            "description": "Identifier of the user who closed the session.",
            "format": "int32"
          },
          "amount": {
            "type": "number",
            "description": "Total amount.",
            "format": "double"
          },
          "declared": {
            "type": "number",
            "description": "Total declared amount.",
            "format": "double"
          },
          "difference": {
            "type": "number",
            "description": "Difference between amount and declared.",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "DTO for cashier account session list item."
      },
      "CashierAccountSessionListDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CashierAccountSessionListDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "CashierAccountSlipDTO": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Title.",
            "nullable": true
          },
          "cashierDescription": {
            "type": "string",
            "description": "Cashier Description.",
            "nullable": true
          },
          "balance": {
            "type": "number",
            "description": "Balance.",
            "format": "double"
          },
          "totalDeclared": {
            "type": "number",
            "description": "Total Declared amount.",
            "format": "double",
            "readOnly": true
          },
          "startDate": {
            "type": "string",
            "description": "Start Date.",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "description": "End Date.",
            "format": "date-time",
            "nullable": true
          },
          "currency": {
            "$ref": "#/components/schemas/CurrencyPrintingDTO"
          },
          "isOffline": {
            "type": "boolean",
            "description": "Whether this is an offline slip.",
            "readOnly": true
          },
          "cashierAccountResume": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BusinessAccountLedgerPrintingDTO"
            },
            "description": "Cashier Account Resume entries.",
            "nullable": true
          },
          "cashierAccountDetails": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BusinessAccountLedgerPrintingDTO"
            },
            "description": "Cashier Account Detail entries.",
            "nullable": true
          },
          "closingConferenceResume": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClosingConferenceDataDTO"
            },
            "description": "Closing Conference Resume entries.",
            "nullable": true
          },
          "listScaleTickets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScaleTicketDTO"
            },
            "description": "Scale Tickets list.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Cashier account slip for printing."
      },
      "CashierClosingDeclarationCorrectionDTO": {
        "type": "object",
        "properties": {
          "correctionReason": {
            "type": "string",
            "description": "Correction Reason.",
            "nullable": true
          },
          "sessionClosingDeclaration": {
            "$ref": "#/components/schemas/CashierSessionClosingDeclarationDTO"
          }
        },
        "additionalProperties": false,
        "description": "Cashier closing declaration correction request."
      },
      "CashierClosingOperationDTO": {
        "type": "object",
        "properties": {
          "businessAccountId": {
            "type": "integer",
            "description": "Business Account Id.",
            "format": "int32"
          },
          "destinationCashierId": {
            "type": "integer",
            "description": "Destination Cashier Id.",
            "format": "int32",
            "nullable": true
          },
          "shouldValidateBlindClose": {
            "type": "boolean",
            "description": "Whether to validate blind close."
          },
          "amount": {
            "type": "number",
            "description": "Amount.",
            "format": "double",
            "nullable": true
          },
          "sessionClosingDeclaration": {
            "$ref": "#/components/schemas/CashierSessionClosingDeclarationDTO"
          }
        },
        "additionalProperties": false,
        "description": "Cashier closing operation request."
      },
      "CashierMovementType": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6
        ],
        "type": "integer",
        "format": "int32"
      },
      "CashierOpeningDataDTO": {
        "type": "object",
        "properties": {
          "sessionId": {
            "type": "integer",
            "description": "Session Id.",
            "format": "int32"
          },
          "amount": {
            "type": "number",
            "description": "Amount.",
            "format": "double"
          },
          "originCashierId": {
            "type": "integer",
            "description": "Origin Cashier Id.",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Cashier opening data."
      },
      "CashierOpeningOperationDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Id.",
            "format": "int32",
            "nullable": true
          },
          "originCashierId": {
            "type": "integer",
            "description": "Origin Cashier Id.",
            "format": "int32",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "description": "Amount.",
            "format": "double"
          },
          "comments": {
            "type": "string",
            "description": "Comments.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Cashier opening operation request."
      },
      "CashierSessionClosingDeclarationDTO": {
        "type": "object",
        "properties": {
          "cardDeclarations": {
            "$ref": "#/components/schemas/PaymentTypeDeclarationTotalDTO"
          },
          "otherDeclarations": {
            "$ref": "#/components/schemas/PaymentTypeDeclarationTotalDTO"
          },
          "currencyDeclarations": {
            "$ref": "#/components/schemas/CurrencyDeclarationTotalDTO"
          }
        },
        "additionalProperties": false,
        "description": "Cashier session closing declaration."
      },
      "CheckingAccountDetail": {
        "type": "object",
        "properties": {
          "headerId": {
            "type": "integer",
            "format": "int32"
          },
          "documentTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "number": {
            "type": "integer",
            "format": "int32"
          },
          "serieId": {
            "type": "integer",
            "format": "int32"
          },
          "entityKeyId": {
            "type": "string",
            "nullable": true
          },
          "entityDescription": {
            "type": "string",
            "nullable": true
          },
          "userId": {
            "type": "integer",
            "format": "int32"
          },
          "observation": {
            "type": "string",
            "nullable": true
          },
          "total": {
            "type": "number",
            "format": "double"
          },
          "totalServiceTax": {
            "type": "number",
            "format": "double"
          },
          "grossTotal": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "dueValue": {
            "type": "number",
            "format": "double"
          },
          "status": {
            "$ref": "#/components/schemas/ManualCheckingAccountStatus"
          },
          "creationDate": {
            "type": "string",
            "format": "date-time"
          },
          "dueDate": {
            "type": "string",
            "format": "date-time"
          },
          "receipts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReceiptDocumentDetail"
            },
            "nullable": true
          },
          "invoiceType": {
            "type": "string",
            "nullable": true
          },
          "paidAmount": {
            "type": "number",
            "format": "double"
          },
          "documentTypeDescription": {
            "type": "string",
            "nullable": true
          },
          "documentIdentifier": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CheckingAccountFlow": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "ClosingConferenceDataDTO": {
        "type": "object",
        "properties": {
          "paymentTypeDescription": {
            "type": "string",
            "description": "Payment Type Description.",
            "nullable": true
          },
          "currencyDescription": {
            "type": "string",
            "description": "Currency Description.",
            "nullable": true
          },
          "sales": {
            "type": "number",
            "description": "Sales amount.",
            "format": "double"
          },
          "declared": {
            "type": "number",
            "description": "Declared amount.",
            "format": "double"
          },
          "difference": {
            "type": "number",
            "description": "Difference between sales and declared.",
            "format": "double"
          },
          "cashierAndSessionHolder": {
            "type": "string",
            "description": "Cashier and session display holder.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Closing conference data entry."
      },
      "ColumnConfigDTO": {
        "type": "object",
        "properties": {
          "dataField": {
            "type": "string",
            "description": "Gets or sets the data field name bound to this column.",
            "nullable": true
          },
          "dataType": {
            "type": "string",
            "description": "Gets or sets the data type of the column.",
            "nullable": true
          },
          "visible": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether the column is visible."
          },
          "alignment": {
            "type": "string",
            "description": "Gets or sets the column alignment (e.g., left, right, center).",
            "nullable": true
          },
          "width": {
            "type": "integer",
            "description": "Gets or sets the column width in pixels.",
            "format": "int32",
            "nullable": true
          },
          "fixed": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether the column is fixed/pinned."
          },
          "fixedPosition": {
            "type": "string",
            "description": "Gets or sets the fixed position (e.g., left, right).",
            "nullable": true
          },
          "allowHiding": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether the column can be hidden."
          },
          "allowSorting": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether sorting is allowed on this column."
          },
          "translationKey": {
            "type": "string",
            "description": "Gets or sets the translation key for the column header.",
            "nullable": true
          },
          "format": {
            "description": "Gets or sets the display format configuration.",
            "nullable": true
          },
          "visibleIndex": {
            "type": "integer",
            "description": "Gets or sets the visible index (display order) of the column.",
            "format": "int32"
          },
          "link": {
            "type": "string",
            "description": "Gets or sets the link template for clickable columns.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "DTO representing column configuration for entity listings."
      },
      "CombinedLogin": {
        "type": "object",
        "properties": {
          "tenantKey": {
            "type": "string",
            "nullable": true
          },
          "tenantPassword": {
            "type": "string",
            "nullable": true
          },
          "userKey": {
            "type": "string",
            "nullable": true
          },
          "userPassword": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CompanyInfoDTO": {
        "type": "object",
        "properties": {
          "capital": {
            "type": "number",
            "description": "Company share capital amount.",
            "format": "double"
          },
          "fax": {
            "type": "string",
            "description": "Company fax number.",
            "nullable": true
          },
          "mobilePhoneNumber": {
            "type": "string",
            "description": "Company mobile phone number.",
            "nullable": true
          },
          "mobilePhoneNumberText": {
            "type": "string",
            "description": "Display text for mobile phone number.",
            "nullable": true
          },
          "phoneNumber": {
            "type": "string",
            "description": "Company landline phone number.",
            "nullable": true
          },
          "phoneNumberText": {
            "type": "string",
            "description": "Display text for landline phone number.",
            "nullable": true
          },
          "registrationCity": {
            "type": "string",
            "description": "City where the company is registered.",
            "nullable": true
          },
          "iban": {
            "type": "string",
            "description": "Company IBAN (International Bank Account Number).",
            "nullable": true
          },
          "email": {
            "type": "string",
            "description": "Company email address.",
            "nullable": true
          },
          "web": {
            "type": "string",
            "description": "Company website URL.",
            "nullable": true
          },
          "facebook": {
            "type": "string",
            "description": "Company Facebook page URL.",
            "nullable": true
          },
          "cuponAd1": {
            "type": "string",
            "description": "First coupon advertising line.",
            "nullable": true
          },
          "cuponAd2": {
            "type": "string",
            "description": "Second coupon advertising line.",
            "nullable": true
          },
          "logoId": {
            "type": "string",
            "description": "Company logo image identifier.",
            "format": "uuid",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Company (establishment) configuration information for invoice/ticket and display.\r\nSourced from Config table, CompanyInfo record."
      },
      "ComplementDetailDTO": {
        "type": "object",
        "properties": {
          "itemComplements": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ItemComplementDTO"
            },
            "description": "List of item complements.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Item complement details."
      },
      "CompositeDetailDTO": {
        "type": "object",
        "properties": {
          "compositions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ItemCompositionDTO"
            },
            "description": "List of item compositions.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Composite item details."
      },
      "ConnectionString": {
        "type": "object",
        "properties": {
          "server": {
            "type": "string",
            "nullable": true
          },
          "port": {
            "type": "integer",
            "format": "int32"
          },
          "database": {
            "type": "string",
            "nullable": true
          },
          "username": {
            "type": "string",
            "nullable": true
          },
          "password": {
            "type": "string",
            "nullable": true
          },
          "extraOptions": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ContractServiceType": {
        "enum": [
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "CovenantAgreementDTO": {
        "required": [
          "description",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identifier. Server-assigned — present in GET responses, ignored on creation.",
            "nullable": true
          },
          "name": {
            "maxLength": 150,
            "minLength": 1,
            "type": "string",
            "description": "Name."
          },
          "description": {
            "maxLength": 250,
            "minLength": 1,
            "type": "string",
            "description": "Description."
          },
          "documentType": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Document Type.",
            "format": "int32"
          },
          "documentSerie": {
            "type": "integer",
            "description": "Document Serie.",
            "format": "int32"
          },
          "periodicityType": {
            "maximum": 4,
            "minimum": 1,
            "type": "integer",
            "description": "Periodicity Type. Allowed values: Daily (1), Weekly (2), Monthly (3), Yearly (4).",
            "format": "int32"
          },
          "periodicityValue": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Periodicity Value. Depends on PeriodicityType:\r\n- Daily (1): bitmask of selected weekdays. Sunday=1, Monday=2, Tuesday=4, Wednesday=8, Thursday=16, Friday=32, Saturday=64. Range: 1–127.\r\n- Weekly (2): number of weeks between issuances. Min: 1.\r\n- Monthly (3): number of months between issuances. Min: 1.\r\n- Yearly (4): number of years between issuances. Min: 1.",
            "format": "int32"
          },
          "isGlobal": {
            "type": "boolean",
            "description": "Whether the covenant is global."
          },
          "priceType": {
            "type": "integer",
            "description": "Price Type.",
            "format": "int32",
            "nullable": true
          },
          "withTax": {
            "type": "boolean",
            "description": "Whether the price includes tax.",
            "nullable": true
          },
          "descriptionInDocument": {
            "type": "boolean",
            "description": "Whether to include description in document."
          },
          "documentTypeToConvert": {
            "type": "integer",
            "description": "Document Type to convert.",
            "format": "int32"
          },
          "ignoreCustomerDiscount": {
            "type": "boolean",
            "description": "Whether to ignore customer discount.",
            "nullable": true
          },
          "items": {
            "minItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CovenantAgreementItemsDTO"
            },
            "description": "Covenant agreement items. At least one item is required.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Covenant agreement details."
      },
      "CovenantAgreementItemsDTO": {
        "required": [
          "description",
          "reference"
        ],
        "type": "object",
        "properties": {
          "reference": {
            "maxLength": 150,
            "minLength": 1,
            "type": "string",
            "description": "Reference (numeric article ID stored as string)."
          },
          "description": {
            "maxLength": 250,
            "minLength": 1,
            "type": "string",
            "description": "Description."
          },
          "quantity": {
            "minimum": 1,
            "type": "number",
            "description": "Quantity.",
            "format": "double"
          },
          "unitPrice": {
            "minimum": 0,
            "type": "number",
            "description": "Unit Price.",
            "format": "double"
          },
          "discount": {
            "minimum": 0,
            "type": "number",
            "description": "Discount.",
            "format": "double",
            "nullable": true
          },
          "netPrice": {
            "minimum": 0,
            "type": "number",
            "description": "Net Price.",
            "format": "double"
          },
          "taxIncludedPrice": {
            "minimum": 0,
            "type": "number",
            "description": "Tax Included Price.",
            "format": "double"
          },
          "itemAttributeCode": {
            "maxLength": 100,
            "type": "string",
            "description": "Item Attribute Code.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Covenant agreement item details."
      },
      "CovenantAgreementItemsUpdateDTO": {
        "required": [
          "description",
          "reference"
        ],
        "type": "object",
        "properties": {
          "reference": {
            "maxLength": 150,
            "minLength": 1,
            "type": "string",
            "description": "Reference (numeric article ID stored as string)."
          },
          "description": {
            "maxLength": 250,
            "minLength": 1,
            "type": "string",
            "description": "Description."
          },
          "quantity": {
            "minimum": 1,
            "type": "number",
            "description": "Quantity.",
            "format": "double"
          },
          "unitPrice": {
            "minimum": 0,
            "type": "number",
            "description": "Unit Price.",
            "format": "double"
          },
          "discount": {
            "minimum": 0,
            "type": "number",
            "description": "Discount.",
            "format": "double",
            "nullable": true
          },
          "netPrice": {
            "minimum": 0,
            "type": "number",
            "description": "Net Price.",
            "format": "double"
          },
          "taxIncludedPrice": {
            "minimum": 0,
            "type": "number",
            "description": "Tax Included Price.",
            "format": "double"
          },
          "itemAttributeCode": {
            "maxLength": 100,
            "type": "string",
            "description": "Item Attribute Code.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Covenant agreement item update request."
      },
      "CovenantAgreementListDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Id.",
            "nullable": true
          },
          "name": {
            "maxLength": 150,
            "minLength": 0,
            "type": "string",
            "description": "Name.",
            "nullable": true
          },
          "description": {
            "maxLength": 250,
            "minLength": 0,
            "type": "string",
            "description": "Description.",
            "nullable": true
          },
          "documentType": {
            "type": "integer",
            "description": "Document Type.",
            "format": "int32"
          },
          "documentTypeDescription": {
            "maxLength": 150,
            "minLength": 0,
            "type": "string",
            "description": "Document Type Description.",
            "nullable": true
          },
          "documentSerie": {
            "type": "integer",
            "description": "Document Serie.",
            "format": "int32"
          },
          "documentSerieDescription": {
            "maxLength": 150,
            "minLength": 0,
            "type": "string",
            "description": "Document Serie Description.",
            "nullable": true
          },
          "documentTypeToConvert": {
            "type": "integer",
            "description": "Document Type to convert.",
            "format": "int32"
          },
          "documentTypeToConvertDescription": {
            "maxLength": 150,
            "minLength": 0,
            "type": "string",
            "description": "Document Type to convert Description.",
            "nullable": true
          },
          "periodicityType": {
            "maxLength": 200,
            "minLength": 0,
            "type": "integer",
            "description": "Periodicity Type.",
            "format": "int32"
          },
          "periodicityValue": {
            "type": "integer",
            "description": "Periodicity Value.",
            "format": "int32"
          },
          "paymentMode": {
            "type": "integer",
            "description": "Payment Mode.",
            "format": "int32",
            "nullable": true
          },
          "isGlobal": {
            "type": "boolean",
            "description": "Whether the covenant is global."
          },
          "priceType": {
            "type": "integer",
            "description": "Price Type.",
            "format": "int32",
            "nullable": true
          },
          "withTax": {
            "type": "boolean",
            "description": "Whether the price includes tax.",
            "nullable": true
          },
          "descriptionInDocument": {
            "type": "boolean",
            "description": "Whether to include description in document."
          },
          "ignoreCustomerDiscount": {
            "type": "boolean",
            "description": "Whether to ignore customer discount.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Covenant agreement listing."
      },
      "CovenantAgreementListDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CovenantAgreementListDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "CovenantAgreementUpdateDTO": {
        "required": [
          "description",
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 150,
            "minLength": 1,
            "type": "string",
            "description": "Name."
          },
          "description": {
            "maxLength": 250,
            "minLength": 1,
            "type": "string",
            "description": "Description."
          },
          "documentType": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Document Type.",
            "format": "int32"
          },
          "documentSerie": {
            "type": "integer",
            "description": "Document Serie.",
            "format": "int32"
          },
          "periodicityType": {
            "maximum": 4,
            "minimum": 1,
            "type": "integer",
            "description": "Periodicity Type. Allowed values: Daily (1), Weekly (2), Monthly (3), Yearly (4).",
            "format": "int32"
          },
          "periodicityValue": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Periodicity Value. Depends on PeriodicityType:\r\n- Daily (1): bitmask of selected weekdays. Sunday=1, Monday=2, Tuesday=4, Wednesday=8, Thursday=16, Friday=32, Saturday=64. Range: 1–127.\r\n- Weekly (2): number of weeks between issuances. Min: 1.\r\n- Monthly (3): number of months between issuances. Min: 1.\r\n- Yearly (4): number of years between issuances. Min: 1.",
            "format": "int32"
          },
          "isGlobal": {
            "type": "boolean",
            "description": "Whether the covenant is global."
          },
          "priceType": {
            "type": "integer",
            "description": "Price Type.",
            "format": "int32",
            "nullable": true
          },
          "withTax": {
            "type": "boolean",
            "description": "Whether the price includes tax.",
            "nullable": true
          },
          "descriptionInDocument": {
            "type": "boolean",
            "description": "Whether to include description in document."
          },
          "documentTypeToConvert": {
            "type": "integer",
            "description": "Document Type to convert.",
            "format": "int32"
          },
          "ignoreCustomerDiscount": {
            "type": "boolean",
            "description": "Whether to ignore customer discount.",
            "nullable": true
          },
          "items": {
            "minItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CovenantAgreementItemsUpdateDTO"
            },
            "description": "Covenant agreement items. At least one item is required.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Covenant agreement update request."
      },
      "CovenantAssignedEntitiesResponseDTO": {
        "type": "object",
        "properties": {
          "hasAssignedEntities": {
            "type": "boolean",
            "description": "Whether there are assigned entities."
          },
          "assignedEntities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AssignedEntityInfoDTO"
            },
            "description": "Assigned entities.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Covenant assigned entities response."
      },
      "CovenantAssignmentDTO": {
        "type": "object",
        "properties": {
          "initialDate": {
            "type": "string",
            "description": "Initial Date.",
            "format": "date-time"
          },
          "finalDate": {
            "type": "string",
            "description": "Final Date.",
            "format": "date-time",
            "nullable": true
          },
          "nextDate": {
            "type": "string",
            "description": "Next Date.",
            "format": "date-time"
          },
          "paymentMode": {
            "type": "integer",
            "description": "Payment Mode.",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Covenant assignment details."
      },
      "CreateBusinessAccountDTO": {
        "required": [
          "name",
          "type"
        ],
        "type": "object",
        "properties": {
          "id": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Id.",
            "format": "int32"
          },
          "description": {
            "maxLength": 255,
            "type": "string",
            "description": "Description.",
            "nullable": true
          },
          "name": {
            "maxLength": 50,
            "minLength": 1,
            "type": "string",
            "description": "Name."
          },
          "type": {
            "type": "integer",
            "description": "Type.",
            "format": "int32"
          },
          "maxBalance": {
            "type": "number",
            "description": "Max Balance.",
            "format": "double"
          },
          "warningBalance": {
            "type": "number",
            "description": "Warning Balance.",
            "format": "double"
          },
          "password": {
            "type": "string",
            "description": "Password.",
            "nullable": true
          },
          "userPermissions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "User Permissions.",
            "nullable": true
          },
          "accountOwner": {
            "type": "integer",
            "description": "Account Owner.",
            "format": "int32"
          },
          "creditorSchemeId": {
            "maxLength": 35,
            "type": "string",
            "description": "Creditor Scheme Id.",
            "nullable": true
          },
          "workingCapital": {
            "type": "number",
            "description": "Working Capital.",
            "format": "double"
          },
          "cashierControl": {
            "type": "integer",
            "description": "Cashier Control.",
            "format": "int32"
          },
          "dailySession": {
            "type": "integer",
            "description": "Daily Session.",
            "format": "int32"
          },
          "offline": {
            "type": "boolean",
            "description": "Whether the account is offline."
          },
          "bankAccount": {
            "$ref": "#/components/schemas/BankAccountDTO"
          },
          "blindCloseConfig": {
            "$ref": "#/components/schemas/BlindCloseConfigDTO"
          }
        },
        "additionalProperties": false,
        "description": "Create business account request."
      },
      "CreateBusinessAccountPasswordDTO": {
        "required": [
          "accountOwnerId",
          "password"
        ],
        "type": "object",
        "properties": {
          "accountOwnerId": {
            "type": "integer",
            "description": "Account Owner Id.",
            "format": "int32"
          },
          "password": {
            "minLength": 1,
            "type": "string",
            "description": "Password."
          }
        },
        "additionalProperties": false,
        "description": "Create business account password request."
      },
      "CreateDigitalArchiveDirectoryDTO": {
        "type": "object",
        "properties": {
          "idParent": {
            "type": "integer",
            "description": "Gets or sets the parent directory identifier.",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "Gets or sets the name of the directory.",
            "nullable": true
          },
          "caption": {
            "type": "string",
            "description": "Gets or sets the caption/display name of the directory.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "DTO for creating a new digital archive directory."
      },
      "CreateEntityExtraFieldRequestDTO": {
        "required": [
          "description",
          "fieldType",
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 25,
            "minLength": 1,
            "pattern": "^[a-zA-Z][a-zA-Z0-9]*$",
            "type": "string",
            "description": "Logical column name (identifier)."
          },
          "description": {
            "maxLength": 500,
            "minLength": 1,
            "type": "string",
            "description": "Human-readable description shown alongside the field."
          },
          "order": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "format": "int32"
          },
          "fieldType": {
            "maxLength": 16,
            "minLength": 1,
            "type": "string",
            "description": "Logical type key (e.g. String, LongText, Decimal, Int32)."
          },
          "length": {
            "maximum": 16383,
            "minimum": 1,
            "type": "integer",
            "description": "For `String`, maximum VARCHAR length (clamped when generating DDL). For `Decimal`, decimal places. Meaning for other types follows server rules.",
            "format": "int32"
          },
          "required": {
            "type": "boolean"
          },
          "inactive": {
            "type": "boolean"
          },
          "values": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          },
          "canEditValues": {
            "type": "boolean"
          },
          "entityType": {
            "maxLength": 32,
            "minLength": 0,
            "type": "string",
            "description": "Optional linked entity short name (e.g. `Entity`, `UserBE`); null or empty when the field is not an entity lookup.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Request to create an extra field. XDPeople.Soba.Application.DTOs.ExtraFields.CreateEntityExtraFieldRequestDTO.FieldType maps to CLR types and XDAPI-compatible JSON in stored configuration."
      },
      "CreateExtraFieldsTableRequestDTO": {
        "required": [
          "description",
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 25,
            "minLength": 1,
            "pattern": "^[a-zA-Z][a-zA-Z0-9]*$",
            "type": "string",
            "description": "Logical table name (identifier)."
          },
          "description": {
            "maxLength": 2000,
            "minLength": 0,
            "type": "string",
            "description": "Table description; may be empty."
          },
          "order": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "format": "int32"
          },
          "permissionType": {
            "maximum": 2,
            "minimum": 0,
            "type": "integer",
            "format": "int32"
          },
          "allowInDocuments": {
            "type": "boolean"
          },
          "allowMultipleRegistries": {
            "type": "boolean"
          }
        },
        "additionalProperties": false,
        "description": "Request to create a logical extra-fields table for an entity type."
      },
      "CreateManualCheckingAccountDTO": {
        "required": [
          "creationDate",
          "documentTypeId",
          "dueDate",
          "employeeId",
          "entityKeyId",
          "serieId",
          "totalAmount"
        ],
        "type": "object",
        "properties": {
          "entityKeyId": {
            "maxLength": 25,
            "minLength": 1,
            "type": "string",
            "description": "Gets or sets the entity key identifier (customer/supplier). Required. Max length: 25."
          },
          "creationDate": {
            "type": "string",
            "description": "Gets or sets the creation date of the checking account entry. Required.",
            "format": "date-time"
          },
          "dueDate": {
            "type": "string",
            "description": "Gets or sets the due date for payment. Required.",
            "format": "date-time"
          },
          "totalAmount": {
            "type": "number",
            "description": "Gets or sets the total amount of the checking account entry. Required.",
            "format": "double"
          },
          "observation": {
            "maxLength": 5000,
            "type": "string",
            "description": "Gets or sets the observation or notes. Max length: 5000.",
            "nullable": true
          },
          "employeeId": {
            "type": "integer",
            "description": "Gets or sets the identifier of the employee who created/modified the entry. Required.",
            "format": "int32"
          },
          "serieId": {
            "type": "integer",
            "description": "Gets or sets the document series identifier. Required.",
            "format": "int32"
          },
          "documentTypeId": {
            "type": "integer",
            "description": "Gets or sets the document type identifier. Required.",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Represents the data required to create a new manual checking account entry."
      },
      "CreatePaymentBankDetailDTO": {
        "required": [
          "businessAccountId"
        ],
        "type": "object",
        "properties": {
          "checkSequenceNumber": {
            "maxLength": 255,
            "type": "string",
            "description": "Check sequence number.",
            "nullable": true
          },
          "accountNumber": {
            "maxLength": 255,
            "type": "string",
            "description": "Bank account number.",
            "nullable": true
          },
          "bankKeyId": {
            "maxLength": 25,
            "type": "string",
            "description": "Bank key identifier.",
            "nullable": true
          },
          "bankDescription": {
            "maxLength": 255,
            "type": "string",
            "description": "Bank description/name.",
            "nullable": true
          },
          "deferredDate": {
            "type": "string",
            "description": "Deferred payment date.",
            "format": "date-time"
          },
          "businessAccountId": {
            "type": "integer",
            "description": "Business account identifier for this payment.",
            "format": "int32"
          },
          "observation": {
            "maxLength": 255,
            "type": "string",
            "description": "Additional observation/notes for this payment.",
            "nullable": true
          },
          "files": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreatePaymentBankDetailDigitalArchiveDTO"
            },
            "description": "Digital archive files associated with this payment.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "DTO for creating a payment bank detail record (check/transfer details)."
      },
      "CreatePaymentBankDetailDigitalArchiveDTO": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string",
            "description": "Digital archive name."
          },
          "description": {
            "maxLength": 255,
            "type": "string",
            "description": "Digital archive description.",
            "nullable": true
          },
          "resource": {
            "type": "string",
            "description": "File to save for this digital archive.",
            "format": "binary",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "DTO for digital archive files associated with a payment bank detail."
      },
      "CreateReceiptBodyDetailsDTO": {
        "required": [
          "idHeader",
          "paidAmount"
        ],
        "type": "object",
        "properties": {
          "idHeader": {
            "type": "integer",
            "description": "Document header identifier of the invoice being paid.",
            "format": "int32"
          },
          "paidAmount": {
            "type": "number",
            "description": "Amount paid against this invoice.",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "DTO for a receipt body detail line (invoice being paid)."
      },
      "CreateReceiptPaymentDTO": {
        "required": [
          "amount",
          "isChange",
          "paymentTypeId"
        ],
        "type": "object",
        "properties": {
          "paymentTypeId": {
            "type": "integer",
            "description": "Payment type identifier (e.g., cash, card, check).",
            "format": "int32"
          },
          "isChange": {
            "type": "boolean",
            "description": "Indicates whether this payment line represents change given back."
          },
          "amount": {
            "type": "number",
            "description": "Payment amount.",
            "format": "double"
          },
          "paymentBankDetail": {
            "$ref": "#/components/schemas/CreatePaymentBankDetailDTO"
          }
        },
        "additionalProperties": false,
        "description": "DTO for a payment line within a receipt document."
      },
      "CreateXDfreeRequest": {
        "required": [
          "keyId",
          "name"
        ],
        "type": "object",
        "properties": {
          "keyId": {
            "maxLength": 25,
            "minLength": 0,
            "type": "string",
            "description": "Unique business key for the record (e.g. \"EQP-001\"). Max 25 characters."
          },
          "name": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Display name (e.g. \"Equipamentos Cópia\"). Max 50 characters."
          }
        },
        "additionalProperties": false,
        "description": "Request to create a new record in an XDfree table (xdfree01, xdfree02 or xdfree03).\r\nThe Id is generated by the database (auto-increment)."
      },
      "CrmAddressListItemDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "addressType": {
            "type": "integer",
            "format": "int32"
          },
          "addressLine1": {
            "type": "string",
            "nullable": true
          },
          "addressLine2": {
            "type": "string",
            "nullable": true
          },
          "complement": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "reference": {
            "type": "string",
            "nullable": true
          },
          "postalCode": {
            "type": "string",
            "nullable": true
          },
          "neighborhood": {
            "type": "string",
            "nullable": true
          },
          "municipalCode": {
            "type": "integer",
            "format": "int32"
          },
          "country": {
            "type": "string",
            "nullable": true
          },
          "latitude": {
            "type": "string",
            "nullable": true
          },
          "longitude": {
            "type": "string",
            "nullable": true
          },
          "defaultShipmentAddress": {
            "type": "boolean"
          }
        },
        "additionalProperties": false,
        "description": "Extra address row for the CRM workspace listing (no redundant entity key/name)."
      },
      "CrmConfigEntryCreateDTO": {
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 4000,
            "minLength": 0,
            "type": "string",
            "description": "Configuration entry description.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "CRM configuration entry creation data."
      },
      "CrmConfigEntryDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Configuration entry identifier.",
            "format": "int32"
          },
          "name": {
            "maxLength": 4000,
            "minLength": 0,
            "type": "string",
            "description": "Configuration entry description.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "CRM configuration entry exposed by the unified CRM config API."
      },
      "CrmConfigEntryDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CrmConfigEntryDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "CrmConfigType": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "description": "CRM configuration table discriminator for the unified crm-config API.",
        "format": "int32"
      },
      "CrmContactListItemDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "idNumber": {
            "type": "string",
            "nullable": true
          },
          "position": {
            "type": "string",
            "nullable": true
          },
          "birthDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "address": {
            "type": "string",
            "nullable": true
          },
          "phone1": {
            "type": "string",
            "nullable": true
          },
          "phone2": {
            "type": "string",
            "nullable": true
          },
          "mobilePhone1": {
            "type": "string",
            "nullable": true
          },
          "mobilePhone2": {
            "type": "string",
            "nullable": true
          },
          "mobilePhone3": {
            "type": "string",
            "nullable": true
          },
          "email1": {
            "type": "string",
            "nullable": true
          },
          "email2": {
            "type": "string",
            "nullable": true
          },
          "email3": {
            "type": "string",
            "nullable": true
          },
          "postalCode": {
            "type": "string",
            "nullable": true
          },
          "state": {
            "type": "string",
            "nullable": true
          },
          "obs": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Contact row for the CRM workspace listing (no redundant entity key/name)."
      },
      "CrmCustomerHeaderDTO": {
        "type": "object",
        "properties": {
          "keyId": {
            "type": "string",
            "nullable": true
          },
          "entityType": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "businessName": {
            "type": "string",
            "nullable": true
          },
          "address": {
            "type": "string",
            "nullable": true
          },
          "postalCode": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "state": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "type": "string",
            "nullable": true
          },
          "vat": {
            "type": "string",
            "nullable": true
          },
          "phone1": {
            "type": "string",
            "nullable": true
          },
          "phone2": {
            "type": "string",
            "nullable": true
          },
          "mobilePhone1": {
            "type": "string",
            "nullable": true
          },
          "email1": {
            "type": "string",
            "nullable": true
          },
          "contactName": {
            "type": "string",
            "nullable": true
          },
          "contactPhone": {
            "type": "string",
            "nullable": true
          },
          "contactEmail": {
            "type": "string",
            "nullable": true
          },
          "webSite": {
            "type": "string",
            "nullable": true
          },
          "obs": {
            "type": "string",
            "nullable": true
          },
          "inactive": {
            "type": "boolean"
          },
          "limitCredit": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "balance": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "lastPurchase": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Customer header for the CRM workspace listing (subset of XDPeople.Soba.Application.DTOs.EntityDTO)."
      },
      "CrmCustomerListingResponseDTO": {
        "type": "object",
        "properties": {
          "entity": {
            "$ref": "#/components/schemas/CrmCustomerHeaderDTO"
          },
          "contacts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CrmContactListItemDTO"
            },
            "description": "All customer contacts for the entity.",
            "nullable": true
          },
          "addresses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CrmAddressListItemDTO"
            },
            "description": "All extra addresses for the entity.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "CRM customer workspace response: header plus contacts and extra addresses.\r\nSales and receipts are loaded via dedicated endpoints when the user opens those tabs."
      },
      "CrmCustomerReceiptsListResponseDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CrmReceiptHeaderDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          },
          "paymentsAmount": {
            "type": "number",
            "description": "Sum of receipt totals for the customer across all matching receipt documents.",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Paginated customer receipt documents (XDPeople.Soba.Application.DTOs.EntityListingDTO`1 of XDPeople.Soba.Application.DTOs.Crm.CrmReceiptHeaderDTO)\r\nwith the aggregate payments amount."
      },
      "CrmCustomerSalesListResponseDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CrmSalesDocumentHeaderDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          },
          "salesTotal": {
            "type": "number",
            "description": "Sum of signed document totals for the customer across all matching sale documents (cashier flow applied).",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Paginated customer sale documents (XDPeople.Soba.Application.DTOs.EntityListingDTO`1 of XDPeople.Soba.Application.DTOs.Crm.CrmSalesDocumentHeaderDTO)\r\nwith the aggregate signed sales total."
      },
      "CrmHistoryDTO": {
        "required": [
          "customerKeyId",
          "date",
          "taskId",
          "user"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique identifier. Generated automatically on create.",
            "format": "int32"
          },
          "customerKeyId": {
            "maxLength": 25,
            "minLength": 1,
            "type": "string",
            "description": "Customer key identifier."
          },
          "date": {
            "type": "string",
            "description": "Occurrence date.",
            "format": "date-time"
          },
          "taskId": {
            "type": "integer",
            "description": "CRM task identifier.",
            "format": "int32"
          },
          "taskName": {
            "type": "string",
            "description": "CRM task description.",
            "nullable": true
          },
          "user": {
            "type": "integer",
            "description": "User identifier who created the occurrence.",
            "format": "int32"
          },
          "obs": {
            "maxLength": 4000,
            "type": "string",
            "description": "Observations or notes.",
            "nullable": true
          },
          "stateId": {
            "type": "integer",
            "description": "CRM state identifier.",
            "format": "int32",
            "nullable": true
          },
          "stateDescription": {
            "type": "string",
            "description": "CRM state description.",
            "nullable": true
          },
          "inchargeUserId": {
            "type": "integer",
            "description": "User identifier in charge of the occurrence.",
            "format": "int32",
            "nullable": true
          },
          "endDate": {
            "type": "string",
            "description": "End date of the occurrence.",
            "format": "date-time",
            "nullable": true
          },
          "priorityId": {
            "type": "integer",
            "description": "CRM priority identifier.",
            "format": "int32",
            "nullable": true
          },
          "priorityDescription": {
            "type": "string",
            "description": "CRM priority description.",
            "nullable": true
          },
          "time": {
            "type": "string",
            "description": "Start time of the occurrence.",
            "format": "date-time",
            "nullable": true
          },
          "endTime": {
            "type": "string",
            "description": "End time of the occurrence.",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "CRM occurrence (CrmHistory) record."
      },
      "CrmHistoryDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CrmHistoryDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "CrmHistoryUpdateDTO": {
        "type": "object",
        "properties": {
          "customerKeyId": {
            "maxLength": 25,
            "type": "string",
            "description": "Customer key identifier.",
            "nullable": true
          },
          "date": {
            "type": "string",
            "description": "Occurrence date.",
            "format": "date-time",
            "nullable": true
          },
          "taskId": {
            "type": "integer",
            "description": "CRM task identifier.",
            "format": "int32",
            "nullable": true
          },
          "user": {
            "type": "integer",
            "description": "User identifier who created the occurrence.",
            "format": "int32",
            "nullable": true
          },
          "obs": {
            "maxLength": 4000,
            "type": "string",
            "description": "Observations or notes.",
            "nullable": true
          },
          "stateId": {
            "type": "integer",
            "description": "CRM state identifier.",
            "format": "int32",
            "nullable": true
          },
          "inchargeUserId": {
            "type": "integer",
            "description": "User identifier in charge of the occurrence.",
            "format": "int32",
            "nullable": true
          },
          "endDate": {
            "type": "string",
            "description": "End date of the occurrence.",
            "format": "date-time",
            "nullable": true
          },
          "priorityId": {
            "type": "integer",
            "description": "CRM priority identifier.",
            "format": "int32",
            "nullable": true
          },
          "time": {
            "type": "string",
            "description": "Start time of the occurrence.",
            "format": "date-time",
            "nullable": true
          },
          "endTime": {
            "type": "string",
            "description": "End time of the occurrence.",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "CRM occurrence (CrmHistory) partial update request.\r\nOnly provided fields are updated; the occurrence id comes from the route."
      },
      "CrmReceiptBankDetailDTO": {
        "type": "object",
        "properties": {
          "accountNumber": {
            "type": "string",
            "nullable": true
          },
          "checkSequenceNumber": {
            "type": "string",
            "nullable": true
          },
          "bankDescription": {
            "type": "string",
            "nullable": true
          },
          "bankKeyId": {
            "type": "string",
            "nullable": true
          },
          "observation": {
            "type": "string",
            "nullable": true
          },
          "deferredDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CrmReceiptHeaderDTO": {
        "type": "object",
        "properties": {
          "documentTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "serieId": {
            "type": "integer",
            "format": "int32"
          },
          "number": {
            "type": "integer",
            "format": "int32"
          },
          "documentIdentifier": {
            "type": "string",
            "nullable": true
          },
          "createDate": {
            "type": "string",
            "format": "date-time"
          },
          "totalAmount": {
            "type": "number",
            "format": "double"
          },
          "otherValues": {
            "type": "number",
            "format": "double"
          },
          "virtualTotalAmount": {
            "type": "number",
            "format": "double"
          },
          "salesmanName": {
            "type": "string",
            "nullable": true
          },
          "observation": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CrmReceiptPaymentDetailDTO": {
        "type": "object",
        "properties": {
          "paymentTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "paymentTypeDescription": {
            "type": "string",
            "nullable": true
          },
          "currencyId": {
            "type": "integer",
            "format": "int32"
          },
          "currencyRate": {
            "type": "number",
            "format": "double"
          },
          "netAmount": {
            "type": "number",
            "format": "double"
          },
          "isChange": {
            "type": "boolean"
          },
          "paymentMechanism": {
            "type": "string",
            "nullable": true
          },
          "bankDetail": {
            "$ref": "#/components/schemas/CrmReceiptBankDetailDTO"
          }
        },
        "additionalProperties": false
      },
      "CrmSalesDocumentHeaderDTO": {
        "type": "object",
        "properties": {
          "documentTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "serieId": {
            "type": "integer",
            "format": "int32"
          },
          "number": {
            "type": "integer",
            "format": "int32"
          },
          "documentIdentifier": {
            "type": "string",
            "nullable": true
          },
          "createDate": {
            "type": "string",
            "format": "date-time"
          },
          "salesmanId": {
            "type": "integer",
            "format": "int32"
          },
          "salesmanName": {
            "type": "string",
            "nullable": true
          },
          "headerDiscountPercent": {
            "type": "number",
            "format": "double"
          },
          "headerDiscountAmount": {
            "type": "number",
            "format": "double"
          },
          "totalAmount": {
            "type": "number",
            "format": "double"
          },
          "observation": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CrmSalesLineDTO": {
        "type": "object",
        "properties": {
          "itemKeyId": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "taxIncludedPrice": {
            "type": "number",
            "format": "double"
          },
          "quantity": {
            "type": "number",
            "format": "double"
          },
          "discountPercent": {
            "type": "number",
            "format": "double"
          },
          "lineTotal": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "CurrencyCreateDTO": {
        "required": [
          "description",
          "euroConvertionRate",
          "keyId",
          "symbol",
          "symbolPosition"
        ],
        "type": "object",
        "properties": {
          "description": {
            "maxLength": 50,
            "minLength": 1,
            "type": "string",
            "description": "Currency description."
          },
          "euroConvertionRate": {
            "type": "number",
            "description": "Euro conversion rate.",
            "format": "double"
          },
          "symbol": {
            "maxLength": 5,
            "minLength": 1,
            "type": "string",
            "description": "Currency symbol."
          },
          "symbolPosition": {
            "type": "integer",
            "description": "Symbol position (before/after amount).",
            "format": "int32"
          },
          "keyId": {
            "maxLength": 3,
            "minLength": 1,
            "type": "string",
            "description": "Currency key identifier/code."
          },
          "date": {
            "type": "string",
            "description": "Rate date.",
            "format": "date-time"
          },
          "decimalPlaces": {
            "maximum": 9,
            "minimum": 0,
            "type": "integer",
            "description": "Number of decimal places for amounts.",
            "format": "int32",
            "nullable": true
          },
          "decimalItemPlaces": {
            "maximum": 9,
            "minimum": 0,
            "type": "integer",
            "description": "Number of decimal places for item prices.",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Currency create request."
      },
      "CurrencyDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Currency identifier.",
            "format": "int32"
          },
          "keyId": {
            "maxLength": 10,
            "minLength": 0,
            "type": "string",
            "description": "Currency key identifier/code.",
            "nullable": true
          },
          "description": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Currency description.",
            "nullable": true
          },
          "euroConvertionRate": {
            "type": "number",
            "description": "Euro conversion rate.",
            "format": "double",
            "nullable": true
          },
          "symbol": {
            "maxLength": 5,
            "minLength": 0,
            "type": "string",
            "description": "Currency symbol.",
            "nullable": true
          },
          "date": {
            "type": "string",
            "description": "Rate date.",
            "format": "date-time",
            "nullable": true
          },
          "syncStamp": {
            "type": "string",
            "description": "Synchronization timestamp.",
            "format": "date-time"
          },
          "symbolPosition": {
            "type": "integer",
            "description": "Symbol position (before/after amount).",
            "format": "int32"
          },
          "decimalPlaces": {
            "type": "integer",
            "description": "Number of decimal places.",
            "format": "int32",
            "nullable": true
          },
          "decimalItemPlaces": {
            "type": "integer",
            "description": "Number of decimal places for items.",
            "format": "int32",
            "nullable": true
          },
          "cloudSyncStamp": {
            "type": "string",
            "description": "Cloud synchronization timestamp.",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Currency information."
      },
      "CurrencyDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CurrencyDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "CurrencyDeclarationDTO": {
        "type": "object",
        "properties": {
          "currencyKeyId": {
            "type": "string",
            "description": "Currency Key Id.",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "description": "Amount.",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Currency declaration entry."
      },
      "CurrencyDeclarationTotalDTO": {
        "type": "object",
        "properties": {
          "currencyDeclarations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CurrencyDeclarationDTO"
            },
            "description": "Currency Declarations list.",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Description.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Currency declaration total with entries."
      },
      "CurrencyPrintingDTO": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "description": "Gets or sets the description/name of the currency.",
            "nullable": true
          },
          "symbolPosition": {
            "type": "string",
            "description": "Gets or sets the position of the currency symbol relative to the value (e.g., \"before\" or \"after\").",
            "nullable": true
          },
          "symbol": {
            "type": "string",
            "description": "Gets or sets the currency symbol (e.g., \"€\", \"$\").",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents currency information used in document printing."
      },
      "CurrencyUpdateDTO": {
        "type": "object",
        "properties": {
          "description": {
            "maxLength": 50,
            "type": "string",
            "description": "Currency description.",
            "nullable": true
          },
          "euroConvertionRate": {
            "type": "number",
            "description": "Euro conversion rate.",
            "format": "double",
            "nullable": true
          },
          "symbol": {
            "maxLength": 5,
            "type": "string",
            "description": "Currency symbol.",
            "nullable": true
          },
          "symbolPosition": {
            "type": "integer",
            "description": "Symbol position (before/after amount).",
            "format": "int32",
            "nullable": true
          },
          "date": {
            "type": "string",
            "description": "Rate date.",
            "format": "date-time",
            "nullable": true
          },
          "decimalPlaces": {
            "maximum": 9,
            "minimum": 0,
            "type": "integer",
            "description": "Number of decimal places for amounts.",
            "format": "int32",
            "nullable": true
          },
          "decimalItemPlaces": {
            "maximum": 9,
            "minimum": 0,
            "type": "integer",
            "description": "Number of decimal places for item prices.",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Currency update request. Omitted fields keep their stored values."
      },
      "CustomerDTO": {
        "required": [
          "customerCard",
          "entityGuid",
          "entityType",
          "identificationIssuerCountry",
          "insurance",
          "keyId"
        ],
        "type": "object",
        "properties": {
          "keyId": {
            "maxLength": 25,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the key identifier."
          },
          "name": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the name.",
            "nullable": true
          },
          "businessName": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the business/trade name.",
            "nullable": true
          },
          "entityType": {
            "type": "integer",
            "description": "Gets or sets the entity type identifier.",
            "format": "int32"
          },
          "address": {
            "maxLength": 200,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the address.",
            "nullable": true
          },
          "addressLine2": {
            "maxLength": 200,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the second line of the address.",
            "nullable": true
          },
          "complement": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the address complement.",
            "nullable": true
          },
          "neighborhood": {
            "maxLength": 200,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the neighborhood.",
            "nullable": true
          },
          "reference": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the reference.",
            "nullable": true
          },
          "postalCode": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the postal code.",
            "nullable": true
          },
          "city": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the city.",
            "nullable": true
          },
          "state": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the state/province.",
            "nullable": true
          },
          "country": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the country.",
            "nullable": true
          },
          "vat": {
            "maxLength": 30,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the VAT number.",
            "nullable": true
          },
          "phone1": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the first phone number.",
            "nullable": true
          },
          "phone2": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the second phone number.",
            "nullable": true
          },
          "phone3": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the third phone number.",
            "nullable": true
          },
          "phone4": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the fourth phone number.",
            "nullable": true
          },
          "mobilePhone1": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the first mobile phone number.",
            "nullable": true
          },
          "mobilePhone2": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the second mobile phone number.",
            "nullable": true
          },
          "fax1": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the first fax number.",
            "nullable": true
          },
          "fax2": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the second fax number.",
            "nullable": true
          },
          "contactName": {
            "maxLength": 40,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the contact person name.",
            "nullable": true
          },
          "contactEmail": {
            "maxLength": 150,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the contact email.",
            "nullable": true
          },
          "email1": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the first email address.",
            "nullable": true
          },
          "email2": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the second email address.",
            "nullable": true
          },
          "contactPhone": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the contact phone number.",
            "nullable": true
          },
          "obs": {
            "maxLength": 4000,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the observations/notes.",
            "nullable": true
          },
          "defaultPaymentType": {
            "type": "integer",
            "description": "Gets or sets the default payment type identifier.",
            "format": "int32",
            "nullable": true
          },
          "limitCreditType": {
            "type": "integer",
            "description": "Gets or sets the credit limit type.",
            "format": "int32",
            "default": 0
          },
          "limitCredit": {
            "type": "number",
            "description": "Gets or sets the credit limit amount.",
            "format": "double",
            "nullable": true
          },
          "limitDays": {
            "type": "integer",
            "description": "Gets or sets the credit limit days.",
            "format": "int32",
            "default": 0
          },
          "lastPurchase": {
            "type": "string",
            "description": "Gets or sets the last purchase date.",
            "format": "date-time",
            "nullable": true
          },
          "balance": {
            "type": "number",
            "description": "Gets or sets the account balance.",
            "format": "double",
            "nullable": true
          },
          "discount": {
            "type": "number",
            "description": "Gets or sets the discount percentage.",
            "format": "double",
            "nullable": true
          },
          "entityCommission": {
            "type": "number",
            "description": "Gets or sets the entity commission percentage.",
            "format": "double",
            "default": 0
          },
          "dateOfBirth": {
            "type": "string",
            "description": "Gets or sets the date of birth.",
            "format": "date-time",
            "nullable": true
          },
          "latitude": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the geographic latitude.",
            "nullable": true
          },
          "longitude": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the geographic longitude.",
            "nullable": true
          },
          "alertCredit": {
            "type": "number",
            "description": "Gets or sets the credit alert threshold.",
            "format": "double",
            "default": 0
          },
          "deliveryTaxItemId": {
            "type": "integer",
            "description": "Gets or sets the delivery tax item identifier.",
            "format": "int32",
            "nullable": true
          },
          "holdingTax": {
            "type": "boolean",
            "description": "Gets or sets whether holding tax is applied.",
            "default": false
          },
          "holdingTaxAmount": {
            "type": "number",
            "description": "Gets or sets the holding tax amount.",
            "format": "double",
            "nullable": true
          },
          "holdingTaxType": {
            "type": "integer",
            "description": "Gets or sets the holding tax type.",
            "format": "int32"
          },
          "feapBroker": {
            "type": "integer",
            "description": "Gets or sets the FEAP broker identifier.",
            "format": "int32",
            "default": 0
          },
          "alertMessage": {
            "type": "boolean",
            "description": "Gets or sets whether alert messages are enabled.",
            "default": false
          },
          "forbiddenDocuments": {
            "type": "boolean",
            "description": "Gets or sets whether documents are forbidden.",
            "default": false
          },
          "defaultPaymentMode": {
            "type": "integer",
            "description": "Gets or sets the default payment mode.",
            "format": "int32",
            "default": 1
          },
          "syncStamp": {
            "type": "string",
            "description": "Gets or sets the synchronization timestamp.",
            "format": "date-time",
            "nullable": true
          },
          "salesMan": {
            "type": "integer",
            "description": "Gets or sets the salesman identifier.",
            "format": "int32",
            "default": 0
          },
          "gender": {
            "type": "boolean",
            "description": "Gets or sets the gender.",
            "default": false
          },
          "customerCardNumber": {
            "type": "integer",
            "description": "Gets or sets the customer card number.",
            "format": "int32",
            "nullable": true
          },
          "customerCardExpirationDate": {
            "type": "string",
            "description": "Gets or sets the customer card expiration date.",
            "format": "date-time",
            "nullable": true
          },
          "customerCardDays": {
            "type": "integer",
            "description": "Gets or sets the customer card validity days.",
            "format": "int32",
            "default": 0
          },
          "carrierDescription": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the carrier description.",
            "nullable": true
          },
          "webSite": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the website URL.",
            "nullable": true
          },
          "faceBook": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the Facebook profile.",
            "nullable": true
          },
          "linkedIn": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the LinkedIn profile.",
            "nullable": true
          },
          "skype": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the Skype identifier.",
            "nullable": true
          },
          "cashRegime": {
            "type": "integer",
            "description": "Gets or sets the cash regime type.",
            "format": "int32",
            "default": 0
          },
          "customerCard": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the customer card identifier.",
            "default": ""
          },
          "regionId": {
            "type": "integer",
            "description": "Gets or sets the region identifier.",
            "format": "int32",
            "default": 1
          },
          "priceLine": {
            "type": "integer",
            "description": "Gets or sets the price line.",
            "format": "int32"
          },
          "identificationNumber": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the identification number.",
            "nullable": true
          },
          "identificationIssuerCountry": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the identification issuer country.",
            "default": ""
          },
          "inactive": {
            "type": "boolean",
            "description": "Gets or sets whether the entity is inactive.",
            "default": false
          },
          "entityGroupId": {
            "type": "integer",
            "description": "Gets or sets the entity group identifier.",
            "format": "int32",
            "default": 0
          },
          "isExcludedFromDueNoticesMail": {
            "type": "boolean",
            "description": "Gets or sets whether excluded from due notices mail.",
            "default": false
          },
          "grouping": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the grouping category.",
            "nullable": true
          },
          "pictureId": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the picture identifier.",
            "nullable": true
          },
          "thumbId": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the thumbnail identifier.",
            "nullable": true
          },
          "bioGuid": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the biometric GUID.",
            "nullable": true
          },
          "schedulerResource": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the scheduler resource identifier.",
            "nullable": true
          },
          "accountancyCode": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the accountancy code.",
            "nullable": true
          },
          "salesZoneId": {
            "type": "integer",
            "description": "Gets or sets the sales zone identifier.",
            "format": "int32",
            "default": 0
          },
          "bankAccount": {
            "type": "integer",
            "description": "Gets or sets the bank account identifier.",
            "format": "int32",
            "nullable": true
          },
          "dateOfSignature": {
            "type": "string",
            "description": "Gets or sets the signature date.",
            "format": "date-time",
            "nullable": true
          },
          "warningMessage": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the warning message text.",
            "nullable": true
          },
          "warehouseId": {
            "type": "integer",
            "description": "Gets or sets the warehouse identifier.",
            "format": "int32",
            "default": 0
          },
          "applyEcoTaxOnSale": {
            "type": "boolean",
            "description": "Gets or sets whether eco tax is applied on sale.",
            "default": false
          },
          "insurance": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the insurance information.",
            "default": ""
          },
          "webPassword": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the web access password.",
            "nullable": true
          },
          "relatedEntityKeyId": {
            "maxLength": 25,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the related entity key identifier.",
            "nullable": true
          },
          "creationDate": {
            "type": "string",
            "description": "Gets or sets the creation date.",
            "format": "date-time",
            "nullable": true
          },
          "entityGuid": {
            "maxLength": 40,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the entity GUID."
          },
          "entityConsentmentStatus": {
            "type": "integer",
            "description": "Gets or sets the entity consent status.",
            "format": "int32",
            "default": 0
          },
          "forgetfulnessReason": {
            "maxLength": 250,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the data forgetfulness reason (GDPR).",
            "nullable": true
          },
          "portNumber": {
            "maxLength": 60,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the port number.",
            "nullable": true
          },
          "municipalCode": {
            "type": "integer",
            "description": "Gets or sets the municipal code.",
            "format": "int32",
            "default": 0
          },
          "documentType": {
            "type": "integer",
            "description": "Gets or sets the document type.",
            "format": "int32",
            "default": -1
          },
          "electronicInvoice": {
            "type": "boolean",
            "description": "Gets or sets whether electronic invoicing is enabled.",
            "default": false
          },
          "qeroSubscriber": {
            "type": "boolean",
            "description": "Gets or sets whether the entity is a Qero subscriber.",
            "default": false
          },
          "cloudSyncStamp": {
            "type": "string",
            "description": "Gets or sets the cloud synchronization timestamp.",
            "format": "date-time",
            "nullable": true
          },
          "identificationNumberInd": {
            "type": "integer",
            "description": "Gets or sets the identification number indicator.",
            "format": "int32",
            "default": 1
          },
          "qeroSubscriptionDate": {
            "type": "string",
            "description": "Gets or sets the Qero subscription date.",
            "format": "date-time",
            "nullable": true
          },
          "syncGuid": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the synchronization GUID.",
            "nullable": true
          },
          "deliveryRegionId": {
            "type": "integer",
            "description": "Gets or sets the delivery region identifier.",
            "format": "int32",
            "nullable": true
          },
          "password": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the password.",
            "nullable": true
          },
          "defaultRetailPrice": {
            "type": "integer",
            "description": "Gets or sets the default retail price line.",
            "format": "int32",
            "nullable": true
          },
          "bankName": {
            "maxLength": 40,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the bank name.",
            "nullable": true
          },
          "bankIdentifierCode": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the bank identifier code.",
            "nullable": true
          },
          "bankIBAN": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the bank IBAN.",
            "nullable": true
          },
          "bankCardNumber": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the bank card number.",
            "nullable": true
          },
          "picturePath": {
            "maxLength": 512,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the picture file path.",
            "nullable": true
          },
          "deliveryOccurrence": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the delivery occurrence.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "DTO representing a CustomerDTO entity with listing configuration."
      },
      "CustomerDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomerDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "CustomerLookupAdvancedRequestDTO": {
        "type": "object",
        "properties": {
          "filter": {
            "type": "array",
            "items": {},
            "description": "Filter.",
            "nullable": true
          },
          "excludedEntityKeyIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Excluded Entity Key Ids.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Request DTO for advanced customer lookup with DevExtreme filter format."
      },
      "CustomerLookupDTO": {
        "type": "object",
        "properties": {
          "keyId": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Key Id.",
            "nullable": true
          },
          "name": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Name.",
            "nullable": true
          },
          "entityType": {
            "maxLength": 50,
            "minLength": 0,
            "type": "integer",
            "description": "Entity Type.",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Customer lookup listing."
      },
      "CustomerLookupDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomerLookupDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "CustomersContactDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Gets or sets the unique identifier.",
            "format": "int32",
            "nullable": true
          },
          "customerKeyId": {
            "type": "string",
            "description": "Gets or sets the customer key identifier.",
            "nullable": true
          },
          "entityName": {
            "type": "string",
            "description": "Gets or sets the entity name.",
            "nullable": true
          },
          "title": {
            "type": "string",
            "description": "Gets or sets the title.",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Gets or sets the contact name.",
            "nullable": true
          },
          "birthDate": {
            "type": "string",
            "description": "Gets or sets the birth date.",
            "format": "date-time",
            "nullable": true
          },
          "address": {
            "type": "string",
            "description": "Gets or sets the address.",
            "nullable": true
          },
          "phone1": {
            "type": "string",
            "description": "Gets or sets the first phone number.",
            "nullable": true
          },
          "phone2": {
            "type": "string",
            "description": "Gets or sets the second phone number.",
            "nullable": true
          },
          "mobilePhone1": {
            "type": "string",
            "description": "Gets or sets the first mobile phone number.",
            "nullable": true
          },
          "mobilePhone2": {
            "type": "string",
            "description": "Gets or sets the second mobile phone number.",
            "nullable": true
          },
          "mobilePhone3": {
            "type": "string",
            "description": "Gets or sets the third mobile phone number.",
            "nullable": true
          },
          "email1": {
            "type": "string",
            "description": "Gets or sets the first email address.",
            "nullable": true
          },
          "email2": {
            "type": "string",
            "description": "Gets or sets the second email address.",
            "nullable": true
          },
          "email3": {
            "type": "string",
            "description": "Gets or sets the third email address.",
            "nullable": true
          },
          "obs": {
            "type": "string",
            "description": "Gets or sets the observations/notes.",
            "nullable": true
          },
          "postalCode": {
            "type": "string",
            "description": "Gets or sets the postal code.",
            "nullable": true
          },
          "state": {
            "type": "string",
            "description": "Gets or sets the state/province.",
            "nullable": true
          },
          "position": {
            "type": "string",
            "description": "Gets or sets the job position.",
            "nullable": true
          },
          "sex": {
            "type": "integer",
            "description": "Gets or sets the sex indicator.",
            "format": "int32"
          },
          "syncStamp": {
            "type": "string",
            "description": "Gets or sets the synchronization timestamp.",
            "format": "date-time",
            "nullable": true
          },
          "faceBook": {
            "type": "string",
            "description": "Gets or sets the Facebook profile.",
            "nullable": true
          },
          "linkedIn": {
            "type": "string",
            "description": "Gets or sets the LinkedIn profile.",
            "nullable": true
          },
          "skype": {
            "type": "string",
            "description": "Gets or sets the Skype identifier.",
            "nullable": true
          },
          "entityType": {
            "type": "integer",
            "description": "Gets or sets the entity type identifier.",
            "format": "int32",
            "nullable": true
          },
          "latitude": {
            "type": "string",
            "description": "Gets or sets the geographic latitude.",
            "nullable": true
          },
          "longitude": {
            "type": "string",
            "description": "Gets or sets the geographic longitude.",
            "nullable": true
          },
          "sensitiveDataLevel": {
            "type": "integer",
            "description": "Gets or sets the sensitive data access level.",
            "format": "int32"
          },
          "entityConsentmentStatus": {
            "type": "integer",
            "description": "Gets or sets the entity consent status.",
            "format": "int32"
          },
          "forgetfulnessReason": {
            "type": "string",
            "description": "Gets or sets the reason for data forgetfulness (GDPR).",
            "nullable": true
          },
          "idNumber": {
            "type": "string",
            "description": "Gets or sets the identification number.",
            "nullable": true
          },
          "picturePath": {
            "type": "string",
            "description": "Gets or sets the picture file path.",
            "nullable": true
          },
          "pictureId": {
            "type": "string",
            "description": "Gets or sets the picture identifier.",
            "nullable": true
          },
          "thumbId": {
            "type": "string",
            "description": "Gets or sets the thumbnail identifier.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "DTO for listing customer contacts in entity listings."
      },
      "CustomersContactDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomersContactDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "CustomersContactUpdateDTO": {
        "type": "object",
        "properties": {
          "customerKeyId": {
            "type": "string",
            "description": "Gets or sets the customer key identifier.",
            "nullable": true
          },
          "title": {
            "type": "string",
            "description": "Gets or sets the title.",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Gets or sets the contact name.",
            "nullable": true
          },
          "birthDate": {
            "type": "string",
            "description": "Gets or sets the birth date.",
            "format": "date-time",
            "nullable": true
          },
          "address": {
            "type": "string",
            "description": "Gets or sets the address.",
            "nullable": true
          },
          "phone1": {
            "type": "string",
            "description": "Gets or sets the first phone number.",
            "nullable": true
          },
          "phone2": {
            "type": "string",
            "description": "Gets or sets the second phone number.",
            "nullable": true
          },
          "mobilePhone1": {
            "type": "string",
            "description": "Gets or sets the first mobile phone number.",
            "nullable": true
          },
          "mobilePhone2": {
            "type": "string",
            "description": "Gets or sets the second mobile phone number.",
            "nullable": true
          },
          "mobilePhone3": {
            "type": "string",
            "description": "Gets or sets the third mobile phone number.",
            "nullable": true
          },
          "email1": {
            "type": "string",
            "description": "Gets or sets the first email address.",
            "nullable": true
          },
          "email2": {
            "type": "string",
            "description": "Gets or sets the second email address.",
            "nullable": true
          },
          "email3": {
            "type": "string",
            "description": "Gets or sets the third email address.",
            "nullable": true
          },
          "obs": {
            "type": "string",
            "description": "Gets or sets the observations/notes.",
            "nullable": true
          },
          "postalCode": {
            "type": "string",
            "description": "Gets or sets the postal code.",
            "nullable": true
          },
          "state": {
            "type": "string",
            "description": "Gets or sets the state/province.",
            "nullable": true
          },
          "position": {
            "type": "string",
            "description": "Gets or sets the job position.",
            "nullable": true
          },
          "sex": {
            "type": "integer",
            "description": "Gets or sets the sex indicator.",
            "format": "int32",
            "nullable": true
          },
          "syncStamp": {
            "type": "string",
            "description": "Gets or sets the synchronization timestamp.",
            "format": "date-time",
            "nullable": true
          },
          "faceBook": {
            "type": "string",
            "description": "Gets or sets the Facebook profile.",
            "nullable": true
          },
          "linkedIn": {
            "type": "string",
            "description": "Gets or sets the LinkedIn profile.",
            "nullable": true
          },
          "skype": {
            "type": "string",
            "description": "Gets or sets the Skype identifier.",
            "nullable": true
          },
          "entityType": {
            "type": "integer",
            "description": "Gets or sets the entity type identifier.",
            "format": "int32",
            "nullable": true
          },
          "latitude": {
            "type": "string",
            "description": "Gets or sets the geographic latitude.",
            "nullable": true
          },
          "longitude": {
            "type": "string",
            "description": "Gets or sets the geographic longitude.",
            "nullable": true
          },
          "sensitiveDataLevel": {
            "type": "integer",
            "description": "Gets or sets the sensitive data access level.",
            "format": "int32",
            "nullable": true
          },
          "entityConsentmentStatus": {
            "type": "integer",
            "description": "Gets or sets the entity consent status.",
            "format": "int32",
            "nullable": true
          },
          "forgetfulnessReason": {
            "type": "string",
            "description": "Gets or sets the reason for data forgetfulness (GDPR).",
            "nullable": true
          },
          "idNumber": {
            "type": "string",
            "description": "Gets or sets the identification number.",
            "nullable": true
          },
          "picturePath": {
            "type": "string",
            "description": "Gets or sets the picture file path.",
            "nullable": true
          },
          "pictureId": {
            "type": "string",
            "description": "Gets or sets the picture identifier.",
            "nullable": true
          },
          "thumbId": {
            "type": "string",
            "description": "Gets or sets the thumbnail identifier.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Partial customer contact update request. Omitted (null) fields keep their stored values."
      },
      "DailyType": {
        "enum": [
          1,
          2,
          4,
          8,
          16,
          32,
          64
        ],
        "type": "integer",
        "format": "int32"
      },
      "DebitAgreementListDTO": {
        "type": "object",
        "properties": {
          "customerCovenantAgreementId": {
            "type": "string",
            "description": "CustomerCovenantAgreement Id (hidden, used as key).",
            "nullable": true
          },
          "covenantId": {
            "type": "string",
            "description": "CovenantAgreement Id (hidden).",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Name.",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Description.",
            "nullable": true
          },
          "extraReference": {
            "type": "string",
            "description": "Extra Reference.",
            "nullable": true
          },
          "extraReference2": {
            "type": "string",
            "description": "Extra Reference 2.",
            "nullable": true
          },
          "entityKeyId": {
            "type": "string",
            "description": "Customer Id.",
            "nullable": true
          },
          "entityName": {
            "type": "string",
            "description": "Customer Name.",
            "nullable": true
          },
          "documentSerieDescription": {
            "type": "string",
            "description": "Document Serie description.",
            "nullable": true
          },
          "documentTypeDescription": {
            "type": "string",
            "description": "Document Type description.",
            "nullable": true
          },
          "lastProcessDate": {
            "type": "string",
            "description": "Last Process Date.",
            "format": "date-time",
            "nullable": true
          },
          "nextDate": {
            "type": "string",
            "description": "Next Process Date.",
            "format": "date-time",
            "nullable": true
          },
          "documentNumber": {
            "type": "string",
            "description": "Document identifier generated after debit processing (format varies by country).",
            "nullable": true
          },
          "totalAmount": {
            "type": "number",
            "description": "Total amount of the generated document (populated after debit processing).",
            "format": "double",
            "nullable": true
          },
          "finalDate": {
            "type": "string",
            "description": "Final Date (hidden by default, as in the Desktop application).",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "DTO for the covenant agreement debit listing grid."
      },
      "DebitAgreementListDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DebitAgreementListDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "DefaultDetailsFamilyDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Id.",
            "format": "int32"
          },
          "description": {
            "type": "string",
            "description": "Description.",
            "nullable": true
          },
          "idParent": {
            "type": "integer",
            "description": "Parent Id.",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Default details for family-based points configuration."
      },
      "DefaultDetailsItemDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Id.",
            "format": "int32"
          },
          "description": {
            "type": "string",
            "description": "Description.",
            "nullable": true
          },
          "keyId": {
            "type": "string",
            "description": "Key Id.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Default details for item-based points configuration."
      },
      "DefaultDetailsWithFamilySearchCriteriaDTO": {
        "type": "object",
        "properties": {
          "totalPoints": {
            "type": "number",
            "description": "Total Points.",
            "format": "double"
          },
          "pointsBase": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "number",
            "description": "Points Base.",
            "format": "double"
          },
          "eachY": {
            "type": "number",
            "description": "Each Y value.",
            "format": "double"
          },
          "formulaBase": {
            "$ref": "#/components/schemas/FormulaBaseEnum"
          },
          "detailField": {
            "$ref": "#/components/schemas/DetailFieldsEnum"
          },
          "searchType": {
            "$ref": "#/components/schemas/SearchTypeEnum"
          },
          "searchPool": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DefaultDetailsFamilyDTO"
            },
            "description": "Search Pool items.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Search criteria for family-based points configuration details."
      },
      "DefaultDetailsWithItemSearchCriteriaDTO": {
        "type": "object",
        "properties": {
          "totalPoints": {
            "type": "number",
            "description": "Total Points.",
            "format": "double"
          },
          "pointsBase": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "number",
            "description": "Points Base.",
            "format": "double"
          },
          "eachY": {
            "type": "number",
            "description": "Each Y value.",
            "format": "double"
          },
          "formulaBase": {
            "$ref": "#/components/schemas/FormulaBaseEnum"
          },
          "detailField": {
            "$ref": "#/components/schemas/DetailFieldsEnum"
          },
          "searchType": {
            "$ref": "#/components/schemas/SearchTypeEnum"
          },
          "searchPool": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DefaultDetailsItemDTO"
            },
            "description": "Search Pool items.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Search criteria for item-based points configuration details."
      },
      "DefaultHeaderCriteriaDTO": {
        "type": "object",
        "properties": {
          "totalPoints": {
            "type": "number",
            "description": "Total Points.",
            "format": "double"
          },
          "pointsBase": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "number",
            "description": "Points Base.",
            "format": "double"
          },
          "eachY": {
            "type": "number",
            "description": "Each Y value.",
            "format": "double"
          },
          "formulaBase": {
            "$ref": "#/components/schemas/FormulaBaseEnum"
          },
          "documentField": {
            "$ref": "#/components/schemas/DocumentFieldsEnum"
          }
        },
        "additionalProperties": false,
        "description": "Default header criteria for points configuration."
      },
      "DeleteManualCheckingAccountDTO": {
        "required": [
          "employeeId",
          "statusReason"
        ],
        "type": "object",
        "properties": {
          "statusReason": {
            "minLength": 1,
            "type": "string",
            "description": "Gets or sets the reason for voiding/deleting the checking account entry. Required."
          },
          "employeeId": {
            "type": "integer",
            "description": "Gets or sets the identifier of the employee performing the deletion. Required.",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Represents the data required to delete (void) a manual checking account entry."
      },
      "DeliveryRegionDTO": {
        "type": "object",
        "properties": {
          "id": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Delivery region identifier.",
            "format": "int32"
          },
          "description": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Delivery region description.",
            "nullable": true
          },
          "type": {
            "type": "integer",
            "description": "Region type.",
            "format": "int32"
          },
          "value": {
            "type": "number",
            "description": "Delivery region value/rate.",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Delivery region configuration."
      },
      "DeliveryRegionDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeliveryRegionDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "DetailFieldsEnum": {
        "enum": [
          0,
          1,
          2,
          3,
          4
        ],
        "type": "integer",
        "format": "int32"
      },
      "DigitalArchiveDTO": {
        "type": "object",
        "properties": {
          "guid": {
            "type": "string",
            "description": "Gets or sets the unique identifier (GUID) of the digital archive.",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "description": "Gets or sets the name of the digital archive file.",
            "nullable": true
          },
          "extension": {
            "type": "string",
            "description": "Gets or sets the file extension.",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Gets or sets the description of the digital archive.",
            "nullable": true
          },
          "path": {
            "type": "string",
            "description": "Gets or sets the file system path.",
            "nullable": true
          },
          "creationUser": {
            "type": "string",
            "description": "Gets or sets the user who created the archive.",
            "nullable": true
          },
          "hashTag": {
            "type": "string",
            "description": "Gets or sets the hashtag/label for the archive.",
            "nullable": true
          },
          "creationDate": {
            "type": "string",
            "description": "Gets or sets the creation date of the archive.",
            "format": "date-time"
          },
          "lastChange": {
            "type": "string",
            "description": "Gets or sets the date of the last modification.",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "DTO representing a digital archive file entry."
      },
      "DigitalArchiveDirectoryDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Gets or sets the unique identifier of the directory.",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "Gets or sets the name of the directory.",
            "nullable": true
          },
          "path": {
            "type": "string",
            "description": "Gets or sets the file system path of the directory.",
            "nullable": true
          },
          "idParent": {
            "type": "integer",
            "description": "Gets or sets the parent directory identifier.",
            "format": "int32"
          },
          "folderIdentifier": {
            "type": "string",
            "description": "Gets or sets the unique folder identifier (GUID).",
            "format": "uuid"
          },
          "caption": {
            "type": "string",
            "description": "Gets or sets the caption/display name of the directory.",
            "nullable": true
          },
          "digitalArchives": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DigitalArchiveDTO"
            },
            "description": "Gets or sets the list of digital archives within this directory.",
            "nullable": true
          },
          "hasChildren": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether this directory has child directories."
          }
        },
        "additionalProperties": false,
        "description": "DTO representing a digital archive directory and its contents."
      },
      "DocumentBodyDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Primary key of this body line — the unique identifier of the row. Use it to reference the line (e.g. `GET /document-body/{id}`).",
            "format": "int32"
          },
          "session": {
            "type": "integer",
            "description": "Reference to the session this line belongs to.",
            "format": "int32"
          },
          "shift": {
            "type": "integer",
            "description": "Reference to the shift this line belongs to.",
            "format": "int32"
          },
          "terminal": {
            "type": "integer",
            "description": "Reference to the terminal that produced this line.",
            "format": "int32"
          },
          "numDocCx": {
            "type": "integer",
            "description": "Gets or sets the checking account document number.",
            "format": "int32"
          },
          "saleZoneAreaObjectId": {
            "type": "integer",
            "description": "Reference to the sale-zone area object (e.g. table).",
            "format": "int32"
          },
          "serieId": {
            "type": "integer",
            "description": "Reference to the document series.",
            "format": "int32"
          },
          "number": {
            "type": "integer",
            "description": "Gets or sets the document number.",
            "format": "int32"
          },
          "orderNumber": {
            "type": "integer",
            "description": "Gets or sets the order number.",
            "format": "int32",
            "nullable": true
          },
          "sessionDate": {
            "type": "string",
            "description": "Gets or sets the session date.",
            "format": "date-time"
          },
          "creationUserId": {
            "type": "integer",
            "description": "Reference to the user who created the line.",
            "format": "int32"
          },
          "creationDate": {
            "type": "string",
            "description": "Gets or sets the creation date.",
            "format": "date-time"
          },
          "closeUserId": {
            "type": "integer",
            "description": "Reference to the user who closed the line.",
            "format": "int32"
          },
          "closeDate": {
            "type": "string",
            "description": "Gets or sets the closing date.",
            "format": "date-time",
            "nullable": true
          },
          "sortNumber": {
            "type": "integer",
            "description": "Gets or sets the sort number.",
            "format": "int32",
            "nullable": true
          },
          "sortLevel": {
            "type": "integer",
            "description": "Gets or sets the sort level.",
            "format": "int32",
            "nullable": true
          },
          "entityKeyId": {
            "type": "string",
            "description": "Reference to the customer / entity (by key).",
            "nullable": true
          },
          "itemKeyId": {
            "type": "string",
            "description": "Reference to the item (by key).",
            "nullable": true
          },
          "itemGroupId": {
            "type": "integer",
            "description": "Reference to the item group.",
            "format": "int32"
          },
          "itemDescription": {
            "type": "string",
            "description": "Gets or sets the item description.",
            "nullable": true
          },
          "itemType": {
            "type": "integer",
            "description": "Gets or sets the item type.",
            "format": "int32",
            "nullable": true
          },
          "quantity": {
            "type": "number",
            "description": "Gets or sets the quantity.",
            "format": "double",
            "nullable": true
          },
          "retailPrice": {
            "type": "number",
            "description": "Gets or sets the retail price.",
            "format": "double",
            "nullable": true
          },
          "taxId": {
            "type": "integer",
            "description": "Reference to the tax.",
            "format": "int32"
          },
          "taxValue": {
            "type": "number",
            "description": "Gets or sets the tax value percentage.",
            "format": "double",
            "nullable": true
          },
          "discount": {
            "type": "string",
            "description": "Gets or sets the discount expression.",
            "nullable": true
          },
          "discountValue": {
            "type": "number",
            "description": "Gets or sets the discount value amount.",
            "format": "double",
            "nullable": true
          },
          "totalIncome": {
            "type": "number",
            "description": "Gets or sets the total income amount.",
            "format": "double",
            "nullable": true
          },
          "totalTaxes": {
            "type": "number",
            "description": "Gets or sets the total taxes amount.",
            "format": "double",
            "nullable": true
          },
          "totalDiscounts": {
            "type": "number",
            "description": "Gets or sets the total discounts amount.",
            "format": "double",
            "nullable": true
          },
          "total": {
            "type": "number",
            "description": "Gets or sets the total amount.",
            "format": "double",
            "nullable": true
          },
          "paymentType": {
            "type": "integer",
            "description": "Reference to the payment type.",
            "format": "int32"
          },
          "deleted": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether the line is deleted."
          },
          "deletedDate": {
            "type": "string",
            "description": "Gets or sets the deletion date.",
            "format": "date-time",
            "nullable": true
          },
          "bar": {
            "type": "integer",
            "description": "Reference to the bar.",
            "format": "int32",
            "nullable": true
          },
          "documentTypeId": {
            "type": "integer",
            "description": "Reference to the document type.",
            "format": "int32",
            "nullable": true
          },
          "idShop": {
            "type": "integer",
            "description": "Reference to the shop.",
            "format": "int32",
            "nullable": true
          },
          "reasonsCancellation": {
            "type": "integer",
            "description": "Reference to the cancellation reason.",
            "format": "int32",
            "nullable": true
          },
          "observation": {
            "type": "string",
            "description": "Gets or sets the observation.",
            "nullable": true
          },
          "isOffer": {
            "type": "integer",
            "description": "Gets or sets a value indicating whether this line is an offer/gift.",
            "format": "int32",
            "nullable": true
          },
          "sortKey": {
            "type": "integer",
            "description": "Gets or sets the sort key.",
            "format": "int32",
            "nullable": true
          },
          "holdingTaxValue": {
            "type": "number",
            "description": "Gets or sets the holding tax value.",
            "format": "double",
            "nullable": true
          },
          "totalHoldingTaxes": {
            "type": "number",
            "description": "Gets or sets the total holding taxes amount.",
            "format": "double",
            "nullable": true
          },
          "currencyId": {
            "type": "integer",
            "description": "Reference to the currency.",
            "format": "int32"
          },
          "currencyRate": {
            "type": "number",
            "description": "Gets or sets the currency exchange rate.",
            "format": "double"
          },
          "paymentDivisionDiscount": {
            "type": "number",
            "description": "Gets or sets the payment division discount.",
            "format": "double",
            "nullable": true
          },
          "serviceTaxValue": {
            "type": "number",
            "description": "Gets or sets the service tax value.",
            "format": "double",
            "nullable": true
          },
          "serviceTaxUserId": {
            "type": "integer",
            "description": "Reference to the user that applied the service tax.",
            "format": "int32",
            "nullable": true
          },
          "documentGuid": {
            "type": "string",
            "description": "Reference to the parent document (header GUID). Not unique per line.",
            "nullable": true
          },
          "guid": {
            "type": "string",
            "description": "Alternative opaque identifier of this body line (stable GUID). May be used instead of XDPeople.Soba.Application.DTOs.Entity.DocumentBodyDTO.Id.",
            "nullable": true
          },
          "parentGuid": {
            "type": "string",
            "description": "Reference to a parent body line (GUID). Not unique per line.",
            "nullable": true
          },
          "netPrice": {
            "type": "number",
            "description": "Gets or sets the net price.",
            "format": "double",
            "nullable": true
          },
          "originWarehouse": {
            "type": "integer",
            "description": "Reference to the origin warehouse.",
            "format": "int32",
            "nullable": true
          },
          "destinationWarehouse": {
            "type": "integer",
            "description": "Reference to the destination warehouse.",
            "format": "int32",
            "nullable": true
          },
          "discountPercent1": {
            "type": "number",
            "description": "Gets or sets the first discount percentage.",
            "format": "double",
            "nullable": true
          },
          "discountPercent2": {
            "type": "number",
            "description": "Gets or sets the second discount percentage.",
            "format": "double",
            "nullable": true
          },
          "discountPercent3": {
            "type": "number",
            "description": "Gets or sets the third discount percentage.",
            "format": "double",
            "nullable": true
          },
          "totalNetAmount": {
            "type": "number",
            "description": "Gets or sets the total net amount.",
            "format": "double",
            "nullable": true
          },
          "totalTaxAmount": {
            "type": "number",
            "description": "Gets or sets the total tax amount.",
            "format": "double",
            "nullable": true
          },
          "totalAmount": {
            "type": "number",
            "description": "Gets or sets the total amount.",
            "format": "double",
            "nullable": true
          },
          "taxPointDate": {
            "type": "string",
            "description": "Gets or sets the tax point date.",
            "format": "date-time",
            "nullable": true
          },
          "headerDiscountAmount": {
            "type": "number",
            "description": "Gets or sets the header discount amount.",
            "format": "double",
            "nullable": true
          },
          "commission": {
            "type": "number",
            "description": "Gets or sets the commission percentage.",
            "format": "double",
            "nullable": true
          },
          "stockFlow": {
            "type": "integer",
            "description": "Gets or sets the stock flow type.",
            "format": "int32"
          },
          "stockBehavior": {
            "type": "integer",
            "description": "Gets or sets the stock behavior type.",
            "format": "int32"
          },
          "lastCostPrice": {
            "type": "number",
            "description": "Gets or sets the last cost price.",
            "format": "double",
            "nullable": true
          },
          "averageCostPrice": {
            "type": "number",
            "description": "Gets or sets the average cost price.",
            "format": "double",
            "nullable": true
          },
          "taxAmount": {
            "type": "number",
            "description": "Gets or sets the tax amount.",
            "format": "double"
          },
          "secondTaxAmount": {
            "type": "number",
            "description": "Gets or sets the second tax amount.",
            "format": "double"
          },
          "secondTaxId": {
            "type": "integer",
            "description": "Reference to the second tax.",
            "format": "int32"
          },
          "secondTaxValue": {
            "type": "number",
            "description": "Gets or sets the second tax value.",
            "format": "double"
          },
          "volumeCount": {
            "type": "number",
            "description": "Gets or sets the volume count.",
            "format": "double"
          },
          "measure1": {
            "type": "number",
            "description": "Gets or sets the first measurement value.",
            "format": "double",
            "nullable": true
          },
          "measure2": {
            "type": "number",
            "description": "Gets or sets the second measurement value.",
            "format": "double",
            "nullable": true
          },
          "measure3": {
            "type": "number",
            "description": "Gets or sets the third measurement value.",
            "format": "double",
            "nullable": true
          },
          "cloudSyncStamp": {
            "type": "string",
            "description": "Gets or sets the cloud synchronization timestamp.",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "DTO representing a document body line with all detail-level fields."
      },
      "DocumentBodyDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DocumentBodyDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "DocumentDetailsDTO": {
        "type": "object",
        "properties": {
          "documentHeader": {
            "$ref": "#/components/schemas/DocumentHeaderDTO"
          },
          "documentBodies": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DocumentBodyDTO"
            },
            "description": "List of document body lines (items, quantities, prices).",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "DTO containing the full details of a document (header and body lines)."
      },
      "DocumentFieldsEnum": {
        "enum": [
          0,
          1,
          2,
          3
        ],
        "type": "integer",
        "format": "int32"
      },
      "DocumentHeaderDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Gets or sets the unique identifier.",
            "format": "int32"
          },
          "terminal": {
            "type": "integer",
            "description": "Gets or sets the terminal identifier.",
            "format": "int32"
          },
          "numDocCx": {
            "type": "integer",
            "description": "Gets or sets the checking account document number.",
            "format": "int32"
          },
          "session": {
            "type": "integer",
            "description": "Gets or sets the session identifier.",
            "format": "int32"
          },
          "shift": {
            "type": "integer",
            "description": "Gets or sets the shift identifier.",
            "format": "int32"
          },
          "saleZoneAreaObjectId": {
            "type": "integer",
            "description": "Gets or sets the sale zone area object identifier.",
            "format": "int32"
          },
          "serieId": {
            "type": "integer",
            "description": "Gets or sets the document series identifier.",
            "format": "int32"
          },
          "number": {
            "type": "integer",
            "description": "Gets or sets the document number.",
            "format": "int32"
          },
          "signatureHashPt": {
            "type": "string",
            "description": "Gets or sets the Portuguese digital signature hash.",
            "nullable": true
          },
          "signatureVersionPt": {
            "type": "integer",
            "description": "Gets or sets the Portuguese signature version.",
            "format": "int32",
            "nullable": true
          },
          "signatureStampPt": {
            "type": "string",
            "description": "Gets or sets the Portuguese signature timestamp.",
            "nullable": true
          },
          "totalCustomers": {
            "type": "integer",
            "description": "Gets or sets the total number of customers.",
            "format": "int32",
            "nullable": true
          },
          "osDate": {
            "type": "string",
            "description": "Gets or sets the operating system date.",
            "format": "date-time"
          },
          "creationDate": {
            "type": "string",
            "description": "Gets or sets the creation date.",
            "format": "date-time"
          },
          "creationUserId": {
            "type": "integer",
            "description": "Gets or sets the creation user identifier.",
            "format": "int32"
          },
          "closeUserId": {
            "type": "integer",
            "description": "Gets or sets the closing user identifier.",
            "format": "int32",
            "nullable": true
          },
          "closeDate": {
            "type": "string",
            "description": "Gets or sets the closing date.",
            "format": "date-time",
            "nullable": true
          },
          "entityKeyId": {
            "type": "string",
            "description": "Gets or sets the entity key identifier.",
            "nullable": true
          },
          "entityDescription": {
            "type": "string",
            "description": "Gets or sets the entity description.",
            "nullable": true
          },
          "entityAddress": {
            "type": "string",
            "description": "Gets or sets the entity address.",
            "nullable": true
          },
          "entityPostalCode": {
            "type": "string",
            "description": "Gets or sets the entity postal code.",
            "nullable": true
          },
          "entitycity": {
            "type": "string",
            "description": "Gets or sets the entity city.",
            "nullable": true
          },
          "entitystate": {
            "type": "string",
            "description": "Gets or sets the entity state.",
            "nullable": true
          },
          "entityVat": {
            "type": "string",
            "description": "Gets or sets the entity VAT number.",
            "nullable": true
          },
          "currencyId": {
            "type": "integer",
            "description": "Gets or sets the currency identifier.",
            "format": "int32"
          },
          "currencyRate": {
            "type": "number",
            "description": "Gets or sets the currency exchange rate.",
            "format": "double"
          },
          "discount": {
            "type": "string",
            "description": "Gets or sets the discount expression.",
            "nullable": true
          },
          "discountValue": {
            "type": "number",
            "description": "Gets or sets the discount value amount.",
            "format": "double",
            "nullable": true
          },
          "roundValue": {
            "type": "number",
            "description": "Gets or sets the rounding value.",
            "format": "double",
            "nullable": true
          },
          "totalIncome": {
            "type": "number",
            "description": "Gets or sets the total income amount.",
            "format": "double",
            "nullable": true
          },
          "totalTaxes": {
            "type": "number",
            "description": "Gets or sets the total taxes amount.",
            "format": "double",
            "nullable": true
          },
          "totalDiscounts": {
            "type": "number",
            "description": "Gets or sets the total discounts amount.",
            "format": "double",
            "nullable": true
          },
          "total": {
            "type": "number",
            "description": "Gets or sets the total amount.",
            "format": "double",
            "nullable": true
          },
          "paymentType": {
            "type": "integer",
            "description": "Gets or sets the payment type identifier.",
            "format": "int32"
          },
          "documentCopy": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether this is a document copy."
          },
          "deleted": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether the document is deleted."
          },
          "documentTypeId": {
            "type": "integer",
            "description": "Gets or sets the document type identifier.",
            "format": "int32"
          },
          "subTotalReference": {
            "type": "string",
            "description": "Gets or sets the subtotal reference.",
            "nullable": true
          },
          "docReference": {
            "type": "string",
            "description": "Gets or sets the document reference.",
            "nullable": true
          },
          "obs": {
            "type": "string",
            "description": "Gets or sets the observations/notes.",
            "nullable": true
          },
          "idShop": {
            "type": "integer",
            "description": "Gets or sets the shop identifier.",
            "format": "int32",
            "nullable": true
          },
          "dueDate": {
            "type": "string",
            "description": "Gets or sets the due date.",
            "format": "date-time",
            "nullable": true
          },
          "loadPlaceDate": {
            "type": "string",
            "description": "Gets or sets the loading place date.",
            "format": "date-time",
            "nullable": true
          },
          "unloadPlaceDate": {
            "type": "string",
            "description": "Gets or sets the unloading place date.",
            "format": "date-time",
            "nullable": true
          },
          "loadPlaceDescription": {
            "type": "string",
            "description": "Gets or sets the loading place description.",
            "nullable": true
          },
          "unloadPlaceDescription": {
            "type": "string",
            "description": "Gets or sets the unloading place description.",
            "nullable": true
          },
          "carrierDescription": {
            "type": "string",
            "description": "Gets or sets the carrier description.",
            "nullable": true
          },
          "numberPersons": {
            "type": "integer",
            "description": "Gets or sets the number of persons.",
            "format": "int32",
            "nullable": true
          },
          "holdingTaxValue": {
            "type": "number",
            "description": "Gets or sets the holding tax value.",
            "format": "double",
            "nullable": true
          },
          "totalHoldingTaxes": {
            "type": "number",
            "description": "Gets or sets the total holding taxes amount.",
            "format": "double",
            "nullable": true
          },
          "dueValue": {
            "type": "number",
            "description": "Gets or sets the due value amount.",
            "format": "double",
            "nullable": true
          },
          "atdocCodeId": {
            "type": "string",
            "description": "Gets or sets the AT document code identifier.",
            "nullable": true
          },
          "statusReason": {
            "type": "string",
            "description": "Gets or sets the status reason.",
            "nullable": true
          },
          "emissionReason": {
            "type": "string",
            "description": "Gets or sets the emission reason.",
            "nullable": true
          },
          "numberCopies": {
            "type": "integer",
            "description": "Gets or sets the number of copies.",
            "format": "int32",
            "nullable": true
          },
          "paymentModeId": {
            "type": "integer",
            "description": "Gets or sets the payment mode identifier.",
            "format": "int32",
            "nullable": true
          },
          "paymentDivisionDiscount": {
            "type": "number",
            "description": "Gets or sets the payment division discount.",
            "format": "double",
            "nullable": true
          },
          "totalServiceTax": {
            "type": "number",
            "description": "Gets or sets the total service tax.",
            "format": "double",
            "nullable": true
          },
          "guid": {
            "type": "string",
            "description": "Gets or sets the GUID.",
            "nullable": true
          },
          "hasTaxIncludedPrices": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether prices include tax.",
            "nullable": true
          },
          "discountPercent1": {
            "type": "number",
            "description": "Gets or sets the first discount percentage.",
            "format": "double",
            "nullable": true
          },
          "discountPercent2": {
            "type": "number",
            "description": "Gets or sets the second discount percentage.",
            "format": "double",
            "nullable": true
          },
          "discountPercent3": {
            "type": "number",
            "description": "Gets or sets the third discount percentage.",
            "format": "double",
            "nullable": true
          },
          "lineDiscountAmount": {
            "type": "number",
            "description": "Gets or sets the line discount amount.",
            "format": "double",
            "nullable": true
          },
          "paidAmount": {
            "type": "number",
            "description": "Gets or sets the paid amount.",
            "format": "double",
            "nullable": true
          },
          "advancementAmount": {
            "type": "number",
            "description": "Gets or sets the advancement amount.",
            "format": "double",
            "nullable": true
          },
          "totalNetAmount": {
            "type": "number",
            "description": "Gets or sets the total net amount.",
            "format": "double",
            "nullable": true
          },
          "totalTaxAmount": {
            "type": "number",
            "description": "Gets or sets the total tax amount.",
            "format": "double",
            "nullable": true
          },
          "entityAddressId": {
            "type": "integer",
            "description": "Gets or sets the entity address identifier.",
            "format": "int32",
            "nullable": true
          },
          "entityCountry": {
            "type": "string",
            "description": "Gets or sets the entity country.",
            "nullable": true
          },
          "extraDocReference": {
            "type": "string",
            "description": "Gets or sets the extra document reference.",
            "nullable": true
          },
          "cashierFlow": {
            "type": "integer",
            "description": "Gets or sets the cashier flow type.",
            "format": "int32"
          },
          "checkingAccountFlow": {
            "type": "integer",
            "description": "Gets or sets the checking account flow type.",
            "format": "int32"
          },
          "invoiceType": {
            "type": "string",
            "description": "Gets or sets the invoice type.",
            "nullable": true
          },
          "documentKeyId": {
            "type": "string",
            "description": "Gets or sets the document key identifier.",
            "nullable": true
          },
          "taxRegionId": {
            "type": "integer",
            "description": "Gets or sets the tax region identifier.",
            "format": "int32",
            "nullable": true
          },
          "publicRelationsId": {
            "type": "integer",
            "description": "Gets or sets the public relations identifier.",
            "format": "int32"
          },
          "points": {
            "type": "number",
            "description": "Gets or sets the loyalty points.",
            "format": "double"
          },
          "fullyConverted": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether the document is fully converted."
          },
          "closed": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether the document is closed."
          },
          "clientVat": {
            "type": "string",
            "description": "Gets or sets the client VAT number.",
            "nullable": true
          },
          "checkSum": {
            "type": "string",
            "description": "Gets or sets the checksum hash.",
            "nullable": true
          },
          "cloudSyncStamp": {
            "type": "string",
            "description": "Gets or sets the cloud synchronization timestamp.",
            "format": "date-time",
            "nullable": true
          },
          "atcud": {
            "type": "string",
            "description": "Gets or sets the ATCUD code.",
            "nullable": true
          },
          "qeroDiscountAmount": {
            "type": "number",
            "description": "Gets or sets the Qero discount amount.",
            "format": "double"
          },
          "syncStamp": {
            "type": "string",
            "description": "Gets or sets the synchronization timestamp.",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "DTO representing a document header with all header-level fields."
      },
      "DocumentHeaderDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DocumentHeaderDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "DocumentNatureDTO": {
        "type": "object",
        "properties": {
          "keyId": {
            "type": "string",
            "description": "Unique short code that identifies the document nature (e.g., FT, NC, DIS).",
            "nullable": true
          },
          "showAdvancement": {
            "type": "boolean",
            "description": "Indicates whether the \"Advancement\" option should be visible.\r\nEnabled for FR/FT natures in Portugal, Angola, and Spain,\r\nand for all natures in Mozambique."
          },
          "showAdvancementForClientEntityType": {
            "type": "boolean",
            "description": "Indicates whether the “advancement” option should be offered for this document nature\r\nwhen configuring a Checking Account document type.\r\nWhen `true`, clients should only surface the option if the default entity type is customer."
          },
          "showEntityTypeCombo": {
            "type": "boolean",
            "description": "Indicates whether the \"Entity Type\" dropdown should be displayed.\r\nApplicable to DI, NR, and CC natures."
          },
          "showExtraTableRequired": {
            "type": "boolean",
            "description": "Indicates whether the \"Requires Extra Table\" checkbox should be displayed.\r\nApplicable to DI and NR natures."
          },
          "isMovementOfGoods": {
            "type": "boolean",
            "description": "Indicates whether the document represents a goods movement (e.g., shipment guide).\r\nWhen true, enables options like \"Global Transport Document\" and \"Valued Document\"."
          },
          "showInternalDocumentInfo": {
            "type": "boolean",
            "description": "Indicates whether the informational message for internal documents should be displayed.\r\nApplicable only to DI nature."
          },
          "showReplacementDoc": {
            "type": "boolean",
            "description": "Indicates whether the \"Replacement Document\" field should be displayed.\r\nApplicable only to FS nature."
          },
          "showVoucherFields": {
            "type": "boolean",
            "description": "Indicates whether voucher-related fields (e.g., validity) should be displayed.\r\nApplicable to VCH, DCP, and Sales + NC natures."
          },
          "showTaxIncluded": {
            "type": "boolean",
            "description": "Indicates whether the \"Prices Include Taxes\" option should be displayed."
          },
          "defaultIsValued": {
            "type": "boolean",
            "description": "Defines the default value of the \"IsValued\" flag when this nature is selected.\r\nTypically false for shipment-related documents."
          },
          "ccFlowDisabled": {
            "type": "boolean",
            "description": "Indicates whether the \"Checking Account Flow\" field is always disabled.\r\nApplicable to DCP nature."
          },
          "cashierFlowAlwaysDisabled": {
            "type": "boolean",
            "description": "Indicates whether the \"Cashier Flow\" field is always disabled.\r\nApplicable to DCP nature."
          },
          "cashierFlowDisabledUnlessAdvancement": {
            "type": "boolean",
            "description": "When `true`, cashier flow should only be editable after advancement is turned on for this document type.\r\nApplies to Checking Account (CC) nature configurations."
          },
          "overridesStockManagement": {
            "type": "boolean",
            "description": "Whether this nature overrides the document type configuration to enable\r\nstock management (e.g., Points Discount within Checking Account)."
          },
          "allowedEntityTypes": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "List of allowed entity types for the current document nature and type combination.\r\nValues:\r\n0 = Customer,\r\n1 = Supplier,\r\n-1 = Others.\r\nEmpty when XDPeople.Soba.Application.DTOs.DocumentNatureDTO.ShowEntityTypeCombo is false.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a document nature (invoice type) enriched with precomputed UI behavior flags.\r\nAll visibility and enabled/disabled rules are resolved on the backend to avoid duplicating\r\nbusiness logic on the client side."
      },
      "DocumentNaturesResponseDTO": {
        "type": "object",
        "properties": {
          "config": {
            "$ref": "#/components/schemas/DocumentTypeConfigDTO"
          },
          "natures": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DocumentNatureDTO"
            },
            "description": "Available natures for the requested document type, each with pre-computed UI flags.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Response for GET /document-type/natures.\r\nContains the document-type-level UI configuration and the enriched list of available natures."
      },
      "DocumentTypeConfigDTO": {
        "type": "object",
        "properties": {
          "manageStock": {
            "type": "boolean",
            "description": "Stock flow fields and movement control tab are visible (Sales, Purchase and Stock types)."
          },
          "showCcFlow": {
            "type": "boolean",
            "description": "The checking account flow field is visible (false for Stock type)."
          },
          "showCashierFlow": {
            "type": "boolean",
            "description": "The cashier flow field is visible (false for Stock type)."
          },
          "moveSettingEnabled": {
            "type": "boolean",
            "description": "The \"Move\" field is enabled (Sales and Purchase types only)."
          },
          "showCostChangesOption": {
            "type": "boolean",
            "description": "The \"Show cost price change\" checkbox is visible (Purchase type only)."
          },
          "showForceExtraDocReference": {
            "type": "boolean",
            "description": "The \"Require external reference\" checkbox is visible (Sales and Purchase types only)."
          },
          "useExtendedStockFlow": {
            "type": "boolean",
            "description": "True for the Stock type: uses the extended stock flow options list\r\n(includes Warehouse Transfer, Count and Inventory)."
          },
          "defaultEntityType": {
            "type": "integer",
            "description": "Default value for DefaultEntityType when this document type is selected.\r\n1 = Supplier for Purchase, 0 = Customer for all others.",
            "format": "int32"
          },
          "allowBatches": {
            "type": "boolean",
            "description": "Whether the batch tracking feature is available for this document type."
          },
          "allowSerialNumbers": {
            "type": "boolean",
            "description": "Whether the serial number tracking feature is available for this document type."
          }
        },
        "additionalProperties": false,
        "description": "UI configuration flags that apply to the whole document type, regardless of nature.\r\nSent alongside the natures list so clients have everything needed in a single request."
      },
      "DocumentTypePrintingDTO": {
        "type": "object",
        "properties": {
          "keyId": {
            "type": "string",
            "description": "Gets or sets the key identifier of the document type.",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Gets or sets the description of the document type.",
            "nullable": true
          },
          "invoiceType": {
            "type": "string",
            "description": "Gets or sets the invoice type classification.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents document type information used in document printing."
      },
      "DueStatus": {
        "enum": [
          0,
          1,
          2,
          3
        ],
        "type": "integer",
        "format": "int32"
      },
      "DuplicateActionType": {
        "enum": [
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "DuplicateBusinessAccountLedgerImportDto": {
        "required": [
          "action",
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Identifier of the existing ledger entry.",
            "format": "int32"
          },
          "action": {
            "$ref": "#/components/schemas/DuplicateActionType"
          },
          "newData": {
            "$ref": "#/components/schemas/BusinessAccountLedgerReconciliationImportDTO"
          }
        },
        "additionalProperties": false,
        "description": "DTO for handling duplicate business account ledger import entries."
      },
      "DynamicChartDTO": {
        "type": "object",
        "properties": {
          "guid": {
            "type": "string",
            "description": "Chart unique identifier (GUID).",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Chart name.",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Chart description.",
            "nullable": true
          },
          "permissionType": {
            "type": "integer",
            "description": "Permission type for the chart.",
            "format": "int32"
          },
          "reportType": {
            "type": "integer",
            "description": "Report type code.",
            "format": "int32"
          },
          "reportData": {
            "type": "string",
            "description": "Serialized report data/configuration.",
            "nullable": true
          },
          "addToRibbon": {
            "type": "boolean",
            "description": "Whether to add to the ribbon menu."
          }
        },
        "additionalProperties": false,
        "description": "Dynamic chart report configuration."
      },
      "DynamicChartDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DynamicChartDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "DynamicChartMenuDTO": {
        "type": "object",
        "properties": {
          "guid": {
            "type": "string",
            "description": "Chart unique identifier (GUID).",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Chart name.",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Chart description.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Dynamic chart menu item."
      },
      "DynamicGridField": {
        "type": "object",
        "properties": {
          "guid": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "typeName": {
            "type": "string",
            "nullable": true
          },
          "expression": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DynamicGridFieldConfiguration": {
        "type": "object",
        "properties": {
          "dynamicReportGuid": {
            "type": "string",
            "nullable": true
          },
          "entityType": {
            "type": "string",
            "nullable": true
          },
          "dynamicField": {
            "$ref": "#/components/schemas/DynamicGridField"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "permissionType": {
            "$ref": "#/components/schemas/PermissionTypes"
          },
          "userId": {
            "type": "integer",
            "format": "int32"
          },
          "groupsId": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "nullable": true,
            "readOnly": true
          },
          "secondaryId": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "id": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "DynamicGridFieldConfigurationDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Configuration identifier.",
            "nullable": true
          },
          "secondaryId": {
            "type": "string",
            "description": "Secondary configuration identifier.",
            "nullable": true
          },
          "entityType": {
            "type": "string",
            "description": "Entity type associated with the configuration.",
            "nullable": true
          },
          "dynamicField": {
            "$ref": "#/components/schemas/DynamicGridField"
          },
          "description": {
            "type": "string",
            "description": "Configuration description.",
            "nullable": true
          },
          "permissionType": {
            "$ref": "#/components/schemas/PermissionTypes"
          },
          "userId": {
            "type": "integer",
            "description": "User identifier.",
            "format": "int32"
          },
          "groupsId": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "List of group IDs with access.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Dynamic grid field configuration."
      },
      "DynamicGridFieldsConfigurationDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Configuration identifier.",
            "nullable": true
          },
          "entityType": {
            "type": "string",
            "description": "Entity type associated with the configuration.",
            "nullable": true
          },
          "dynamicFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DynamicGridFieldConfiguration"
            },
            "description": "Collection of dynamic field configurations.",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "description": "Dynamic grid fields configuration collection."
      },
      "DynamicReportDTO": {
        "type": "object",
        "properties": {
          "guid": {
            "type": "string",
            "description": "Report unique identifier (GUID).",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Report name.",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Report description.",
            "nullable": true
          },
          "permissionType": {
            "type": "integer",
            "description": "Permission type for the report.",
            "format": "int32"
          },
          "reportType": {
            "type": "integer",
            "description": "Report type code.",
            "format": "int32"
          },
          "reportData": {
            "type": "string",
            "description": "Serialized report data/configuration.",
            "nullable": true
          },
          "isPivotReport": {
            "type": "boolean",
            "description": "Whether this is a pivot report."
          },
          "dataAccess": {
            "type": "string",
            "description": "Data access configuration.",
            "nullable": true
          },
          "addToRibbon": {
            "type": "boolean",
            "description": "Whether to add to the ribbon menu."
          },
          "showInPos": {
            "type": "boolean",
            "description": "Whether to show in POS interface."
          }
        },
        "additionalProperties": false,
        "description": "Dynamic report configuration."
      },
      "DynamicReportDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DynamicReportDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "DynamicReportMenuDTO": {
        "type": "object",
        "properties": {
          "guid": {
            "type": "string",
            "description": "Report unique identifier (GUID).",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Report name.",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Report description.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Dynamic report menu item."
      },
      "EDocumentType": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          -1
        ],
        "type": "integer",
        "format": "int32"
      },
      "EditCashierOpeningOperationDTO": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "description": "Amount.",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Edit cashier opening operation request."
      },
      "EntitiesTypesDTO": {
        "type": "object",
        "properties": {
          "entityKeyId": {
            "type": "string",
            "description": "Entity key identifier.",
            "nullable": true
          },
          "entityTypeId": {
            "type": "integer",
            "description": "Entity type identifier.",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "DTO mapping an entity to its entity type."
      },
      "EntitiesTypesDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EntitiesTypesDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "EntityAddressDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Address record identifier.",
            "format": "int32",
            "nullable": true
          },
          "entityKeyId": {
            "type": "string",
            "description": "Entity key identifier.",
            "nullable": true
          },
          "entityName": {
            "type": "string",
            "description": "Entity name.",
            "nullable": true
          },
          "addressType": {
            "type": "integer",
            "description": "Address type code.",
            "format": "int32"
          },
          "entityType": {
            "type": "integer",
            "description": "Entity type code.",
            "format": "int32"
          },
          "addressLine1": {
            "type": "string",
            "description": "Primary address line.",
            "nullable": true
          },
          "addressLine2": {
            "type": "string",
            "description": "Secondary address line.",
            "nullable": true
          },
          "complement": {
            "type": "string",
            "description": "Address complement.",
            "nullable": true
          },
          "city": {
            "type": "string",
            "description": "City name.",
            "nullable": true
          },
          "reference": {
            "type": "string",
            "description": "Address reference/landmark.",
            "nullable": true
          },
          "postalCode": {
            "type": "string",
            "description": "Postal/ZIP code.",
            "nullable": true
          },
          "neighborhood": {
            "type": "string",
            "description": "Neighborhood name.",
            "nullable": true
          },
          "municipalCode": {
            "type": "integer",
            "description": "Municipal code.",
            "format": "int32",
            "nullable": true
          },
          "country": {
            "type": "string",
            "description": "Country name.",
            "nullable": true
          },
          "latitude": {
            "type": "string",
            "description": "Geographic latitude.",
            "nullable": true
          },
          "longitude": {
            "type": "string",
            "description": "Geographic longitude.",
            "nullable": true
          },
          "defaultShipmentAddress": {
            "type": "boolean",
            "description": "Whether this is the default shipment address."
          },
          "sensitiveDataLevel": {
            "type": "integer",
            "description": "Sensitive data protection level.",
            "format": "int32",
            "nullable": true
          },
          "portNumber": {
            "type": "string",
            "description": "Port/door number.",
            "nullable": true
          },
          "state": {
            "type": "string",
            "description": "State/province.",
            "nullable": true
          },
          "deliveryRegionId": {
            "type": "integer",
            "description": "Delivery region identifier.",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Entity extra address information."
      },
      "EntityAddressDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EntityAddressDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "EntityAddressUpdateDTO": {
        "type": "object",
        "properties": {
          "entityKeyId": {
            "type": "string",
            "description": "Entity key identifier.",
            "nullable": true
          },
          "addressType": {
            "type": "integer",
            "description": "Address type code.",
            "format": "int32",
            "nullable": true
          },
          "entityType": {
            "type": "integer",
            "description": "Entity type code.",
            "format": "int32",
            "nullable": true
          },
          "addressLine1": {
            "type": "string",
            "description": "Primary address line.",
            "nullable": true
          },
          "addressLine2": {
            "type": "string",
            "description": "Secondary address line.",
            "nullable": true
          },
          "complement": {
            "type": "string",
            "description": "Address complement.",
            "nullable": true
          },
          "city": {
            "type": "string",
            "description": "City name.",
            "nullable": true
          },
          "reference": {
            "type": "string",
            "description": "Address reference/landmark.",
            "nullable": true
          },
          "postalCode": {
            "type": "string",
            "description": "Postal/ZIP code.",
            "nullable": true
          },
          "neighborhood": {
            "type": "string",
            "description": "Neighborhood name.",
            "nullable": true
          },
          "municipalCode": {
            "type": "integer",
            "description": "Municipal code.",
            "format": "int32",
            "nullable": true
          },
          "country": {
            "type": "string",
            "description": "Country name.",
            "nullable": true
          },
          "latitude": {
            "type": "string",
            "description": "Geographic latitude.",
            "nullable": true
          },
          "longitude": {
            "type": "string",
            "description": "Geographic longitude.",
            "nullable": true
          },
          "defaultShipmentAddress": {
            "type": "boolean",
            "description": "Whether this is the default shipment address.",
            "nullable": true
          },
          "sensitiveDataLevel": {
            "type": "integer",
            "description": "Sensitive data protection level.",
            "format": "int32",
            "nullable": true
          },
          "portNumber": {
            "type": "string",
            "description": "Port/door number.",
            "nullable": true
          },
          "state": {
            "type": "string",
            "description": "State/province.",
            "nullable": true
          },
          "deliveryRegionId": {
            "type": "integer",
            "description": "Delivery region identifier.",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Partial entity address update request. Omitted (null) fields keep their stored values."
      },
      "EntityBalanceAgingDTO": {
        "type": "object",
        "properties": {
          "balance": {
            "type": "number",
            "description": "Net open balance (total receivable/payable position) from aggregated current-account movements.",
            "format": "double"
          },
          "notDue": {
            "type": "number",
            "description": "Amount not yet overdue: movements whose expiration date is after the reference date.",
            "format": "double"
          },
          "overdue0To30": {
            "type": "number",
            "description": "Overdue amount from 0 through 30 days past the expiration date.",
            "format": "double"
          },
          "overdue31To60": {
            "type": "number",
            "description": "Overdue amount from 31 through 60 days past the expiration date.",
            "format": "double"
          },
          "overdue61To90": {
            "type": "number",
            "description": "Overdue amount from 61 through 90 days past the expiration date.",
            "format": "double"
          },
          "overdueOver90": {
            "type": "number",
            "description": "Overdue amount more than 90 days past the expiration date.",
            "format": "double"
          },
          "points": {
            "type": "number",
            "description": "Sum of loyalty points from the entity points ledger for documents on or before the reference date (non-voided entries).",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Customer checking-account balance split by days past due (relative to the reference date used on the server), plus loyalty points."
      },
      "EntityContractDTO": {
        "required": [
          "contractGroupId",
          "contractTypeId",
          "endDate",
          "entityKeyId",
          "id",
          "startDate"
        ],
        "type": "object",
        "properties": {
          "id": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Unique identifier. Must be greater than zero.",
            "format": "int32"
          },
          "entityKeyId": {
            "maxLength": 25,
            "minLength": 1,
            "type": "string",
            "description": "Key identifier of the associated entity."
          },
          "contractGroupId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Identifier of the contract group.",
            "format": "int32"
          },
          "contractTypeId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Identifier of the contract type.",
            "format": "int32"
          },
          "contractValue": {
            "type": "number",
            "description": "Total monetary value of the contract.",
            "format": "double"
          },
          "contractValueRp": {
            "type": "number",
            "description": "Contract value at retail price (RP).",
            "format": "double"
          },
          "contractCostValue": {
            "type": "number",
            "description": "Internal cost value of the contract.",
            "format": "double"
          },
          "startDate": {
            "type": "string",
            "description": "Contract start date.",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "description": "Contract end date. Must be on or after the start date.",
            "format": "date-time"
          },
          "observation": {
            "maxLength": 4000,
            "type": "string",
            "description": "Optional observations or notes about the contract.",
            "nullable": true
          },
          "totalHours": {
            "type": "number",
            "description": "Total hours allocated for this contract.",
            "format": "double"
          },
          "covenantId": {
            "maxLength": 50,
            "type": "string",
            "description": "Identifier of the associated covenant/agreement.",
            "nullable": true
          },
          "canceled": {
            "type": "boolean",
            "description": "Indicates whether the contract has been canceled."
          }
        },
        "additionalProperties": false,
        "description": "Entity contract create request."
      },
      "EntityContractDetailDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique identifier of the contract.",
            "format": "int32"
          },
          "entityKeyId": {
            "type": "string",
            "description": "Key identifier of the associated entity (client).",
            "nullable": true
          },
          "contractGroupId": {
            "type": "integer",
            "description": "Identifier of the contract group.",
            "format": "int32"
          },
          "contractTypeId": {
            "type": "integer",
            "description": "Identifier of the contract type.",
            "format": "int32"
          },
          "contractValue": {
            "type": "number",
            "description": "Total monetary value of the contract.",
            "format": "double"
          },
          "contractValueRp": {
            "type": "number",
            "description": "Contract value at retail price (RP).",
            "format": "double"
          },
          "contractCostValue": {
            "type": "number",
            "description": "Internal cost value of the contract.",
            "format": "double"
          },
          "startDate": {
            "type": "string",
            "description": "Contract start date.",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "description": "Contract end date.",
            "format": "date-time"
          },
          "observation": {
            "type": "string",
            "description": "Optional observations or notes about the contract.",
            "nullable": true
          },
          "totalHours": {
            "type": "number",
            "description": "Total hours allocated for this contract.",
            "format": "double"
          },
          "covenantId": {
            "type": "string",
            "description": "Identifier of the associated covenant/agreement.",
            "nullable": true
          },
          "canceled": {
            "type": "boolean",
            "description": "Indicates whether the contract has been canceled."
          },
          "usedHours": {
            "type": "number",
            "description": "Hours consumed by concluded interventions within the contract period. Computed at read time.",
            "format": "double"
          },
          "availableHours": {
            "type": "number",
            "description": "Hours still available (TotalHours - UsedHours). Computed at read time.",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Entity contract detail response. Returned by GET /entity-contract/{id}.\r\nIncludes computed fields (UsedHours, AvailableHours) that are not part of the create/update request."
      },
      "EntityContractGroupDTO": {
        "required": [
          "description",
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "description": {
            "maxLength": 50,
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "EntityContractGroupDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EntityContractGroupDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "EntityContractGroupUpdateDTO": {
        "required": [
          "description"
        ],
        "type": "object",
        "properties": {
          "description": {
            "maxLength": 50,
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "EntityContractListDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique identifier.",
            "format": "int32"
          },
          "entityKeyId": {
            "type": "string",
            "description": "Key identifier of the associated entity.",
            "nullable": true
          },
          "entityName": {
            "type": "string",
            "description": "Name of the associated entity.",
            "nullable": true
          },
          "contractGroupId": {
            "type": "integer",
            "description": "Identifier of the contract group.",
            "format": "int32"
          },
          "contractGroupDescription": {
            "type": "string",
            "description": "Description of the contract group.",
            "nullable": true
          },
          "contractTypeId": {
            "type": "integer",
            "description": "Identifier of the contract type.",
            "format": "int32"
          },
          "contractTypeDescription": {
            "type": "string",
            "description": "Description of the contract type.",
            "nullable": true
          },
          "contractTypeRenewable": {
            "type": "boolean",
            "description": "Whether the contract type is renewable."
          },
          "contractTypePeriodicity": {
            "type": "integer",
            "description": "Periodicity of the contract type.",
            "format": "int32"
          },
          "contractServiceType": {
            "type": "integer",
            "description": "Service type of the contract type.",
            "format": "int32"
          },
          "contractValue": {
            "type": "number",
            "description": "Total monetary value of the contract.",
            "format": "double"
          },
          "contractValueRp": {
            "type": "number",
            "description": "Monetary value of the contract's RP.",
            "format": "double"
          },
          "contractCostValue": {
            "type": "number",
            "description": "Cost value of the contract.",
            "format": "double"
          },
          "startDate": {
            "type": "string",
            "description": "Contract start date.",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "description": "Contract end date.",
            "format": "date-time"
          },
          "totalHours": {
            "type": "number",
            "description": "Total hours allocated for this contract.",
            "format": "double"
          },
          "usedHours": {
            "type": "number",
            "description": "Hours already used from this contract.",
            "format": "double"
          },
          "availableHours": {
            "type": "number",
            "description": "Hours still available in this contract.",
            "format": "double"
          },
          "canceled": {
            "type": "boolean",
            "description": "Indicates whether the contract has been canceled."
          }
        },
        "additionalProperties": false,
        "description": "Entity contract list item."
      },
      "EntityContractListDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EntityContractListDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "EntityContractTypeDTO": {
        "required": [
          "contractType",
          "description",
          "id",
          "periodicity"
        ],
        "type": "object",
        "properties": {
          "id": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Unique identifier. Must be greater than zero.",
            "format": "int32"
          },
          "description": {
            "maxLength": 50,
            "minLength": 1,
            "type": "string",
            "description": "Description of the contract type."
          },
          "renewable": {
            "type": "boolean",
            "description": "Indicates whether the contract is renewable."
          },
          "periodicity": {
            "$ref": "#/components/schemas/SimplePeriodicityType"
          },
          "contractType": {
            "$ref": "#/components/schemas/ContractServiceType"
          }
        },
        "additionalProperties": false,
        "description": "Entity contract type create request."
      },
      "EntityContractTypeListDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique identifier.",
            "format": "int32"
          },
          "description": {
            "type": "string",
            "description": "Description of the contract type.",
            "nullable": true
          },
          "renewable": {
            "type": "boolean",
            "description": "Indicates whether the contract is renewable."
          },
          "periodicity": {
            "$ref": "#/components/schemas/SimplePeriodicityType"
          },
          "contractType": {
            "$ref": "#/components/schemas/ContractServiceType"
          }
        },
        "additionalProperties": false,
        "description": "Entity contract type list item."
      },
      "EntityContractTypeListDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EntityContractTypeListDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "EntityContractTypeUpdateDTO": {
        "type": "object",
        "properties": {
          "description": {
            "maxLength": 50,
            "type": "string",
            "description": "Description of the contract type.",
            "nullable": true
          },
          "renewable": {
            "type": "boolean",
            "description": "Indicates whether the contract is renewable.",
            "nullable": true
          },
          "periodicity": {
            "$ref": "#/components/schemas/SimplePeriodicityType"
          },
          "contractType": {
            "$ref": "#/components/schemas/ContractServiceType"
          }
        },
        "additionalProperties": false,
        "description": "Partial entity contract type update request. Omitted fields keep their stored values."
      },
      "EntityContractUpdateDTO": {
        "required": [
          "contractGroupId",
          "contractTypeId",
          "endDate",
          "entityKeyId",
          "startDate"
        ],
        "type": "object",
        "properties": {
          "entityKeyId": {
            "maxLength": 25,
            "minLength": 1,
            "type": "string",
            "description": "Key identifier of the associated entity."
          },
          "contractGroupId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Identifier of the contract group.",
            "format": "int32"
          },
          "contractTypeId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Identifier of the contract type.",
            "format": "int32"
          },
          "contractValue": {
            "type": "number",
            "description": "Total monetary value of the contract.",
            "format": "double"
          },
          "contractValueRp": {
            "type": "number",
            "description": "Contract value at retail price (RP).",
            "format": "double"
          },
          "contractCostValue": {
            "type": "number",
            "description": "Internal cost value of the contract.",
            "format": "double"
          },
          "startDate": {
            "type": "string",
            "description": "Contract start date.",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "description": "Contract end date. Must be on or after the start date.",
            "format": "date-time"
          },
          "observation": {
            "maxLength": 4000,
            "type": "string",
            "description": "Optional observations or notes about the contract.",
            "nullable": true
          },
          "totalHours": {
            "type": "number",
            "description": "Total hours allocated for this contract.",
            "format": "double"
          },
          "covenantId": {
            "maxLength": 50,
            "type": "string",
            "description": "Identifier of the associated covenant/agreement.",
            "nullable": true
          },
          "canceled": {
            "type": "boolean",
            "description": "Indicates whether the contract has been canceled."
          }
        },
        "additionalProperties": false,
        "description": "Entity contract update request."
      },
      "EntityCreateDTO": {
        "required": [
          "keyId",
          "name"
        ],
        "type": "object",
        "properties": {
          "keyId": {
            "maxLength": 25,
            "minLength": 1,
            "type": "string",
            "description": "Gets or sets the key identifier."
          },
          "entityType": {
            "type": "integer",
            "description": "Gets or sets the entity type identifier.",
            "format": "int32"
          },
          "name": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string",
            "description": "Gets or sets the name."
          },
          "businessName": {
            "maxLength": 100,
            "type": "string",
            "description": "Gets or sets the business/trade name.",
            "nullable": true
          },
          "address": {
            "maxLength": 200,
            "type": "string",
            "description": "Gets or sets the address.",
            "nullable": true
          },
          "postalCode": {
            "maxLength": 20,
            "type": "string",
            "description": "Gets or sets the postal code.",
            "nullable": true
          },
          "city": {
            "maxLength": 50,
            "type": "string",
            "description": "Gets or sets the city.",
            "nullable": true
          },
          "state": {
            "maxLength": 50,
            "type": "string",
            "description": "Gets or sets the state/province.",
            "nullable": true
          },
          "country": {
            "maxLength": 20,
            "type": "string",
            "description": "Gets or sets the country.",
            "nullable": true
          },
          "vat": {
            "maxLength": 30,
            "type": "string",
            "description": "Gets or sets the VAT (tax identification) number.",
            "nullable": true
          },
          "bankName": {
            "maxLength": 40,
            "type": "string",
            "description": "Gets or sets the bank name.",
            "nullable": true
          },
          "bankIdentifierCode": {
            "maxLength": 50,
            "type": "string",
            "description": "Gets or sets the bank identifier code (BIC/SWIFT).",
            "nullable": true
          },
          "bankIban": {
            "maxLength": 50,
            "type": "string",
            "description": "Gets or sets the bank IBAN.",
            "nullable": true
          },
          "bankCardNumber": {
            "maxLength": 50,
            "type": "string",
            "description": "Gets or sets the bank card number.",
            "nullable": true
          },
          "contactName": {
            "maxLength": 40,
            "type": "string",
            "description": "Gets or sets the contact person name.",
            "nullable": true
          },
          "contactPhone": {
            "maxLength": 20,
            "type": "string",
            "description": "Gets or sets the contact person phone number.",
            "nullable": true
          },
          "phone1": {
            "maxLength": 20,
            "type": "string",
            "description": "Gets or sets the first phone number.",
            "nullable": true
          },
          "phone2": {
            "maxLength": 20,
            "type": "string",
            "description": "Gets or sets the second phone number.",
            "nullable": true
          },
          "phone3": {
            "maxLength": 20,
            "type": "string",
            "description": "Gets or sets the third phone number.",
            "nullable": true
          },
          "phone4": {
            "maxLength": 20,
            "type": "string",
            "description": "Gets or sets the fourth phone number.",
            "nullable": true
          },
          "mobilePhone1": {
            "maxLength": 20,
            "type": "string",
            "description": "Gets or sets the first mobile phone number.",
            "nullable": true
          },
          "mobilePhone2": {
            "maxLength": 20,
            "type": "string",
            "description": "Gets or sets the second mobile phone number.",
            "nullable": true
          },
          "fax1": {
            "maxLength": 20,
            "type": "string",
            "description": "Gets or sets the first fax number.",
            "nullable": true
          },
          "fax2": {
            "maxLength": 20,
            "type": "string",
            "description": "Gets or sets the second fax number.",
            "nullable": true
          },
          "contactEmail": {
            "maxLength": 150,
            "type": "string",
            "description": "Gets or sets the contact person email.",
            "nullable": true
          },
          "email1": {
            "maxLength": 255,
            "type": "string",
            "description": "Gets or sets the first email address.",
            "nullable": true
          },
          "email2": {
            "maxLength": 255,
            "type": "string",
            "description": "Gets or sets the second email address.",
            "nullable": true
          },
          "webSite": {
            "maxLength": 255,
            "type": "string",
            "description": "Gets or sets the website URL.",
            "nullable": true
          },
          "faceBook": {
            "maxLength": 255,
            "type": "string",
            "description": "Gets or sets the Facebook profile.",
            "nullable": true
          },
          "linkedIn": {
            "maxLength": 255,
            "type": "string",
            "description": "Gets or sets the LinkedIn profile.",
            "nullable": true
          },
          "skype": {
            "maxLength": 255,
            "type": "string",
            "description": "Gets or sets the Skype identifier.",
            "nullable": true
          },
          "obs": {
            "maxLength": 4000,
            "type": "string",
            "description": "Gets or sets the observations/notes.",
            "nullable": true
          },
          "limitCredit": {
            "type": "number",
            "description": "Gets or sets the credit limit amount.",
            "format": "double",
            "nullable": true
          },
          "lastPurchase": {
            "type": "string",
            "description": "Gets or sets the date of the last purchase.",
            "format": "date-time",
            "nullable": true
          },
          "balance": {
            "type": "number",
            "description": "Gets or sets the account balance.",
            "format": "double",
            "nullable": true
          },
          "discount": {
            "type": "number",
            "description": "Gets or sets the discount percentage.",
            "format": "double",
            "nullable": true
          },
          "dateOfBirth": {
            "type": "string",
            "description": "Gets or sets the date of birth.",
            "format": "date-time",
            "nullable": true
          },
          "password": {
            "maxLength": 50,
            "type": "string",
            "description": "Gets or sets the password.",
            "nullable": true
          },
          "defaultRetailPrice": {
            "type": "integer",
            "description": "Gets or sets the default retail price line.",
            "format": "int32",
            "nullable": true
          },
          "defaultPaymentType": {
            "type": "integer",
            "description": "Gets or sets the default payment type identifier.",
            "format": "int32",
            "nullable": true
          },
          "latitude": {
            "maxLength": 20,
            "type": "string",
            "description": "Gets or sets the geographic latitude.",
            "nullable": true
          },
          "longitude": {
            "maxLength": 20,
            "type": "string",
            "description": "Gets or sets the geographic longitude.",
            "nullable": true
          },
          "alertCredit": {
            "type": "number",
            "description": "Gets or sets the credit alert threshold amount.",
            "format": "double",
            "nullable": true
          },
          "deliveryTaxItemId": {
            "type": "integer",
            "description": "Gets or sets the delivery tax item identifier.",
            "format": "int32",
            "nullable": true
          },
          "holdingTax": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether holding tax is applied."
          },
          "holdingTaxAmount": {
            "type": "number",
            "description": "Gets or sets the holding tax percentage amount.",
            "format": "double",
            "nullable": true
          },
          "holdingTaxType": {
            "type": "integer",
            "description": "Gets or sets the holding tax type.",
            "format": "int32"
          },
          "picturePath": {
            "maxLength": 512,
            "type": "string",
            "description": "Gets or sets the picture file path.",
            "nullable": true
          },
          "alertMessage": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether alert messages are enabled."
          },
          "forbiddenDocuments": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether documents are forbidden."
          },
          "defaultPaymentMode": {
            "type": "integer",
            "description": "Gets or sets the default payment mode.",
            "format": "int32"
          },
          "syncStamp": {
            "type": "string",
            "description": "Gets or sets the synchronization timestamp.",
            "format": "date-time",
            "nullable": true
          },
          "salesMan": {
            "type": "integer",
            "description": "Gets or sets the salesman identifier.",
            "format": "int32",
            "nullable": true
          },
          "gender": {
            "type": "boolean",
            "description": "Gets or sets the gender.",
            "nullable": true
          },
          "customerCardNumber": {
            "type": "integer",
            "description": "Gets or sets the customer card number.",
            "format": "int32",
            "nullable": true
          },
          "customerCardExpirationDate": {
            "type": "string",
            "description": "Gets or sets the customer card expiration date.",
            "format": "date-time",
            "nullable": true
          },
          "customerCardDays": {
            "type": "integer",
            "description": "Gets or sets the customer card validity days.",
            "format": "int32",
            "nullable": true
          },
          "carrierDescription": {
            "maxLength": 255,
            "type": "string",
            "description": "Gets or sets the carrier description.",
            "nullable": true
          },
          "cashRegime": {
            "type": "integer",
            "description": "Gets or sets the cash regime type.",
            "format": "int32",
            "nullable": true
          },
          "customerCard": {
            "maxLength": 50,
            "type": "string",
            "description": "Gets or sets the customer card identifier.",
            "nullable": true
          },
          "regionId": {
            "type": "integer",
            "description": "Gets or sets the region identifier.",
            "format": "int32",
            "nullable": true
          },
          "priceLine": {
            "type": "integer",
            "description": "Gets or sets the price line.",
            "format": "int32",
            "nullable": true
          },
          "identificationNumber": {
            "maxLength": 50,
            "type": "string",
            "description": "Gets or sets the identification number.",
            "nullable": true
          },
          "deliveryOccurrence": {
            "maxLength": 255,
            "type": "string",
            "description": "Gets or sets the delivery occurrence schedule.",
            "nullable": true
          },
          "inactive": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether the entity is inactive."
          },
          "grouping": {
            "maxLength": 255,
            "type": "string",
            "description": "Gets or sets the grouping category.",
            "nullable": true
          },
          "pictureId": {
            "maxLength": 255,
            "type": "string",
            "description": "Gets or sets the picture identifier.",
            "nullable": true
          },
          "thumbId": {
            "maxLength": 255,
            "type": "string",
            "description": "Gets or sets the thumbnail identifier.",
            "nullable": true
          },
          "bioGuid": {
            "maxLength": 50,
            "type": "string",
            "description": "Gets or sets the biometric GUID.",
            "nullable": true
          },
          "schedulerResource": {
            "maxLength": 255,
            "type": "string",
            "description": "Gets or sets the scheduler resource identifier.",
            "nullable": true
          },
          "accountancyCode": {
            "maxLength": 20,
            "type": "string",
            "description": "Gets or sets the accountancy code.",
            "nullable": true
          },
          "salesZoneId": {
            "type": "integer",
            "description": "Gets or sets the sales zone identifier.",
            "format": "int32",
            "nullable": true
          },
          "bankAccount": {
            "type": "integer",
            "description": "Gets or sets the bank account identifier.",
            "format": "int32",
            "nullable": true
          },
          "dateOfSignature": {
            "type": "string",
            "description": "Gets or sets the signature date.",
            "format": "date-time",
            "nullable": true
          },
          "warningMessage": {
            "maxLength": 255,
            "type": "string",
            "description": "Gets or sets the warning message text.",
            "nullable": true
          },
          "limitDays": {
            "type": "integer",
            "description": "Gets or sets the credit limit days.",
            "format": "int32"
          },
          "entityGroupId": {
            "type": "integer",
            "description": "Gets or sets the entity group identifier.",
            "format": "int32"
          },
          "limitCreditType": {
            "type": "integer",
            "description": "Gets or sets the credit limit type.",
            "format": "int32"
          },
          "warehouseId": {
            "type": "integer",
            "description": "Gets or sets the warehouse identifier.",
            "format": "int32",
            "nullable": true
          },
          "applyEcoTaxOnSale": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether eco tax is applied on sale."
          },
          "insurance": {
            "maxLength": 50,
            "type": "string",
            "description": "Gets or sets the insurance information.",
            "nullable": true
          },
          "webPassword": {
            "maxLength": 255,
            "type": "string",
            "description": "Gets or sets the web access password.",
            "nullable": true
          },
          "relatedEntityKeyId": {
            "maxLength": 25,
            "type": "string",
            "description": "Gets or sets the related entity key identifier.",
            "nullable": true
          },
          "creationDate": {
            "type": "string",
            "description": "Gets or sets the creation date.",
            "format": "date-time",
            "nullable": true
          },
          "entityCommission": {
            "type": "number",
            "description": "Gets or sets the entity commission percentage.",
            "format": "double"
          },
          "entityConsentmentStatus": {
            "type": "integer",
            "description": "Gets or sets the entity consent status.",
            "format": "int32",
            "nullable": true
          },
          "forgetfulnessReason": {
            "maxLength": 250,
            "type": "string",
            "description": "Gets or sets the reason for data forgetfulness (GDPR).",
            "nullable": true
          },
          "identificationIssuerCountry": {
            "maxLength": 20,
            "type": "string",
            "description": "Gets or sets the identification issuer country.",
            "nullable": true
          },
          "portNumber": {
            "maxLength": 60,
            "type": "string",
            "description": "Gets or sets the port number.",
            "nullable": true
          },
          "municipalCode": {
            "type": "integer",
            "description": "Gets or sets the municipal code.",
            "format": "int32",
            "nullable": true
          },
          "documentType": {
            "type": "integer",
            "description": "Gets or sets the document type.",
            "format": "int32",
            "nullable": true
          },
          "electronicInvoice": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether electronic invoicing is enabled.",
            "nullable": true
          },
          "qeroSubscriber": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether the entity is a Qero subscriber.",
            "nullable": true
          },
          "cloudSyncStamp": {
            "type": "string",
            "description": "Gets or sets the cloud synchronization timestamp.",
            "format": "date-time",
            "nullable": true
          },
          "identificationNumberInd": {
            "type": "integer",
            "description": "Gets or sets the identification number indicator.",
            "format": "int32"
          },
          "qeroSubscriptionDate": {
            "type": "string",
            "description": "Gets or sets the Qero subscription date.",
            "format": "date-time",
            "nullable": true
          },
          "syncGuid": {
            "maxLength": 50,
            "type": "string",
            "description": "Gets or sets the synchronization GUID.",
            "nullable": true
          },
          "feapbroker": {
            "type": "integer",
            "description": "Gets or sets the FEAP broker identifier.",
            "format": "int32",
            "nullable": true
          },
          "addressLine2": {
            "maxLength": 200,
            "type": "string",
            "description": "Gets or sets the second line of the address.",
            "nullable": true
          },
          "neighborhood": {
            "maxLength": 100,
            "type": "string",
            "description": "Gets or sets the neighborhood.",
            "nullable": true
          },
          "complement": {
            "maxLength": 100,
            "type": "string",
            "description": "Gets or sets the address complement.",
            "nullable": true
          },
          "reference": {
            "maxLength": 255,
            "type": "string",
            "description": "Gets or sets the reference.",
            "nullable": true
          },
          "deliveryRegionId": {
            "type": "integer",
            "description": "Gets or sets the delivery region identifier.",
            "format": "int32",
            "nullable": true
          },
          "isExcludedFromDueNoticesMail": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether excluded from due notices mail."
          },
          "types": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Gets or sets the list of associated type identifiers.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "DTO representing a complete entity with all properties."
      },
      "EntityDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Gets or sets the unique identifier.",
            "format": "int32"
          },
          "keyId": {
            "type": "string",
            "description": "Gets or sets the key identifier.",
            "nullable": true
          },
          "entityType": {
            "type": "integer",
            "description": "Gets or sets the entity type identifier.",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "Gets or sets the name.",
            "nullable": true
          },
          "address": {
            "type": "string",
            "description": "Gets or sets the address.",
            "nullable": true
          },
          "postalCode": {
            "type": "string",
            "description": "Gets or sets the postal code.",
            "nullable": true
          },
          "city": {
            "type": "string",
            "description": "Gets or sets the city.",
            "nullable": true
          },
          "state": {
            "type": "string",
            "description": "Gets or sets the state/province.",
            "nullable": true
          },
          "country": {
            "type": "string",
            "description": "Gets or sets the country.",
            "nullable": true
          },
          "vat": {
            "type": "string",
            "description": "Gets or sets the VAT number.",
            "nullable": true
          },
          "bankName": {
            "type": "string",
            "description": "Gets or sets the bank name.",
            "nullable": true
          },
          "bankIdentifierCode": {
            "type": "string",
            "description": "Gets or sets the bank identifier code.",
            "nullable": true
          },
          "bankIBAN": {
            "type": "string",
            "description": "Gets or sets the bank IBAN.",
            "nullable": true
          },
          "bankCardNumber": {
            "type": "string",
            "description": "Gets or sets the bank card number.",
            "nullable": true
          },
          "contactName": {
            "type": "string",
            "description": "Gets or sets the contact person name.",
            "nullable": true
          },
          "contactPhone": {
            "type": "string",
            "description": "Gets or sets the contact phone number.",
            "nullable": true
          },
          "phone1": {
            "type": "string",
            "description": "Gets or sets the first phone number.",
            "nullable": true
          },
          "phone2": {
            "type": "string",
            "description": "Gets or sets the second phone number.",
            "nullable": true
          },
          "phone3": {
            "type": "string",
            "description": "Gets or sets the third phone number.",
            "nullable": true
          },
          "phone4": {
            "type": "string",
            "description": "Gets or sets the fourth phone number.",
            "nullable": true
          },
          "mobilePhone1": {
            "type": "string",
            "description": "Gets or sets the first mobile phone number.",
            "nullable": true
          },
          "mobilePhone2": {
            "type": "string",
            "description": "Gets or sets the second mobile phone number.",
            "nullable": true
          },
          "fax1": {
            "type": "string",
            "description": "Gets or sets the first fax number.",
            "nullable": true
          },
          "fax2": {
            "type": "string",
            "description": "Gets or sets the second fax number.",
            "nullable": true
          },
          "contactEmail": {
            "type": "string",
            "description": "Gets or sets the contact email.",
            "nullable": true
          },
          "email1": {
            "type": "string",
            "description": "Gets or sets the first email address.",
            "nullable": true
          },
          "email2": {
            "type": "string",
            "description": "Gets or sets the second email address.",
            "nullable": true
          },
          "webSite": {
            "type": "string",
            "description": "Gets or sets the website URL.",
            "nullable": true
          },
          "faceBook": {
            "type": "string",
            "description": "Gets or sets the Facebook profile.",
            "nullable": true
          },
          "linkedIn": {
            "type": "string",
            "description": "Gets or sets the LinkedIn profile.",
            "nullable": true
          },
          "skype": {
            "type": "string",
            "description": "Gets or sets the Skype identifier.",
            "nullable": true
          },
          "obs": {
            "type": "string",
            "description": "Gets or sets the observations/notes.",
            "nullable": true
          },
          "limitCredit": {
            "type": "number",
            "description": "Gets or sets the credit limit amount.",
            "format": "double",
            "nullable": true
          },
          "lastPurchase": {
            "type": "string",
            "description": "Gets or sets the last purchase date.",
            "format": "date-time",
            "nullable": true
          },
          "balance": {
            "type": "number",
            "description": "Gets or sets the account balance.",
            "format": "double",
            "nullable": true
          },
          "discount": {
            "type": "number",
            "description": "Gets or sets the discount percentage.",
            "format": "double",
            "nullable": true
          },
          "dateOfBirth": {
            "type": "string",
            "description": "Gets or sets the date of birth.",
            "format": "date-time",
            "nullable": true
          },
          "password": {
            "type": "string",
            "description": "Gets or sets the password.",
            "nullable": true
          },
          "defaultRetailPrice": {
            "type": "integer",
            "description": "Gets or sets the default retail price line.",
            "format": "int32",
            "nullable": true
          },
          "defaultPaymentType": {
            "type": "integer",
            "description": "Gets or sets the default payment type identifier.",
            "format": "int32",
            "nullable": true
          },
          "latitude": {
            "type": "string",
            "description": "Gets or sets the geographic latitude.",
            "nullable": true
          },
          "longitude": {
            "type": "string",
            "description": "Gets or sets the geographic longitude.",
            "nullable": true
          },
          "alertCredit": {
            "type": "number",
            "description": "Gets or sets the credit alert threshold.",
            "format": "double",
            "default": 0
          },
          "deliveryTaxItemId": {
            "type": "integer",
            "description": "Gets or sets the delivery tax item identifier.",
            "format": "int32",
            "nullable": true
          },
          "holdingTax": {
            "type": "boolean",
            "description": "Gets or sets whether holding tax is applied.",
            "default": false
          },
          "holdingTaxAmount": {
            "type": "number",
            "description": "Gets or sets the holding tax amount.",
            "format": "double",
            "nullable": true
          },
          "holdingTaxType": {
            "type": "integer",
            "description": "Gets or sets the holding tax type.",
            "format": "int32"
          },
          "picturePath": {
            "type": "string",
            "description": "Gets or sets the picture file path.",
            "nullable": true
          },
          "alertMessage": {
            "type": "boolean",
            "description": "Gets or sets whether alert messages are enabled.",
            "default": false
          },
          "forbiddenDocuments": {
            "type": "boolean",
            "description": "Gets or sets whether documents are forbidden.",
            "default": false
          },
          "defaultPaymentMode": {
            "type": "integer",
            "description": "Gets or sets the default payment mode.",
            "format": "int32",
            "default": 1
          },
          "syncStamp": {
            "type": "string",
            "description": "Gets or sets the synchronization timestamp.",
            "format": "date-time",
            "nullable": true
          },
          "salesMan": {
            "type": "integer",
            "description": "Gets or sets the salesman identifier.",
            "format": "int32",
            "default": 0
          },
          "gender": {
            "type": "boolean",
            "description": "Gets or sets the gender.",
            "default": false
          },
          "customerCardNumber": {
            "type": "integer",
            "description": "Gets or sets the customer card number.",
            "format": "int32",
            "nullable": true
          },
          "customerCardExpirationDate": {
            "type": "string",
            "description": "Gets or sets the customer card expiration date.",
            "format": "date-time",
            "nullable": true
          },
          "customerCardDays": {
            "type": "integer",
            "description": "Gets or sets the customer card validity days.",
            "format": "int32",
            "default": 0
          },
          "carrierDescription": {
            "type": "string",
            "description": "Gets or sets the carrier description.",
            "nullable": true
          },
          "cashRegime": {
            "type": "integer",
            "description": "Gets or sets the cash regime type.",
            "format": "int32",
            "default": 0
          },
          "customerCard": {
            "type": "string",
            "description": "Gets or sets the customer card identifier.",
            "default": "",
            "nullable": true
          },
          "regionId": {
            "type": "integer",
            "description": "Gets or sets the region identifier.",
            "format": "int32",
            "default": 1
          },
          "priceLine": {
            "type": "integer",
            "description": "Gets or sets the price line.",
            "format": "int32",
            "default": 0
          },
          "identificationNumber": {
            "type": "string",
            "description": "Gets or sets the identification number.",
            "nullable": true
          },
          "deliveryOccurrence": {
            "type": "string",
            "description": "Gets or sets the delivery occurrence.",
            "nullable": true
          },
          "inactive": {
            "type": "boolean",
            "description": "Gets or sets whether the entity is inactive.",
            "default": false
          },
          "grouping": {
            "type": "string",
            "description": "Gets or sets the grouping category.",
            "nullable": true
          },
          "pictureId": {
            "type": "string",
            "description": "Gets or sets the picture identifier.",
            "nullable": true
          },
          "thumbId": {
            "type": "string",
            "description": "Gets or sets the thumbnail identifier.",
            "nullable": true
          },
          "bioGuid": {
            "type": "string",
            "description": "Gets or sets the biometric GUID.",
            "nullable": true
          },
          "schedulerResource": {
            "type": "string",
            "description": "Gets or sets the scheduler resource identifier.",
            "nullable": true
          },
          "accountancyCode": {
            "type": "string",
            "description": "Gets or sets the accountancy code.",
            "nullable": true
          },
          "salesZoneId": {
            "type": "integer",
            "description": "Gets or sets the sales zone identifier.",
            "format": "int32",
            "default": 0
          },
          "bankAccount": {
            "type": "integer",
            "description": "Gets or sets the bank account identifier.",
            "format": "int32",
            "nullable": true
          },
          "dateOfSignature": {
            "type": "string",
            "description": "Gets or sets the signature date.",
            "format": "date-time",
            "nullable": true
          },
          "warningMessage": {
            "type": "string",
            "description": "Gets or sets the warning message text.",
            "nullable": true
          },
          "limitDays": {
            "type": "integer",
            "description": "Gets or sets the credit limit days.",
            "format": "int32",
            "default": 0
          },
          "entityGroupId": {
            "type": "integer",
            "description": "Gets or sets the entity group identifier.",
            "format": "int32",
            "default": 0
          },
          "limitCreditType": {
            "type": "integer",
            "description": "Gets or sets the credit limit type.",
            "format": "int32",
            "default": 0
          },
          "warehouseId": {
            "type": "integer",
            "description": "Gets or sets the warehouse identifier.",
            "format": "int32",
            "default": 0
          },
          "applyEcoTaxOnSale": {
            "type": "boolean",
            "description": "Gets or sets whether eco tax is applied on sale.",
            "default": false
          },
          "insurance": {
            "type": "string",
            "description": "Gets or sets the insurance information.",
            "default": "",
            "nullable": true
          },
          "webPassword": {
            "type": "string",
            "description": "Gets or sets the web access password.",
            "nullable": true
          },
          "relatedEntityKeyId": {
            "type": "string",
            "description": "Gets or sets the related entity key identifier.",
            "nullable": true
          },
          "businessName": {
            "type": "string",
            "description": "Gets or sets the business/trade name.",
            "nullable": true
          },
          "creationDate": {
            "type": "string",
            "description": "Gets or sets the creation date.",
            "format": "date-time",
            "nullable": true
          },
          "entityCommission": {
            "type": "number",
            "description": "Gets or sets the entity commission percentage.",
            "format": "double",
            "default": 0
          },
          "entityGuid": {
            "type": "string",
            "description": "Gets or sets the entity GUID.",
            "nullable": true
          },
          "entityConsentmentStatus": {
            "type": "integer",
            "description": "Gets or sets the entity consent status.",
            "format": "int32",
            "default": 0
          },
          "forgetfulnessReason": {
            "type": "string",
            "description": "Gets or sets the data forgetfulness reason (GDPR).",
            "nullable": true
          },
          "identificationIssuerCountry": {
            "type": "string",
            "description": "Gets or sets the identification issuer country.",
            "default": "",
            "nullable": true
          },
          "portNumber": {
            "type": "string",
            "description": "Gets or sets the port number.",
            "nullable": true
          },
          "municipalCode": {
            "type": "integer",
            "description": "Gets or sets the municipal code.",
            "format": "int32",
            "default": 0
          },
          "documentType": {
            "type": "integer",
            "description": "Gets or sets the document type.",
            "format": "int32",
            "default": -1
          },
          "electronicInvoice": {
            "type": "boolean",
            "description": "Gets or sets whether electronic invoicing is enabled.",
            "default": false
          },
          "qeroSubscriber": {
            "type": "boolean",
            "description": "Gets or sets whether the entity is a Qero subscriber.",
            "default": false
          },
          "cloudSyncStamp": {
            "type": "string",
            "description": "Gets or sets the cloud synchronization timestamp.",
            "format": "date-time",
            "nullable": true
          },
          "identificationNumberInd": {
            "type": "integer",
            "description": "Gets or sets the identification number indicator.",
            "format": "int32",
            "default": 1
          },
          "qeroSubscriptionDate": {
            "type": "string",
            "description": "Gets or sets the Qero subscription date.",
            "format": "date-time",
            "nullable": true
          },
          "syncGuid": {
            "type": "string",
            "description": "Gets or sets the synchronization GUID.",
            "nullable": true
          },
          "feapBroker": {
            "type": "integer",
            "description": "Gets or sets the FEAP broker identifier.",
            "format": "int32",
            "default": 0
          },
          "addressLine2": {
            "type": "string",
            "description": "Gets or sets the second line of the address.",
            "nullable": true
          },
          "neighborhood": {
            "type": "string",
            "description": "Gets or sets the neighborhood.",
            "nullable": true
          },
          "complement": {
            "type": "string",
            "description": "Gets or sets the address complement.",
            "nullable": true
          },
          "reference": {
            "type": "string",
            "description": "Gets or sets the reference.",
            "nullable": true
          },
          "deliveryRegionId": {
            "type": "integer",
            "description": "Gets or sets the delivery region identifier.",
            "format": "int32",
            "nullable": true
          },
          "isExcludedFromDueNoticesMail": {
            "type": "boolean",
            "description": "Gets or sets whether excluded from due notices mail.",
            "default": false
          }
        },
        "additionalProperties": false,
        "description": "DTO representing a EntitiesDTO entity with listing configuration."
      },
      "EntityDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EntityDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "EntityExtraFieldResponseDTO": {
        "type": "object",
        "properties": {
          "guid": {
            "maxLength": 36,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "order": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "maxLength": 25,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "description": {
            "maxLength": 500,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "fieldType": {
            "maxLength": 16,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "length": {
            "maximum": 16383,
            "minimum": 0,
            "type": "integer",
            "format": "int32"
          },
          "required": {
            "type": "boolean"
          },
          "inactive": {
            "type": "boolean"
          },
          "tableName": {
            "maxLength": 25,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "values": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          },
          "canEditValues": {
            "type": "boolean"
          },
          "entityType": {
            "maxLength": 32,
            "minLength": 0,
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "EntityGroupDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Group identifier.",
            "format": "int32"
          },
          "description": {
            "type": "string",
            "description": "Group description.",
            "nullable": true
          },
          "defaultPaymentMode": {
            "type": "integer",
            "description": "Default payment mode identifier.",
            "format": "int32",
            "nullable": true
          },
          "defaultPaymentModeDescription": {
            "type": "string",
            "description": "Default payment mode description.",
            "nullable": true
          },
          "defaultPaymentType": {
            "type": "integer",
            "description": "Default payment type identifier.",
            "format": "int32",
            "nullable": true
          },
          "defaultPaymentTypeDescription": {
            "type": "string",
            "description": "Default payment type description.",
            "nullable": true
          },
          "priceLine": {
            "type": "integer",
            "description": "Price line identifier.",
            "format": "int32",
            "nullable": true
          },
          "alertCredit": {
            "type": "number",
            "description": "Alert credit threshold.",
            "format": "double",
            "nullable": true
          },
          "limitCreditType": {
            "type": "integer",
            "description": "Credit limit type.",
            "format": "int32",
            "nullable": true
          },
          "limitCredit": {
            "type": "number",
            "description": "Credit limit amount.",
            "format": "double",
            "nullable": true
          },
          "limitDays": {
            "type": "integer",
            "description": "Credit limit in days.",
            "format": "int32",
            "nullable": true
          },
          "discount": {
            "type": "number",
            "description": "Default discount percentage.",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Entity group configuration."
      },
      "EntityGroupDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EntityGroupDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "EntityGroupRequestDTO": {
        "required": [
          "description"
        ],
        "type": "object",
        "properties": {
          "description": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string",
            "description": "Group description."
          },
          "defaultPaymentMode": {
            "type": "integer",
            "description": "Default payment mode identifier.",
            "format": "int32",
            "nullable": true
          },
          "defaultPaymentType": {
            "type": "integer",
            "description": "Default payment type identifier.",
            "format": "int32",
            "nullable": true
          },
          "priceLine": {
            "$ref": "#/components/schemas/PriceLines"
          },
          "alertCredit": {
            "type": "number",
            "description": "Alert credit threshold.",
            "format": "double",
            "nullable": true
          },
          "limitCreditType": {
            "type": "integer",
            "description": "Credit limit type.",
            "format": "int32",
            "nullable": true
          },
          "limitCredit": {
            "type": "number",
            "description": "Credit limit amount.",
            "format": "double",
            "nullable": true
          },
          "limitDays": {
            "type": "integer",
            "description": "Credit limit in days.",
            "format": "int32",
            "nullable": true
          },
          "discount": {
            "type": "number",
            "description": "Default discount percentage.",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Entity group create request."
      },
      "EntityGroupUpdateDTO": {
        "required": [
          "description"
        ],
        "type": "object",
        "properties": {
          "description": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string",
            "description": "Group description."
          },
          "defaultPaymentMode": {
            "type": "integer",
            "description": "Default payment mode identifier.",
            "format": "int32",
            "nullable": true
          },
          "defaultPaymentType": {
            "type": "integer",
            "description": "Default payment type identifier.",
            "format": "int32",
            "nullable": true
          },
          "priceLine": {
            "$ref": "#/components/schemas/PriceLines"
          },
          "alertCredit": {
            "type": "number",
            "description": "Alert credit threshold.",
            "format": "double",
            "nullable": true
          },
          "limitCreditType": {
            "type": "integer",
            "description": "Credit limit type.",
            "format": "int32",
            "nullable": true
          },
          "limitCredit": {
            "type": "number",
            "description": "Credit limit amount.",
            "format": "double",
            "nullable": true
          },
          "limitDays": {
            "type": "integer",
            "description": "Credit limit in days.",
            "format": "int32",
            "nullable": true
          },
          "discount": {
            "type": "number",
            "description": "Default discount percentage.",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Entity group update request."
      },
      "EntityLayoutsDTO": {
        "type": "object",
        "properties": {
          "guid": {
            "type": "string",
            "description": "Layout unique identifier (GUID).",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "description": "Layout name.",
            "nullable": true
          },
          "entityType": {
            "type": "string",
            "description": "Entity type associated with the layout.",
            "nullable": true
          },
          "layoutType": {
            "type": "integer",
            "description": "Layout type code.",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Entity layout configuration."
      },
      "EntityListingConfigDTO": {
        "type": "object",
        "properties": {
          "listName": {
            "type": "string",
            "description": "Gets or sets the list name identifier.",
            "nullable": true
          },
          "columnsConfig": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ColumnConfigDTO"
            },
            "description": "Gets or sets the collection of column configurations.",
            "nullable": true
          },
          "extraConfig": {
            "$ref": "#/components/schemas/ExtraConfigDTO"
          }
        },
        "additionalProperties": false,
        "description": "DTO representing the full configuration for an entity listing."
      },
      "EntityModelDTO": {
        "required": [
          "description",
          "entityData",
          "entityType",
          "name"
        ],
        "type": "object",
        "properties": {
          "guid": {
            "type": "string",
            "description": "Model unique identifier (GUID).",
            "nullable": true
          },
          "name": {
            "minLength": 1,
            "pattern": "^\\S+$",
            "type": "string",
            "description": "Model name (no spaces allowed)."
          },
          "description": {
            "minLength": 1,
            "type": "string",
            "description": "Model description."
          },
          "entityType": {
            "minLength": 1,
            "type": "string",
            "description": "Entity type associated with the model."
          },
          "entityData": {
            "minLength": 1,
            "type": "string",
            "description": "Serialized entity data/template."
          },
          "isDefault": {
            "type": "boolean",
            "description": "Whether this is the default model."
          }
        },
        "additionalProperties": false,
        "description": "Entity model/template configuration."
      },
      "EntityPrintingDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Gets or sets the name of the entity.",
            "nullable": true
          },
          "vat": {
            "type": "string",
            "description": "Gets or sets the VAT/tax identification number of the entity.",
            "nullable": true
          },
          "keyId": {
            "type": "string",
            "description": "Gets or sets the key identifier of the entity.",
            "nullable": true
          },
          "address": {
            "type": "string",
            "description": "Gets or sets the street address of the entity.",
            "nullable": true
          },
          "postalCode": {
            "type": "string",
            "description": "Gets or sets the postal/zip code of the entity.",
            "nullable": true
          },
          "city": {
            "type": "string",
            "description": "Gets or sets the city of the entity.",
            "nullable": true
          },
          "state": {
            "type": "string",
            "description": "Gets or sets the state/province of the entity.",
            "nullable": true
          },
          "country": {
            "type": "string",
            "description": "Gets or sets the country of the entity.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents entity (customer/supplier) information used in document printing."
      },
      "EntityPropertiesFilterDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Id.",
            "format": "uuid",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Name.",
            "nullable": true
          },
          "filter": {
            "type": "array",
            "items": {},
            "description": "Filter.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Entity properties filter."
      },
      "EntityPropertiesFilterRequestDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name.",
            "nullable": true
          },
          "filter": {
            "type": "array",
            "items": {},
            "description": "Filter.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Entity properties filter request."
      },
      "EntityTypeDTO": {
        "required": [
          "description",
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Entity type identifier.",
            "format": "int32"
          },
          "description": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string",
            "description": "Entity type description."
          },
          "useConfig": {
            "type": "boolean",
            "description": "Whether this entity type uses configuration."
          },
          "prefix": {
            "type": "string",
            "description": "Key ID prefix.",
            "nullable": true
          },
          "startingNumber": {
            "type": "integer",
            "description": "Starting number for auto-numbering.",
            "format": "int32",
            "nullable": true
          },
          "padding": {
            "type": "integer",
            "description": "Zero-padding length for numbering.",
            "format": "int32",
            "nullable": true
          },
          "sensitiveLevel": {
            "type": "integer",
            "description": "Sensitive data access level.",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Entity type configuration."
      },
      "EntityTypeDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EntityTypeDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "EntityUpdateDTO": {
        "type": "object",
        "properties": {
          "entityType": {
            "type": "integer",
            "description": "Entity type code.",
            "format": "int32",
            "nullable": true
          },
          "name": {
            "maxLength": 100,
            "type": "string",
            "description": "Entity name.",
            "nullable": true
          },
          "businessName": {
            "maxLength": 100,
            "type": "string",
            "description": "Business/trade name.",
            "nullable": true
          },
          "address": {
            "maxLength": 200,
            "type": "string",
            "description": "Address.",
            "nullable": true
          },
          "postalCode": {
            "maxLength": 20,
            "type": "string",
            "description": "Postal/ZIP code.",
            "nullable": true
          },
          "city": {
            "maxLength": 50,
            "type": "string",
            "description": "City name.",
            "nullable": true
          },
          "state": {
            "maxLength": 50,
            "type": "string",
            "description": "State/province.",
            "nullable": true
          },
          "country": {
            "maxLength": 20,
            "type": "string",
            "description": "Country.",
            "nullable": true
          },
          "vat": {
            "maxLength": 30,
            "type": "string",
            "description": "VAT/tax number.",
            "nullable": true
          },
          "bankName": {
            "maxLength": 40,
            "type": "string",
            "description": "Bank name.",
            "nullable": true
          },
          "bankIdentifierCode": {
            "maxLength": 50,
            "type": "string",
            "description": "Bank identifier code (BIC/SWIFT).",
            "nullable": true
          },
          "bankIban": {
            "maxLength": 50,
            "type": "string",
            "description": "Bank IBAN.",
            "nullable": true
          },
          "bankCardNumber": {
            "maxLength": 50,
            "type": "string",
            "description": "Bank card number.",
            "nullable": true
          },
          "contactName": {
            "maxLength": 40,
            "type": "string",
            "description": "Contact person name.",
            "nullable": true
          },
          "contactPhone": {
            "maxLength": 20,
            "type": "string",
            "description": "Contact person phone.",
            "nullable": true
          },
          "phone1": {
            "maxLength": 20,
            "type": "string",
            "description": "Phone number 1.",
            "nullable": true
          },
          "phone2": {
            "maxLength": 20,
            "type": "string",
            "description": "Phone number 2.",
            "nullable": true
          },
          "phone3": {
            "maxLength": 20,
            "type": "string",
            "description": "Phone number 3.",
            "nullable": true
          },
          "phone4": {
            "maxLength": 20,
            "type": "string",
            "description": "Phone number 4.",
            "nullable": true
          },
          "mobilePhone1": {
            "maxLength": 20,
            "type": "string",
            "description": "Mobile phone 1.",
            "nullable": true
          },
          "mobilePhone2": {
            "maxLength": 20,
            "type": "string",
            "description": "Mobile phone 2.",
            "nullable": true
          },
          "fax1": {
            "maxLength": 20,
            "type": "string",
            "description": "Fax number 1.",
            "nullable": true
          },
          "fax2": {
            "maxLength": 20,
            "type": "string",
            "description": "Fax number 2.",
            "nullable": true
          },
          "contactEmail": {
            "maxLength": 150,
            "type": "string",
            "description": "Contact email address.",
            "nullable": true
          },
          "email1": {
            "maxLength": 255,
            "type": "string",
            "description": "Email address 1.",
            "nullable": true
          },
          "email2": {
            "maxLength": 255,
            "type": "string",
            "description": "Email address 2.",
            "nullable": true
          },
          "webSite": {
            "maxLength": 255,
            "type": "string",
            "description": "Website URL.",
            "nullable": true
          },
          "faceBook": {
            "maxLength": 255,
            "type": "string",
            "description": "Facebook profile URL.",
            "nullable": true
          },
          "linkedIn": {
            "maxLength": 255,
            "type": "string",
            "description": "LinkedIn profile URL.",
            "nullable": true
          },
          "skype": {
            "maxLength": 255,
            "type": "string",
            "description": "Skype username.",
            "nullable": true
          },
          "obs": {
            "maxLength": 4000,
            "type": "string",
            "description": "Observations/notes.",
            "nullable": true
          },
          "limitCredit": {
            "type": "number",
            "description": "Credit limit amount.",
            "format": "double",
            "nullable": true
          },
          "lastPurchase": {
            "type": "string",
            "description": "Last purchase date.",
            "format": "date-time",
            "nullable": true
          },
          "balance": {
            "type": "number",
            "description": "Current balance.",
            "format": "double",
            "nullable": true
          },
          "discount": {
            "type": "number",
            "description": "Default discount percentage.",
            "format": "double",
            "nullable": true
          },
          "dateOfBirth": {
            "type": "string",
            "description": "Date of birth.",
            "format": "date-time",
            "nullable": true
          },
          "password": {
            "maxLength": 50,
            "type": "string",
            "description": "Password.",
            "nullable": true
          },
          "defaultRetailPrice": {
            "type": "integer",
            "description": "Default retail price line.",
            "format": "int32",
            "nullable": true
          },
          "defaultPaymentType": {
            "type": "integer",
            "description": "Default payment type identifier.",
            "format": "int32",
            "nullable": true
          },
          "latitude": {
            "maxLength": 20,
            "type": "string",
            "description": "Geographic latitude.",
            "nullable": true
          },
          "longitude": {
            "maxLength": 20,
            "type": "string",
            "description": "Geographic longitude.",
            "nullable": true
          },
          "alertCredit": {
            "type": "number",
            "description": "Alert credit threshold.",
            "format": "double",
            "nullable": true
          },
          "deliveryTaxItemId": {
            "type": "integer",
            "description": "Delivery tax item identifier.",
            "format": "int32",
            "nullable": true
          },
          "holdingTax": {
            "type": "boolean",
            "description": "Whether holding tax applies.",
            "nullable": true
          },
          "holdingTaxAmount": {
            "type": "number",
            "description": "Holding tax amount.",
            "format": "double",
            "nullable": true
          },
          "holdingTaxType": {
            "type": "integer",
            "description": "Holding tax type.",
            "format": "int32",
            "nullable": true
          },
          "picturePath": {
            "maxLength": 512,
            "type": "string",
            "description": "Picture file path.",
            "nullable": true
          },
          "alertMessage": {
            "type": "boolean",
            "description": "Whether to show alert message.",
            "nullable": true
          },
          "forbiddenDocuments": {
            "type": "boolean",
            "description": "Whether documents are forbidden for this entity.",
            "nullable": true
          },
          "defaultPaymentMode": {
            "type": "integer",
            "description": "Default payment mode identifier.",
            "format": "int32",
            "nullable": true
          },
          "syncStamp": {
            "type": "string",
            "description": "Synchronization timestamp.",
            "format": "date-time",
            "nullable": true
          },
          "salesMan": {
            "type": "integer",
            "description": "Salesman identifier.",
            "format": "int32",
            "nullable": true
          },
          "gender": {
            "type": "boolean",
            "description": "Gender (true = male, false = female).",
            "nullable": true
          },
          "customerCardNumber": {
            "type": "integer",
            "description": "Customer card number.",
            "format": "int32",
            "nullable": true
          },
          "customerCardExpirationDate": {
            "type": "string",
            "description": "Customer card expiration date.",
            "format": "date-time",
            "nullable": true
          },
          "customerCardDays": {
            "type": "integer",
            "description": "Customer card validity in days.",
            "format": "int32",
            "nullable": true
          },
          "carrierDescription": {
            "maxLength": 255,
            "type": "string",
            "description": "Carrier description.",
            "nullable": true
          },
          "cashRegime": {
            "type": "integer",
            "description": "Cash regime type.",
            "format": "int32",
            "nullable": true
          },
          "customerCard": {
            "maxLength": 50,
            "type": "string",
            "description": "Customer card code.",
            "nullable": true
          },
          "regionId": {
            "type": "integer",
            "description": "Region identifier.",
            "format": "int32",
            "nullable": true
          },
          "priceLine": {
            "type": "integer",
            "description": "Price line identifier.",
            "format": "int32",
            "nullable": true
          },
          "identificationNumber": {
            "maxLength": 50,
            "type": "string",
            "description": "Identification number (ID card, passport, etc.).",
            "nullable": true
          },
          "deliveryOccurrence": {
            "maxLength": 255,
            "type": "string",
            "description": "Delivery occurrence notes.",
            "nullable": true
          },
          "inactive": {
            "type": "boolean",
            "description": "Whether the entity is inactive.",
            "nullable": true
          },
          "grouping": {
            "maxLength": 255,
            "type": "string",
            "description": "Grouping code.",
            "nullable": true
          },
          "pictureId": {
            "maxLength": 255,
            "type": "string",
            "description": "Picture file identifier.",
            "nullable": true
          },
          "thumbId": {
            "maxLength": 255,
            "type": "string",
            "description": "Thumbnail file identifier.",
            "nullable": true
          },
          "bioGuid": {
            "maxLength": 50,
            "type": "string",
            "description": "Biometric GUID.",
            "nullable": true
          },
          "schedulerResource": {
            "maxLength": 255,
            "type": "string",
            "description": "Scheduler resource identifier.",
            "nullable": true
          },
          "accountancyCode": {
            "maxLength": 20,
            "type": "string",
            "description": "Accountancy code.",
            "nullable": true
          },
          "salesZoneId": {
            "type": "integer",
            "description": "Sales zone identifier.",
            "format": "int32",
            "nullable": true
          },
          "bankAccount": {
            "type": "integer",
            "description": "Bank account identifier.",
            "format": "int32",
            "nullable": true
          },
          "dateOfSignature": {
            "type": "string",
            "description": "Contract signature date.",
            "format": "date-time",
            "nullable": true
          },
          "warningMessage": {
            "maxLength": 255,
            "type": "string",
            "description": "Warning message text.",
            "nullable": true
          },
          "limitDays": {
            "type": "integer",
            "description": "Credit limit in days.",
            "format": "int32",
            "nullable": true
          },
          "entityGroupId": {
            "type": "integer",
            "description": "Entity group identifier.",
            "format": "int32",
            "nullable": true
          },
          "limitCreditType": {
            "type": "integer",
            "description": "Credit limit type.",
            "format": "int32",
            "nullable": true
          },
          "warehouseId": {
            "type": "integer",
            "description": "Default warehouse identifier.",
            "format": "int32",
            "nullable": true
          },
          "applyEcoTaxOnSale": {
            "type": "boolean",
            "description": "Whether to apply eco tax on sale.",
            "nullable": true
          },
          "insurance": {
            "maxLength": 50,
            "type": "string",
            "description": "Insurance information.",
            "nullable": true
          },
          "webPassword": {
            "maxLength": 255,
            "type": "string",
            "description": "Web portal password.",
            "nullable": true
          },
          "relatedEntityKeyId": {
            "maxLength": 25,
            "type": "string",
            "description": "Related entity key identifier.",
            "nullable": true
          },
          "creationDate": {
            "type": "string",
            "description": "Creation date.",
            "format": "date-time",
            "nullable": true
          },
          "entityCommission": {
            "type": "number",
            "description": "Entity commission percentage.",
            "format": "double",
            "nullable": true
          },
          "entityConsentmentStatus": {
            "type": "integer",
            "description": "Entity consent/GDPR status.",
            "format": "int32",
            "nullable": true
          },
          "forgetfulnessReason": {
            "maxLength": 250,
            "type": "string",
            "description": "GDPR forgetfulness reason.",
            "nullable": true
          },
          "identificationIssuerCountry": {
            "maxLength": 20,
            "type": "string",
            "description": "Identification document issuer country.",
            "nullable": true
          },
          "portNumber": {
            "maxLength": 60,
            "type": "string",
            "description": "Port/door number.",
            "nullable": true
          },
          "municipalCode": {
            "type": "integer",
            "description": "Municipal code.",
            "format": "int32",
            "nullable": true
          },
          "documentType": {
            "type": "integer",
            "description": "Default document type.",
            "format": "int32",
            "nullable": true
          },
          "electronicInvoice": {
            "type": "boolean",
            "description": "Whether electronic invoicing is enabled.",
            "nullable": true
          },
          "qeroSubscriber": {
            "type": "boolean",
            "description": "Whether this is a Qero subscriber.",
            "nullable": true
          },
          "cloudSyncStamp": {
            "type": "string",
            "description": "Cloud synchronization timestamp.",
            "format": "date-time",
            "nullable": true
          },
          "identificationNumberInd": {
            "type": "integer",
            "description": "Identification number indicator.",
            "format": "int32",
            "nullable": true
          },
          "qeroSubscriptionDate": {
            "type": "string",
            "description": "Qero subscription date.",
            "format": "date-time",
            "nullable": true
          },
          "syncGuid": {
            "maxLength": 50,
            "type": "string",
            "description": "Synchronization GUID.",
            "nullable": true
          },
          "feapbroker": {
            "type": "integer",
            "description": "FEAP broker identifier.",
            "format": "int32",
            "nullable": true
          },
          "addressLine2": {
            "maxLength": 200,
            "type": "string",
            "description": "Secondary address line.",
            "nullable": true
          },
          "neighborhood": {
            "maxLength": 100,
            "type": "string",
            "description": "Neighborhood.",
            "nullable": true
          },
          "complement": {
            "maxLength": 100,
            "type": "string",
            "description": "Address complement.",
            "nullable": true
          },
          "reference": {
            "maxLength": 255,
            "type": "string",
            "description": "Address reference/landmark.",
            "nullable": true
          },
          "deliveryRegionId": {
            "type": "integer",
            "description": "Delivery region identifier.",
            "format": "int32",
            "nullable": true
          },
          "isExcludedFromDueNoticesMail": {
            "type": "boolean",
            "description": "Whether excluded from due notices mail.",
            "nullable": true
          },
          "types": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "List of entity type IDs.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Entity update request."
      },
      "Error": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "$ref": "#/components/schemas/ErrorType"
          },
          "furtherInformations": {
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ErrorType": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6
        ],
        "type": "integer",
        "format": "int32"
      },
      "ExtraConfigDTO": {
        "type": "object",
        "properties": {
          "hasDetails": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether details view is available."
          },
          "hasParameters": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether the listing has parameters."
          },
          "keyExpr": {
            "type": "string",
            "description": "Gets or sets the key expression for row identification.",
            "nullable": true
          },
          "parentIdExpr": {
            "type": "string",
            "description": "Gets or sets the parent ID expression for hierarchical listings.",
            "nullable": true
          },
          "rowAlternationEnabled": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether row alternation styling is enabled."
          },
          "focusedRowEnabled": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether focused row mode is enabled."
          },
          "showOptionsColumn": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether the options column is shown."
          },
          "showSelectionColumn": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether the selection column is shown."
          },
          "showNewButton": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether the new button is shown."
          },
          "showReloadButton": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether the reload button is shown."
          },
          "showEditButton": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether the edit button is shown."
          },
          "pager": {
            "$ref": "#/components/schemas/PagerConfigDTO"
          }
        },
        "additionalProperties": false,
        "description": "DTO representing extra configuration options for entity listings."
      },
      "ExtraFieldsConfigurationResponseDTO": {
        "type": "object",
        "properties": {
          "entityTypeName": {
            "maxLength": 128,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "tables": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtraFieldsTableResponseDTO"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ExtraFieldsTableResponseDTO": {
        "type": "object",
        "properties": {
          "guid": {
            "maxLength": 36,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "order": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "maxLength": 25,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "description": {
            "maxLength": 2000,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "permissionType": {
            "maximum": 2,
            "minimum": 0,
            "type": "integer",
            "format": "int32"
          },
          "allowInDocuments": {
            "type": "boolean"
          },
          "allowMultipleRegistries": {
            "type": "boolean"
          },
          "physicalTableName": {
            "maxLength": 256,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "fields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EntityExtraFieldResponseDTO"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ExtraFieldsValuesResponseDTO": {
        "type": "object",
        "properties": {
          "values": {
            "type": "object",
            "additionalProperties": {
              "nullable": true
            },
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Response containing the extra field values for a single entity instance.\r\nKeys follow the GC-compatible format: \"tableName.fieldName\"."
      },
      "FilterAndViewSettingsDTO": {
        "type": "object",
        "properties": {
          "guid": {
            "type": "string",
            "description": "Unique identifier (GUID).",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Settings description/name.",
            "nullable": true
          },
          "userId": {
            "type": "integer",
            "description": "User identifier (null for shared settings).",
            "format": "int32",
            "nullable": true
          },
          "typeName": {
            "type": "string",
            "description": "Type name for the filter configuration.",
            "nullable": true
          },
          "permissionType": {
            "$ref": "#/components/schemas/PermissionTypes"
          },
          "filterAndViewData": {
            "type": "string",
            "description": "Serialized filter and view data.",
            "nullable": true
          },
          "assetsType": {
            "$ref": "#/components/schemas/AssetsType"
          },
          "groupsId": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "List of group IDs that can access these settings.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Filter and view settings for entity listings."
      },
      "FilterDateType": {
        "enum": [
          0,
          1
        ],
        "type": "integer",
        "format": "int32"
      },
      "FilterStatus": {
        "enum": [
          0,
          1,
          2,
          3
        ],
        "type": "integer",
        "format": "int32"
      },
      "FinancialSummaryDTO": {
        "type": "object",
        "properties": {
          "total": {
            "type": "number",
            "description": "Gets or sets the total amount.",
            "format": "double"
          },
          "totalDiscounts": {
            "type": "number",
            "description": "Gets or sets the total discounts amount.",
            "format": "double"
          },
          "cost": {
            "type": "number",
            "description": "Gets or sets the cost amount.",
            "format": "double"
          },
          "profit": {
            "type": "number",
            "description": "Gets or sets the profit amount.",
            "format": "double"
          },
          "profitNet": {
            "type": "number",
            "description": "Gets or sets the net profit amount.",
            "format": "double"
          },
          "qnt": {
            "type": "number",
            "description": "Gets or sets the quantity.",
            "format": "double"
          },
          "period": {
            "type": "string",
            "description": "Gets or sets the period description.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "DTO representing financial summary values including totals, costs, and profits."
      },
      "FixedExpensesAndRevenuesCreateDTO": {
        "type": "object",
        "properties": {
          "businessAccountId": {
            "type": "integer",
            "description": "Business account identifier.",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "Name of the fixed expense or revenue.",
            "nullable": true
          },
          "accountHeadingId": {
            "type": "integer",
            "description": "Account heading identifier.",
            "format": "int32"
          },
          "accountCategoryId": {
            "type": "integer",
            "description": "Account category identifier.",
            "format": "int32"
          },
          "entityKeyId": {
            "type": "string",
            "description": "Entity key identifier.",
            "nullable": true
          },
          "balanceType": {
            "$ref": "#/components/schemas/BalanceType"
          },
          "userId": {
            "type": "integer",
            "description": "User identifier.",
            "format": "int32"
          },
          "amount": {
            "type": "number",
            "description": "Amount.",
            "format": "double"
          },
          "recurrenceType": {
            "$ref": "#/components/schemas/RecurrenceType"
          },
          "initialDate": {
            "type": "string",
            "description": "Initial date of the recurrence period.",
            "format": "date-time"
          },
          "finalDate": {
            "type": "string",
            "description": "Final date of the recurrence period.",
            "format": "date-time"
          },
          "weekDays": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DailyType"
            },
            "description": "Days of the week for daily recurrence.",
            "nullable": true
          },
          "onEach": {
            "type": "integer",
            "description": "Interval for the recurrence.",
            "format": "int32"
          },
          "paymentModeId": {
            "type": "integer",
            "description": "Payment mode identifier.",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "DTO for creating fixed expenses and revenues."
      },
      "FixedExpensesAndRevenuesDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique identifier.",
            "format": "int32"
          },
          "businessAccountId": {
            "type": "integer",
            "description": "Business account identifier.",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "Name of the fixed expense or revenue.",
            "nullable": true
          },
          "accountHeadingDto": {
            "$ref": "#/components/schemas/AccountHeadingDTO"
          },
          "accountCategoryDto": {
            "$ref": "#/components/schemas/AccountCategoryDTO"
          },
          "entityDto": {
            "$ref": "#/components/schemas/EntityDTO"
          },
          "balanceType": {
            "$ref": "#/components/schemas/BalanceType"
          },
          "userId": {
            "type": "integer",
            "description": "User identifier.",
            "format": "int32"
          },
          "amount": {
            "type": "number",
            "description": "Amount.",
            "format": "double"
          },
          "recurrenceType": {
            "$ref": "#/components/schemas/RecurrenceType"
          },
          "initialDate": {
            "type": "string",
            "description": "Initial date of the recurrence period.",
            "format": "date-time"
          },
          "finalDate": {
            "type": "string",
            "description": "Final date of the recurrence period.",
            "format": "date-time"
          },
          "weekDays": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DailyType"
            },
            "description": "Days of the week for daily recurrence.",
            "nullable": true
          },
          "onEach": {
            "type": "integer",
            "description": "Interval for the recurrence.",
            "format": "int32"
          },
          "paymentModeId": {
            "type": "integer",
            "description": "Payment mode identifier.",
            "format": "int32"
          },
          "isPeriodic": {
            "type": "boolean",
            "description": "Whether this is a periodic entry."
          }
        },
        "additionalProperties": false,
        "description": "DTO for fixed expenses and revenues details."
      },
      "FixedExpensesAndRevenuesListDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique identifier.",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "Name.",
            "nullable": true
          },
          "businessAccount": {
            "type": "string",
            "description": "Business account name.",
            "nullable": true
          },
          "accountHeading": {
            "type": "string",
            "description": "Account heading description.",
            "nullable": true
          },
          "accountCategory": {
            "type": "string",
            "description": "Account category description.",
            "nullable": true
          },
          "creationDate": {
            "type": "string",
            "description": "Creation date.",
            "format": "date-time"
          },
          "lastMovementDate": {
            "type": "string",
            "description": "Date of the last movement.",
            "format": "date-time",
            "nullable": true
          },
          "recurrenceType": {
            "$ref": "#/components/schemas/RecurrenceType"
          },
          "onEach": {
            "type": "integer",
            "description": "Recurrence interval.",
            "format": "int32"
          },
          "balanceType": {
            "type": "string",
            "description": "Balance type description.",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "description": "Amount.",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "DTO for fixed expenses and revenues list item."
      },
      "FixedExpensesAndRevenuesListDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FixedExpensesAndRevenuesListDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "FixedExpensesAndRevenuesRenewalDTO": {
        "type": "object",
        "properties": {
          "businessAccountId": {
            "type": "integer",
            "description": "Business account identifier.",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "Name of the fixed expense or revenue.",
            "nullable": true
          },
          "accountHeadingId": {
            "type": "integer",
            "description": "Account heading identifier.",
            "format": "int32"
          },
          "accountCategoryId": {
            "type": "integer",
            "description": "Account category identifier.",
            "format": "int32"
          },
          "balanceType": {
            "$ref": "#/components/schemas/BalanceType"
          },
          "amount": {
            "type": "number",
            "description": "Amount.",
            "format": "double"
          },
          "recurrenceType": {
            "$ref": "#/components/schemas/RecurrenceType"
          },
          "initialDate": {
            "type": "string",
            "description": "Initial date of the renewal period.",
            "format": "date-time"
          },
          "finalDate": {
            "type": "string",
            "description": "Final date of the renewal period.",
            "format": "date-time"
          },
          "weekDays": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DailyType"
            },
            "description": "Days of the week for daily recurrence.",
            "nullable": true
          },
          "onEach": {
            "type": "integer",
            "description": "Recurrence interval.",
            "format": "int32"
          },
          "paymentModeId": {
            "type": "integer",
            "description": "Payment mode identifier.",
            "format": "int32"
          },
          "isManualInterval": {
            "type": "boolean",
            "description": "Whether the interval is manually set."
          }
        },
        "additionalProperties": false,
        "description": "DTO for renewing fixed expenses and revenues."
      },
      "FormulaBaseEnum": {
        "enum": [
          0,
          1
        ],
        "type": "integer",
        "format": "int32"
      },
      "GetTopFamilyDataDTO": {
        "type": "object",
        "properties": {
          "groupId": {
            "type": "integer",
            "description": "Item group identifier.",
            "format": "int32",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Family/group description.",
            "nullable": true
          },
          "month": {
            "type": "string",
            "description": "Month reference.",
            "nullable": true
          },
          "lastYearTotalAmount": {
            "type": "number",
            "description": "Total amount from last year.",
            "format": "double",
            "nullable": true
          },
          "currentYearTotalAmount": {
            "type": "number",
            "description": "Total amount from current year.",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Top family data for dashboard/charts."
      },
      "GetTopFamilyDataDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GetTopFamilyDataDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "HttpResponseError": {
        "type": "object",
        "properties": {
          "status": {
            "type": "integer",
            "format": "int32"
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Error"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "InterventionBillingDetailsDTO": {
        "type": "object",
        "properties": {
          "contractHours": {
            "type": "number",
            "description": "Hours charged to the contract that have not yet been invoiced (DiscountTime - InvoiceHours).",
            "format": "double"
          },
          "invoiceHours": {
            "type": "number",
            "description": "Hours that have already been invoiced for this intervention.",
            "format": "double"
          },
          "invoiceKms": {
            "type": "number",
            "description": "Kilometres invoiced for this intervention (CommuteTime when an invoice reference exists).",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Billing details for a single intervention: hours charged to the contract, invoiced hours, and invoiced kilometres."
      },
      "InterventionDTO": {
        "type": "object",
        "properties": {
          "guid": {
            "type": "string",
            "description": "Intervention unique identifier (GUID).",
            "nullable": true
          },
          "id": {
            "type": "integer",
            "description": "Intervention numeric identifier.",
            "format": "int32"
          },
          "type": {
            "type": "string",
            "description": "Intervention type.",
            "nullable": true
          },
          "status": {
            "type": "string",
            "description": "Intervention status.",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Intervention description.",
            "nullable": true
          },
          "userId": {
            "type": "integer",
            "description": "Assigned user/technician identifier.",
            "format": "int32"
          },
          "equipmentId": {
            "type": "integer",
            "description": "Equipment identifier.",
            "format": "int32"
          },
          "entityKeyId": {
            "type": "string",
            "description": "Entity key identifier.",
            "nullable": true
          },
          "estimatedConclusion": {
            "type": "string",
            "description": "Estimated conclusion date/time.",
            "format": "date-time",
            "nullable": true
          },
          "openingTime": {
            "type": "string",
            "description": "Opening date/time.",
            "format": "date-time",
            "nullable": true
          },
          "closureTime": {
            "type": "string",
            "description": "Closure date/time.",
            "format": "date-time",
            "nullable": true
          },
          "discountTime": {
            "type": "number",
            "description": "Discount time in hours.",
            "format": "double",
            "nullable": true
          },
          "deletedDate": {
            "type": "string",
            "description": "Deletion date/time.",
            "format": "date-time",
            "nullable": true
          },
          "commuteTime": {
            "type": "number",
            "description": "Commute time in hours.",
            "format": "double",
            "nullable": true
          },
          "serviceOrderGuid": {
            "type": "string",
            "description": "Related service order GUID.",
            "nullable": true
          },
          "serviceOrderNumber": {
            "type": "integer",
            "description": "Service order number.",
            "format": "int32",
            "nullable": true
          },
          "serviceOrderSerie": {
            "type": "integer",
            "description": "Service order series identifier.",
            "format": "int32",
            "nullable": true
          },
          "problem": {
            "type": "string",
            "description": "Problem description.",
            "nullable": true
          },
          "solution": {
            "type": "string",
            "description": "Solution description.",
            "nullable": true
          },
          "privateObs": {
            "type": "string",
            "description": "Private observations/notes.",
            "nullable": true
          },
          "concluded": {
            "type": "boolean",
            "description": "Whether the intervention is concluded.",
            "nullable": true
          },
          "urgent": {
            "type": "boolean",
            "description": "Whether the intervention is urgent.",
            "nullable": true
          },
          "external": {
            "type": "boolean",
            "description": "Whether the intervention is external.",
            "nullable": true
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the intervention is deleted.",
            "nullable": true
          },
          "invoiceGuid": {
            "type": "string",
            "description": "Associated invoice GUID.",
            "nullable": true
          },
          "discountTimeItemId": {
            "type": "string",
            "description": "Item identifier for discount time billing.",
            "nullable": true
          },
          "commuteTimeItemId": {
            "type": "string",
            "description": "Item identifier for commute time billing.",
            "nullable": true
          },
          "entityContractId": {
            "type": "integer",
            "description": "Entity contract identifier.",
            "format": "int32"
          },
          "toScheduler": {
            "type": "boolean",
            "description": "Whether to include in scheduler."
          }
        },
        "additionalProperties": false,
        "description": "Service intervention record."
      },
      "InterventionDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InterventionDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "ItemBarcodeDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Barcode record identifier.",
            "format": "int32"
          },
          "itemKeyId": {
            "type": "string",
            "description": "Item key identifier.",
            "nullable": true
          },
          "barcode": {
            "type": "string",
            "description": "Barcode value.",
            "nullable": true
          },
          "barcodeType": {
            "type": "integer",
            "description": "Barcode type code.",
            "format": "int32",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Barcode description.",
            "nullable": true
          },
          "quantity": {
            "type": "number",
            "description": "Quantity associated with the barcode.",
            "format": "double",
            "nullable": true
          },
          "retailPrice": {
            "type": "number",
            "description": "Retail price for the barcode.",
            "format": "double",
            "nullable": true
          },
          "syncStamp": {
            "type": "string",
            "description": "Synchronization timestamp.",
            "format": "date-time",
            "nullable": true
          },
          "netPrice": {
            "type": "number",
            "description": "Net price for the barcode.",
            "format": "double"
          },
          "useItemPrice": {
            "type": "boolean",
            "description": "Whether to use the item's default price."
          },
          "itemAttributeCode": {
            "type": "string",
            "description": "Item attribute code.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Item barcode configuration."
      },
      "ItemBarcodeDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ItemBarcodeDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "ItemBatchDTO": {
        "type": "object",
        "properties": {
          "keyId": {
            "type": "string",
            "description": "Batch key identifier.",
            "nullable": true
          },
          "itemKeyId": {
            "type": "string",
            "description": "Item key identifier.",
            "nullable": true
          },
          "attributeCode": {
            "type": "string",
            "description": "Attribute code.",
            "nullable": true
          },
          "batchTypeId": {
            "type": "integer",
            "description": "Batch type identifier.",
            "format": "int32"
          },
          "expirationDate": {
            "type": "string",
            "description": "Batch expiration date.",
            "format": "date-time",
            "nullable": true
          },
          "productionDate": {
            "type": "string",
            "description": "Production date.",
            "format": "date-time",
            "nullable": true
          },
          "systemEntryDate": {
            "type": "string",
            "description": "System entry date.",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Item batch/lot information."
      },
      "ItemBatchDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ItemBatchDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "ItemCategoryDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Category identifier.",
            "format": "int32"
          },
          "description": {
            "type": "string",
            "description": "Category description.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Item category."
      },
      "ItemCategoryDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ItemCategoryDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "ItemComplementDTO": {
        "type": "object",
        "properties": {
          "keyId": {
            "type": "string",
            "description": "Item key identifier.",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Item description.",
            "nullable": true
          },
          "shortName1": {
            "type": "string",
            "description": "Item short name.",
            "nullable": true
          },
          "retailPrice1": {
            "type": "number",
            "description": "Retail price (line 1).",
            "format": "double",
            "nullable": true
          },
          "quantity": {
            "type": "number",
            "description": "Complement quantity.",
            "format": "double"
          },
          "calculationType": {
            "type": "integer",
            "description": "Calculation type for the complement price (e.g., 0 = fixed, 1 = percentage).",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "DTO for an item complement (additional item modifier)."
      },
      "ItemCompositionDTO": {
        "type": "object",
        "properties": {
          "keyId": {
            "type": "string",
            "description": "Item key identifier.",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Item description.",
            "nullable": true
          },
          "shortName1": {
            "type": "string",
            "description": "Item short name.",
            "nullable": true
          },
          "retailPrice1": {
            "type": "number",
            "description": "Retail price (line 1).",
            "format": "double",
            "nullable": true
          },
          "quantity": {
            "type": "number",
            "description": "Component quantity.",
            "format": "double"
          },
          "ordering": {
            "type": "integer",
            "description": "Display ordering.",
            "format": "int32"
          },
          "detailType": {
            "type": "integer",
            "description": "Detail type code.",
            "format": "int32"
          },
          "quantityType": {
            "type": "integer",
            "description": "Quantity type code.",
            "format": "int32"
          },
          "minRangedQuantity": {
            "type": "integer",
            "description": "Minimum ranged quantity.",
            "format": "int32"
          },
          "maxRangedQuantity": {
            "type": "integer",
            "description": "Maximum ranged quantity.",
            "format": "int32"
          },
          "itemAttributeCode": {
            "type": "string",
            "description": "Item attribute code.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Item composition entry for composite items."
      },
      "ItemContractDetailDTO": {
        "type": "object",
        "properties": {
          "keyId": {
            "type": "string",
            "description": "Item key identifier.",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Item description.",
            "nullable": true
          },
          "shortName1": {
            "type": "string",
            "description": "Item short name.",
            "nullable": true
          },
          "retailPrice1": {
            "type": "number",
            "description": "Retail price (line 1).",
            "format": "double",
            "nullable": true
          },
          "componentKeyId": {
            "type": "string",
            "description": "Component key identifier (item, group or category reference).",
            "nullable": true
          },
          "detailType": {
            "type": "integer",
            "description": "Detail type code (0 = Item, 1 = ItemGroup, 2 = ItemCategory).",
            "format": "int32"
          },
          "maxValue": {
            "type": "number",
            "description": "Maximum allowed value per unit.",
            "format": "double"
          },
          "maxQuantity": {
            "type": "number",
            "description": "Maximum allowed quantity.",
            "format": "double"
          },
          "attributeCode": {
            "type": "string",
            "description": "Item attribute code.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Single component entry within XDPeople.Soba.Application.DTOs.Entity.Item.ItemContractTermsDTO (item, family or category limits)."
      },
      "ItemContractTermsDTO": {
        "type": "object",
        "properties": {
          "expireTimeUnit": {
            "type": "integer",
            "description": "Contract expiration time unit (0 = Days, 1 = Months, 2 = Years).",
            "format": "int32",
            "nullable": true
          },
          "expireTime": {
            "type": "integer",
            "description": "Contract expiration time value.",
            "format": "int32",
            "nullable": true
          },
          "maxValue": {
            "type": "number",
            "description": "Contract maximum allowed value.",
            "format": "double"
          },
          "taxInclude": {
            "type": "boolean",
            "description": "Whether taxes are included in contract values."
          },
          "details": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ItemContractDetailDTO"
            },
            "description": "Component entries (items, families or categories) covered by this contract.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Contract-wide settings for a contract item (validity, limits, tax) and its component detail entries."
      },
      "ItemCreateDTO": {
        "required": [
          "description",
          "groupId",
          "itemType",
          "keyId",
          "shortName1"
        ],
        "type": "object",
        "properties": {
          "keyId": {
            "maxLength": 25,
            "minLength": 1,
            "type": "string",
            "description": "Item reference/key identifier."
          },
          "description": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string",
            "description": "Item description."
          },
          "shortName1": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string",
            "description": "Item short name."
          },
          "groupId": {
            "type": "integer",
            "description": "Item group identifier.",
            "format": "int32"
          },
          "itemType": {
            "type": "integer",
            "description": "Item type code.",
            "format": "int32"
          },
          "barcode": {
            "type": "string",
            "description": "Barcode value.",
            "nullable": true
          },
          "barcodeType": {
            "type": "integer",
            "description": "Barcode type code.",
            "format": "int32",
            "nullable": true
          },
          "retailPrice1": {
            "type": "number",
            "description": "Retail price line 1.",
            "format": "double"
          },
          "retailPrice2": {
            "type": "number",
            "description": "Retail price line 2.",
            "format": "double"
          },
          "retailPrice3": {
            "type": "number",
            "description": "Retail price line 3.",
            "format": "double"
          },
          "retailPrice4": {
            "type": "number",
            "description": "Retail price line 4.",
            "format": "double"
          },
          "retailPrice5": {
            "type": "number",
            "description": "Retail price line 5.",
            "format": "double"
          },
          "unitOfSale": {
            "type": "integer",
            "description": "Unit of sale identifier.",
            "format": "int32",
            "nullable": true
          },
          "stockControl": {
            "type": "boolean",
            "description": "Whether stock control is enabled."
          },
          "discontinued": {
            "type": "boolean",
            "description": "Whether the item is discontinued."
          },
          "capacity": {
            "type": "number",
            "description": "Item capacity/volume.",
            "format": "double",
            "nullable": true
          },
          "capacityUnit": {
            "type": "integer",
            "description": "Capacity unit identifier.",
            "format": "int32",
            "nullable": true
          },
          "tax1": {
            "type": "integer",
            "description": "Tax 1 identifier.",
            "format": "int32"
          },
          "tax2": {
            "type": "integer",
            "description": "Tax 2 identifier.",
            "format": "int32",
            "nullable": true
          },
          "tax3": {
            "type": "integer",
            "description": "Tax 3 identifier.",
            "format": "int32",
            "nullable": true
          },
          "tax4": {
            "type": "integer",
            "description": "Tax 4 identifier.",
            "format": "int32",
            "nullable": true
          },
          "tax5": {
            "type": "integer",
            "description": "Tax 5 identifier.",
            "format": "int32",
            "nullable": true
          },
          "taxOverProfit": {
            "type": "boolean",
            "description": "Whether tax is calculated over profit."
          },
          "alternativeTaxId": {
            "type": "integer",
            "description": "Alternative tax identifier.",
            "format": "int32",
            "nullable": true
          },
          "purchasePrice": {
            "type": "number",
            "description": "Purchase price.",
            "format": "double"
          },
          "netPrice1": {
            "type": "number",
            "description": "Net price line 1.",
            "format": "double"
          },
          "netPrice2": {
            "type": "number",
            "description": "Net price line 2.",
            "format": "double"
          },
          "netPrice3": {
            "type": "number",
            "description": "Net price line 3.",
            "format": "double"
          },
          "netPrice4": {
            "type": "number",
            "description": "Net price line 4.",
            "format": "double"
          },
          "netPrice5": {
            "type": "number",
            "description": "Net price line 5.",
            "format": "double"
          },
          "purchaseNetPrice": {
            "type": "number",
            "description": "Purchase net price.",
            "format": "double"
          },
          "commission": {
            "type": "number",
            "description": "Commission percentage.",
            "format": "double"
          },
          "stockType": {
            "type": "integer",
            "description": "Stock type code.",
            "format": "int32",
            "nullable": true
          },
          "minimumStockWarning": {
            "type": "integer",
            "description": "Minimum stock warning level.",
            "format": "int32",
            "nullable": true
          },
          "negativeStockPermission": {
            "type": "integer",
            "description": "Negative stock permission mode.",
            "format": "int32",
            "nullable": true
          },
          "averageCostPrice": {
            "type": "number",
            "description": "Average cost price.",
            "format": "double"
          },
          "creationDate": {
            "type": "string",
            "description": "Item creation date.",
            "format": "date-time"
          },
          "askingPrice": {
            "type": "boolean",
            "description": "Whether to ask for price at sale."
          },
          "fixedCostPrice": {
            "type": "boolean",
            "description": "Whether cost price is fixed."
          },
          "marginRef1": {
            "type": "number",
            "description": "Margin reference line 1.",
            "format": "double"
          },
          "marginRef2": {
            "type": "number",
            "description": "Margin reference line 2.",
            "format": "double"
          },
          "marginRef3": {
            "type": "number",
            "description": "Margin reference line 3.",
            "format": "double"
          },
          "marginRef4": {
            "type": "number",
            "description": "Margin reference line 4.",
            "format": "double"
          },
          "marginRef5": {
            "type": "number",
            "description": "Margin reference line 5.",
            "format": "double"
          },
          "batchTypeId": {
            "type": "integer",
            "description": "Batch type identifier.",
            "format": "int32",
            "nullable": true
          },
          "serialNumberTypeId": {
            "type": "integer",
            "description": "Serial number type identifier.",
            "format": "int32",
            "nullable": true
          },
          "pictureId": {
            "type": "string",
            "description": "Picture file identifier.",
            "nullable": true
          },
          "thumbId": {
            "type": "string",
            "description": "Thumbnail file identifier.",
            "nullable": true
          },
          "compositeType": {
            "type": "integer",
            "description": "Composite item subtype. Applies when item type is composite (itemType = 18).\r\nValues: 0 = Composite, 1 = ProductionComposite, 2 = ProductionDeComposite.",
            "format": "int32",
            "nullable": true
          },
          "compositePriceType": {
            "type": "integer",
            "description": "How the composite item price is calculated.\r\nValues: 0 = FixedFullPrice, 1 = FixedDetailPrice.",
            "format": "int32",
            "nullable": true
          },
          "compositeDetailsPriceType": {
            "type": "integer",
            "description": "Price source for composite lines. 0 = sum component prices; greater than 0 = use the composite item price.",
            "format": "int32",
            "nullable": true
          },
          "closedComposite": {
            "type": "boolean",
            "description": "When true, the composite is closed (components cannot be changed at sale time)."
          },
          "excludeDetailOnDocs": {
            "type": "boolean",
            "description": "When true, component lines are excluded from printed documents."
          },
          "compositeNeededComponents": {
            "type": "integer",
            "description": "Minimum number of components required when the composite is not closed.",
            "format": "int32",
            "nullable": true
          },
          "compositeProductionQuantity": {
            "type": "number",
            "description": "Production quantity for production-type composites.",
            "format": "double"
          },
          "compositeProductionDuration": {
            "type": "integer",
            "description": "Production duration (in minutes) for production-type composites.",
            "format": "int32"
          },
          "compositeDetails": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ItemCompositionDTO"
            },
            "description": "Component lines that make up this composite item. Required when creating or updating a composite item.",
            "nullable": true
          },
          "extraDescription": {
            "maxLength": 4000,
            "type": "string",
            "description": "Item extra description.",
            "nullable": true
          },
          "ordersPrintingOrder": {
            "type": "integer",
            "description": "Orders printing order.",
            "format": "int32"
          },
          "replacementReports": {
            "type": "boolean",
            "description": "Whether the item is included in replacement reports."
          },
          "localPrinting": {
            "type": "boolean",
            "description": "Whether local printing is enabled."
          },
          "groupOnKitchen": {
            "type": "boolean",
            "description": "Indicates whether the item should be grouped on the kitchen."
          },
          "followItem": {
            "type": "boolean",
            "description": "Whether this is a follow-up item."
          },
          "printer1": {
            "type": "boolean",
            "description": "Whether printer 1 is enabled."
          },
          "printer2": {
            "type": "boolean",
            "description": "Whether printer 2 is enabled."
          },
          "printer3": {
            "type": "boolean",
            "description": "Whether printer 3 is enabled."
          },
          "printer4": {
            "type": "boolean",
            "description": "Whether printer 4 is enabled."
          },
          "printer5": {
            "type": "boolean",
            "description": "Whether printer 5 is enabled."
          },
          "printer6": {
            "type": "boolean",
            "description": "Whether printer 6 is enabled."
          },
          "printer7": {
            "type": "boolean",
            "description": "Whether printer 7 is enabled."
          },
          "printer8": {
            "type": "boolean",
            "description": "Whether printer 8 is enabled."
          },
          "printer9": {
            "type": "boolean",
            "description": "Whether printer 9 is enabled."
          },
          "printer10": {
            "type": "boolean",
            "description": "Whether printer 10 is enabled."
          },
          "printer11": {
            "type": "boolean",
            "description": "Whether printer 11 is enabled."
          },
          "printer12": {
            "type": "boolean",
            "description": "Whether printer 12 is enabled."
          },
          "printer13": {
            "type": "boolean",
            "description": "Whether printer 13 is enabled."
          },
          "printer14": {
            "type": "boolean",
            "description": "Whether printer 14 is enabled."
          },
          "printer15": {
            "type": "boolean",
            "description": "Whether printer 15 is enabled."
          },
          "printer16": {
            "type": "boolean",
            "description": "Whether printer 16 is enabled."
          },
          "printer17": {
            "type": "boolean",
            "description": "Whether printer 17 is enabled."
          },
          "printer18": {
            "type": "boolean",
            "description": "Whether printer 18 is enabled."
          },
          "printer19": {
            "type": "boolean",
            "description": "Whether printer 19 is enabled."
          },
          "printer20": {
            "type": "boolean",
            "description": "Whether printer 20 is enabled."
          },
          "expireTimeUnit": {
            "type": "integer",
            "description": "Contract expiration time unit (0 = Days, 1 = Months, 2 = Years).",
            "format": "int32",
            "nullable": true
          },
          "expireTime": {
            "type": "integer",
            "description": "Contract expiration time value.",
            "format": "int32",
            "nullable": true
          },
          "maxValue": {
            "type": "number",
            "description": "Contract maximum allowed value.",
            "format": "double"
          },
          "taxInclude": {
            "type": "boolean",
            "description": "Whether taxes are included in contract values."
          },
          "contractDetails": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ItemContractDetailDTO"
            },
            "description": "Contract detail lines (only for contract items).",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Item create request."
      },
      "ItemDTO": {
        "type": "object",
        "properties": {
          "keyId": {
            "type": "string",
            "description": "Gets or sets the key identifier.",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Gets or sets the description.",
            "nullable": true
          },
          "shortName1": {
            "type": "string",
            "description": "Gets or sets the short display name.",
            "nullable": true
          },
          "itemsGroups": {
            "type": "string",
            "description": "Gets or sets the item groups.",
            "nullable": true
          },
          "itemType": {
            "type": "integer",
            "description": "Gets or sets the item type.",
            "format": "int32"
          },
          "barcode": {
            "type": "string",
            "description": "Gets or sets the barcode.",
            "nullable": true
          },
          "purchaseNetPrice": {
            "type": "number",
            "description": "Gets or sets the purchase net price.",
            "format": "double"
          },
          "purchasePrice": {
            "type": "number",
            "description": "Gets or sets the purchase price.",
            "format": "double"
          },
          "retailPrice1": {
            "type": "number",
            "description": "Gets or sets the first retail price.",
            "format": "double"
          },
          "netPrice1": {
            "type": "number",
            "description": "Gets or sets the first net price.",
            "format": "double"
          },
          "tax": {
            "type": "number",
            "description": "Gets or sets the tax percentage.",
            "format": "double"
          },
          "saleUnitDescription": {
            "type": "string",
            "description": "Gets or sets the sale unit description.",
            "nullable": true
          },
          "currentStock": {
            "type": "number",
            "description": "Gets or sets the current stock quantity.",
            "format": "double"
          },
          "remote5": {
            "type": "integer",
            "description": "Gets or sets the remote 5 value.",
            "format": "int32",
            "nullable": true
          },
          "taxOverProfit": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether tax is applied over profit.",
            "nullable": true
          },
          "groupId": {
            "type": "integer",
            "description": "Gets or sets the group identifier.",
            "format": "int32"
          },
          "barcodeType": {
            "type": "integer",
            "description": "Gets or sets the barcode type.",
            "format": "int32",
            "nullable": true
          },
          "retailPrice2": {
            "type": "number",
            "description": "Gets or sets the second retail price.",
            "format": "double"
          },
          "retailPrice3": {
            "type": "number",
            "description": "Gets or sets the third retail price.",
            "format": "double"
          },
          "retailPrice4": {
            "type": "number",
            "description": "Gets or sets the fourth retail price.",
            "format": "double"
          },
          "retailPrice5": {
            "type": "number",
            "description": "Gets or sets the fifth retail price.",
            "format": "double"
          },
          "unitOfSale": {
            "type": "integer",
            "description": "Gets or sets the unit of sale identifier.",
            "format": "int32",
            "nullable": true
          },
          "stockControl": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether stock control is enabled."
          },
          "discontinued": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether the item is discontinued."
          },
          "capacity": {
            "type": "number",
            "description": "Gets or sets the capacity value.",
            "format": "double",
            "nullable": true
          },
          "capacityUnit": {
            "type": "integer",
            "description": "Gets or sets the capacity unit identifier.",
            "format": "int32",
            "nullable": true
          },
          "extraDescription": {
            "type": "string",
            "description": "Item extra description.",
            "nullable": true
          },
          "tax1": {
            "type": "integer",
            "description": "Gets or sets the first tax identifier.",
            "format": "int32",
            "nullable": true
          },
          "tax2": {
            "type": "integer",
            "description": "Gets or sets the second tax identifier.",
            "format": "int32",
            "nullable": true
          },
          "tax3": {
            "type": "integer",
            "description": "Gets or sets the third tax identifier.",
            "format": "int32",
            "nullable": true
          },
          "tax4": {
            "type": "integer",
            "description": "Gets or sets the fourth tax identifier.",
            "format": "int32",
            "nullable": true
          },
          "tax5": {
            "type": "integer",
            "description": "Gets or sets the fifth tax identifier.",
            "format": "int32",
            "nullable": true
          },
          "alternativeTaxId": {
            "type": "integer",
            "description": "Gets or sets the alternative tax identifier.",
            "format": "int32",
            "nullable": true
          },
          "netPrice2": {
            "type": "number",
            "description": "Gets or sets the second net price.",
            "format": "double"
          },
          "netPrice3": {
            "type": "number",
            "description": "Gets or sets the third net price.",
            "format": "double"
          },
          "netPrice4": {
            "type": "number",
            "description": "Gets or sets the fourth net price.",
            "format": "double"
          },
          "netPrice5": {
            "type": "number",
            "description": "Gets or sets the fifth net price.",
            "format": "double"
          },
          "commission": {
            "type": "number",
            "description": "Gets or sets the commission percentage.",
            "format": "double"
          },
          "stockType": {
            "type": "integer",
            "description": "Gets or sets the stock type.",
            "format": "int32",
            "nullable": true
          },
          "minimumStockWarning": {
            "type": "integer",
            "description": "Gets or sets the minimum stock warning level.",
            "format": "int32",
            "nullable": true
          },
          "negativeStockPermission": {
            "type": "integer",
            "description": "Gets or sets the negative stock permission type.",
            "format": "int32",
            "nullable": true
          },
          "averageCostPrice": {
            "type": "number",
            "description": "Gets or sets the average cost price.",
            "format": "double"
          },
          "creationDate": {
            "type": "string",
            "description": "Gets or sets the creation date.",
            "format": "date-time"
          },
          "askingPrice": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether price is asked at sale."
          },
          "fixedCostPrice": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether cost price is fixed."
          },
          "marginRef1": {
            "type": "number",
            "description": "Gets or sets the first margin reference value.",
            "format": "double"
          },
          "marginRef2": {
            "type": "number",
            "description": "Gets or sets the second margin reference value.",
            "format": "double"
          },
          "marginRef3": {
            "type": "number",
            "description": "Gets or sets the third margin reference value.",
            "format": "double"
          },
          "marginRef4": {
            "type": "number",
            "description": "Gets or sets the fourth margin reference value.",
            "format": "double"
          },
          "marginRef5": {
            "type": "number",
            "description": "Gets or sets the fifth margin reference value.",
            "format": "double"
          },
          "batchTypeId": {
            "type": "integer",
            "description": "Gets or sets the batch type identifier.",
            "format": "int32",
            "nullable": true
          },
          "serialNumberTypeId": {
            "type": "integer",
            "description": "Gets or sets the serial number type identifier.",
            "format": "int32",
            "nullable": true
          },
          "pictureId": {
            "type": "string",
            "description": "Gets or sets the picture identifier.",
            "nullable": true
          },
          "thumbId": {
            "type": "string",
            "description": "Gets or sets the thumbnail identifier.",
            "nullable": true
          },
          "ordersPrintingOrder": {
            "type": "integer",
            "description": "Gets the orders printing order.",
            "format": "int32"
          },
          "replacementReports": {
            "type": "boolean",
            "description": "Gets a value indicating whether the item is included in replacement reports."
          },
          "localPrinting": {
            "type": "boolean",
            "description": "Gets a value indicating whether local printing is enabled."
          },
          "groupOnKitchen": {
            "type": "boolean",
            "description": "Indicates whether the item should be grouped on the kitchen."
          },
          "followItem": {
            "type": "boolean",
            "description": "Gets a value indicating whether this is a follow-up item."
          },
          "printer1": {
            "type": "boolean",
            "description": "Gets a value indicating whether printer 1 is enabled."
          },
          "printer2": {
            "type": "boolean",
            "description": "Gets a value indicating whether printer 2 is enabled."
          },
          "printer3": {
            "type": "boolean",
            "description": "Gets a value indicating whether printer 3 is enabled."
          },
          "printer4": {
            "type": "boolean",
            "description": "Gets a value indicating whether printer 4 is enabled."
          },
          "printer5": {
            "type": "boolean",
            "description": "Gets a value indicating whether printer 5 is enabled."
          },
          "printer6": {
            "type": "boolean",
            "description": "Gets a value indicating whether printer 6 is enabled."
          },
          "printer7": {
            "type": "boolean",
            "description": "Gets a value indicating whether printer 7 is enabled."
          },
          "printer8": {
            "type": "boolean",
            "description": "Gets a value indicating whether printer 8 is enabled."
          },
          "printer9": {
            "type": "boolean",
            "description": "Gets a value indicating whether printer 9 is enabled."
          },
          "printer10": {
            "type": "boolean",
            "description": "Gets a value indicating whether printer 10 is enabled."
          },
          "printer11": {
            "type": "boolean",
            "description": "Gets a value indicating whether printer 11 is enabled."
          },
          "printer12": {
            "type": "boolean",
            "description": "Gets a value indicating whether printer 12 is enabled."
          },
          "printer13": {
            "type": "boolean",
            "description": "Gets a value indicating whether printer 13 is enabled."
          },
          "printer14": {
            "type": "boolean",
            "description": "Gets a value indicating whether printer 14 is enabled."
          },
          "printer15": {
            "type": "boolean",
            "description": "Gets a value indicating whether printer 15 is enabled."
          },
          "printer16": {
            "type": "boolean",
            "description": "Gets a value indicating whether printer 16 is enabled."
          },
          "printer17": {
            "type": "boolean",
            "description": "Gets a value indicating whether printer 17 is enabled."
          },
          "printer18": {
            "type": "boolean",
            "description": "Gets a value indicating whether printer 18 is enabled."
          },
          "printer19": {
            "type": "boolean",
            "description": "Gets a value indicating whether printer 19 is enabled."
          },
          "printer20": {
            "type": "boolean",
            "description": "Gets a value indicating whether printer 20 is enabled."
          },
          "expireTimeUnit": {
            "type": "integer",
            "description": "Contract expiration time unit (0-based for frontend: 0=Days, 1=Months, 2=Years).",
            "format": "int32",
            "nullable": true
          },
          "expireTime": {
            "type": "integer",
            "description": "Contract expiration time value.",
            "format": "int32",
            "nullable": true
          },
          "maxValue": {
            "type": "number",
            "description": "Contract maximum allowed value.",
            "format": "double"
          },
          "taxInclude": {
            "type": "boolean",
            "description": "Whether taxes are included in contract values."
          },
          "contractDetails": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ItemContractDetailDTO"
            },
            "description": "Contract detail lines (only populated for contract items).",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "DTO representing an item/product with listing configuration."
      },
      "ItemDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ItemDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "ItemDetailDTO": {
        "type": "object",
        "properties": {
          "keyId": {
            "type": "string",
            "description": "Item key identifier.",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Item description.",
            "nullable": true
          },
          "shortName1": {
            "type": "string",
            "description": "Item short name.",
            "nullable": true
          },
          "retailPrice1": {
            "type": "number",
            "description": "Retail price (line 1).",
            "format": "double",
            "nullable": true
          },
          "itemType": {
            "$ref": "#/components/schemas/ItemType"
          },
          "complementDetails": {
            "$ref": "#/components/schemas/ComplementDetailDTO"
          },
          "menuDetails": {
            "$ref": "#/components/schemas/MenuDetailDTO"
          },
          "compositeDetails": {
            "$ref": "#/components/schemas/CompositeDetailDTO"
          },
          "pizzaDetails": {
            "$ref": "#/components/schemas/PizzaDetailDTO"
          },
          "contractDetails": {
            "$ref": "#/components/schemas/ItemContractTermsDTO"
          }
        },
        "additionalProperties": false,
        "description": "Item detail with type-specific sub-details."
      },
      "ItemMeasures": {
        "type": "object",
        "properties": {
          "measure1": {
            "type": "number",
            "format": "double"
          },
          "measure2": {
            "type": "number",
            "format": "double"
          },
          "measure3": {
            "type": "number",
            "format": "double"
          },
          "formula": {
            "type": "string",
            "nullable": true
          },
          "measure1Description": {
            "type": "string",
            "nullable": true
          },
          "measure2Description": {
            "type": "string",
            "nullable": true
          },
          "measure3Description": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ItemMenuCompositionDTO": {
        "type": "object",
        "properties": {
          "itemId": {
            "type": "string",
            "description": "Composed item identifier.",
            "nullable": true
          },
          "itemDescription": {
            "type": "string",
            "description": "Item description.",
            "nullable": true
          },
          "itemPrice": {
            "type": "number",
            "description": "Item price.",
            "format": "double"
          },
          "linePosition": {
            "type": "integer",
            "description": "Line position in composition.",
            "format": "int32"
          },
          "lineLevel": {
            "type": "integer",
            "description": "Nesting level in composition.",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Menu item composition entry."
      },
      "ItemStockDTO": {
        "type": "object",
        "properties": {
          "itemKeyId": {
            "type": "string",
            "description": "Item key identifier.",
            "nullable": true
          },
          "warehouseId": {
            "type": "integer",
            "description": "Warehouse identifier.",
            "format": "int32"
          },
          "attributeCode": {
            "type": "string",
            "description": "Item attribute/variant code.",
            "nullable": true
          },
          "availableQuantity": {
            "type": "number",
            "description": "Available quantity in stock.",
            "format": "double"
          },
          "minimumQuantity": {
            "type": "number",
            "description": "Minimum quantity threshold for stock warning.",
            "format": "double"
          },
          "restockQuantity": {
            "type": "number",
            "description": "Restock quantity suggestion.",
            "format": "double"
          },
          "warehouseLocation": {
            "type": "string",
            "description": "Physical location within the warehouse.",
            "nullable": true
          },
          "warehouseExistentQuantity": {
            "type": "number",
            "description": "Existent quantity (available + supplier consignment - customer consignment).",
            "format": "double"
          },
          "customerOrderQuantity": {
            "type": "number",
            "description": "Customer order quantity.",
            "format": "double"
          },
          "customerConsignmentQuantity": {
            "type": "number",
            "description": "Customer consignment quantity.",
            "format": "double"
          },
          "supplierOrderQuantity": {
            "type": "number",
            "description": "Supplier order quantity.",
            "format": "double"
          },
          "supplierConsignmentQuantity": {
            "type": "number",
            "description": "Supplier consignment quantity.",
            "format": "double"
          },
          "lastEntrance": {
            "type": "string",
            "description": "Date of the last stock entry.",
            "format": "date-time",
            "nullable": true
          },
          "lastExit": {
            "type": "string",
            "description": "Date of the last stock exit.",
            "format": "date-time",
            "nullable": true
          },
          "lastCostPrice": {
            "type": "number",
            "description": "Last cost price.",
            "format": "double"
          },
          "averageCostPrice": {
            "type": "number",
            "description": "Average cost price.",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "DTO representing item stock per warehouse."
      },
      "ItemStockDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ItemStockDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "ItemSupplierBulkResultDTO": {
        "type": "object",
        "properties": {
          "created": {
            "type": "integer",
            "description": "Number of records successfully created.",
            "format": "int32"
          },
          "updated": {
            "type": "integer",
            "description": "Number of records successfully updated.",
            "format": "int32"
          },
          "errors": {
            "type": "integer",
            "description": "Number of records that failed.",
            "format": "int32"
          },
          "errorMessages": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of error messages for failed records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Result of bulk operations for ItemSupplier."
      },
      "ItemSupplierDTO": {
        "required": [
          "itemId",
          "supplierId",
          "supplierItemId"
        ],
        "type": "object",
        "properties": {
          "itemId": {
            "maxLength": 25,
            "minLength": 0,
            "type": "string",
            "description": "Item key identifier."
          },
          "supplierId": {
            "maxLength": 25,
            "minLength": 0,
            "type": "string",
            "description": "Supplier key identifier."
          },
          "supplierItemId": {
            "maxLength": 25,
            "minLength": 0,
            "type": "string",
            "description": "Supplier's own item reference code."
          },
          "netPrice": {
            "type": "number",
            "description": "Net price (without taxes) from the supplier.",
            "format": "double",
            "nullable": true
          },
          "retailPrice": {
            "type": "number",
            "description": "Retail price (with taxes) from the supplier.",
            "format": "double",
            "nullable": true
          },
          "costPriceDate": {
            "type": "string",
            "description": "Date of the last cost price update.",
            "format": "date-time",
            "nullable": true
          },
          "currencyKeyId": {
            "maxLength": 3,
            "minLength": 0,
            "type": "string",
            "description": "Currency key identifier (ISO code, e.g., \"EUR\", \"USD\").",
            "nullable": true
          },
          "currencyRate": {
            "type": "number",
            "description": "Currency exchange rate.",
            "format": "double",
            "nullable": true
          },
          "discount1": {
            "type": "number",
            "description": "First discount percentage from the supplier.",
            "format": "double",
            "nullable": true
          },
          "discount2": {
            "type": "number",
            "description": "Second discount percentage from the supplier.",
            "format": "double",
            "nullable": true
          },
          "discount3": {
            "type": "number",
            "description": "Third discount percentage from the supplier.",
            "format": "double",
            "nullable": true
          },
          "extraCost": {
            "type": "number",
            "description": "Extra cost amount added to the supplier price.",
            "format": "double",
            "nullable": true
          },
          "priceDecimalPlaces": {
            "type": "integer",
            "description": "Number of decimal places for price calculations.",
            "format": "int32"
          },
          "minOrder": {
            "type": "number",
            "description": "Minimum order quantity from this supplier.",
            "format": "double",
            "nullable": true
          },
          "unitOfMeasure": {
            "type": "integer",
            "description": "Unit of measure identifier for the supplier item.",
            "format": "int32"
          },
          "defaultSupplier": {
            "type": "boolean",
            "description": "Indicates whether this is the default/preferred supplier for the item."
          },
          "lastDocSeries": {
            "type": "integer",
            "description": "Document series of the last purchase from this supplier.",
            "format": "int32"
          },
          "lastDocType": {
            "maxLength": 25,
            "minLength": 0,
            "type": "string",
            "description": "Document type of the last purchase from this supplier.",
            "nullable": true
          },
          "lastDocNumber": {
            "type": "integer",
            "description": "Document number of the last purchase from this supplier.",
            "format": "int32"
          },
          "lastQuantity": {
            "type": "number",
            "description": "Quantity of the last purchase from this supplier.",
            "format": "double",
            "nullable": true
          },
          "lastNetAmount": {
            "type": "number",
            "description": "Net amount of the last purchase from this supplier.",
            "format": "double",
            "nullable": true
          },
          "itemAttributes": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Item attributes description text.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "DTO for the item-supplier relationship, containing pricing and purchase details."
      },
      "ItemSupplierDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ItemSupplierDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "ItemSupplierSimpleDTO": {
        "required": [
          "itemId",
          "supplierId",
          "supplierItemId"
        ],
        "type": "object",
        "properties": {
          "itemId": {
            "maxLength": 25,
            "minLength": 0,
            "type": "string",
            "description": "Item key identifier."
          },
          "supplierId": {
            "maxLength": 25,
            "minLength": 0,
            "type": "string",
            "description": "Supplier key identifier."
          },
          "supplierItemId": {
            "maxLength": 25,
            "minLength": 0,
            "type": "string",
            "description": "Supplier's own item reference code."
          }
        },
        "additionalProperties": false,
        "description": "Simplified model for bulk operations of ItemSupplier.\r\nContains only the essential fields for identification and cross-reference."
      },
      "ItemType": {
        "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
        ],
        "type": "integer",
        "format": "int32"
      },
      "ItemUnitCreateDTO": {
        "required": [
          "decimalPlaces",
          "description",
          "shortName",
          "useFormula"
        ],
        "type": "object",
        "properties": {
          "id": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Id.",
            "format": "int32"
          },
          "description": {
            "maxLength": 15,
            "minLength": 1,
            "type": "string",
            "description": "Description."
          },
          "shortName": {
            "maxLength": 3,
            "minLength": 1,
            "type": "string",
            "description": "Short Name."
          },
          "useFormula": {
            "type": "boolean",
            "description": "Whether to use formula."
          },
          "itemMeasures": {
            "$ref": "#/components/schemas/ItemMeasures"
          },
          "decimalPlaces": {
            "type": "integer",
            "description": "Decimal Places.",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Item unit create request."
      },
      "ItemUnitUpdateDTO": {
        "type": "object",
        "properties": {
          "description": {
            "maxLength": 15,
            "type": "string",
            "description": "Description.",
            "nullable": true
          },
          "shortName": {
            "maxLength": 3,
            "type": "string",
            "description": "Short Name.",
            "nullable": true
          },
          "useFormula": {
            "type": "boolean",
            "description": "Whether to use formula.",
            "nullable": true
          },
          "itemMeasures": {
            "$ref": "#/components/schemas/ItemMeasures"
          },
          "decimalPlaces": {
            "type": "integer",
            "description": "Decimal Places.",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Partial item unit update request. Omitted fields keep their stored values.\r\nThe unit is identified by the route id."
      },
      "ItemUpdateDTO": {
        "type": "object",
        "properties": {
          "keyId": {
            "type": "string",
            "description": "Item reference/key identifier (ignored for persistence; the route `keyId` wins).",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Item description.",
            "nullable": true
          },
          "shortName1": {
            "type": "string",
            "description": "Item short name.",
            "nullable": true
          },
          "groupId": {
            "type": "integer",
            "description": "Item group identifier.",
            "format": "int32",
            "nullable": true
          },
          "itemType": {
            "type": "integer",
            "description": "Item type code.",
            "format": "int32",
            "nullable": true
          },
          "barcode": {
            "type": "string",
            "description": "Barcode value.",
            "nullable": true
          },
          "barcodeType": {
            "type": "integer",
            "description": "Barcode type code.",
            "format": "int32",
            "nullable": true
          },
          "retailPrice1": {
            "type": "number",
            "description": "Retail price line 1.",
            "format": "double",
            "nullable": true
          },
          "retailPrice2": {
            "type": "number",
            "description": "Retail price line 2.",
            "format": "double",
            "nullable": true
          },
          "retailPrice3": {
            "type": "number",
            "description": "Retail price line 3.",
            "format": "double",
            "nullable": true
          },
          "retailPrice4": {
            "type": "number",
            "description": "Retail price line 4.",
            "format": "double",
            "nullable": true
          },
          "retailPrice5": {
            "type": "number",
            "description": "Retail price line 5.",
            "format": "double",
            "nullable": true
          },
          "unitOfSale": {
            "type": "integer",
            "description": "Unit of sale identifier.",
            "format": "int32",
            "nullable": true
          },
          "stockControl": {
            "type": "boolean",
            "description": "Whether stock control is enabled.",
            "nullable": true
          },
          "discontinued": {
            "type": "boolean",
            "description": "Whether the item is discontinued.",
            "nullable": true
          },
          "capacity": {
            "type": "number",
            "description": "Item capacity/volume.",
            "format": "double",
            "nullable": true
          },
          "capacityUnit": {
            "type": "integer",
            "description": "Capacity unit identifier.",
            "format": "int32",
            "nullable": true
          },
          "tax1": {
            "type": "integer",
            "description": "Tax 1 identifier.",
            "format": "int32",
            "nullable": true
          },
          "tax2": {
            "type": "integer",
            "description": "Tax 2 identifier.",
            "format": "int32",
            "nullable": true
          },
          "tax3": {
            "type": "integer",
            "description": "Tax 3 identifier.",
            "format": "int32",
            "nullable": true
          },
          "tax4": {
            "type": "integer",
            "description": "Tax 4 identifier.",
            "format": "int32",
            "nullable": true
          },
          "tax5": {
            "type": "integer",
            "description": "Tax 5 identifier.",
            "format": "int32",
            "nullable": true
          },
          "taxOverProfit": {
            "type": "boolean",
            "description": "Whether tax is calculated over profit.",
            "nullable": true
          },
          "alternativeTaxId": {
            "type": "integer",
            "description": "Alternative tax identifier.",
            "format": "int32",
            "nullable": true
          },
          "purchasePrice": {
            "type": "number",
            "description": "Purchase price.",
            "format": "double",
            "nullable": true
          },
          "netPrice1": {
            "type": "number",
            "description": "Net price line 1.",
            "format": "double",
            "nullable": true
          },
          "netPrice2": {
            "type": "number",
            "description": "Net price line 2.",
            "format": "double",
            "nullable": true
          },
          "netPrice3": {
            "type": "number",
            "description": "Net price line 3.",
            "format": "double",
            "nullable": true
          },
          "netPrice4": {
            "type": "number",
            "description": "Net price line 4.",
            "format": "double",
            "nullable": true
          },
          "netPrice5": {
            "type": "number",
            "description": "Net price line 5.",
            "format": "double",
            "nullable": true
          },
          "purchaseNetPrice": {
            "type": "number",
            "description": "Purchase net price.",
            "format": "double",
            "nullable": true
          },
          "commission": {
            "type": "number",
            "description": "Commission percentage.",
            "format": "double",
            "nullable": true
          },
          "stockType": {
            "type": "integer",
            "description": "Stock type code.",
            "format": "int32",
            "nullable": true
          },
          "minimumStockWarning": {
            "type": "integer",
            "description": "Minimum stock warning level.",
            "format": "int32",
            "nullable": true
          },
          "negativeStockPermission": {
            "type": "integer",
            "description": "Negative stock permission mode.",
            "format": "int32",
            "nullable": true
          },
          "averageCostPrice": {
            "type": "number",
            "description": "Average cost price.",
            "format": "double",
            "nullable": true
          },
          "creationDate": {
            "type": "string",
            "description": "Item creation date.",
            "format": "date-time",
            "nullable": true
          },
          "askingPrice": {
            "type": "boolean",
            "description": "Whether to ask for price at sale.",
            "nullable": true
          },
          "fixedCostPrice": {
            "type": "boolean",
            "description": "Whether cost price is fixed.",
            "nullable": true
          },
          "marginRef1": {
            "type": "number",
            "description": "Margin reference line 1.",
            "format": "double",
            "nullable": true
          },
          "marginRef2": {
            "type": "number",
            "description": "Margin reference line 2.",
            "format": "double",
            "nullable": true
          },
          "marginRef3": {
            "type": "number",
            "description": "Margin reference line 3.",
            "format": "double",
            "nullable": true
          },
          "marginRef4": {
            "type": "number",
            "description": "Margin reference line 4.",
            "format": "double",
            "nullable": true
          },
          "marginRef5": {
            "type": "number",
            "description": "Margin reference line 5.",
            "format": "double",
            "nullable": true
          },
          "batchTypeId": {
            "type": "integer",
            "description": "Batch type identifier.",
            "format": "int32",
            "nullable": true
          },
          "serialNumberTypeId": {
            "type": "integer",
            "description": "Serial number type identifier.",
            "format": "int32",
            "nullable": true
          },
          "pictureId": {
            "type": "string",
            "description": "Picture file identifier.",
            "nullable": true
          },
          "thumbId": {
            "type": "string",
            "description": "Thumbnail file identifier.",
            "nullable": true
          },
          "extraDescription": {
            "type": "string",
            "description": "Item extra description.",
            "nullable": true
          },
          "ordersPrintingOrder": {
            "type": "integer",
            "description": "Orders printing order.",
            "format": "int32",
            "nullable": true
          },
          "replacementReports": {
            "type": "boolean",
            "description": "Whether the item is included in replacement reports.",
            "nullable": true
          },
          "localPrinting": {
            "type": "boolean",
            "description": "Whether local printing is enabled.",
            "nullable": true
          },
          "groupOnKitchen": {
            "type": "boolean",
            "description": "Indicates whether the item should be grouped on the kitchen.",
            "nullable": true
          },
          "followItem": {
            "type": "boolean",
            "description": "Whether this is a follow-up item.",
            "nullable": true
          },
          "printer1": {
            "type": "boolean",
            "description": "Whether printer 1 is enabled.",
            "nullable": true
          },
          "printer2": {
            "type": "boolean",
            "description": "Whether printer 2 is enabled.",
            "nullable": true
          },
          "printer3": {
            "type": "boolean",
            "description": "Whether printer 3 is enabled.",
            "nullable": true
          },
          "printer4": {
            "type": "boolean",
            "description": "Whether printer 4 is enabled.",
            "nullable": true
          },
          "printer5": {
            "type": "boolean",
            "description": "Whether printer 5 is enabled.",
            "nullable": true
          },
          "printer6": {
            "type": "boolean",
            "description": "Whether printer 6 is enabled.",
            "nullable": true
          },
          "printer7": {
            "type": "boolean",
            "description": "Whether printer 7 is enabled.",
            "nullable": true
          },
          "printer8": {
            "type": "boolean",
            "description": "Whether printer 8 is enabled.",
            "nullable": true
          },
          "printer9": {
            "type": "boolean",
            "description": "Whether printer 9 is enabled.",
            "nullable": true
          },
          "printer10": {
            "type": "boolean",
            "description": "Whether printer 10 is enabled.",
            "nullable": true
          },
          "printer11": {
            "type": "boolean",
            "description": "Whether printer 11 is enabled.",
            "nullable": true
          },
          "printer12": {
            "type": "boolean",
            "description": "Whether printer 12 is enabled.",
            "nullable": true
          },
          "printer13": {
            "type": "boolean",
            "description": "Whether printer 13 is enabled.",
            "nullable": true
          },
          "printer14": {
            "type": "boolean",
            "description": "Whether printer 14 is enabled.",
            "nullable": true
          },
          "printer15": {
            "type": "boolean",
            "description": "Whether printer 15 is enabled.",
            "nullable": true
          },
          "printer16": {
            "type": "boolean",
            "description": "Whether printer 16 is enabled.",
            "nullable": true
          },
          "printer17": {
            "type": "boolean",
            "description": "Whether printer 17 is enabled.",
            "nullable": true
          },
          "printer18": {
            "type": "boolean",
            "description": "Whether printer 18 is enabled.",
            "nullable": true
          },
          "printer19": {
            "type": "boolean",
            "description": "Whether printer 19 is enabled.",
            "nullable": true
          },
          "printer20": {
            "type": "boolean",
            "description": "Whether printer 20 is enabled.",
            "nullable": true
          },
          "compositeType": {
            "type": "integer",
            "description": "Composite item subtype. Applies when item type is composite (itemType = 18).",
            "format": "int32",
            "nullable": true
          },
          "compositePriceType": {
            "type": "integer",
            "description": "How the composite item price is calculated.",
            "format": "int32",
            "nullable": true
          },
          "compositeDetailsPriceType": {
            "type": "integer",
            "description": "Price source for composite lines.",
            "format": "int32",
            "nullable": true
          },
          "closedComposite": {
            "type": "boolean",
            "description": "When true, the composite is closed (components cannot be changed at sale time).",
            "nullable": true
          },
          "excludeDetailOnDocs": {
            "type": "boolean",
            "description": "When true, component lines are excluded from printed documents.",
            "nullable": true
          },
          "compositeNeededComponents": {
            "type": "integer",
            "description": "Minimum number of components required when the composite is not closed.",
            "format": "int32",
            "nullable": true
          },
          "compositeProductionQuantity": {
            "type": "number",
            "description": "Production quantity for production-type composites.",
            "format": "double",
            "nullable": true
          },
          "compositeProductionDuration": {
            "type": "integer",
            "description": "Production duration (in minutes) for production-type composites.",
            "format": "int32",
            "nullable": true
          },
          "compositeDetails": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ItemCompositionDTO"
            },
            "description": "Component lines that make up this composite item.",
            "nullable": true
          },
          "expireTimeUnit": {
            "type": "integer",
            "description": "Contract expiration time unit (0 = Days, 1 = Months, 2 = Years).",
            "format": "int32",
            "nullable": true
          },
          "expireTime": {
            "type": "integer",
            "description": "Contract expiration time value.",
            "format": "int32",
            "nullable": true
          },
          "maxValue": {
            "type": "number",
            "description": "Contract maximum allowed value.",
            "format": "double",
            "nullable": true
          },
          "taxInclude": {
            "type": "boolean",
            "description": "Whether taxes are included in contract values.",
            "nullable": true
          },
          "contractDetails": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ItemContractDetailDTO"
            },
            "description": "Contract detail lines (only for contract items).",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Partial item update: only properties sent in the payload are applied; omitted properties keep their stored values."
      },
      "ItemsUnitsDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Id.",
            "format": "int32"
          },
          "description": {
            "type": "string",
            "description": "Description.",
            "nullable": true
          },
          "shortName": {
            "type": "string",
            "description": "Short Name.",
            "nullable": true
          },
          "useFormula": {
            "type": "boolean",
            "description": "Whether to use formula for unit conversion."
          },
          "formula": {
            "type": "string",
            "description": "Formula expression.",
            "nullable": true
          },
          "measure1Description": {
            "type": "string",
            "description": "Measure 1 Description.",
            "nullable": true
          },
          "measure2Description": {
            "type": "string",
            "description": "Measure 2 Description.",
            "nullable": true
          },
          "measure3Description": {
            "type": "string",
            "description": "Measure 3 Description.",
            "nullable": true
          },
          "decimalPlaces": {
            "type": "integer",
            "description": "Decimal Places.",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Items units configuration."
      },
      "ItemsUnitsDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ItemsUnitsDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "ItemsgroupsDTO": {
        "required": [
          "commission",
          "description"
        ],
        "type": "object",
        "properties": {
          "id": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Group identifier.",
            "format": "int32"
          },
          "idParent": {
            "type": "integer",
            "description": "Parent group identifier.",
            "format": "int32",
            "nullable": true
          },
          "description": {
            "maxLength": 30,
            "minLength": 1,
            "type": "string",
            "description": "Group description."
          },
          "extraDescription": {
            "type": "string",
            "description": "Extra description.",
            "nullable": true
          },
          "visibleOnFAMIX": {
            "type": "boolean",
            "description": "Visible on FAMIX interface.",
            "nullable": true
          },
          "visibleOnAUTOPLU": {
            "type": "boolean",
            "description": "Visible on AUTOPLU interface.",
            "nullable": true
          },
          "commission": {
            "type": "number",
            "description": "Commission percentage.",
            "format": "double"
          },
          "visibleOnDELIVERY": {
            "type": "boolean",
            "description": "Visible on delivery interface.",
            "nullable": true
          },
          "visibleOnMobile": {
            "type": "boolean",
            "description": "Visible on mobile interface.",
            "nullable": true
          },
          "onDigitalMenu": {
            "type": "boolean",
            "description": "Available on digital menu."
          },
          "availableOnline": {
            "type": "boolean",
            "description": "Available for online ordering."
          },
          "inactive": {
            "type": "boolean",
            "description": "Whether the group is inactive.",
            "nullable": true
          },
          "taxFreeCategory": {
            "type": "string",
            "description": "Tax-free category code.",
            "nullable": true
          },
          "terminalIdList": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Terminal ID list for group visibility.",
            "nullable": true
          },
          "hasChildren": {
            "type": "boolean",
            "description": "Whether the group has child groups."
          }
        },
        "additionalProperties": false,
        "description": "Item groups/families hierarchy."
      },
      "ItemsgroupsDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ItemsgroupsDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "ItemsgroupsUpdateDTO": {
        "type": "object",
        "properties": {
          "idParent": {
            "type": "integer",
            "description": "Parent group identifier.",
            "format": "int32",
            "nullable": true
          },
          "description": {
            "maxLength": 30,
            "minLength": 0,
            "type": "string",
            "description": "Group description.",
            "nullable": true
          },
          "extraDescription": {
            "type": "string",
            "description": "Extra description.",
            "nullable": true
          },
          "visibleOnFAMIX": {
            "type": "boolean",
            "description": "Visible on FAMIX interface.",
            "nullable": true
          },
          "visibleOnAUTOPLU": {
            "type": "boolean",
            "description": "Visible on AUTOPLU interface.",
            "nullable": true
          },
          "commission": {
            "type": "number",
            "description": "Commission percentage.",
            "format": "double",
            "nullable": true
          },
          "visibleOnDELIVERY": {
            "type": "boolean",
            "description": "Visible on delivery interface.",
            "nullable": true
          },
          "visibleOnMobile": {
            "type": "boolean",
            "description": "Visible on mobile interface.",
            "nullable": true
          },
          "onDigitalMenu": {
            "type": "boolean",
            "description": "Available on digital menu.",
            "nullable": true
          },
          "availableOnline": {
            "type": "boolean",
            "description": "Available for online ordering.",
            "nullable": true
          },
          "inactive": {
            "type": "boolean",
            "description": "Whether the group is inactive.",
            "nullable": true
          },
          "taxFreeCategory": {
            "type": "string",
            "description": "Tax-free category code (numeric string, e.g. \"0\" for NONE). Omit to keep the persisted value.",
            "nullable": true
          },
          "terminalIdList": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Terminal ID list for group visibility. Omit to leave existing configuration unchanged.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Item group partial update. Omitted or null JSON properties are left unchanged on the persisted entity.\r\nWhen XDPeople.Soba.Application.DTOs.ItemsgroupsUpdateDTO.TaxFreeCategory is omitted from the JSON payload, the value stored in the database is kept."
      },
      "LicenceInfoDTO": {
        "type": "object",
        "properties": {
          "number": {
            "type": "string",
            "description": "Establishment/license number.",
            "nullable": true
          },
          "comercialName": {
            "type": "string",
            "description": "Commercial/trading name.",
            "nullable": true
          },
          "fiscalName": {
            "type": "string",
            "description": "Fiscal/legal name of the establishment.",
            "nullable": true
          },
          "address": {
            "type": "string",
            "description": "Establishment address.",
            "nullable": true
          },
          "postalCode": {
            "type": "string",
            "description": "Postal/ZIP code.",
            "nullable": true
          },
          "city": {
            "type": "string",
            "description": "City name.",
            "nullable": true
          },
          "state": {
            "type": "string",
            "description": "State/province name.",
            "nullable": true
          },
          "countryCode": {
            "type": "integer",
            "description": "Country code identifier.",
            "format": "int32"
          },
          "vat": {
            "type": "string",
            "description": "VAT/tax identification number.",
            "nullable": true
          },
          "email": {
            "type": "string",
            "description": "Contact email address.",
            "nullable": true
          },
          "phoneNumber": {
            "type": "string",
            "description": "Contact phone number.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Establishment (license) information for invoice/ticket header display."
      },
      "ListParametersDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Parameter internal name/key.",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Parameter display description.",
            "nullable": true
          },
          "caption": {
            "type": "string",
            "description": "Parameter display caption/label.",
            "nullable": true
          },
          "viewType": {
            "$ref": "#/components/schemas/ParameterViewType"
          },
          "paramHolder": {
            "type": "string",
            "description": "Placeholder name used in query templates.",
            "nullable": true
          },
          "value": {
            "description": "Current parameter value.",
            "nullable": true
          },
          "valueList": {
            "description": "List of possible values for selection parameters.",
            "nullable": true
          },
          "entityTypeValue": {
            "type": "string",
            "description": "Entity type value for entity-based parameters.",
            "nullable": true
          },
          "group": {
            "type": "integer",
            "description": "Parameter group identifier for grouping in UI.",
            "format": "int32",
            "nullable": true
          },
          "isVisible": {
            "type": "boolean",
            "description": "Indicates whether the parameter is visible in the UI."
          }
        },
        "additionalProperties": false,
        "description": "DTO representing a configurable list filter parameter."
      },
      "LoadUnloadPlaceCreateDTO": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "description": "Description.",
            "nullable": true
          },
          "city": {
            "type": "string",
            "description": "City.",
            "nullable": true
          },
          "postalCode": {
            "type": "string",
            "description": "Postal Code.",
            "nullable": true
          },
          "country": {
            "type": "string",
            "description": "Country.",
            "nullable": true
          },
          "warehouseId": {
            "type": "integer",
            "description": "Warehouse Id.",
            "format": "int32"
          },
          "latitude": {
            "type": "string",
            "description": "Latitude.",
            "nullable": true
          },
          "longitude": {
            "type": "string",
            "description": "Longitude.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Load/unload place create request."
      },
      "LoadUnloadPlaceDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Id.",
            "format": "int32"
          },
          "description": {
            "type": "string",
            "description": "Description.",
            "nullable": true
          },
          "city": {
            "type": "string",
            "description": "City.",
            "nullable": true
          },
          "postalCode": {
            "type": "string",
            "description": "Postal Code.",
            "nullable": true
          },
          "country": {
            "type": "string",
            "description": "Country.",
            "nullable": true
          },
          "warehouseId": {
            "type": "integer",
            "description": "Warehouse Id.",
            "format": "int32"
          },
          "latitude": {
            "type": "string",
            "description": "Latitude.",
            "nullable": true
          },
          "longitude": {
            "type": "string",
            "description": "Longitude.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Load/unload place information."
      },
      "LoadUnloadPlaceDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LoadUnloadPlaceDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "LoadUnloadPlaceUpdateDTO": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "description": "Description.",
            "nullable": true
          },
          "city": {
            "type": "string",
            "description": "City.",
            "nullable": true
          },
          "postalCode": {
            "type": "string",
            "description": "Postal Code.",
            "nullable": true
          },
          "country": {
            "type": "string",
            "description": "Country.",
            "nullable": true
          },
          "warehouseId": {
            "type": "integer",
            "description": "Warehouse Id.",
            "format": "int32",
            "nullable": true
          },
          "latitude": {
            "type": "string",
            "description": "Latitude.",
            "nullable": true
          },
          "longitude": {
            "type": "string",
            "description": "Longitude.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Partial load/unload place update request. Omitted fields keep their stored values."
      },
      "Login": {
        "type": "object",
        "properties": {
          "user": {
            "type": "string",
            "nullable": true
          },
          "password": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "LoginResponse": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ManualCheckingAccountList": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "documentIdentifier": {
            "type": "string",
            "nullable": true
          },
          "entityKeyId": {
            "type": "string",
            "nullable": true
          },
          "entityName": {
            "type": "string",
            "nullable": true
          },
          "total": {
            "type": "number",
            "format": "double"
          },
          "grossTotal": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "dueValue": {
            "type": "number",
            "format": "double"
          },
          "totalServiceTax": {
            "type": "number",
            "format": "double"
          },
          "paidValue": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "daysToDueDate": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "observation": {
            "type": "string",
            "nullable": true
          },
          "creationDate": {
            "type": "string",
            "format": "date-time"
          },
          "dueDate": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "ManualCheckingAccountListEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManualCheckingAccountList"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "ManualCheckingAccountPrintingDTO": {
        "type": "object",
        "properties": {
          "series": {
            "type": "integer",
            "description": "Gets or sets the document series number.",
            "format": "int32"
          },
          "number": {
            "type": "integer",
            "description": "Gets or sets the document number within the series.",
            "format": "int32"
          },
          "observation": {
            "type": "string",
            "description": "Gets or sets the observation or notes for the checking account entry.",
            "nullable": true
          },
          "createDate": {
            "type": "string",
            "description": "Gets or sets the creation date of the checking account entry.",
            "format": "date-time"
          },
          "dueDate": {
            "type": "string",
            "description": "Gets or sets the due date for payment.",
            "format": "date-time"
          },
          "totalAmount": {
            "type": "number",
            "description": "Gets or sets the total amount of the checking account entry.",
            "format": "double"
          },
          "entity": {
            "$ref": "#/components/schemas/EntityPrintingDTO"
          },
          "currency": {
            "$ref": "#/components/schemas/CurrencyPrintingDTO"
          },
          "documentType": {
            "$ref": "#/components/schemas/DocumentTypePrintingDTO"
          }
        },
        "additionalProperties": false,
        "description": "Represents manual checking account data used for printing purposes."
      },
      "ManualCheckingAccountStatus": {
        "enum": [
          0,
          1,
          2,
          3,
          4
        ],
        "type": "integer",
        "format": "int32"
      },
      "ManualCheckingAccountType": {
        "enum": [
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "MbwayPaymentDetail": {
        "type": "object",
        "properties": {
          "guid": {
            "type": "string",
            "nullable": true
          },
          "serieId": {
            "type": "integer",
            "format": "int32"
          },
          "paymenttypeId": {
            "type": "integer",
            "format": "int32"
          },
          "documentTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "number": {
            "type": "integer",
            "format": "int32"
          },
          "phoneNumber": {
            "type": "integer",
            "format": "int32"
          },
          "transactionId": {
            "type": "string",
            "nullable": true
          },
          "documentGuid": {
            "type": "string",
            "nullable": true
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "amount": {
            "type": "number",
            "format": "double"
          },
          "businessAccountId": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "MenuDetailDTO": {
        "type": "object",
        "properties": {
          "composition": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ItemMenuCompositionDTO"
            },
            "description": "Menu composition items.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Menu item details."
      },
      "Month": {
        "enum": [
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12
        ],
        "type": "integer",
        "format": "int32"
      },
      "PagerConfigDTO": {
        "type": "object",
        "properties": {
          "visible": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether the pager is visible."
          },
          "displayMode": {
            "type": "string",
            "description": "Gets or sets the pager display mode.",
            "nullable": true
          },
          "showInfo": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether page info is displayed."
          },
          "showPageSizeSelector": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether the page size selector is shown."
          },
          "allowedPageSizes": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Gets or sets the allowed page sizes.",
            "nullable": true
          },
          "pageSize": {
            "type": "integer",
            "description": "Gets or sets the default page size.",
            "format": "int32"
          },
          "showNavButtons": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether navigation buttons are shown."
          }
        },
        "additionalProperties": false,
        "description": "DTO representing pager configuration for entity listings."
      },
      "ParameterViewType": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7
        ],
        "type": "integer",
        "format": "int32"
      },
      "PasswordChangeMode": {
        "enum": [
          0,
          1
        ],
        "type": "integer",
        "format": "int32"
      },
      "PaymentBankDetail": {
        "type": "object",
        "properties": {
          "guid": {
            "type": "string",
            "format": "uuid"
          },
          "number": {
            "type": "integer",
            "format": "int32"
          },
          "serieId": {
            "type": "integer",
            "format": "int32"
          },
          "documentTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "paymentTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "paymentMechanism": {
            "type": "string",
            "nullable": true
          },
          "deferredDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "accountNumber": {
            "type": "string",
            "nullable": true
          },
          "checkSequenceNumber": {
            "type": "string",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "format": "double"
          },
          "observation": {
            "type": "string",
            "nullable": true
          },
          "imageGuid": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "bankKeyId": {
            "type": "string",
            "nullable": true
          },
          "bankDescription": {
            "type": "string",
            "nullable": true
          },
          "businessAccountId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "documentType": {
            "$ref": "#/components/schemas/XConfigDocumentType"
          },
          "receiptPaymentDetail": {
            "$ref": "#/components/schemas/ReceiptPaymentDetail"
          }
        },
        "additionalProperties": false
      },
      "PaymentBankDetailDTO": {
        "type": "object",
        "properties": {
          "guid": {
            "type": "string",
            "description": "Payment bank detail unique identifier (GUID).",
            "format": "uuid"
          },
          "number": {
            "type": "integer",
            "description": "Document number.",
            "format": "int32"
          },
          "serieId": {
            "type": "integer",
            "description": "Document series identifier.",
            "format": "int32"
          },
          "documentTypeId": {
            "type": "integer",
            "description": "Document type identifier.",
            "format": "int32"
          },
          "paymentTypeId": {
            "type": "integer",
            "description": "Payment type identifier (e.g., cash, card, check).",
            "format": "int32"
          },
          "paymentMechanism": {
            "type": "string",
            "description": "Payment mechanism description (e.g., \"MB\", \"VISA\").",
            "nullable": true
          },
          "deferredDate": {
            "type": "string",
            "description": "Deferred payment date (for post-dated checks).",
            "format": "date-time",
            "nullable": true
          },
          "accountNumber": {
            "type": "string",
            "description": "Bank account number.",
            "nullable": true
          },
          "checkSequenceNumber": {
            "type": "string",
            "description": "Check sequence number.",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "description": "Payment amount.",
            "format": "double"
          },
          "observation": {
            "type": "string",
            "description": "Additional observation/notes for this payment.",
            "nullable": true
          },
          "imageGuid": {
            "type": "string",
            "description": "Associated image/document GUID.",
            "format": "uuid",
            "nullable": true
          },
          "bankKeyId": {
            "type": "string",
            "description": "Bank key identifier.",
            "nullable": true
          },
          "bankDescription": {
            "type": "string",
            "description": "Bank description/name.",
            "nullable": true
          },
          "businessAccountId": {
            "type": "integer",
            "description": "Business account identifier.",
            "format": "int32",
            "nullable": true
          },
          "documentIdentifier": {
            "type": "string",
            "description": "Full document identifier string (e.g., \"FT 2024/1\").",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "DTO for payment bank detail information (check/transfer records)."
      },
      "PaymentModeDTO": {
        "required": [
          "description"
        ],
        "type": "object",
        "properties": {
          "paymentKey": {
            "type": "integer",
            "description": "Payment key identifier.",
            "format": "int32"
          },
          "description": {
            "minLength": 1,
            "type": "string",
            "description": "Payment mode description."
          },
          "id": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Payment mode identifier.",
            "format": "int32"
          },
          "syncStamp": {
            "type": "string",
            "description": "Synchronization timestamp.",
            "format": "date-time",
            "nullable": true
          },
          "paymentModeType": {
            "$ref": "#/components/schemas/PaymentModeType"
          },
          "incrementDays": {
            "type": "integer",
            "description": "Number of days to increment for payment due date.",
            "format": "int32"
          },
          "paymentDay": {
            "type": "integer",
            "description": "Fixed payment day of the month.",
            "format": "int32",
            "default": 0
          }
        },
        "additionalProperties": false,
        "description": "Payment mode configuration."
      },
      "PaymentModeDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PaymentModeDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "PaymentModeType": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "PaymentModeUpdateDTO": {
        "type": "object",
        "properties": {
          "paymentKey": {
            "type": "integer",
            "description": "Payment key identifier.",
            "format": "int32"
          },
          "description": {
            "type": "string",
            "description": "Payment mode description.",
            "nullable": true
          },
          "paymentModeType": {
            "$ref": "#/components/schemas/PaymentModeType"
          },
          "incrementDays": {
            "type": "integer",
            "description": "Number of days to increment for payment due date.",
            "format": "int32"
          },
          "paymentDay": {
            "type": "integer",
            "description": "Fixed payment day of the month.",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Payload for updating an existing payment mode. The identifier is supplied via the route."
      },
      "PaymentTypeDeclarationDTO": {
        "type": "object",
        "properties": {
          "paymentTypeId": {
            "type": "integer",
            "description": "Payment Type Id.",
            "format": "int32"
          },
          "amount": {
            "type": "number",
            "description": "Amount.",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Payment type declaration entry."
      },
      "PaymentTypeDeclarationPairDTO": {
        "type": "object",
        "properties": {
          "paymentTypeId": {
            "type": "integer",
            "description": "Payment type identifier.",
            "format": "int32"
          },
          "amount": {
            "type": "number",
            "description": "Declared amount.",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "DTO for a payment type and amount pair."
      },
      "PaymentTypeDeclarationTotalDTO": {
        "type": "object",
        "properties": {
          "paymentTypeDeclarations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PaymentTypeDeclarationDTO"
            },
            "description": "Payment Type Declarations list.",
            "nullable": true
          },
          "total": {
            "type": "number",
            "description": "Total amount.",
            "format": "double"
          },
          "description": {
            "type": "string",
            "description": "Description.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Payment type declaration total with entries."
      },
      "PaymentTypesDTO": {
        "required": [
          "description"
        ],
        "type": "object",
        "properties": {
          "description": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Payment type description."
          },
          "id": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Payment type identifier.",
            "format": "int32"
          },
          "requiresExchange": {
            "type": "boolean",
            "description": "Whether this payment type requires exchange/change."
          },
          "sendToCheckingAccount": {
            "type": "boolean",
            "description": "Whether to send to checking account."
          },
          "syncStamp": {
            "type": "string",
            "description": "Synchronization timestamp.",
            "format": "date-time"
          },
          "paymentMechanism": {
            "maxLength": 25,
            "minLength": 0,
            "type": "string",
            "description": "SAF-T payment mechanism code.",
            "nullable": true
          },
          "paymentGroup": {
            "type": "integer",
            "description": "Payment group code.",
            "format": "int32"
          },
          "businessAccountId": {
            "type": "integer",
            "description": "Business account identifier.",
            "format": "int32"
          },
          "visibleDelivery": {
            "type": "boolean",
            "description": "Whether visible on delivery interface."
          },
          "currencyId": {
            "type": "integer",
            "description": "Currency identifier.",
            "format": "int32"
          },
          "sortOrder": {
            "type": "integer",
            "description": "Display sort order.",
            "format": "int32"
          },
          "cashierAccountId": {
            "type": "integer",
            "description": "Cashier account identifier.",
            "format": "int32"
          },
          "imageName": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Image file name.",
            "nullable": true
          },
          "issueDirectDebit": {
            "type": "boolean",
            "description": "Whether to issue direct debit."
          },
          "inactive": {
            "type": "boolean",
            "description": "Whether the payment type is inactive."
          },
          "generateMBReference": {
            "type": "boolean",
            "description": "Whether to generate MB (Multibanco) reference."
          },
          "cloudSyncStamp": {
            "type": "string",
            "description": "Cloud synchronization timestamp.",
            "format": "date-time"
          },
          "brPaymentTypeId": {
            "type": "integer",
            "description": "Brazil payment type identifier.",
            "format": "int32"
          },
          "brPaymentTypeProviderId": {
            "type": "integer",
            "description": "Brazil payment type provider identifier.",
            "format": "int32"
          },
          "brPaymentTypeDescription": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Brazil payment type description.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Payment type configuration."
      },
      "PaymentTypesDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PaymentTypesDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "PaymentTypesUpdateDTO": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "description": "Payment type description.",
            "nullable": true
          },
          "requiresExchange": {
            "type": "boolean",
            "description": "Whether this payment type requires exchange/change."
          },
          "sendToCheckingAccount": {
            "type": "boolean",
            "description": "Whether to send to checking account."
          },
          "paymentMechanism": {
            "type": "string",
            "description": "SAF-T payment mechanism code.",
            "nullable": true
          },
          "paymentGroup": {
            "type": "integer",
            "description": "Payment group code. Must be a valid PaymentTypeGroup value.",
            "format": "int32"
          },
          "businessAccountId": {
            "type": "integer",
            "description": "Business account identifier.",
            "format": "int32"
          },
          "visibleDelivery": {
            "type": "boolean",
            "description": "Whether visible on delivery interface."
          },
          "currencyId": {
            "type": "integer",
            "description": "Currency identifier.",
            "format": "int32"
          },
          "sortOrder": {
            "type": "integer",
            "description": "Display sort order.",
            "format": "int32"
          },
          "cashierAccountId": {
            "type": "integer",
            "description": "Cashier account identifier.",
            "format": "int32"
          },
          "imageName": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Image file name.",
            "nullable": true
          },
          "issueDirectDebit": {
            "type": "boolean",
            "description": "Whether to issue direct debit."
          },
          "inactive": {
            "type": "boolean",
            "description": "Whether the payment type is inactive."
          },
          "generateMBReference": {
            "type": "boolean",
            "description": "Whether to generate MB (Multibanco) reference."
          },
          "brPaymentTypeId": {
            "type": "integer",
            "description": "Brazil payment type identifier.",
            "format": "int32"
          },
          "brPaymentTypeProviderId": {
            "type": "integer",
            "description": "Brazil payment type provider identifier.",
            "format": "int32"
          },
          "brPaymentTypeDescription": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Brazil payment type description.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Payment type update request."
      },
      "PermissionTypes": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "PizzaConfigItemDTO": {
        "type": "object",
        "properties": {
          "keyId": {
            "type": "string",
            "description": "Item key identifier.",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Item description.",
            "nullable": true
          },
          "shortName1": {
            "type": "string",
            "description": "Item short name.",
            "nullable": true
          },
          "retailPrice1": {
            "type": "number",
            "description": "Retail price (line 1).",
            "format": "double",
            "nullable": true
          },
          "id": {
            "type": "integer",
            "description": "Config item identifier.",
            "format": "int32"
          },
          "price": {
            "type": "number",
            "description": "Price for this pizza config item.",
            "format": "double",
            "nullable": true
          },
          "type": {
            "type": "integer",
            "description": "Config item type.",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Pizza configuration item."
      },
      "PizzaDetailDTO": {
        "type": "object",
        "properties": {
          "pizzaConfigId": {
            "type": "integer",
            "description": "Pizza configuration identifier.",
            "format": "int32"
          },
          "numberItems": {
            "type": "integer",
            "description": "Number of items/toppings.",
            "format": "int32",
            "nullable": true
          },
          "minimumPrice": {
            "type": "number",
            "description": "Minimum price.",
            "format": "double",
            "nullable": true
          },
          "maximumItems": {
            "type": "integer",
            "description": "Maximum number of items/toppings.",
            "format": "int32",
            "nullable": true
          },
          "sellingRules": {
            "type": "integer",
            "description": "Selling rules mode.",
            "format": "int32",
            "nullable": true
          },
          "payBorder": {
            "type": "integer",
            "description": "Pay border option.",
            "format": "int32",
            "nullable": true
          },
          "numberFreeItems": {
            "type": "integer",
            "description": "Number of free items/toppings.",
            "format": "int32",
            "nullable": true
          },
          "free": {
            "type": "integer",
            "description": "Free items mode.",
            "format": "int32",
            "nullable": true
          },
          "isTablet": {
            "type": "integer",
            "description": "Whether this is a tablet configuration.",
            "format": "int32",
            "nullable": true
          },
          "tabletTerminals": {
            "type": "string",
            "description": "Tablet terminal list.",
            "nullable": true
          },
          "closeAfterFlavor": {
            "type": "integer",
            "description": "Close after flavor selection option.",
            "format": "int32",
            "nullable": true
          },
          "numberFreeIngredients": {
            "type": "integer",
            "description": "Number of free ingredients.",
            "format": "int32",
            "nullable": true
          },
          "groupIdForObservations": {
            "type": "integer",
            "description": "Group identifier for observations.",
            "format": "int32",
            "nullable": true
          },
          "pvpForObservations": {
            "type": "integer",
            "description": "PVP for observations.",
            "format": "int32",
            "nullable": true
          },
          "changeDescription": {
            "type": "boolean",
            "description": "Whether to change description."
          },
          "configItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PizzaConfigItemDTO"
            },
            "description": "Pizza configuration items.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Pizza item details and configuration."
      },
      "PointsConfigCriteriaType": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "PointsConfigDTO": {
        "required": [
          "description"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Id.",
            "format": "uuid",
            "nullable": true
          },
          "order": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Order.",
            "format": "int32"
          },
          "description": {
            "minLength": 1,
            "type": "string",
            "description": "Description."
          },
          "active": {
            "type": "boolean",
            "description": "Whether this configuration is active."
          },
          "startDate": {
            "type": "string",
            "description": "Start Date.",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "description": "End Date.",
            "format": "date-time"
          },
          "cumulative": {
            "type": "boolean",
            "description": "Whether points are cumulative."
          },
          "allowDecimalPoints": {
            "type": "boolean",
            "description": "Whether to allow decimal points."
          },
          "startDateHolder": {
            "type": "string",
            "description": "Start Date display holder.",
            "nullable": true
          },
          "endDateHolder": {
            "type": "string",
            "description": "End Date display holder.",
            "nullable": true
          },
          "activeHolder": {
            "type": "string",
            "description": "Active display holder.",
            "nullable": true
          },
          "isPreCompiled": {
            "type": "boolean",
            "description": "Whether this is a pre-compiled configuration."
          },
          "preCompiledType": {
            "type": "string",
            "description": "Pre-compiled type identifier.",
            "nullable": true
          },
          "criteriaType": {
            "$ref": "#/components/schemas/PointsConfigCriteriaType"
          },
          "defaultHeaderCriteria": {
            "$ref": "#/components/schemas/DefaultHeaderCriteriaDTO"
          },
          "defaultDetailsItemCriteria": {
            "$ref": "#/components/schemas/DefaultDetailsWithItemSearchCriteriaDTO"
          },
          "defaultDetailsFamilyCriteria": {
            "$ref": "#/components/schemas/DefaultDetailsWithFamilySearchCriteriaDTO"
          }
        },
        "additionalProperties": false,
        "description": "Points configuration entry."
      },
      "PointsConfigDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PointsConfigDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "PointsConfigUpdateDTO": {
        "required": [
          "description"
        ],
        "type": "object",
        "properties": {
          "order": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Order.",
            "format": "int32"
          },
          "description": {
            "minLength": 1,
            "type": "string",
            "description": "Description."
          },
          "active": {
            "type": "boolean",
            "description": "Whether this configuration is active."
          },
          "startDate": {
            "type": "string",
            "description": "Start Date.",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "description": "End Date.",
            "format": "date-time"
          },
          "cumulative": {
            "type": "boolean",
            "description": "Whether points are cumulative."
          },
          "allowDecimalPoints": {
            "type": "boolean",
            "description": "Whether to allow decimal points."
          },
          "startDateHolder": {
            "type": "string",
            "description": "Start Date display holder.",
            "nullable": true
          },
          "endDateHolder": {
            "type": "string",
            "description": "End Date display holder.",
            "nullable": true
          },
          "activeHolder": {
            "type": "string",
            "description": "Active display holder.",
            "nullable": true
          },
          "isPreCompiled": {
            "type": "boolean",
            "description": "Whether this is a pre-compiled configuration."
          },
          "preCompiledType": {
            "type": "string",
            "description": "Pre-compiled type identifier.",
            "nullable": true
          },
          "criteriaType": {
            "$ref": "#/components/schemas/PointsConfigCriteriaType"
          },
          "defaultHeaderCriteria": {
            "$ref": "#/components/schemas/DefaultHeaderCriteriaDTO"
          },
          "defaultDetailsItemCriteria": {
            "$ref": "#/components/schemas/DefaultDetailsWithItemSearchCriteriaDTO"
          },
          "defaultDetailsFamilyCriteria": {
            "$ref": "#/components/schemas/DefaultDetailsWithFamilySearchCriteriaDTO"
          }
        },
        "additionalProperties": false,
        "description": "Points configuration update request. The identifier is supplied via the route."
      },
      "PriceLines": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5
        ],
        "type": "integer",
        "format": "int32"
      },
      "PriceTableDTO": {
        "required": [
          "description"
        ],
        "type": "object",
        "properties": {
          "id": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Id.",
            "format": "int32"
          },
          "priceTableType": {
            "$ref": "#/components/schemas/PriceTableType"
          },
          "description": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string",
            "description": "Description."
          },
          "startDate": {
            "type": "string",
            "description": "Start Date.",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "description": "End Date.",
            "format": "date-time"
          },
          "absolutePriceLineId": {
            "type": "integer",
            "description": "Absolute Price Line Id.",
            "format": "int32"
          },
          "percentageReference": {
            "type": "number",
            "description": "Percentage Reference.",
            "format": "double"
          },
          "discountPercentage1": {
            "type": "number",
            "description": "Discount Percentage 1.",
            "format": "double"
          },
          "discountPercentage2": {
            "type": "number",
            "description": "Discount Percentage 2.",
            "format": "double"
          },
          "discountPercentage3": {
            "type": "number",
            "description": "Discount Percentage 3.",
            "format": "double"
          },
          "isTaxIncludedPrice": {
            "type": "boolean",
            "description": "Whether the price includes tax."
          },
          "inactive": {
            "type": "boolean",
            "description": "Whether the price table is inactive."
          },
          "syncGuid": {
            "type": "string",
            "description": "Sync Guid.",
            "nullable": true
          },
          "syncStamp": {
            "type": "string",
            "description": "Sync Stamp.",
            "format": "date-time",
            "nullable": true
          },
          "cloudSyncStamp": {
            "type": "string",
            "description": "Cloud Sync Stamp.",
            "format": "date-time",
            "nullable": true
          },
          "isCloudTable": {
            "type": "boolean",
            "description": "Whether this is a cloud table."
          },
          "inUseForPriority": {
            "type": "boolean",
            "description": "Whether the table is in use for priority."
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PriceTableItemDTO"
            },
            "description": "Price table items.",
            "nullable": true
          },
          "relatedItemGroups": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Related item group IDs.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Price table configuration."
      },
      "PriceTableDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PriceTableDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "PriceTableItemDTO": {
        "type": "object",
        "properties": {
          "priceLineId": {
            "type": "integer",
            "description": "Price Line Id.",
            "format": "int32"
          },
          "itemKeyId": {
            "type": "string",
            "description": "Item Key Id.",
            "nullable": true
          },
          "itemAttributeCode": {
            "type": "string",
            "description": "Item Attribute Code.",
            "nullable": true
          },
          "itemType": {
            "$ref": "#/components/schemas/PriceTableItemType"
          },
          "description": {
            "type": "string",
            "description": "Description.",
            "nullable": true
          },
          "percentageReference": {
            "type": "number",
            "description": "Percentage Reference.",
            "format": "double"
          },
          "discountPercentage1": {
            "type": "number",
            "description": "Discount Percentage 1.",
            "format": "double"
          },
          "discountPercentage2": {
            "type": "number",
            "description": "Discount Percentage 2.",
            "format": "double"
          },
          "discountPercentage3": {
            "type": "number",
            "description": "Discount Percentage 3.",
            "format": "double"
          },
          "netPrice": {
            "type": "number",
            "description": "Net Price.",
            "format": "double"
          },
          "taxIncludedPrice": {
            "type": "number",
            "description": "Tax Included Price.",
            "format": "double"
          },
          "isTaxIncludedPrice": {
            "type": "boolean",
            "description": "Whether the price includes tax."
          },
          "itemPriceLineId": {
            "type": "integer",
            "description": "Item Price Line Id.",
            "format": "int32",
            "nullable": true
          },
          "syncGuid": {
            "type": "string",
            "description": "Sync Guid.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Price table item entry."
      },
      "PriceTableItemType": {
        "enum": [
          0,
          1
        ],
        "type": "integer",
        "format": "int32"
      },
      "PriceTableType": {
        "enum": [
          0,
          1
        ],
        "type": "integer",
        "format": "int32"
      },
      "PriceTableUpdateDTO": {
        "required": [
          "description"
        ],
        "type": "object",
        "properties": {
          "priceTableType": {
            "$ref": "#/components/schemas/PriceTableType"
          },
          "description": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string",
            "description": "Description."
          },
          "startDate": {
            "type": "string",
            "description": "Start Date.",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "description": "End Date.",
            "format": "date-time"
          },
          "absolutePriceLineId": {
            "type": "integer",
            "description": "Absolute Price Line Id.",
            "format": "int32"
          },
          "percentageReference": {
            "type": "number",
            "description": "Percentage Reference.",
            "format": "double"
          },
          "discountPercentage1": {
            "type": "number",
            "description": "Discount Percentage 1.",
            "format": "double"
          },
          "discountPercentage2": {
            "type": "number",
            "description": "Discount Percentage 2.",
            "format": "double"
          },
          "discountPercentage3": {
            "type": "number",
            "description": "Discount Percentage 3.",
            "format": "double"
          },
          "isTaxIncludedPrice": {
            "type": "boolean",
            "description": "Whether the price includes tax."
          },
          "inactive": {
            "type": "boolean",
            "description": "Whether the price table is inactive."
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PriceTableItemDTO"
            },
            "description": "Price table items.",
            "nullable": true
          },
          "relatedItemGroups": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Related item group IDs.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Price table update request."
      },
      "ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": {}
      },
      "ProductionOrderDTO": {
        "type": "object",
        "properties": {
          "guid": {
            "type": "string",
            "description": "Production order unique identifier (GUID).",
            "nullable": true
          },
          "number": {
            "type": "integer",
            "description": "Production order number.",
            "format": "int32"
          },
          "serieId": {
            "type": "integer",
            "description": "Document series identifier.",
            "format": "int32"
          },
          "itemKeyId": {
            "type": "string",
            "description": "Item key identifier.",
            "nullable": true
          },
          "observations": {
            "type": "string",
            "description": "Observations/notes.",
            "nullable": true
          },
          "creationDate": {
            "type": "string",
            "description": "Creation date/time.",
            "format": "date-time"
          },
          "compositeType": {
            "type": "integer",
            "description": "Composite type code.",
            "format": "int32"
          },
          "productionState": {
            "type": "integer",
            "description": "Production state/status.",
            "format": "int32"
          },
          "materialsWarehouseId": {
            "type": "integer",
            "description": "Materials warehouse identifier.",
            "format": "int32",
            "nullable": true
          },
          "productionWarehouseId": {
            "type": "integer",
            "description": "Production warehouse identifier.",
            "format": "int32",
            "nullable": true
          },
          "finalWarehouseId": {
            "type": "integer",
            "description": "Final/output warehouse identifier.",
            "format": "int32",
            "nullable": true
          },
          "productionQuantity": {
            "type": "number",
            "description": "Production quantity.",
            "format": "double",
            "nullable": true
          },
          "userId": {
            "type": "integer",
            "description": "User identifier.",
            "format": "int32"
          },
          "attributeCode": {
            "type": "string",
            "description": "Attribute code.",
            "nullable": true
          },
          "finalDate": {
            "type": "string",
            "description": "Final/completion date.",
            "format": "date-time",
            "nullable": true
          },
          "productionDate": {
            "type": "string",
            "description": "Production date.",
            "format": "date-time",
            "nullable": true
          },
          "isDeleted": {
            "type": "boolean",
            "description": "Whether the order is deleted."
          },
          "productionDeviation": {
            "type": "number",
            "description": "Production deviation amount.",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Production order information."
      },
      "ProductionOrderDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductionOrderDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "PromoDTO": {
        "required": [
          "description",
          "endDate",
          "initialDate",
          "promoObjects"
        ],
        "type": "object",
        "properties": {
          "id": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Promotion identifier.",
            "format": "int32"
          },
          "description": {
            "minLength": 1,
            "type": "string",
            "description": "Promotion description."
          },
          "initialDate": {
            "type": "string",
            "description": "Promotion start date.",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "description": "Promotion end date.",
            "format": "date-time"
          },
          "shopDescription": {
            "type": "string",
            "description": "Shop/establishment description.",
            "nullable": true
          },
          "terminalList": {
            "type": "string",
            "description": "Comma-separated terminal list.",
            "nullable": true
          },
          "promoObjects": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PromoObjectDTO"
            },
            "description": "Promotion objects/rules."
          }
        },
        "additionalProperties": false,
        "description": "Promotion/campaign definition."
      },
      "PromoListDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Promotion identifier.",
            "format": "int32"
          },
          "description": {
            "type": "string",
            "description": "Promotion description.",
            "nullable": true
          },
          "initialDate": {
            "type": "string",
            "description": "Promotion start date.",
            "format": "date-time",
            "nullable": true
          },
          "endDate": {
            "type": "string",
            "description": "Promotion end date.",
            "format": "date-time",
            "nullable": true
          },
          "shopDescription": {
            "type": "string",
            "description": "Shop/establishment description.",
            "nullable": true
          },
          "terminalList": {
            "type": "string",
            "description": "Comma-separated terminal list.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Promotion listing for grid display."
      },
      "PromoListDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PromoListDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "PromoObjectDTO": {
        "required": [
          "discountType",
          "idObject",
          "idPromo",
          "objectType",
          "priceLine"
        ],
        "type": "object",
        "properties": {
          "idPromo": {
            "type": "integer",
            "description": "Parent promotion identifier.",
            "format": "int32"
          },
          "idObject": {
            "minLength": 1,
            "type": "string",
            "description": "Object identifier (item/group key)."
          },
          "objectType": {
            "$ref": "#/components/schemas/PromoObjectType"
          },
          "percentage": {
            "type": "number",
            "description": "Discount percentage.",
            "format": "double",
            "nullable": true
          },
          "quantity": {
            "type": "number",
            "description": "Minimum quantity to trigger promotion.",
            "format": "double",
            "nullable": true
          },
          "afterQuantity": {
            "type": "boolean",
            "description": "Whether the discount applies after reaching the quantity."
          },
          "discountType": {
            "$ref": "#/components/schemas/CampaignsDiscountType"
          },
          "priceLine": {
            "type": "integer",
            "description": "Price line identifier.",
            "format": "int32"
          },
          "fixedPrice": {
            "type": "number",
            "description": "Fixed price when applicable.",
            "format": "double"
          },
          "description": {
            "type": "string",
            "description": "Object description.",
            "nullable": true
          },
          "retailPrice": {
            "type": "number",
            "description": "Retail price reference.",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Promotion object/rule definition."
      },
      "PromoObjectType": {
        "enum": [
          0,
          1
        ],
        "type": "integer",
        "format": "int32"
      },
      "ReceipPaymentBankDetail": {
        "type": "object",
        "properties": {
          "guid": {
            "type": "string",
            "format": "uuid"
          },
          "accountNumber": {
            "type": "string",
            "nullable": true
          },
          "keyId": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "observation": {
            "type": "string",
            "nullable": true
          },
          "checkSequenceNumber": {
            "type": "string",
            "nullable": true
          },
          "deferredDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ReceiptBody": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "idHeader": {
            "type": "integer",
            "format": "int32"
          },
          "documentTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "serieId": {
            "type": "integer",
            "format": "int32"
          },
          "number": {
            "type": "integer",
            "format": "int32"
          },
          "documentTypeDescription": {
            "type": "string",
            "nullable": true
          },
          "creationDate": {
            "type": "string",
            "format": "date-time"
          },
          "currencyId": {
            "type": "integer",
            "format": "int32"
          },
          "currencyRate": {
            "type": "number",
            "format": "double"
          },
          "dueDate": {
            "type": "string",
            "format": "date-time"
          },
          "total": {
            "type": "number",
            "format": "double"
          },
          "dueValue": {
            "type": "number",
            "format": "double"
          },
          "netAmount": {
            "type": "number",
            "format": "double"
          },
          "totalIncome": {
            "type": "number",
            "format": "double"
          },
          "totalTaxes": {
            "type": "number",
            "format": "double"
          },
          "holdingTaxValue": {
            "type": "number",
            "format": "double"
          },
          "totalHoldingTaxes": {
            "type": "number",
            "format": "double"
          },
          "guid": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "documentGuid": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "currency": {
            "$ref": "#/components/schemas/XConfigCurrency"
          },
          "receiptHeader": {
            "$ref": "#/components/schemas/ReceiptHeader"
          }
        },
        "additionalProperties": false
      },
      "ReceiptDocumentDetail": {
        "type": "object",
        "properties": {
          "documentTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "serieId": {
            "type": "integer",
            "format": "int32"
          },
          "number": {
            "type": "integer",
            "format": "int32"
          },
          "salesmanName": {
            "type": "string",
            "nullable": true
          },
          "documentTypeKey": {
            "type": "string",
            "nullable": true
          },
          "receiptHeaderId": {
            "type": "integer",
            "format": "int32"
          },
          "receiptGuid": {
            "type": "string",
            "format": "uuid"
          },
          "documentIdentifier": {
            "type": "string",
            "nullable": true
          },
          "total": {
            "type": "number",
            "format": "double"
          },
          "otherValues": {
            "type": "number",
            "format": "double"
          },
          "discountValue": {
            "type": "number",
            "format": "double"
          },
          "discountPercentage": {
            "type": "number",
            "format": "double"
          },
          "payments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReceiptPayment"
            },
            "nullable": true
          },
          "creationDate": {
            "type": "string",
            "format": "date-time"
          },
          "observation": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ReceiptDocumentPrintingDTO": {
        "type": "object",
        "properties": {
          "isNew": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether this is a new receipt document."
          },
          "number": {
            "type": "integer",
            "description": "Gets or sets the document number within the series.",
            "format": "int32"
          },
          "series": {
            "type": "integer",
            "description": "Gets or sets the document series number.",
            "format": "int32"
          },
          "type": {
            "type": "integer",
            "description": "Gets or sets the document type identifier.",
            "format": "int32"
          },
          "address": {
            "$ref": "#/components/schemas/Address"
          },
          "entity": {
            "$ref": "#/components/schemas/EntityPrintingDTO"
          },
          "headerDiscountAmount": {
            "type": "number",
            "description": "Gets or sets the header discount amount applied to the receipt.",
            "format": "double"
          },
          "discountPercentage": {
            "type": "number",
            "description": "Gets or sets the discount percentage applied to the receipt.",
            "format": "double"
          },
          "details": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CheckingAccountDetail"
            },
            "description": "Gets or sets the list of checking account details included in the receipt.",
            "nullable": true
          },
          "observation": {
            "type": "string",
            "description": "Gets or sets the observation or notes for the receipt.",
            "nullable": true
          },
          "salesman": {
            "$ref": "#/components/schemas/UserPrintingDTO"
          },
          "deleted": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether the receipt has been deleted/voided."
          },
          "otherValues": {
            "type": "number",
            "description": "Gets or sets additional/other values applied to the receipt.",
            "format": "double"
          },
          "paymentAmount": {
            "type": "number",
            "description": "Gets or sets the total payment amount for the receipt.",
            "format": "double"
          },
          "paymentDetails": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReceiptPayment"
            },
            "description": "Gets or sets the list of payment details for the receipt.",
            "nullable": true
          },
          "documentType": {
            "$ref": "#/components/schemas/DocumentTypePrintingDTO"
          },
          "createDate": {
            "type": "string",
            "description": "Gets or sets the creation date of the receipt.",
            "format": "date-time"
          },
          "totalAmount": {
            "type": "number",
            "description": "Gets or sets the total amount of the receipt.",
            "format": "double"
          },
          "grossTotalNetAmount": {
            "type": "number",
            "description": "Gets or sets the gross total net amount of the receipt.",
            "format": "double"
          },
          "grossTotalAmount": {
            "type": "number",
            "description": "Gets or sets the gross total amount of the receipt.",
            "format": "double"
          },
          "paidAmount": {
            "type": "number",
            "description": "Gets or sets the amount already paid on the receipt.",
            "format": "double"
          },
          "concatenatedPaymentDetails": {
            "type": "string",
            "description": "Gets the concatenated payment details string, grouped by payment type.",
            "nullable": true,
            "readOnly": true
          },
          "fiscalData": {
            "type": "string",
            "description": "Gets or sets the fiscal/tax data string for the receipt.",
            "nullable": true
          },
          "currency": {
            "$ref": "#/components/schemas/CurrencyPrintingDTO"
          }
        },
        "additionalProperties": false,
        "description": "Represents receipt document data used for printing purposes."
      },
      "ReceiptHeader": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "documentTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "serieId": {
            "type": "integer",
            "format": "int32"
          },
          "number": {
            "type": "integer",
            "format": "int32"
          },
          "osDate": {
            "type": "string",
            "format": "date-time"
          },
          "creationDate": {
            "type": "string",
            "format": "date-time"
          },
          "creationUserId": {
            "type": "integer",
            "format": "int32"
          },
          "entityKeyId": {
            "type": "string",
            "nullable": true
          },
          "entityDescription": {
            "type": "string",
            "nullable": true
          },
          "entityAddress": {
            "type": "string",
            "nullable": true
          },
          "entityPostalCode": {
            "type": "string",
            "nullable": true
          },
          "entitycity": {
            "type": "string",
            "nullable": true
          },
          "entitystate": {
            "type": "string",
            "nullable": true
          },
          "entityVat": {
            "type": "string",
            "nullable": true
          },
          "currencyId": {
            "type": "integer",
            "format": "int32"
          },
          "currencyRate": {
            "type": "number",
            "format": "double"
          },
          "discountPercentage": {
            "type": "number",
            "format": "double"
          },
          "discountValue": {
            "type": "number",
            "format": "double"
          },
          "total": {
            "type": "number",
            "format": "double"
          },
          "obs": {
            "type": "string",
            "nullable": true
          },
          "deleted": {
            "type": "boolean",
            "nullable": true
          },
          "totalIncome": {
            "type": "number",
            "format": "double"
          },
          "totalTaxes": {
            "type": "number",
            "format": "double"
          },
          "statusReason": {
            "type": "string",
            "nullable": true
          },
          "numDocCx": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "terminal": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "numberCopies": {
            "type": "integer",
            "format": "int32"
          },
          "otherValues": {
            "type": "number",
            "format": "double"
          },
          "guid": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "clientVat": {
            "type": "string",
            "nullable": true
          },
          "checkSum": {
            "type": "string",
            "nullable": true
          },
          "shift": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "entityAddressId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "discountOnNetAmount": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "atcud": {
            "type": "string",
            "nullable": true
          },
          "syncStamp": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "cloudSyncStamp": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "creationUser": {
            "$ref": "#/components/schemas/User"
          },
          "currency": {
            "$ref": "#/components/schemas/XConfigCurrency"
          },
          "documentType": {
            "$ref": "#/components/schemas/XConfigDocumentType"
          },
          "serie": {
            "$ref": "#/components/schemas/XConfigDocumentSerie"
          },
          "receiptBodies": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReceiptBody"
            },
            "nullable": true
          },
          "receiptPaymentDetails": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReceiptPaymentDetail"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ReceiptPayment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "paymentTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "paymentMechanism": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "format": "double"
          },
          "currencyId": {
            "type": "integer",
            "format": "int32"
          },
          "currencyRate": {
            "type": "number",
            "format": "double"
          },
          "businessAccountName": {
            "type": "string",
            "nullable": true
          },
          "bankDetail": {
            "$ref": "#/components/schemas/ReceipPaymentBankDetail"
          },
          "observation": {
            "type": "string",
            "nullable": true
          },
          "currencyConfig": {
            "$ref": "#/components/schemas/XConfigCurrency"
          },
          "isChange": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "ReceiptPaymentDetail": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "idBody": {
            "type": "integer",
            "format": "int32"
          },
          "paymentTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "currencyId": {
            "type": "integer",
            "format": "int32"
          },
          "currencyRate": {
            "type": "number",
            "format": "double"
          },
          "netAmount": {
            "type": "number",
            "format": "double"
          },
          "isChange": {
            "type": "boolean"
          },
          "paymentMechanism": {
            "type": "string",
            "nullable": true
          },
          "childGuid": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "guid": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "documentGuid": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "paymentType": {
            "$ref": "#/components/schemas/XConfigPaymentType"
          },
          "receiptHeader": {
            "$ref": "#/components/schemas/ReceiptHeader"
          },
          "paymentBankDetail": {
            "$ref": "#/components/schemas/PaymentBankDetail"
          },
          "paymentMBWayDetail": {
            "$ref": "#/components/schemas/MbwayPaymentDetail"
          }
        },
        "additionalProperties": false
      },
      "ReceiptTaxDetail": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "idBody": {
            "type": "integer",
            "format": "int32"
          },
          "taxId": {
            "type": "integer",
            "format": "int32"
          },
          "taxValue": {
            "type": "number",
            "format": "double"
          },
          "currencyId": {
            "type": "integer",
            "format": "int32"
          },
          "currencyRate": {
            "type": "number",
            "format": "double"
          },
          "totalIncome": {
            "type": "number",
            "format": "double"
          },
          "totalTaxes": {
            "type": "number",
            "format": "double"
          },
          "netAmount": {
            "type": "number",
            "format": "double"
          },
          "dueValue": {
            "type": "number",
            "format": "double"
          },
          "total": {
            "type": "number",
            "format": "double"
          },
          "taxAmount": {
            "type": "number",
            "format": "double"
          },
          "secondTaxAmount": {
            "type": "number",
            "format": "double"
          },
          "secondTaxId": {
            "type": "integer",
            "format": "int32"
          },
          "secondTaxValue": {
            "type": "number",
            "format": "double"
          },
          "guid": {
            "type": "string",
            "nullable": true
          },
          "bodyGuid": {
            "type": "string",
            "nullable": true
          },
          "currency": {
            "$ref": "#/components/schemas/XConfigCurrency"
          },
          "tax": {
            "$ref": "#/components/schemas/XConfigTaxes"
          }
        },
        "additionalProperties": false
      },
      "RecurrenceType": {
        "enum": [
          0,
          1,
          2,
          3,
          4
        ],
        "type": "integer",
        "format": "int32"
      },
      "RegularExpressionConfigDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique identifier.",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "Name of the regular expression configuration.",
            "nullable": true
          },
          "regularExpression": {
            "type": "string",
            "description": "Regular expression pattern.",
            "nullable": true
          },
          "amountTolerance": {
            "type": "number",
            "description": "Tolerance for amount matching.",
            "format": "double",
            "nullable": true
          },
          "dateTolerance": {
            "type": "integer",
            "description": "Tolerance for date matching in days.",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "DTO for regular expression configuration used in extract models."
      },
      "ResourceResponse": {
        "type": "object",
        "properties": {
          "resourceId": {
            "type": "string",
            "nullable": true
          },
          "thumbnailId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Result": {
        "type": "object",
        "properties": {
          "isSuccess": {
            "type": "boolean",
            "readOnly": true
          },
          "isFailure": {
            "type": "boolean",
            "readOnly": true
          },
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Error"
            },
            "nullable": true,
            "readOnly": true
          },
          "warnings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Warning"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "SalesZoneDTO": {
        "required": [
          "description",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Id.",
            "format": "int32"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Name."
          },
          "description": {
            "minLength": 1,
            "type": "string",
            "description": "Description."
          },
          "defaultSalesmanId": {
            "type": "integer",
            "description": "Default Salesman Id.",
            "format": "int32"
          },
          "defaultSalesmanName": {
            "type": "string",
            "description": "Default Salesman Name.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Sales zone configuration."
      },
      "SalesZoneDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalesZoneDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "SalesZoneUpdateDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name.",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Description.",
            "nullable": true
          },
          "defaultSalesmanId": {
            "type": "integer",
            "description": "Default Salesman Id.",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Sales zone partial update request."
      },
      "SaveBusinessAccountLedgerReconciliationImportDTO": {
        "type": "object",
        "properties": {
          "movementsToCreate": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BusinessAccountLedgerReconciliationImportDTO"
            },
            "description": "New movements to create.",
            "nullable": true
          },
          "existentsMovements": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DuplicateBusinessAccountLedgerImportDto"
            },
            "description": "Existing movements with duplicate handling instructions.",
            "nullable": true
          },
          "createdBy": {
            "type": "string",
            "description": "User who created the import.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "DTO for saving business account ledger reconciliation import data."
      },
      "SaveExtraFieldsValuesRequestDTO": {
        "type": "object",
        "properties": {
          "values": {
            "type": "object",
            "additionalProperties": {
              "nullable": true
            },
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Request to persist extra field values for a single entity instance.\r\nKeys follow the GC-compatible format: \"tableName.fieldName\"."
      },
      "SavePaymentTypeDeclarationsDTO": {
        "type": "object",
        "properties": {
          "paymentTypeDeclarations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PaymentTypeDeclarationPairDTO"
            },
            "description": "List of payment type declarations.",
            "nullable": true
          },
          "total": {
            "type": "number",
            "description": "Total declared amount.",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "DTO for saving payment type declarations."
      },
      "SaveSecretSuccessResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "nullable": true
          },
          "secretName": {
            "type": "string",
            "nullable": true
          },
          "validationDetails": {
            "$ref": "#/components/schemas/ValidationDetailsResponse"
          }
        },
        "additionalProperties": false
      },
      "SaveXConfigTreasuryDTO": {
        "type": "object",
        "properties": {
          "transferCategory": {
            "type": "integer",
            "description": "Default category identifier for transfers.",
            "format": "int32"
          },
          "transferHeading": {
            "type": "integer",
            "description": "Default heading identifier for transfers.",
            "format": "int32"
          },
          "documentsSellHeading": {
            "type": "integer",
            "description": "Default heading identifier for sell documents.",
            "format": "int32"
          },
          "documentsBuyHeading": {
            "type": "integer",
            "description": "Default heading identifier for buy documents.",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "DTO for saving treasury configuration settings."
      },
      "ScaleTicketDTO": {
        "type": "object",
        "properties": {
          "total": {
            "type": "number",
            "description": "Gets or sets the total weight or amount from the scale.",
            "format": "double"
          },
          "salesmanId": {
            "type": "integer",
            "description": "Gets or sets the identifier of the salesman associated with the ticket.",
            "format": "int32"
          },
          "section": {
            "type": "integer",
            "description": "Gets or sets the section/department number for the scale ticket.",
            "format": "int32"
          },
          "ticketNumber": {
            "type": "integer",
            "description": "Gets or sets the sequential ticket number.",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Represents a scale ticket used for weighing operations."
      },
      "SearchPeriodEnum": {
        "enum": [
          0,
          1,
          2,
          3
        ],
        "type": "integer",
        "format": "int32"
      },
      "SearchTypeEnum": {
        "enum": [
          0,
          1
        ],
        "type": "integer",
        "format": "int32"
      },
      "Secret": {
        "type": "object",
        "properties": {
          "user": {
            "type": "string",
            "nullable": true
          },
          "connectionString": {
            "$ref": "#/components/schemas/ConnectionString"
          }
        },
        "additionalProperties": false
      },
      "SerialNumberTypeDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Id.",
            "format": "int32"
          },
          "description": {
            "type": "string",
            "description": "Description.",
            "nullable": true
          },
          "movementType": {
            "type": "integer",
            "description": "Movement Type.",
            "format": "int32",
            "nullable": true
          },
          "identifier1": {
            "type": "string",
            "description": "Identifier 1.",
            "nullable": true
          },
          "identifier1IsGlobal": {
            "type": "boolean",
            "description": "Whether Identifier 1 is global."
          },
          "useIdentifier2": {
            "type": "boolean",
            "description": "Whether to use Identifier 2."
          },
          "identifier2": {
            "type": "string",
            "description": "Identifier 2.",
            "nullable": true
          },
          "identifier2IsGlobal": {
            "type": "boolean",
            "description": "Whether Identifier 2 is global."
          },
          "useIdentifier3": {
            "type": "boolean",
            "description": "Whether to use Identifier 3."
          },
          "identifier3": {
            "type": "string",
            "description": "Identifier 3.",
            "nullable": true
          },
          "identifier3IsGlobal": {
            "type": "boolean",
            "description": "Whether Identifier 3 is global."
          }
        },
        "additionalProperties": false,
        "description": "Serial number type configuration."
      },
      "SerialNumberTypeDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SerialNumberTypeDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "ServiceOrderDTO": {
        "type": "object",
        "properties": {
          "guid": {
            "type": "string",
            "description": "Service order unique identifier (GUID).",
            "nullable": true
          },
          "number": {
            "type": "integer",
            "description": "Service order number.",
            "format": "int32"
          },
          "serie": {
            "type": "integer",
            "description": "Document series identifier.",
            "format": "int32"
          },
          "designation": {
            "type": "string",
            "description": "Service order designation/title.",
            "nullable": true
          },
          "status": {
            "type": "string",
            "description": "Service order status.",
            "nullable": true
          },
          "creationDate": {
            "type": "string",
            "description": "Creation date.",
            "format": "date-time"
          },
          "userId": {
            "type": "integer",
            "description": "Assigned user identifier.",
            "format": "int32"
          },
          "equipmentId": {
            "type": "integer",
            "description": "Equipment identifier.",
            "format": "int32"
          },
          "equipmentDescription": {
            "type": "string",
            "description": "Equipment description.",
            "nullable": true
          },
          "equipmentType": {
            "type": "string",
            "description": "Equipment type.",
            "nullable": true
          },
          "equipmentModel": {
            "type": "string",
            "description": "Equipment model.",
            "nullable": true
          },
          "equipmentBrand": {
            "type": "string",
            "description": "Equipment brand.",
            "nullable": true
          },
          "equipmentSerialNumber": {
            "type": "string",
            "description": "Equipment serial number.",
            "nullable": true
          },
          "equipmentImei": {
            "type": "string",
            "description": "Equipment IMEI number.",
            "nullable": true
          },
          "formatEquipment": {
            "type": "boolean",
            "description": "Whether to format the equipment.",
            "nullable": true
          },
          "backupEquipment": {
            "type": "boolean",
            "description": "Whether to backup the equipment.",
            "nullable": true
          },
          "responsibleUserId": {
            "type": "integer",
            "description": "Responsible user identifier.",
            "format": "int32",
            "nullable": true
          },
          "entityKeyId": {
            "type": "string",
            "description": "Customer entity key identifier.",
            "nullable": true
          },
          "entityDescription": {
            "type": "string",
            "description": "Customer entity description/name.",
            "nullable": true
          },
          "entityAddress": {
            "type": "string",
            "description": "Customer entity address.",
            "nullable": true
          },
          "entityPostalCode": {
            "type": "string",
            "description": "Customer entity postal code.",
            "nullable": true
          },
          "entityCity": {
            "type": "string",
            "description": "Customer entity city.",
            "nullable": true
          },
          "entityState": {
            "type": "string",
            "description": "Customer entity state/province.",
            "nullable": true
          },
          "entityCountry": {
            "type": "string",
            "description": "Customer entity country.",
            "nullable": true
          },
          "entityVat": {
            "type": "string",
            "description": "Customer entity VAT number.",
            "nullable": true
          },
          "entityPhoneNumber": {
            "type": "string",
            "description": "Customer entity phone number.",
            "nullable": true
          },
          "entityEmail": {
            "type": "string",
            "description": "Customer entity email.",
            "nullable": true
          },
          "priority": {
            "type": "string",
            "description": "Service order priority.",
            "nullable": true
          },
          "deliveryForecast": {
            "type": "string",
            "description": "Expected delivery date.",
            "format": "date-time",
            "nullable": true
          },
          "breakdownDescription": {
            "type": "string",
            "description": "Breakdown description.",
            "nullable": true
          },
          "technicalReport": {
            "type": "string",
            "description": "Technical report.",
            "nullable": true
          },
          "additionalObservations": {
            "type": "string",
            "description": "Additional observations.",
            "nullable": true
          },
          "deleted": {
            "type": "boolean",
            "description": "Whether the order is deleted.",
            "nullable": true
          },
          "deletedDate": {
            "type": "string",
            "description": "Deletion date.",
            "format": "date-time",
            "nullable": true
          },
          "assistanceTypeKeyId": {
            "type": "string",
            "description": "Assistance type key identifier.",
            "nullable": true
          },
          "breakdownResponsible": {
            "type": "integer",
            "description": "Breakdown responsible user identifier.",
            "format": "int32"
          },
          "equipmentPassword": {
            "type": "string",
            "description": "Equipment password.",
            "nullable": true
          },
          "closed": {
            "type": "boolean",
            "description": "Whether the order is closed."
          },
          "entityContractId": {
            "type": "integer",
            "description": "Entity contract identifier.",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Service order information."
      },
      "ServiceOrderDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceOrderDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "SimpleCurrencyDTO": {
        "type": "object",
        "properties": {
          "keyId": {
            "type": "string",
            "description": "Currency key identifier.",
            "nullable": true
          },
          "symbol": {
            "type": "string",
            "description": "Currency symbol.",
            "nullable": true
          },
          "decimalPlaces": {
            "type": "integer",
            "description": "Number of decimal places.",
            "format": "int32"
          },
          "symbolPosition": {
            "type": "integer",
            "description": "Symbol position (before/after amount).",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Simplified currency information."
      },
      "SimplePeriodicityType": {
        "enum": [
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "StatusCodeResult": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "StatusReason": {
        "required": [
          "reason"
        ],
        "type": "object",
        "properties": {
          "reason": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "StreamSessionResponse": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SupplierDTO": {
        "required": [
          "customerCard",
          "entityGuid",
          "entityType",
          "identificationIssuerCountry",
          "insurance",
          "keyId"
        ],
        "type": "object",
        "properties": {
          "keyId": {
            "maxLength": 25,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the key identifier."
          },
          "name": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the name.",
            "nullable": true
          },
          "businessName": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the business/trade name.",
            "nullable": true
          },
          "entityType": {
            "type": "integer",
            "description": "Gets or sets the entity type identifier.",
            "format": "int32"
          },
          "address": {
            "maxLength": 200,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the address.",
            "nullable": true
          },
          "addressLine2": {
            "maxLength": 200,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the second line of the address.",
            "nullable": true
          },
          "complement": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the address complement.",
            "nullable": true
          },
          "neighborhood": {
            "maxLength": 200,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the neighborhood.",
            "nullable": true
          },
          "reference": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the reference.",
            "nullable": true
          },
          "postalCode": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the postal code.",
            "nullable": true
          },
          "city": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the city.",
            "nullable": true
          },
          "state": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the state/province.",
            "nullable": true
          },
          "country": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the country.",
            "nullable": true
          },
          "vat": {
            "maxLength": 30,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the VAT number.",
            "nullable": true
          },
          "phone1": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the first phone number.",
            "nullable": true
          },
          "phone2": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the second phone number.",
            "nullable": true
          },
          "phone3": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the third phone number.",
            "nullable": true
          },
          "phone4": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the fourth phone number.",
            "nullable": true
          },
          "mobilePhone1": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the first mobile phone number.",
            "nullable": true
          },
          "mobilePhone2": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the second mobile phone number.",
            "nullable": true
          },
          "fax1": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the first fax number.",
            "nullable": true
          },
          "fax2": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the second fax number.",
            "nullable": true
          },
          "contactName": {
            "maxLength": 40,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the contact person name.",
            "nullable": true
          },
          "contactEmail": {
            "maxLength": 150,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the contact email.",
            "nullable": true
          },
          "email1": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the first email address.",
            "nullable": true
          },
          "email2": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the second email address.",
            "nullable": true
          },
          "contactPhone": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the contact phone number.",
            "nullable": true
          },
          "obs": {
            "maxLength": 4000,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the observations/notes.",
            "nullable": true
          },
          "defaultPaymentType": {
            "type": "integer",
            "description": "Gets or sets the default payment type identifier.",
            "format": "int32",
            "nullable": true
          },
          "limitCreditType": {
            "type": "integer",
            "description": "Gets or sets the credit limit type.",
            "format": "int32",
            "default": 0
          },
          "limitCredit": {
            "type": "number",
            "description": "Gets or sets the credit limit amount.",
            "format": "double",
            "nullable": true
          },
          "limitDays": {
            "type": "integer",
            "description": "Gets or sets the credit limit days.",
            "format": "int32",
            "default": 0
          },
          "lastPurchase": {
            "type": "string",
            "description": "Gets or sets the last purchase date.",
            "format": "date-time",
            "nullable": true
          },
          "balance": {
            "type": "number",
            "description": "Gets or sets the account balance.",
            "format": "double",
            "nullable": true
          },
          "discount": {
            "type": "number",
            "description": "Gets or sets the discount percentage.",
            "format": "double",
            "nullable": true
          },
          "entityCommission": {
            "type": "number",
            "description": "Gets or sets the entity commission percentage.",
            "format": "double",
            "default": 0
          },
          "dateOfBirth": {
            "type": "string",
            "description": "Gets or sets the date of birth.",
            "format": "date-time",
            "nullable": true
          },
          "latitude": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the geographic latitude.",
            "nullable": true
          },
          "longitude": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the geographic longitude.",
            "nullable": true
          },
          "alertCredit": {
            "type": "number",
            "description": "Gets or sets the credit alert threshold.",
            "format": "double",
            "default": 0
          },
          "deliveryTaxItemId": {
            "type": "integer",
            "description": "Gets or sets the delivery tax item identifier.",
            "format": "int32",
            "nullable": true
          },
          "holdingTax": {
            "type": "boolean",
            "description": "Gets or sets whether holding tax is applied.",
            "default": false
          },
          "holdingTaxAmount": {
            "type": "number",
            "description": "Gets or sets the holding tax amount.",
            "format": "double",
            "nullable": true
          },
          "holdingTaxType": {
            "type": "integer",
            "description": "Gets or sets the holding tax type.",
            "format": "int32"
          },
          "feapBroker": {
            "type": "integer",
            "description": "Gets or sets the FEAP broker identifier.",
            "format": "int32",
            "default": 0
          },
          "alertMessage": {
            "type": "boolean",
            "description": "Gets or sets whether alert messages are enabled.",
            "default": false
          },
          "forbiddenDocuments": {
            "type": "boolean",
            "description": "Gets or sets whether documents are forbidden.",
            "default": false
          },
          "defaultPaymentMode": {
            "type": "integer",
            "description": "Gets or sets the default payment mode.",
            "format": "int32",
            "default": 1
          },
          "syncStamp": {
            "type": "string",
            "description": "Gets or sets the synchronization timestamp.",
            "format": "date-time",
            "nullable": true
          },
          "salesMan": {
            "type": "integer",
            "description": "Gets or sets the salesman identifier.",
            "format": "int32",
            "default": 0
          },
          "gender": {
            "type": "boolean",
            "description": "Gets or sets the gender.",
            "default": false
          },
          "customerCardNumber": {
            "type": "integer",
            "description": "Gets or sets the customer card number.",
            "format": "int32",
            "nullable": true
          },
          "customerCardExpirationDate": {
            "type": "string",
            "description": "Gets or sets the customer card expiration date.",
            "format": "date-time",
            "nullable": true
          },
          "customerCardDays": {
            "type": "integer",
            "description": "Gets or sets the customer card validity days.",
            "format": "int32",
            "default": 0
          },
          "carrierDescription": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the carrier description.",
            "nullable": true
          },
          "webSite": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the website URL.",
            "nullable": true
          },
          "faceBook": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the Facebook profile.",
            "nullable": true
          },
          "linkedIn": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the LinkedIn profile.",
            "nullable": true
          },
          "skype": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the Skype identifier.",
            "nullable": true
          },
          "cashRegime": {
            "type": "integer",
            "description": "Gets or sets the cash regime type.",
            "format": "int32",
            "default": 0
          },
          "customerCard": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the customer card identifier.",
            "default": ""
          },
          "regionId": {
            "type": "integer",
            "description": "Gets or sets the region identifier.",
            "format": "int32",
            "default": 1
          },
          "priceLine": {
            "type": "integer",
            "description": "Gets or sets the price line.",
            "format": "int32"
          },
          "identificationNumber": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the identification number.",
            "nullable": true
          },
          "identificationIssuerCountry": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the identification issuer country.",
            "default": ""
          },
          "inactive": {
            "type": "boolean",
            "description": "Gets or sets whether the entity is inactive.",
            "default": false
          },
          "entityGroupId": {
            "type": "integer",
            "description": "Gets or sets the entity group identifier.",
            "format": "int32",
            "default": 0
          },
          "isExcludedFromDueNoticesMail": {
            "type": "boolean",
            "description": "Gets or sets whether excluded from due notices mail.",
            "default": false
          },
          "grouping": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the grouping category.",
            "nullable": true
          },
          "pictureId": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the picture identifier.",
            "nullable": true
          },
          "thumbId": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the thumbnail identifier.",
            "nullable": true
          },
          "bioGuid": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the biometric GUID.",
            "nullable": true
          },
          "schedulerResource": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the scheduler resource identifier.",
            "nullable": true
          },
          "accountancyCode": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the accountancy code.",
            "nullable": true
          },
          "salesZoneId": {
            "type": "integer",
            "description": "Gets or sets the sales zone identifier.",
            "format": "int32",
            "default": 0
          },
          "bankAccount": {
            "type": "integer",
            "description": "Gets or sets the bank account identifier.",
            "format": "int32",
            "nullable": true
          },
          "dateOfSignature": {
            "type": "string",
            "description": "Gets or sets the signature date.",
            "format": "date-time",
            "nullable": true
          },
          "warningMessage": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the warning message text.",
            "nullable": true
          },
          "warehouseId": {
            "type": "integer",
            "description": "Gets or sets the warehouse identifier.",
            "format": "int32",
            "default": 0
          },
          "applyEcoTaxOnSale": {
            "type": "boolean",
            "description": "Gets or sets whether eco tax is applied on sale.",
            "default": false
          },
          "insurance": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the insurance information.",
            "default": ""
          },
          "webPassword": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the web access password.",
            "nullable": true
          },
          "relatedEntityKeyId": {
            "maxLength": 25,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the related entity key identifier.",
            "nullable": true
          },
          "creationDate": {
            "type": "string",
            "description": "Gets or sets the creation date.",
            "format": "date-time",
            "nullable": true
          },
          "entityGuid": {
            "maxLength": 40,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the entity GUID."
          },
          "entityConsentmentStatus": {
            "type": "integer",
            "description": "Gets or sets the entity consent status.",
            "format": "int32",
            "default": 0
          },
          "forgetfulnessReason": {
            "maxLength": 250,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the data forgetfulness reason (GDPR).",
            "nullable": true
          },
          "portNumber": {
            "maxLength": 60,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the port number.",
            "nullable": true
          },
          "municipalCode": {
            "type": "integer",
            "description": "Gets or sets the municipal code.",
            "format": "int32",
            "default": 0
          },
          "documentType": {
            "type": "integer",
            "description": "Gets or sets the document type.",
            "format": "int32",
            "default": -1
          },
          "electronicInvoice": {
            "type": "boolean",
            "description": "Gets or sets whether electronic invoicing is enabled.",
            "default": false
          },
          "qeroSubscriber": {
            "type": "boolean",
            "description": "Gets or sets whether the entity is a Qero subscriber.",
            "default": false
          },
          "cloudSyncStamp": {
            "type": "string",
            "description": "Gets or sets the cloud synchronization timestamp.",
            "format": "date-time",
            "nullable": true
          },
          "identificationNumberInd": {
            "type": "integer",
            "description": "Gets or sets the identification number indicator.",
            "format": "int32",
            "default": 1
          },
          "qeroSubscriptionDate": {
            "type": "string",
            "description": "Gets or sets the Qero subscription date.",
            "format": "date-time",
            "nullable": true
          },
          "syncGuid": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the synchronization GUID.",
            "nullable": true
          },
          "deliveryRegionId": {
            "type": "integer",
            "description": "Gets or sets the delivery region identifier.",
            "format": "int32",
            "nullable": true
          },
          "password": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the password.",
            "nullable": true
          },
          "defaultRetailPrice": {
            "type": "integer",
            "description": "Gets or sets the default retail price line.",
            "format": "int32",
            "nullable": true
          },
          "bankName": {
            "maxLength": 40,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the bank name.",
            "nullable": true
          },
          "bankIdentifierCode": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the bank identifier code.",
            "nullable": true
          },
          "bankIBAN": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the bank IBAN.",
            "nullable": true
          },
          "bankCardNumber": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the bank card number.",
            "nullable": true
          },
          "picturePath": {
            "maxLength": 512,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the picture file path.",
            "nullable": true
          },
          "deliveryOccurrence": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Gets or sets the delivery occurrence.",
            "nullable": true
          },
          "entityTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EntityTypeDTO"
            },
            "description": "Gets or sets the entity types collection.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "DTO representing a SupplierDTO entity with listing configuration."
      },
      "SupplierDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SupplierDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "TemplateType": {
        "enum": [
          0,
          1,
          2,
          3
        ],
        "type": "integer",
        "format": "int32"
      },
      "TerminalDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Terminal identifier.",
            "format": "int32"
          },
          "description": {
            "type": "string",
            "description": "Terminal description.",
            "nullable": true
          },
          "shift": {
            "type": "integer",
            "description": "Shift identifier.",
            "format": "int32",
            "nullable": true
          },
          "defaultObjectId": {
            "type": "integer",
            "description": "Default object/table identifier.",
            "format": "int32",
            "nullable": true
          },
          "defaultUserId": {
            "type": "integer",
            "description": "Default user identifier.",
            "format": "int32",
            "nullable": true
          },
          "initialPage": {
            "type": "integer",
            "description": "Initial page/screen to show.",
            "format": "int32",
            "nullable": true
          },
          "hasX64Device": {
            "type": "boolean",
            "description": "Whether terminal has x64 device.",
            "nullable": true
          },
          "printSystemTimerTick": {
            "type": "integer",
            "description": "Print system timer tick interval.",
            "format": "int32",
            "nullable": true
          },
          "numDocCX": {
            "type": "integer",
            "description": "Number of documents for cash close.",
            "format": "int32"
          },
          "drawerPort": {
            "type": "string",
            "description": "Cash drawer serial port.",
            "nullable": true
          },
          "closeAccountEmail": {
            "type": "integer",
            "description": "Close account email mode.",
            "format": "int32",
            "nullable": true
          },
          "closeAccountEmailSubject": {
            "type": "string",
            "description": "Close account email subject template.",
            "nullable": true
          },
          "closeAccountEmailBody": {
            "type": "string",
            "description": "Close account email body template.",
            "nullable": true
          },
          "displayPort": {
            "type": "string",
            "description": "Customer display serial port.",
            "nullable": true
          },
          "hideBCInput": {
            "type": "boolean",
            "description": "Whether to hide barcode input.",
            "nullable": true
          },
          "drawerDriver": {
            "type": "integer",
            "description": "Cash drawer driver type.",
            "format": "int32",
            "nullable": true
          },
          "displayDriver": {
            "type": "integer",
            "description": "Customer display driver type.",
            "format": "int32",
            "nullable": true
          },
          "backupPath": {
            "type": "string",
            "description": "Backup file path.",
            "nullable": true
          },
          "tradeBalancePort": {
            "type": "string",
            "description": "Trade balance/scale serial port.",
            "nullable": true
          },
          "tradeBalanceDriver": {
            "type": "integer",
            "description": "Trade balance driver type.",
            "format": "int32",
            "nullable": true
          },
          "externalExe": {
            "type": "string",
            "description": "External executable path.",
            "nullable": true
          },
          "printOnline": {
            "type": "boolean",
            "description": "Whether to print online.",
            "nullable": true
          },
          "directBarcode": {
            "type": "boolean",
            "description": "Whether to use direct barcode mode.",
            "nullable": true
          },
          "boardType": {
            "type": "string",
            "description": "Board/interface type.",
            "nullable": true
          },
          "keyboardOnly": {
            "type": "string",
            "description": "Keyboard-only mode setting.",
            "nullable": true
          },
          "initialDisplayMessage": {
            "type": "string",
            "description": "Initial display message.",
            "nullable": true
          },
          "finalDisplayMessage": {
            "type": "string",
            "description": "Final display message.",
            "nullable": true
          },
          "displayTimout": {
            "type": "integer",
            "description": "Display timeout in seconds.",
            "format": "int32",
            "nullable": true
          },
          "defaultDocumentTypeId": {
            "type": "integer",
            "description": "Default document type identifier.",
            "format": "int32",
            "nullable": true
          },
          "defaultSerieId": {
            "type": "integer",
            "description": "Default series identifier.",
            "format": "int32",
            "nullable": true
          },
          "requestBarNumber": {
            "type": "string",
            "description": "Request bar number setting.",
            "nullable": true
          },
          "closeMessages": {
            "type": "boolean",
            "description": "Whether to show close messages."
          },
          "dspLicenceMsg": {
            "type": "boolean",
            "description": "Whether to display licence message."
          },
          "unlimitedNumberTables": {
            "type": "boolean",
            "description": "Whether tables are unlimited.",
            "nullable": true
          },
          "idShop": {
            "type": "integer",
            "description": "Shop/establishment identifier.",
            "format": "int32",
            "nullable": true
          },
          "cardSystem": {
            "type": "boolean",
            "description": "Whether card system is enabled.",
            "nullable": true
          },
          "defaultBar": {
            "type": "integer",
            "description": "Default bar/counter identifier.",
            "format": "int32",
            "nullable": true
          },
          "cxMargin": {
            "type": "number",
            "description": "Cash close margin amount.",
            "format": "double",
            "nullable": true
          },
          "cxTries": {
            "type": "integer",
            "description": "Cash close maximum tries.",
            "format": "int32",
            "nullable": true
          },
          "cxRemainingTries": {
            "type": "integer",
            "description": "Cash close remaining tries.",
            "format": "int32",
            "nullable": true
          },
          "blindClose": {
            "type": "boolean",
            "description": "Whether blind close is enabled.",
            "nullable": true
          },
          "blockCashier": {
            "type": "boolean",
            "description": "Whether cashier is blocked.",
            "nullable": true
          },
          "showConsumption": {
            "type": "boolean",
            "description": "Whether to show consumption info.",
            "nullable": true
          },
          "reasonsCancellation": {
            "type": "boolean",
            "description": "Whether cancellation reasons are required.",
            "nullable": true
          },
          "startWithTables": {
            "type": "boolean",
            "description": "Whether to start with tables view.",
            "nullable": true
          },
          "showCustomerBoard": {
            "type": "boolean",
            "description": "Whether to show customer board.",
            "nullable": true
          },
          "showFacObs": {
            "type": "boolean",
            "description": "Whether to show invoice observations.",
            "nullable": true
          },
          "ordersById": {
            "type": "boolean",
            "description": "Whether to order items by ID.",
            "nullable": true
          },
          "scannerPort": {
            "type": "string",
            "description": "Barcode scanner serial port.",
            "nullable": true
          },
          "priceIncome": {
            "type": "boolean",
            "description": "Whether price input is enabled.",
            "nullable": true
          },
          "displayMessage": {
            "type": "string",
            "description": "Custom display message.",
            "nullable": true
          },
          "onlineVat": {
            "type": "boolean",
            "description": "Whether online VAT validation is enabled.",
            "nullable": true
          },
          "askNumberPersons": {
            "type": "boolean",
            "description": "Whether to ask number of persons.",
            "nullable": true
          },
          "defaultCurrency": {
            "type": "integer",
            "description": "Default currency identifier.",
            "format": "int32",
            "nullable": true
          },
          "syncStamp": {
            "type": "string",
            "description": "Synchronization timestamp.",
            "format": "date-time",
            "nullable": true
          },
          "autoTableRefresh": {
            "type": "boolean",
            "description": "Whether auto table refresh is enabled.",
            "nullable": true
          },
          "documentSortMode": {
            "type": "integer",
            "description": "Document sort mode.",
            "format": "int32",
            "nullable": true
          },
          "showTableTime": {
            "type": "integer",
            "description": "Show table time mode.",
            "format": "int32",
            "nullable": true
          },
          "requestVatOnAccount": {
            "type": "boolean",
            "description": "Whether to request VAT on account.",
            "nullable": true
          },
          "skipWelcome": {
            "type": "boolean",
            "description": "Whether to skip welcome screen.",
            "nullable": true
          },
          "checkDocumentReference": {
            "type": "boolean",
            "description": "Whether to check document reference.",
            "nullable": true
          },
          "videoPort": {
            "type": "string",
            "description": "Video device serial port.",
            "nullable": true
          },
          "famixInitialGroupId": {
            "type": "integer",
            "description": "FAMIX initial group identifier.",
            "format": "int32",
            "nullable": true
          },
          "readNumberOnly": {
            "type": "boolean",
            "description": "Whether to read number only from barcode.",
            "nullable": true
          },
          "gridTextSize": {
            "type": "integer",
            "description": "Grid text font size.",
            "format": "int32",
            "nullable": true
          },
          "gridCellHeight": {
            "type": "integer",
            "description": "Grid cell height in pixels.",
            "format": "int32",
            "nullable": true
          },
          "backupSchedule": {
            "type": "integer",
            "description": "Backup schedule interval.",
            "format": "int32",
            "nullable": true
          },
          "autoRecalculateDocument": {
            "type": "boolean",
            "description": "Whether to auto-recalculate documents.",
            "nullable": true
          },
          "showLastSaleInformation": {
            "type": "boolean",
            "description": "Whether to show last sale information."
          },
          "defaultWarehouseId": {
            "type": "integer",
            "description": "Default warehouse identifier.",
            "format": "int32",
            "nullable": true
          },
          "saveCustomerOnTables": {
            "type": "boolean",
            "description": "Whether to save customer on tables."
          },
          "altBarcodeMode": {
            "type": "boolean",
            "description": "Whether alternative barcode mode is enabled.",
            "nullable": true
          },
          "recalculateOnTransfer": {
            "type": "boolean",
            "description": "Whether to recalculate on table transfer.",
            "nullable": true
          },
          "subtotalMaintainsBoard": {
            "type": "boolean",
            "description": "Whether subtotal maintains the board.",
            "nullable": true
          },
          "satFiscalBr": {
            "type": "boolean",
            "description": "Whether SAT fiscal (Brazil) is enabled.",
            "nullable": true
          },
          "fontSizePizzaItems": {
            "type": "integer",
            "description": "Font size for pizza items display.",
            "format": "int32",
            "nullable": true
          },
          "defaultAccountId": {
            "type": "integer",
            "description": "Default account identifier.",
            "format": "int32",
            "nullable": true
          },
          "offlineSerieId": {
            "type": "integer",
            "description": "Offline series identifier.",
            "format": "int32",
            "nullable": true
          },
          "cloudSyncStamp": {
            "type": "string",
            "description": "Cloud synchronization timestamp.",
            "format": "date-time",
            "nullable": true
          },
          "offlineDefaultAccountId": {
            "type": "integer",
            "description": "Offline default account identifier.",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "POS terminal configuration."
      },
      "TerminalDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TerminalDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "TimeZoneConfigDTO": {
        "type": "object",
        "properties": {
          "timeZoneId": {
            "type": "string",
            "description": "IANA time zone identifier (e.g., \"Europe/Lisbon\", \"America/Sao_Paulo\").",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "DTO for time zone configuration."
      },
      "TimeZoneDisplay": {
        "type": "object",
        "properties": {
          "ianaId": {
            "type": "string",
            "nullable": true
          },
          "displayName": {
            "type": "string",
            "nullable": true
          },
          "offset": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TogglePrinterRequestDTO": {
        "type": "object",
        "properties": {
          "printerNumber": {
            "maximum": 20,
            "minimum": 1,
            "type": "integer",
            "description": "Printer number (1–20).",
            "format": "int32"
          },
          "select": {
            "type": "boolean",
            "description": "True to select, false to deselect."
          }
        },
        "additionalProperties": false,
        "description": "Request to select or deselect a printer for all items."
      },
      "TopMostSoldItemGroupDTO": {
        "type": "object",
        "properties": {
          "itemGroupId": {
            "type": "integer",
            "description": "Item group identifier.",
            "format": "int32"
          },
          "description": {
            "type": "string",
            "description": "Group description.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Top most sold item group for dashboard."
      },
      "TopMostSoldItemGroupDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TopMostSoldItemGroupDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "TopSellerDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Seller name.",
            "nullable": true
          },
          "total": {
            "type": "number",
            "description": "Total sales amount.",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Top seller data for dashboard."
      },
      "TopTerminalDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Terminal name.",
            "nullable": true
          },
          "total": {
            "type": "number",
            "description": "Total sales amount.",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Top terminal data for dashboard."
      },
      "TransferAmountDTO": {
        "type": "object",
        "properties": {
          "sourceAccountId": {
            "type": "integer",
            "description": "Source account identifier.",
            "format": "int32"
          },
          "targetAccountId": {
            "type": "integer",
            "description": "Target account identifier.",
            "format": "int32"
          },
          "amount": {
            "type": "number",
            "description": "Transfer amount.",
            "format": "double"
          },
          "date": {
            "type": "string",
            "description": "Transfer date.",
            "format": "date-time"
          },
          "sourceComment": {
            "type": "string",
            "description": "Comment for the source account entry.",
            "nullable": true
          },
          "targetComment": {
            "type": "string",
            "description": "Comment for the target account entry.",
            "nullable": true
          },
          "creationUserId": {
            "type": "integer",
            "description": "User identifier who created the transfer.",
            "format": "int32"
          },
          "accountHeadingId": {
            "type": "integer",
            "description": "Account heading identifier.",
            "format": "int32"
          },
          "accountCategoryId": {
            "type": "integer",
            "description": "Account category identifier.",
            "format": "int32"
          },
          "ledgersToDepositIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "List of ledger entry identifiers to deposit.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "DTO for transferring amounts between business accounts."
      },
      "TransferMovementDTO": {
        "required": [
          "businessAccountLedgerId"
        ],
        "type": "object",
        "properties": {
          "businessAccountLedgerId": {
            "type": "integer",
            "description": "Business account ledger entry identifier.",
            "format": "int32"
          },
          "counterMovementObservation": {
            "maxLength": 255,
            "type": "string",
            "description": "Observation for the counter movement.",
            "nullable": true
          },
          "sourceObservation": {
            "maxLength": 255,
            "type": "string",
            "description": "Observation for the source entry.",
            "nullable": true
          },
          "destinationObservation": {
            "maxLength": 255,
            "type": "string",
            "description": "Observation for the destination entry.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "DTO for an individual transfer movement."
      },
      "TransferMovementsRequestDTO": {
        "required": [
          "transferDate"
        ],
        "type": "object",
        "properties": {
          "transferDate": {
            "type": "string",
            "description": "Date of the transfer.",
            "format": "date-time"
          },
          "transferMovements": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TransferMovementDTO"
            },
            "description": "List of transfer movements.",
            "nullable": true
          },
          "generalObservation": {
            "maxLength": 255,
            "type": "string",
            "description": "General observation for the transfer.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "DTO for requesting transfer of movements between accounts."
      },
      "TreasuryChartItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "totalAmount": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "TreasuryDashboardMetricType": {
        "enum": [
          1,
          2,
          3,
          4,
          5,
          6
        ],
        "type": "integer",
        "format": "int32"
      },
      "TreasuryDashboardPeriod": {
        "enum": [
          0,
          1,
          2,
          3,
          4
        ],
        "type": "integer",
        "format": "int32"
      },
      "UpdateBusinessAccountDTO": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "description": {
            "maxLength": 255,
            "type": "string",
            "description": "Description.",
            "nullable": true
          },
          "name": {
            "maxLength": 50,
            "minLength": 1,
            "type": "string",
            "description": "Name."
          },
          "maxBalance": {
            "type": "number",
            "description": "Max Balance.",
            "format": "double"
          },
          "warningBalance": {
            "type": "number",
            "description": "Warning Balance.",
            "format": "double"
          },
          "userPermissions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "User Permissions.",
            "nullable": true
          },
          "accountOwner": {
            "type": "integer",
            "description": "Account Owner.",
            "format": "int32"
          },
          "offline": {
            "type": "boolean",
            "description": "Whether the account is offline."
          },
          "creditorSchemeId": {
            "maxLength": 35,
            "type": "string",
            "description": "Creditor Scheme Id.",
            "nullable": true
          },
          "workingCapital": {
            "type": "number",
            "description": "Working Capital.",
            "format": "double"
          },
          "cashierControl": {
            "type": "integer",
            "description": "Cashier Control.",
            "format": "int32"
          },
          "dailySession": {
            "type": "integer",
            "description": "Daily Session.",
            "format": "int32"
          },
          "shouldIgnoreBlindClose": {
            "type": "boolean",
            "description": "Whether to ignore blind close validation."
          },
          "bankAccount": {
            "$ref": "#/components/schemas/BankAccountDTO"
          },
          "blindCloseConfig": {
            "$ref": "#/components/schemas/BlindCloseConfigDTO"
          }
        },
        "additionalProperties": false,
        "description": "Update business account request."
      },
      "UpdateBusinessAccountPasswordDTO": {
        "required": [
          "newPassword",
          "oldPassword"
        ],
        "type": "object",
        "properties": {
          "oldPassword": {
            "minLength": 1,
            "type": "string",
            "description": "Old Password."
          },
          "newPassword": {
            "minLength": 1,
            "type": "string",
            "description": "New Password."
          }
        },
        "additionalProperties": false,
        "description": "Update business account password request."
      },
      "UpdateDigitalArchiveDTO": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "description": "Gets or sets the updated description.",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Gets or sets the updated name.",
            "nullable": true
          },
          "hashTag": {
            "type": "string",
            "description": "Gets or sets the updated hashtag/label.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "DTO for updating a digital archive entry."
      },
      "UpdateDigitalArchiveDirectoryDTO": {
        "type": "object",
        "properties": {
          "caption": {
            "type": "string",
            "description": "New caption for digital archive directory.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "DTO for updating a digital archive directory."
      },
      "UpdateEntityExtraFieldRequestDTO": {
        "required": [
          "description"
        ],
        "type": "object",
        "properties": {
          "description": {
            "maxLength": 500,
            "minLength": 1,
            "type": "string",
            "description": "Human-readable description shown alongside the field."
          },
          "order": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "format": "int32"
          },
          "length": {
            "maximum": 16383,
            "minimum": 1,
            "type": "integer",
            "description": "For `String`, maximum length; for `Decimal`, decimal places; otherwise per server rules.",
            "format": "int32"
          },
          "required": {
            "type": "boolean"
          },
          "inactive": {
            "type": "boolean"
          },
          "values": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true
          },
          "canEditValues": {
            "type": "boolean"
          },
          "entityType": {
            "maxLength": 32,
            "minLength": 0,
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Request to update an existing extra field (same XDPeople.Soba.Application.DTOs.ExtraFields.UpdateEntityExtraFieldRequestDTO.Length semantics as create)."
      },
      "UpdateExtraFieldsTableRequestDTO": {
        "required": [
          "description"
        ],
        "type": "object",
        "properties": {
          "description": {
            "maxLength": 2000,
            "minLength": 0,
            "type": "string",
            "description": "Table description; may be empty."
          },
          "order": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "format": "int32"
          },
          "permissionType": {
            "maximum": 2,
            "minimum": 0,
            "type": "integer",
            "format": "int32"
          },
          "allowInDocuments": {
            "type": "boolean"
          },
          "allowMultipleRegistries": {
            "type": "boolean"
          }
        },
        "additionalProperties": false,
        "description": "Request to update an existing logical extra-fields table."
      },
      "UpdateManualCheckingAccountDTO": {
        "required": [
          "creationDate",
          "dueDate",
          "employeeId",
          "entityKeyId",
          "totalAmount"
        ],
        "type": "object",
        "properties": {
          "entityKeyId": {
            "maxLength": 25,
            "minLength": 1,
            "type": "string",
            "description": "Gets or sets the entity key identifier (customer/supplier). Required. Max length: 25."
          },
          "creationDate": {
            "type": "string",
            "description": "Gets or sets the creation date of the checking account entry. Required.",
            "format": "date-time"
          },
          "dueDate": {
            "type": "string",
            "description": "Gets or sets the due date for payment. Required.",
            "format": "date-time"
          },
          "totalAmount": {
            "type": "number",
            "description": "Gets or sets the total amount of the checking account entry. Required.",
            "format": "double"
          },
          "observation": {
            "maxLength": 5000,
            "type": "string",
            "description": "Gets or sets the observation or notes. Max length: 5000.",
            "nullable": true
          },
          "employeeId": {
            "type": "integer",
            "description": "Gets or sets the identifier of the employee who created/modified the entry. Required.",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Represents the data required to update an existing manual checking account entry. Inherits from XDPeople.Soba.Application.DTOs.ManualCheckingAccountBaseDTO."
      },
      "UpdatePasswordDTO": {
        "type": "object",
        "properties": {
          "password": {
            "type": "string",
            "description": "New password.",
            "nullable": true
          },
          "currentPassword": {
            "type": "string",
            "description": "Current password for verification.",
            "nullable": true
          },
          "changePassword": {
            "$ref": "#/components/schemas/PasswordChangeMode"
          }
        },
        "additionalProperties": false,
        "description": "Password update request."
      },
      "UpdateRequestDTO": {
        "required": [
          "item"
        ],
        "type": "object",
        "properties": {
          "item": {
            "$ref": "#/components/schemas/ItemUpdateDTO"
          },
          "confirmedChecks": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Array of confirmed check identifiers.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Update request containing item data and confirmed checks."
      },
      "User": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "groupId": {
            "type": "integer",
            "format": "int32"
          },
          "group": {
            "$ref": "#/components/schemas/UserGroup"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "password": {
            "type": "string",
            "nullable": true
          },
          "address": {
            "type": "string",
            "nullable": true
          },
          "postalCode": {
            "type": "string",
            "nullable": true
          },
          "vat": {
            "type": "string",
            "nullable": true
          },
          "bi": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "lastSale": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "limits": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "commission": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "birthDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "mobilePhone": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "obs": {
            "type": "string",
            "nullable": true
          },
          "defaultSerieId": {
            "type": "integer",
            "format": "int32"
          },
          "registerChange": {
            "type": "boolean",
            "nullable": true
          },
          "registerCancel": {
            "type": "boolean",
            "nullable": true
          },
          "country": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "state": {
            "type": "string",
            "nullable": true
          },
          "deliveryMan": {
            "type": "boolean",
            "nullable": true
          },
          "transfers": {
            "type": "boolean",
            "nullable": true
          },
          "supervisor": {
            "type": "boolean",
            "nullable": true
          },
          "openDrawer": {
            "type": "boolean",
            "nullable": true
          },
          "discount": {
            "type": "boolean",
            "nullable": true
          },
          "closeAccount": {
            "type": "boolean",
            "nullable": true
          },
          "partialPayments": {
            "type": "boolean",
            "nullable": true
          },
          "pictureId": {
            "type": "string",
            "nullable": true
          },
          "thumbId": {
            "type": "string",
            "nullable": true
          },
          "imagePath": {
            "type": "string",
            "nullable": true
          },
          "lastLogin": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "logins": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "changePassword": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "xprinter1": {
            "type": "boolean",
            "nullable": true
          },
          "xprinter2": {
            "type": "boolean",
            "nullable": true
          },
          "xprinter3": {
            "type": "boolean",
            "nullable": true
          },
          "xprinter4": {
            "type": "boolean",
            "nullable": true
          },
          "xprinter5": {
            "type": "boolean",
            "nullable": true
          },
          "xprinter6": {
            "type": "boolean",
            "nullable": true
          },
          "xprinter7": {
            "type": "boolean",
            "nullable": true
          },
          "xprinter8": {
            "type": "boolean",
            "nullable": true
          },
          "xprinter9": {
            "type": "boolean",
            "nullable": true
          },
          "xprinter10": {
            "type": "boolean",
            "nullable": true
          },
          "xprinter11": {
            "type": "boolean",
            "nullable": true
          },
          "xprinter12": {
            "type": "boolean",
            "nullable": true
          },
          "xprinter13": {
            "type": "boolean",
            "nullable": true
          },
          "xprinter14": {
            "type": "boolean",
            "nullable": true
          },
          "xprinter15": {
            "type": "boolean",
            "nullable": true
          },
          "xprinter16": {
            "type": "boolean",
            "nullable": true
          },
          "xprinter17": {
            "type": "boolean",
            "nullable": true
          },
          "xprinter18": {
            "type": "boolean",
            "nullable": true
          },
          "xprinter19": {
            "type": "boolean",
            "nullable": true
          },
          "xprinter20": {
            "type": "boolean",
            "nullable": true
          },
          "scontaPrinterId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "fcontaPrinterId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "defaultDocumentTypeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "navigate": {
            "type": "boolean",
            "nullable": true
          },
          "manager": {
            "type": "boolean",
            "nullable": true
          },
          "maxDiscount": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "salesKeyId": {
            "type": "string",
            "nullable": true
          },
          "syncStamp": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "internalConsumption": {
            "type": "boolean",
            "nullable": true
          },
          "iccustomerKeyId": {
            "type": "string",
            "nullable": true
          },
          "startupPasswordRequest": {
            "type": "boolean",
            "nullable": true
          },
          "isAdmin": {
            "type": "boolean",
            "nullable": true
          },
          "schedulerResource": {
            "type": "string",
            "nullable": true
          },
          "isPublicRelations": {
            "type": "boolean"
          },
          "schedulerOwnEvents": {
            "type": "boolean"
          },
          "x64password": {
            "type": "string",
            "nullable": true
          },
          "fixedUser": {
            "type": "boolean",
            "nullable": true
          },
          "profile": {
            "type": "integer",
            "format": "int32"
          },
          "inactive": {
            "type": "boolean"
          },
          "latitude": {
            "type": "string",
            "nullable": true
          },
          "longitude": {
            "type": "string",
            "nullable": true
          },
          "defaultAccountId": {
            "type": "integer",
            "format": "int32"
          },
          "defaultAccount": {
            "$ref": "#/components/schemas/BusinessAccount"
          },
          "entityConsentmentStatus": {
            "type": "integer",
            "format": "int32"
          },
          "forgetfulnessReason": {
            "type": "string",
            "nullable": true
          },
          "cloudSyncStamp": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "guid": {
            "type": "string",
            "nullable": true
          },
          "receiptsheaders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReceiptHeader"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UserActionsConfig": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "groupId": {
            "type": "integer",
            "format": "int32"
          },
          "actionId": {
            "type": "integer",
            "format": "int32"
          },
          "actionKey": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UserCreateDTO": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Gets or sets the unique identifier.",
            "format": "int32"
          },
          "groupId": {
            "type": "integer",
            "description": "Gets or sets the group identifier.",
            "format": "int32"
          },
          "name": {
            "maxLength": 40,
            "minLength": 1,
            "type": "string",
            "description": "Gets or sets the name."
          },
          "password": {
            "maxLength": 200,
            "type": "string",
            "description": "Gets or sets the password.",
            "nullable": true
          },
          "address": {
            "maxLength": 200,
            "type": "string",
            "description": "Gets or sets the address.",
            "nullable": true
          },
          "postalCode": {
            "maxLength": 20,
            "type": "string",
            "description": "Gets or sets the postal code.",
            "nullable": true
          },
          "city": {
            "maxLength": 20,
            "type": "string",
            "description": "Gets or sets the city.",
            "nullable": true
          },
          "state": {
            "maxLength": 20,
            "type": "string",
            "description": "Gets or sets the state/province.",
            "nullable": true
          },
          "country": {
            "maxLength": 20,
            "type": "string",
            "description": "Gets or sets the country.",
            "nullable": true
          },
          "vat": {
            "maxLength": 30,
            "type": "string",
            "description": "Gets or sets the VAT (tax identification) number.",
            "nullable": true
          },
          "bi": {
            "type": "integer",
            "description": "Gets or sets the identity card number.",
            "format": "int32",
            "nullable": true
          },
          "birthDate": {
            "type": "string",
            "description": "Gets or sets the birth date.",
            "format": "date-time",
            "nullable": true
          },
          "limits": {
            "type": "number",
            "description": "Gets or sets the discount limits percentage.",
            "format": "double",
            "nullable": true
          },
          "commission": {
            "maximum": 100,
            "minimum": 0,
            "type": "number",
            "description": "Gets or sets the commission percentage.",
            "format": "double",
            "nullable": true
          },
          "phone": {
            "maxLength": 20,
            "type": "string",
            "description": "Gets or sets the phone number.",
            "nullable": true
          },
          "mobilePhone": {
            "maxLength": 20,
            "type": "string",
            "description": "Gets or sets the mobile phone number.",
            "nullable": true
          },
          "email": {
            "maxLength": 200,
            "type": "string",
            "description": "Gets or sets the email address.",
            "nullable": true
          },
          "obs": {
            "maxLength": 4000,
            "type": "string",
            "description": "Gets or sets the observations/notes.",
            "nullable": true
          },
          "defaultSerieId": {
            "type": "integer",
            "description": "Gets or sets the default document series identifier.",
            "format": "int32"
          },
          "pictureId": {
            "type": "string",
            "description": "Gets or sets the picture identifier.",
            "format": "uuid",
            "nullable": true
          },
          "thumbId": {
            "type": "string",
            "description": "Gets or sets the thumbnail identifier.",
            "format": "uuid",
            "nullable": true
          },
          "imagePath": {
            "maxLength": 512,
            "type": "string",
            "description": "Gets or sets the image file path.",
            "nullable": true
          },
          "sContaPrinterId": {
            "type": "integer",
            "description": "Gets or sets the simplified invoice printer identifier.",
            "format": "int32",
            "nullable": true
          },
          "fContaPrinterId": {
            "type": "integer",
            "description": "Gets or sets the full invoice printer identifier.",
            "format": "int32",
            "nullable": true
          },
          "defaultDocumentTypeId": {
            "type": "integer",
            "description": "Gets or sets the default document type identifier.",
            "format": "int32",
            "nullable": true
          },
          "maxDiscount": {
            "maximum": 100,
            "minimum": 0,
            "type": "number",
            "description": "Gets or sets the maximum allowed discount percentage.",
            "format": "double",
            "nullable": true
          },
          "profile": {
            "type": "integer",
            "description": "Gets or sets the user profile identifier.",
            "format": "int32",
            "nullable": true
          },
          "latitude": {
            "maxLength": 20,
            "type": "string",
            "description": "Gets or sets the geographic latitude.",
            "nullable": true
          },
          "longitude": {
            "maxLength": 20,
            "type": "string",
            "description": "Gets or sets the geographic longitude.",
            "nullable": true
          },
          "defaultAccountId": {
            "type": "integer",
            "description": "Gets or sets the default account identifier.",
            "format": "int32"
          },
          "isAdmin": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether the user is an administrator.",
            "nullable": true
          },
          "inactive": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether the user is inactive."
          },
          "discount": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether discount is allowed.",
            "nullable": true
          },
          "schedulerResource": {
            "maxLength": 255,
            "type": "string",
            "description": "Gets or sets the scheduler resource identifier.",
            "nullable": true
          },
          "schedulerOwnEvents": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether user can only see own scheduler events."
          },
          "fixedUser": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether this is a fixed/system user."
          },
          "supervisor": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether the user is a supervisor."
          }
        },
        "additionalProperties": false,
        "description": "DTO for creating a new user."
      },
      "UserDTO": {
        "type": "object",
        "properties": {
          "id": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Gets or sets the unique identifier.",
            "format": "int32"
          },
          "groupId": {
            "type": "integer",
            "description": "Gets or sets the group identifier.",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "Gets or sets the name.",
            "nullable": true
          },
          "address": {
            "type": "string",
            "description": "Gets or sets the address.",
            "nullable": true
          },
          "postalCode": {
            "type": "string",
            "description": "Gets or sets the postal code.",
            "nullable": true
          },
          "city": {
            "type": "string",
            "description": "Gets or sets the city.",
            "nullable": true
          },
          "state": {
            "type": "string",
            "description": "Gets or sets the state/province.",
            "nullable": true
          },
          "country": {
            "type": "string",
            "description": "Gets or sets the country.",
            "nullable": true
          },
          "vat": {
            "type": "string",
            "description": "Gets or sets the VAT (tax identification) number.",
            "nullable": true
          },
          "bi": {
            "type": "integer",
            "description": "Gets or sets the identity card number.",
            "format": "int32",
            "nullable": true
          },
          "lastSale": {
            "type": "string",
            "description": "Gets or sets the last sale date.",
            "format": "date-time",
            "nullable": true
          },
          "limits": {
            "type": "number",
            "description": "Gets or sets the discount limits percentage.",
            "format": "double",
            "nullable": true
          },
          "commission": {
            "type": "number",
            "description": "Gets or sets the commission percentage.",
            "format": "double",
            "nullable": true
          },
          "birthDate": {
            "type": "string",
            "description": "Gets or sets the birth date.",
            "format": "date-time",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "description": "Gets or sets the phone number.",
            "nullable": true
          },
          "mobilePhone": {
            "type": "string",
            "description": "Gets or sets the mobile phone number.",
            "nullable": true
          },
          "email": {
            "type": "string",
            "description": "Gets or sets the email address.",
            "nullable": true
          },
          "latitude": {
            "type": "string",
            "description": "Gets or sets the geographic latitude.",
            "nullable": true
          },
          "longitude": {
            "type": "string",
            "description": "Gets or sets the geographic longitude.",
            "nullable": true
          },
          "obs": {
            "type": "string",
            "description": "Gets or sets the observations/notes.",
            "nullable": true
          },
          "defaultSerieId": {
            "type": "integer",
            "description": "Gets or sets the default document series identifier.",
            "format": "int32"
          },
          "pictureId": {
            "type": "string",
            "description": "Gets or sets the picture identifier.",
            "format": "uuid",
            "nullable": true
          },
          "thumbId": {
            "type": "string",
            "description": "Gets or sets the thumbnail identifier.",
            "format": "uuid",
            "nullable": true
          },
          "imagePath": {
            "type": "string",
            "description": "Gets or sets the image file path.",
            "nullable": true
          },
          "lastLogin": {
            "type": "string",
            "description": "Gets or sets the last login date.",
            "format": "date-time",
            "nullable": true
          },
          "logins": {
            "type": "integer",
            "description": "Gets or sets the number of logins.",
            "format": "int32",
            "nullable": true
          },
          "changePassword": {
            "type": "integer",
            "description": "Gets or sets a value indicating whether password change is required.",
            "format": "int32",
            "nullable": true
          },
          "sContaPrinterId": {
            "type": "integer",
            "description": "Gets or sets the simplified invoice printer identifier.",
            "format": "int32",
            "nullable": true
          },
          "fContaPrinterId": {
            "type": "integer",
            "description": "Gets or sets the full invoice printer identifier.",
            "format": "int32",
            "nullable": true
          },
          "defaultDocumentTypeId": {
            "type": "integer",
            "description": "Gets or sets the default document type identifier.",
            "format": "int32",
            "nullable": true
          },
          "maxDiscount": {
            "type": "number",
            "description": "Gets or sets the maximum allowed discount percentage.",
            "format": "double",
            "nullable": true
          },
          "profile": {
            "type": "integer",
            "description": "Gets or sets the user profile identifier.",
            "format": "int32",
            "nullable": true
          },
          "defaultAccountId": {
            "type": "integer",
            "description": "Gets or sets the default account identifier.",
            "format": "int32"
          },
          "isAdmin": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether the user is an administrator.",
            "nullable": true
          },
          "inactive": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether the user is inactive."
          },
          "discount": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether discount is allowed.",
            "nullable": true
          },
          "schedulerResource": {
            "type": "string",
            "description": "Gets or sets the scheduler resource identifier.",
            "nullable": true
          },
          "schedulerOwnEvents": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether user can only see own scheduler events."
          },
          "fixedUser": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether this is a fixed/system user."
          },
          "supervisor": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether the user is a supervisor."
          }
        },
        "additionalProperties": false,
        "description": "DTO representing a user entity with listing configuration."
      },
      "UserDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "UserGroup": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "userActions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserActionsConfig"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UserGroupDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "User group unique identifier.",
            "format": "int32"
          },
          "description": {
            "type": "string",
            "description": "User group description/name.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "DTO for user group information."
      },
      "UserGroupDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserGroupDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "UserPrintingDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Gets or sets the unique identifier of the user.",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Represents user/salesman information used in document printing."
      },
      "UserUpdateDTO": {
        "type": "object",
        "properties": {
          "groupId": {
            "type": "integer",
            "description": "Gets or sets the group identifier.",
            "format": "int32",
            "nullable": true
          },
          "name": {
            "maxLength": 40,
            "type": "string",
            "description": "Gets or sets the name.",
            "nullable": true
          },
          "address": {
            "maxLength": 200,
            "type": "string",
            "description": "Gets or sets the address.",
            "nullable": true
          },
          "postalCode": {
            "maxLength": 20,
            "type": "string",
            "description": "Gets or sets the postal code.",
            "nullable": true
          },
          "vat": {
            "maxLength": 30,
            "type": "string",
            "description": "Gets or sets the VAT (tax identification) number.",
            "nullable": true
          },
          "bi": {
            "type": "integer",
            "description": "Gets or sets the identity card number.",
            "format": "int32",
            "nullable": true
          },
          "birthDate": {
            "type": "string",
            "description": "Gets or sets the birth date.",
            "format": "date-time",
            "nullable": true
          },
          "limits": {
            "type": "number",
            "description": "Gets or sets the discount limits percentage.",
            "format": "double",
            "nullable": true
          },
          "commission": {
            "maximum": 100,
            "minimum": 0,
            "type": "number",
            "description": "Gets or sets the commission percentage.",
            "format": "double",
            "nullable": true
          },
          "phone": {
            "maxLength": 20,
            "type": "string",
            "description": "Gets or sets the phone number.",
            "nullable": true
          },
          "mobilePhone": {
            "maxLength": 20,
            "type": "string",
            "description": "Gets or sets the mobile phone number.",
            "nullable": true
          },
          "email": {
            "maxLength": 200,
            "type": "string",
            "description": "Gets or sets the email address.",
            "nullable": true
          },
          "obs": {
            "maxLength": 4000,
            "type": "string",
            "description": "Gets or sets the observations/notes.",
            "nullable": true
          },
          "defaultSerieId": {
            "type": "integer",
            "description": "Gets or sets the default document series identifier.",
            "format": "int32",
            "nullable": true
          },
          "country": {
            "maxLength": 20,
            "type": "string",
            "description": "Gets or sets the country.",
            "nullable": true
          },
          "city": {
            "maxLength": 20,
            "type": "string",
            "description": "Gets or sets the city.",
            "nullable": true
          },
          "state": {
            "maxLength": 20,
            "type": "string",
            "description": "Gets or sets the state/province.",
            "nullable": true
          },
          "pictureId": {
            "type": "string",
            "description": "Gets or sets the picture identifier.",
            "format": "uuid",
            "nullable": true
          },
          "thumbId": {
            "type": "string",
            "description": "Gets or sets the thumbnail identifier.",
            "format": "uuid",
            "nullable": true
          },
          "imagePath": {
            "maxLength": 512,
            "type": "string",
            "description": "Gets or sets the image file path.",
            "nullable": true
          },
          "lastLogin": {
            "type": "string",
            "description": "Gets or sets the last login date.",
            "format": "date-time",
            "nullable": true
          },
          "logins": {
            "type": "integer",
            "description": "Gets or sets the number of logins.",
            "format": "int32",
            "nullable": true
          },
          "changePassword": {
            "type": "integer",
            "description": "Gets or sets a value indicating whether password change is required.",
            "format": "int32",
            "nullable": true
          },
          "sContaPrinterId": {
            "type": "integer",
            "description": "Gets or sets the simplified invoice printer identifier.",
            "format": "int32",
            "nullable": true
          },
          "fContaPrinterId": {
            "type": "integer",
            "description": "Gets or sets the full invoice printer identifier.",
            "format": "int32",
            "nullable": true
          },
          "defaultDocumentTypeId": {
            "type": "integer",
            "description": "Gets or sets the default document type identifier.",
            "format": "int32",
            "nullable": true
          },
          "maxDiscount": {
            "maximum": 100,
            "minimum": 0,
            "type": "number",
            "description": "Gets or sets the maximum allowed discount percentage.",
            "format": "double",
            "nullable": true
          },
          "profile": {
            "type": "integer",
            "description": "Gets or sets the user profile identifier.",
            "format": "int32",
            "nullable": true
          },
          "latitude": {
            "maxLength": 20,
            "type": "string",
            "description": "Gets or sets the geographic latitude.",
            "nullable": true
          },
          "longitude": {
            "maxLength": 20,
            "type": "string",
            "description": "Gets or sets the geographic longitude.",
            "nullable": true
          },
          "defaultAccountId": {
            "type": "integer",
            "description": "Gets or sets the default account identifier.",
            "format": "int32",
            "nullable": true
          },
          "isAdmin": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether the user is an administrator.",
            "nullable": true
          },
          "inactive": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether the user is inactive.",
            "nullable": true
          },
          "discount": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether discount is allowed.",
            "nullable": true
          },
          "schedulerResource": {
            "maxLength": 255,
            "type": "string",
            "description": "Gets or sets the scheduler resource identifier.",
            "nullable": true
          },
          "schedulerOwnEvents": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether user can only see own scheduler events.",
            "nullable": true
          },
          "fixedUser": {
            "type": "boolean",
            "description": "Gets or sets a value indicating whether this is a fixed/system user.",
            "nullable": true
          },
          "password": {
            "maxLength": 200,
            "type": "string",
            "description": "Gets or sets the password.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "DTO for updating user information."
      },
      "ValidationDetailsResponse": {
        "type": "object",
        "properties": {
          "isValid": {
            "type": "boolean"
          },
          "responseTimeMs": {
            "type": "integer",
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "WarehousesDTO": {
        "type": "object",
        "properties": {
          "id": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Warehouse identifier.",
            "format": "int32"
          },
          "description": {
            "maxLength": 120,
            "minLength": 0,
            "type": "string",
            "description": "Warehouse description.",
            "nullable": true
          },
          "allowWarningMinStock": {
            "type": "boolean",
            "description": "Whether to allow minimum stock warnings."
          },
          "allowNegativeStock": {
            "type": "boolean",
            "description": "Whether to allow negative stock."
          },
          "showNegativeStockWarning": {
            "type": "boolean",
            "description": "Whether to show negative stock warning."
          },
          "autoFillBatches": {
            "type": "boolean",
            "description": "Whether to auto-fill batch information."
          }
        },
        "additionalProperties": false,
        "description": "Warehouse configuration."
      },
      "WarehousesDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WarehousesDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "WarehousesUpdateDTO": {
        "type": "object",
        "properties": {
          "description": {
            "maxLength": 120,
            "minLength": 0,
            "type": "string",
            "description": "Warehouse description.",
            "nullable": true
          },
          "allowWarningMinStock": {
            "type": "boolean",
            "description": "Whether to allow minimum stock warnings."
          },
          "allowNegativeStock": {
            "type": "boolean",
            "description": "Whether to allow negative stock."
          },
          "showNegativeStockWarning": {
            "type": "boolean",
            "description": "Whether to show negative stock warning."
          },
          "autoFillBatches": {
            "type": "boolean",
            "description": "Whether to auto-fill batch information."
          }
        },
        "additionalProperties": false,
        "description": "Warehouse update request."
      },
      "Warning": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "furtherInformations": {
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "WeekDay": {
        "enum": [
          1,
          2,
          4,
          8,
          16,
          32,
          64
        ],
        "type": "integer",
        "format": "int32"
      },
      "XConfigCurrency": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "euroConvertionRate": {
            "type": "number",
            "format": "double"
          },
          "symbol": {
            "type": "string",
            "nullable": true
          },
          "symbolPosition": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "keyId": {
            "type": "string",
            "nullable": true
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "syncStamp": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "decimalPlaces": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "decimalItemPlaces": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "cloudSyncStamp": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "receiptsbodies": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReceiptBody"
            },
            "nullable": true
          },
          "receiptsheaders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReceiptHeader"
            },
            "nullable": true
          },
          "receiptstaxdetails": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReceiptTaxDetail"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "XConfigDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Id.",
            "format": "int32"
          },
          "regionId": {
            "type": "integer",
            "description": "Region Id.",
            "format": "int32",
            "nullable": true
          },
          "taxCountryRegion": {
            "type": "string",
            "description": "Tax Country Region.",
            "nullable": true
          },
          "printer1": {
            "type": "string",
            "description": "Printer 1.",
            "nullable": true
          },
          "printer2": {
            "type": "string",
            "description": "Printer 2.",
            "nullable": true
          },
          "printer3": {
            "type": "string",
            "description": "Printer 3.",
            "nullable": true
          },
          "printer4": {
            "type": "string",
            "description": "Printer 4.",
            "nullable": true
          },
          "printer5": {
            "type": "string",
            "description": "Printer 5.",
            "nullable": true
          },
          "printer6": {
            "type": "string",
            "description": "Printer 6.",
            "nullable": true
          },
          "printer7": {
            "type": "string",
            "description": "Printer 7.",
            "nullable": true
          },
          "printer8": {
            "type": "string",
            "description": "Printer 8.",
            "nullable": true
          },
          "printer9": {
            "type": "string",
            "description": "Printer 9.",
            "nullable": true
          },
          "printer10": {
            "type": "string",
            "description": "Printer 10.",
            "nullable": true
          },
          "printer11": {
            "type": "string",
            "description": "Printer 11.",
            "nullable": true
          },
          "printer12": {
            "type": "string",
            "description": "Printer 12.",
            "nullable": true
          },
          "printer13": {
            "type": "string",
            "description": "Printer 13.",
            "nullable": true
          },
          "printer14": {
            "type": "string",
            "description": "Printer 14.",
            "nullable": true
          },
          "printer15": {
            "type": "string",
            "description": "Printer 15.",
            "nullable": true
          },
          "printer16": {
            "type": "string",
            "description": "Printer 16.",
            "nullable": true
          },
          "printer17": {
            "type": "string",
            "description": "Printer 17.",
            "nullable": true
          },
          "printer18": {
            "type": "string",
            "description": "Printer 18.",
            "nullable": true
          },
          "printer19": {
            "type": "string",
            "description": "Printer 19.",
            "nullable": true
          },
          "printer20": {
            "type": "string",
            "description": "Printer 20.",
            "nullable": true
          },
          "printer21": {
            "type": "string",
            "description": "Printer 21.",
            "nullable": true
          },
          "printer22": {
            "type": "string",
            "description": "Printer 22.",
            "nullable": true
          },
          "printer23": {
            "type": "string",
            "description": "Printer 23.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "General configuration settings."
      },
      "XConfigDocumentSerie": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "manual": {
            "type": "boolean"
          },
          "inactive": {
            "type": "boolean",
            "nullable": true
          },
          "syncStamp": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "eacCode": {
            "type": "string",
            "nullable": true
          },
          "cashRegime": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "sourceBilling": {
            "type": "integer",
            "format": "int32"
          },
          "certificationNumber": {
            "type": "integer",
            "format": "int32"
          },
          "rectifying": {
            "type": "boolean"
          },
          "ral": {
            "type": "string",
            "nullable": true
          },
          "offline": {
            "type": "boolean",
            "nullable": true
          },
          "cloudSyncStamp": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "initialDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "finalDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "newSerieId": {
            "type": "integer",
            "format": "int32"
          },
          "receiptsheaders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReceiptHeader"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "XConfigDocumentType": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "entityType": {
            "type": "integer",
            "format": "int32"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "checkingAccountFlow": {
            "type": "integer",
            "format": "int32"
          },
          "stockFlow": {
            "type": "integer",
            "format": "int32"
          },
          "keyId": {
            "type": "string",
            "nullable": true
          },
          "documentType": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "cashierFlow": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "invoiceType": {
            "type": "string",
            "nullable": true
          },
          "printSystemType": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "certificationPt": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "limitValue": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "nifLimit": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "fullInfoLimit": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "replacementDocumentTypeId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "syncStamp": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "globalDocument": {
            "type": "boolean",
            "nullable": true
          },
          "keepPdf": {
            "type": "boolean",
            "nullable": true
          },
          "keep": {
            "type": "boolean",
            "nullable": true
          },
          "instances": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "reportLayout": {
            "type": "string",
            "nullable": true
          },
          "isTaxIncluded": {
            "type": "boolean",
            "nullable": true
          },
          "sendEmail": {
            "type": "boolean",
            "nullable": true
          },
          "isValued": {
            "type": "boolean",
            "nullable": true
          },
          "stockBehaviour": {
            "type": "integer",
            "format": "int32"
          },
          "defaultEntityType": {
            "type": "integer",
            "format": "int32"
          },
          "voucherExpirationDays": {
            "type": "integer",
            "format": "int32"
          },
          "voucherDeductibleAfter": {
            "type": "integer",
            "format": "int32"
          },
          "extraTableRequired": {
            "type": "boolean",
            "nullable": true
          },
          "printSortByItemgroup": {
            "type": "integer",
            "format": "int32"
          },
          "htmlLayout": {
            "type": "string",
            "nullable": true
          },
          "inactive": {
            "type": "boolean"
          },
          "isAdvancement": {
            "type": "boolean"
          },
          "mandatoryExtraReference": {
            "type": "boolean"
          },
          "serialNumbersRequest": {
            "type": "integer",
            "format": "int32"
          },
          "batchesRequest": {
            "type": "integer",
            "format": "int32"
          },
          "moveSetting": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "showCostChanges": {
            "type": "boolean"
          },
          "documentOrder": {
            "type": "integer",
            "format": "int32"
          },
          "cloudSyncStamp": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "forceAskBatches": {
            "type": "boolean"
          },
          "defaultAccountId": {
            "type": "integer",
            "format": "int32"
          },
          "documentsFlags": {
            "type": "integer",
            "format": "int32"
          },
          "defaultAccount": {
            "$ref": "#/components/schemas/BusinessAccount"
          },
          "receiptsheaders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReceiptHeader"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "XConfigDocumentTypeCreateUpdateDTO": {
        "required": [
          "description",
          "invoiceType",
          "keyId"
        ],
        "type": "object",
        "properties": {
          "keyId": {
            "maxLength": 3,
            "minLength": 1,
            "type": "string",
            "description": "Document type key identifier."
          },
          "description": {
            "minLength": 1,
            "type": "string",
            "description": "Document type description."
          },
          "documentType": {
            "type": "integer",
            "description": "Internal document type code.",
            "format": "int32",
            "nullable": true
          },
          "invoiceType": {
            "minLength": 1,
            "type": "string",
            "description": "SAF-T invoice type."
          },
          "entityType": {
            "type": "integer",
            "description": "Entity type code.",
            "format": "int32"
          },
          "checkingAccountFlow": {
            "type": "integer",
            "description": "Checking account flow type.",
            "format": "int32"
          },
          "stockFlow": {
            "type": "integer",
            "description": "Stock flow type.",
            "format": "int32"
          },
          "cashierFlow": {
            "type": "integer",
            "description": "Cashier flow type.",
            "format": "int32",
            "nullable": true
          },
          "printSystemType": {
            "type": "integer",
            "description": "Print system type.",
            "format": "int32",
            "nullable": true
          },
          "certificationPt": {
            "type": "boolean",
            "description": "Whether PT certification is required.",
            "nullable": true
          },
          "limitValue": {
            "type": "number",
            "description": "Limit value for simplified invoices.",
            "format": "double",
            "nullable": true
          },
          "nifLimit": {
            "type": "number",
            "description": "NIF (tax number) limit value.",
            "format": "double",
            "nullable": true
          },
          "fullInfoLimit": {
            "type": "number",
            "description": "Full info limit value.",
            "format": "double",
            "nullable": true
          },
          "replacementDocumentTypeId": {
            "type": "integer",
            "description": "Replacement document type identifier.",
            "format": "int32",
            "nullable": true
          },
          "globalDocument": {
            "type": "boolean",
            "description": "Whether this is a global document type.",
            "nullable": true
          },
          "keepPdf": {
            "type": "boolean",
            "description": "Whether to keep PDF copies.",
            "nullable": true
          },
          "keep": {
            "type": "boolean",
            "description": "Whether to keep document records.",
            "nullable": true
          },
          "instances": {
            "type": "integer",
            "description": "Number of print instances.",
            "format": "int32",
            "nullable": true
          },
          "reportLayout": {
            "type": "string",
            "description": "Report layout name.",
            "nullable": true
          },
          "isTaxIncluded": {
            "type": "boolean",
            "description": "Whether tax is included in prices.",
            "nullable": true
          },
          "sendEmail": {
            "type": "boolean",
            "description": "Whether to send email on document creation.",
            "nullable": true
          },
          "isValued": {
            "type": "boolean",
            "description": "Whether the document is valued.",
            "nullable": true
          },
          "stockBehaviour": {
            "type": "integer",
            "description": "Stock behaviour type.",
            "format": "int32"
          },
          "defaultEntityType": {
            "type": "integer",
            "description": "Default entity type for this document type.",
            "format": "int32"
          },
          "voucherExpirationDays": {
            "type": "integer",
            "description": "Voucher expiration days.",
            "format": "int32"
          },
          "voucherDeductibleAfter": {
            "type": "integer",
            "description": "Voucher deductible after days.",
            "format": "int32"
          },
          "extraTableRequired": {
            "type": "boolean",
            "description": "Whether extra table is required.",
            "nullable": true
          },
          "printSortByItemgroup": {
            "type": "boolean",
            "description": "Whether to sort print by item group.",
            "nullable": true
          },
          "htmlLayout": {
            "type": "string",
            "description": "HTML layout template.",
            "nullable": true
          },
          "inactive": {
            "type": "boolean",
            "description": "Whether the document type is inactive.",
            "nullable": true
          },
          "isAdvancement": {
            "type": "boolean",
            "description": "Whether this is an advancement document type."
          },
          "mandatoryExtraReference": {
            "type": "boolean",
            "description": "Whether extra reference is mandatory.",
            "nullable": true
          },
          "serialNumbersRequest": {
            "type": "integer",
            "description": "Serial numbers request mode.",
            "format": "int32",
            "nullable": true
          },
          "batchesRequest": {
            "type": "integer",
            "description": "Batches request mode.",
            "format": "int32",
            "nullable": true
          },
          "moveSetting": {
            "type": "integer",
            "description": "Move setting type.",
            "format": "int32",
            "nullable": true
          },
          "showCostChanges": {
            "type": "boolean",
            "description": "Whether to show cost changes.",
            "nullable": true
          },
          "forceAskBatches": {
            "type": "boolean",
            "description": "Whether to force asking for batches."
          },
          "defaultAccountId": {
            "type": "integer",
            "description": "Default business account identifier.",
            "format": "int32"
          },
          "documentsFlags": {
            "type": "integer",
            "description": "Bitwise flags for advanced document settings.",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Document type create/update request."
      },
      "XConfigDocumentTypeDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Document type identifier.",
            "format": "int32"
          },
          "entityType": {
            "type": "integer",
            "description": "Entity type code.",
            "format": "int32"
          },
          "description": {
            "type": "string",
            "description": "Document type description.",
            "nullable": true
          },
          "checkingAccountFlow": {
            "type": "integer",
            "description": "Checking account flow type.",
            "format": "int32"
          },
          "stockFlow": {
            "type": "integer",
            "description": "Stock flow type.",
            "format": "int32"
          },
          "keyId": {
            "type": "string",
            "description": "Document type key identifier.",
            "nullable": true
          },
          "documentType": {
            "type": "integer",
            "description": "Internal document type code.",
            "format": "int32",
            "nullable": true
          },
          "cashierFlow": {
            "type": "integer",
            "description": "Cashier flow type.",
            "format": "int32",
            "nullable": true
          },
          "invoiceType": {
            "type": "string",
            "description": "SAF-T invoice type.",
            "nullable": true
          },
          "printSystemType": {
            "type": "integer",
            "description": "Print system type.",
            "format": "int32",
            "nullable": true
          },
          "certificationPt": {
            "type": "boolean",
            "description": "Whether PT certification is required.",
            "nullable": true
          },
          "limitValue": {
            "type": "number",
            "description": "Limit value for simplified invoices.",
            "format": "double",
            "nullable": true
          },
          "nifLimit": {
            "type": "number",
            "description": "NIF (tax number) limit value.",
            "format": "double",
            "nullable": true
          },
          "fullInfoLimit": {
            "type": "number",
            "description": "Full info limit value.",
            "format": "double",
            "nullable": true
          },
          "replacementDocumentTypeId": {
            "type": "integer",
            "description": "Replacement document type identifier.",
            "format": "int32",
            "nullable": true
          },
          "syncStamp": {
            "type": "string",
            "description": "Synchronization timestamp.",
            "format": "date-time",
            "nullable": true
          },
          "globalDocument": {
            "type": "boolean",
            "description": "Whether this is a global document type.",
            "nullable": true
          },
          "keepPdf": {
            "type": "boolean",
            "description": "Whether to keep PDF copies.",
            "nullable": true
          },
          "keep": {
            "type": "boolean",
            "description": "Whether to keep document records.",
            "nullable": true
          },
          "instances": {
            "type": "integer",
            "description": "Number of print instances.",
            "format": "int32",
            "nullable": true
          },
          "reportLayout": {
            "type": "string",
            "description": "Report layout name.",
            "nullable": true
          },
          "isTaxIncluded": {
            "type": "boolean",
            "description": "Whether tax is included in prices.",
            "nullable": true
          },
          "sendEmail": {
            "type": "boolean",
            "description": "Whether to send email on document creation.",
            "nullable": true
          },
          "isValued": {
            "type": "boolean",
            "description": "Whether the document is valued.",
            "nullable": true
          },
          "stockBehaviour": {
            "type": "integer",
            "description": "Stock behaviour type.",
            "format": "int32"
          },
          "defaultEntityType": {
            "type": "integer",
            "description": "Default entity type for this document type.",
            "format": "int32"
          },
          "voucherExpirationDays": {
            "type": "integer",
            "description": "Voucher expiration days.",
            "format": "int32"
          },
          "voucherDeductibleAfter": {
            "type": "integer",
            "description": "Voucher deductible after days.",
            "format": "int32"
          },
          "extraTableRequired": {
            "type": "boolean",
            "description": "Whether extra table is required.",
            "nullable": true
          },
          "printSortByItemgroup": {
            "type": "boolean",
            "description": "Whether to sort print by item group.",
            "nullable": true
          },
          "htmlLayout": {
            "type": "string",
            "description": "HTML layout template.",
            "nullable": true
          },
          "inactive": {
            "type": "boolean",
            "description": "Whether the document type is inactive.",
            "nullable": true
          },
          "isAdvancement": {
            "type": "boolean",
            "description": "Whether this is an advancement document type."
          },
          "mandatoryExtraReference": {
            "type": "boolean",
            "description": "Whether extra reference is mandatory.",
            "nullable": true
          },
          "serialNumbersRequest": {
            "type": "integer",
            "description": "Serial numbers request mode.",
            "format": "int32",
            "nullable": true
          },
          "batchesRequest": {
            "type": "integer",
            "description": "Batches request mode.",
            "format": "int32",
            "nullable": true
          },
          "moveSetting": {
            "type": "integer",
            "description": "Move setting type.",
            "format": "int32",
            "nullable": true
          },
          "showCostChanges": {
            "type": "boolean",
            "description": "Whether to show cost changes.",
            "nullable": true
          },
          "documentOrder": {
            "type": "integer",
            "description": "Document display order.",
            "format": "int32"
          },
          "forceAskBatches": {
            "type": "boolean",
            "description": "Whether to force asking for batches."
          },
          "defaultAccountId": {
            "type": "integer",
            "description": "Default business account identifier.",
            "format": "int32"
          },
          "documentsFlags": {
            "type": "integer",
            "description": "Bitwise flags for advanced document settings.",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Document type configuration."
      },
      "XConfigDocumentTypeDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/XConfigDocumentTypeDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "XConfigDocumentsSeriesDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Series identifier.",
            "format": "int32"
          },
          "description": {
            "type": "string",
            "description": "Series description.",
            "nullable": true
          },
          "manual": {
            "type": "boolean",
            "description": "Whether manual numbering is allowed.",
            "nullable": true
          },
          "inactive": {
            "type": "boolean",
            "description": "Whether the series is inactive.",
            "nullable": true
          },
          "syncStamp": {
            "type": "string",
            "description": "Synchronization timestamp.",
            "format": "date-time",
            "nullable": true
          },
          "eacCode": {
            "type": "string",
            "description": "EAC (Empresa de Acolhimento) code.",
            "nullable": true
          },
          "cashRegime": {
            "type": "integer",
            "description": "Cash regime type.",
            "format": "int32",
            "nullable": true
          },
          "sourceBilling": {
            "type": "integer",
            "description": "Source billing type.",
            "format": "int32"
          },
          "certificationNumber": {
            "type": "integer",
            "description": "Certification number.",
            "format": "int32"
          },
          "rectifying": {
            "type": "boolean",
            "description": "Whether this is a rectifying series."
          },
          "ral": {
            "type": "string",
            "description": "RAL (Regime de Autoliquidação) code.",
            "nullable": true
          },
          "offline": {
            "type": "boolean",
            "description": "Whether the series works offline.",
            "nullable": true
          },
          "cloudSyncStamp": {
            "type": "string",
            "description": "Cloud synchronization timestamp.",
            "format": "date-time",
            "nullable": true
          },
          "initialDate": {
            "type": "string",
            "description": "Series initial date.",
            "format": "date-time",
            "nullable": true
          },
          "finalDate": {
            "type": "string",
            "description": "Series final date.",
            "format": "date-time",
            "nullable": true
          },
          "newSerieId": {
            "type": "integer",
            "description": "New series identifier for migration.",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Document series configuration."
      },
      "XConfigDocumentsSeriesDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/XConfigDocumentsSeriesDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "XConfigExtractModelDTO": {
        "type": "object",
        "properties": {
          "creationDate": {
            "type": "integer",
            "description": "Column index for creation date.",
            "format": "int32"
          },
          "paymentDate": {
            "type": "integer",
            "description": "Column index for payment date.",
            "format": "int32"
          },
          "description": {
            "type": "integer",
            "description": "Column index for description.",
            "format": "int32"
          },
          "amount": {
            "type": "integer",
            "description": "Column index for amount.",
            "format": "int32"
          },
          "credit": {
            "type": "integer",
            "description": "Column index for credit.",
            "format": "int32"
          },
          "debit": {
            "type": "integer",
            "description": "Column index for debit.",
            "format": "int32"
          },
          "columnTypeAmount": {
            "type": "integer",
            "description": "Column index for type amount.",
            "format": "int32"
          },
          "typeAmountRegex": {
            "type": "string",
            "description": "Regular expression for type amount matching.",
            "nullable": true
          },
          "dateTolerance": {
            "type": "integer",
            "description": "Tolerance for date matching in days.",
            "format": "int32"
          },
          "amountTolerance": {
            "type": "number",
            "description": "Tolerance for amount matching.",
            "format": "double"
          },
          "generalHeading": {
            "type": "integer",
            "description": "Default general heading identifier.",
            "format": "int32"
          },
          "generalCategory": {
            "type": "integer",
            "description": "Default general category identifier.",
            "format": "int32"
          },
          "amountDiscriminationType": {
            "$ref": "#/components/schemas/AmountDiscriminationType"
          },
          "dataExample": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Example data rows for configuration preview.",
            "nullable": true
          },
          "headingConfigs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RegularExpressionConfigDTO"
            },
            "description": "Regular expression configurations for heading matching.",
            "nullable": true
          },
          "categoryConfigs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RegularExpressionConfigDTO"
            },
            "description": "Regular expression configurations for category matching.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "DTO for extract model configuration used in reconciliation imports."
      },
      "XConfigMiscDTO": {
        "type": "object",
        "properties": {
          "onEntitySaveBehavior": {
            "type": "integer",
            "format": "int32"
          },
          "visibleTable1": {
            "type": "boolean"
          },
          "visibleTable2": {
            "type": "boolean"
          },
          "visibleTable3": {
            "type": "boolean"
          },
          "nameTable1": {
            "type": "string",
            "nullable": true
          },
          "nameTable2": {
            "type": "string",
            "nullable": true
          },
          "nameTable3": {
            "type": "string",
            "nullable": true
          },
          "itemContractDocumentType": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "XConfigPaymentType": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "requiresExchange": {
            "type": "boolean",
            "nullable": true
          },
          "sendToCheckingAccount": {
            "type": "boolean",
            "nullable": true
          },
          "syncStamp": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "paymentMechanism": {
            "type": "string",
            "nullable": true
          },
          "paymentGroup": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "businessAccountId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "businessAccount": {
            "$ref": "#/components/schemas/BusinessAccount"
          },
          "visibleDelivery": {
            "type": "boolean",
            "nullable": true
          },
          "currencyId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "currency": {
            "$ref": "#/components/schemas/XConfigCurrency"
          },
          "sortOrder": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "cashierAccountId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "cashierAccount": {
            "$ref": "#/components/schemas/BusinessAccount"
          },
          "imageName": {
            "type": "string",
            "nullable": true
          },
          "issueDirectDebit": {
            "type": "boolean"
          },
          "inactive": {
            "type": "boolean"
          },
          "generateMbreference": {
            "type": "boolean"
          },
          "cloudSyncStamp": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "brPaymentTypeId": {
            "type": "integer",
            "format": "int32"
          },
          "brPaymentTypeProviderId": {
            "type": "integer",
            "format": "int32"
          },
          "brPaymentTypeDescription": {
            "type": "string",
            "nullable": true
          },
          "receiptspaymentdetails": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReceiptPaymentDetail"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "XConfigRegionDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Gets or sets the unique identifier of the region.",
            "format": "int32"
          },
          "keyId": {
            "type": "string",
            "description": "Gets or sets the key identifier of the region.",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Gets or sets the display description (region and country when available).",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Region configuration returned by the API (lookup/list)."
      },
      "XConfigRegionDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/XConfigRegionDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "XConfigTaxes": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "tax": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "documentDescription": {
            "type": "string",
            "nullable": true
          },
          "taxCode": {
            "type": "string",
            "nullable": true
          },
          "syncStamp": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "taxType": {
            "type": "string",
            "nullable": true
          },
          "exemptionKeyId": {
            "type": "string",
            "nullable": true
          },
          "cloudSyncStamp": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "receiptstaxdetails": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReceiptTaxDetail"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "XConfigTaxesCodeDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Id.",
            "format": "int32"
          },
          "description": {
            "type": "string",
            "description": "Description.",
            "nullable": true
          },
          "xConfigTaxesGroups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/XConfigTaxesGroupDTO"
            },
            "description": "Tax groups associated with this tax code.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Tax code configuration."
      },
      "XConfigTaxesCodeDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/XConfigTaxesCodeDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "XConfigTaxesDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Id.",
            "format": "int32"
          },
          "description": {
            "type": "string",
            "description": "Description.",
            "nullable": true
          },
          "tax": {
            "type": "number",
            "description": "Tax rate percentage.",
            "format": "double",
            "nullable": true
          },
          "documentDescription": {
            "type": "string",
            "description": "Document Description.",
            "nullable": true
          },
          "taxCode": {
            "type": "string",
            "description": "Tax Code.",
            "nullable": true
          },
          "taxType": {
            "type": "string",
            "description": "Tax Type.",
            "nullable": true
          },
          "exemptionKeyId": {
            "type": "string",
            "description": "Exemption Key Id.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Tax configuration."
      },
      "XConfigTaxesDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/XConfigTaxesDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "XConfigTaxesGroupDTO": {
        "type": "object",
        "properties": {
          "taxCodeId": {
            "type": "integer",
            "description": "Tax Code Id.",
            "format": "int32"
          },
          "taxTypeKeyId": {
            "type": "string",
            "description": "Tax Type Key Id.",
            "nullable": true
          },
          "regionId": {
            "type": "integer",
            "description": "Region Id.",
            "format": "int32"
          },
          "taxId": {
            "type": "integer",
            "description": "Tax Id.",
            "format": "int32"
          },
          "syncStamp": {
            "type": "string",
            "description": "Sync Stamp.",
            "format": "date-time",
            "nullable": true
          },
          "cloudSyncStamp": {
            "type": "string",
            "description": "Cloud Sync Stamp.",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Tax group configuration."
      },
      "XConfigTreasuryDTO": {
        "type": "object",
        "properties": {
          "transferCategory": {
            "$ref": "#/components/schemas/AccountCategoryDTO"
          },
          "transferHeading": {
            "$ref": "#/components/schemas/AccountHeadingDTO"
          },
          "documentsSellHeading": {
            "$ref": "#/components/schemas/AccountHeadingDTO"
          },
          "documentsBuyHeading": {
            "$ref": "#/components/schemas/AccountHeadingDTO"
          }
        },
        "additionalProperties": false,
        "description": "DTO for treasury configuration settings."
      },
      "XDPayBusinessViewDTO": {
        "type": "object",
        "properties": {
          "rowKey": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "location": {
            "type": "string",
            "nullable": true
          },
          "merchantAccountId": {
            "type": "string",
            "nullable": true
          },
          "middlemanAccountId": {
            "type": "string",
            "nullable": true
          },
          "financialEntityAccountId": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "vat": {
            "type": "string",
            "nullable": true
          },
          "paymentMethods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/XDPayPaymentMethodDTO"
            },
            "nullable": true
          },
          "commodityTaxValue": {
            "type": "string",
            "nullable": true
          },
          "commodityTaxType": {
            "type": "string",
            "nullable": true
          },
          "businessWebhookId": {
            "type": "string",
            "nullable": true
          },
          "isConnected": {
            "type": "boolean"
          },
          "connectionId": {
            "type": "string",
            "nullable": true
          },
          "testingOnly": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "isBlocked": {
            "type": "boolean"
          },
          "theme": {
            "type": "string",
            "nullable": true
          },
          "imageUrl": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "XDPayConfigDTO": {
        "type": "object",
        "properties": {
          "businessName": {
            "type": "string",
            "nullable": true
          },
          "businessId": {
            "type": "string",
            "nullable": true
          },
          "username": {
            "type": "string",
            "nullable": true
          },
          "password": {
            "type": "string",
            "nullable": true
          },
          "terminal": {
            "type": "integer",
            "format": "int32"
          },
          "isXDPayActive": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "XDPayPaymentMethodDTO": {
        "type": "object",
        "properties": {
          "methodId": {
            "type": "string",
            "nullable": true
          },
          "methodName": {
            "type": "string",
            "nullable": true
          },
          "isActive": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "XDfreeOneDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Id.",
            "format": "int32"
          },
          "keyId": {
            "type": "string",
            "description": "Key Id.",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Name.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "XDfree custom entity type 1."
      },
      "XDfreeOneDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/XDfreeOneDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "XDfreeThreeDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Id.",
            "format": "int32"
          },
          "keyId": {
            "type": "string",
            "description": "Key Id.",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Name.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "XDfree custom entity type 3."
      },
      "XDfreeThreeDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/XDfreeThreeDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      },
      "XDfreeTwoDTO": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Id.",
            "format": "int32"
          },
          "keyId": {
            "type": "string",
            "description": "Key Id.",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Name.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "XDfree custom entity type 2."
      },
      "XDfreeTwoDTOEntityListingDTO": {
        "type": "object",
        "properties": {
          "totalCount": {
            "type": "integer",
            "description": "Total number of records.",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "description": "Number of records requested per page.",
            "format": "int32"
          },
          "currentPage": {
            "type": "integer",
            "description": "Current page number.",
            "format": "int32"
          },
          "totalPages": {
            "type": "integer",
            "description": "Total number of available pages.",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/XDfreeTwoDTO"
            },
            "description": "Collection of entity records.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Generic paginated entity listing response."
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "http",
        "description": "JWT Authorization header. Enter your token in the text input below.Example: \"abcdef\"",
        "scheme": "Bearer",
        "bearerFormat": "JWT"
      }
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "tags": [
    {
      "name": "AccountCategory",
      "description": "Controller for managing account categories and their budgets.\r\nProvides endpoints to create, update, delete, and retrieve account categories and related budget information."
    },
    {
      "name": "AccountHeading",
      "description": "Controller for managing account headings and their budgets.\r\nProvides endpoints to create, update, delete, and retrieve account headings and related budget information."
    },
    {
      "name": "AccountLogin",
      "description": "Controller responsible for user authentication and login.\r\nProvides an endpoint to authenticate users and generate JWT tokens."
    },
    {
      "name": "AccountType",
      "description": "Controller for managing account types.\r\nProvides endpoints to create, update, delete, and retrieve account types."
    },
    {
      "name": "AddressType",
      "description": "Controller for managing address types.\r\nProvides endpoints to create, update, delete, and retrieve address types."
    },
    {
      "name": "AdvancedDiscount",
      "description": "Controller responsible for managing Advanced Discounts with CRUD operations."
    },
    {
      "name": "Auth",
      "description": "Controller responsible for authentication and user login operations."
    },
    {
      "name": "AuthSecondary",
      "description": "Controller responsible for secondary user authentication.\r\nProvides an endpoint for secondary login and JWT token generation."
    },
    {
      "name": "BatchType",
      "description": "Controller for managing batch types.\r\nProvides an endpoint to retrieve batch types with pagination."
    },
    {
      "name": "BusinessAccount",
      "description": "Controller for managing business accounts, their passwords, budgets, tokens, and related operations.\r\nProvides endpoints to create, update, delete, and retrieve business accounts and their associated data."
    },
    {
      "name": "BusinessAccountLedger",
      "description": "Controller for managing business account ledger entries.\r\nProvides endpoints to create, update, delete, and retrieve ledger movements and related parameters."
    },
    {
      "name": "BusinessSummary",
      "description": "Controller for retrieving business summary information, including cards, top sellers, and top terminals."
    },
    {
      "name": "CashierAccountSessions",
      "description": "Controller for managing cashier account sessions and their operations.\r\nProvides endpoints to retrieve, correct, and manage cashier sessions and their associated data."
    },
    {
      "name": "CompanyInfo",
      "description": "Controller for retrieving company (establishment) configuration information for invoice/ticket and display."
    },
    {
      "name": "CountryCode",
      "description": "Controller for retrieving country codes (ISO 3166-1 alpha-2)."
    },
    {
      "name": "CovenantAgreement",
      "description": "Controller for managing covenant agreements.\r\nProvides RESTful endpoints for CRUD operations."
    },
    {
      "name": "CrmConfig",
      "description": "Controller for managing CRM configuration tables.\r\nProvides a unified endpoint for category table, state and priority configuration entries."
    },
    {
      "name": "CrmCustomers",
      "description": "Controller for the read-only CRM customer workspace.\r\nProvides endpoints to retrieve customer listing, sales, and receipts."
    },
    {
      "name": "CrmHistory",
      "description": "Controller for managing CRM occurrences (CrmHistory).\r\nProvides endpoints to create, update, delete, and retrieve CRM occurrences."
    },
    {
      "name": "Currency",
      "description": "Controller for managing currencies.\r\nProvides endpoints to create, update, delete, and retrieve currency information."
    },
    {
      "name": "CustomerContacts",
      "description": "Controller for managing customer contacts.\r\nProvides endpoints to create, update, delete, and retrieve customer contact information."
    },
    {
      "name": "DebitAgreement",
      "description": "Controller for covenant agreement debit operations.\r\nProvides the listing endpoint for eligible covenant agreements.\r\nThe save/process endpoint is handled by the Invoice API."
    },
    {
      "name": "DeliveryRegion",
      "description": "Controller for managing delivery regions.\r\nProvides endpoints to create, update, delete, and retrieve delivery region information."
    },
    {
      "name": "DigitalArchives",
      "description": "Controller for managing digital archive files."
    },
    {
      "name": "DigitalArchivesDirectories",
      "description": "Controller for managing digital archive directories and directory content."
    },
    {
      "name": "DocumentBody",
      "description": "Controller for managing document bodies. Provides endpoints for managing document body records."
    },
    {
      "name": "DocumentHeader",
      "description": "Controller for managing document headers. Provides endpoints for managing document headers."
    },
    {
      "name": "DocumentsSeries",
      "description": "Controller for managing document series. Provides endpoints for listing and retrieving document series by ID."
    },
    {
      "name": "DocumentsTypes",
      "description": "Controller for managing document types.\r\nProvides endpoints for CRUD operations on document type configurations."
    },
    {
      "name": "DynamicChartReport",
      "description": "Controller responsible for managing dynamic chart reports."
    },
    {
      "name": "DynamicGridFieldsConfig",
      "description": "Controller responsible for managing dynamic grid field configurations."
    },
    {
      "name": "DynamicReport",
      "description": "Controller responsible for managing dynamic reports."
    },
    {
      "name": "Entity",
      "description": "Controller for managing entities, suppliers, customers, contacts, and entity types.\r\nProvides CRUD operations and listing endpoints with pagination support."
    },
    {
      "name": "EntityAddress",
      "description": "Controller responsible for managing entity addresses."
    },
    {
      "name": "EntityContract",
      "description": "Controller for managing entity contracts.\r\nProvides endpoints to create, update, delete, and retrieve entity contracts."
    },
    {
      "name": "EntityContractGroup",
      "description": "Controller for managing entity contract groups. Provides endpoints for CRUD operations, listing, and next available ID."
    },
    {
      "name": "EntityContractType",
      "description": "Controller for managing entity contract types.\r\nProvides endpoints to create, update, delete, and retrieve entity contract types."
    },
    {
      "name": "EntityGroup",
      "description": "Controller for managing entity groups. Provides endpoints for CRUD operations, listing, and retrieving next available ID."
    },
    {
      "name": "EntityLayouts",
      "description": "Controller responsible for managing entity layouts."
    },
    {
      "name": "EntityModels",
      "description": "Controller for managing entity models.\r\nProvides endpoints to create, update, delete, and retrieve entity model information."
    },
    {
      "name": "EntityPropertiesFilter",
      "description": "Controller for managing entity properties filters.\r\nProvides endpoints for creating, retrieving, updating, and deleting saved filters."
    },
    {
      "name": "EntityType",
      "description": "Controller for managing entity types. Provides endpoints for CRUD operations and retrieving next available IDs."
    },
    {
      "name": "ExtraFieldsValues",
      "description": "Controller for reading and writing extra field values on entity instances.\r\nOperates on the physical MySQL extra-fields tables for single-registry tables only."
    },
    {
      "name": "ExtraTablesAndFieldsConfig",
      "description": "Controller responsible for managing extra tables and fields configuration per entity type."
    },
    {
      "name": "FixedExpensesAndRevenues",
      "description": "Controller responsible for managing fixed expenses and revenues."
    },
    {
      "name": "Intervention",
      "description": "Controller responsible for managing interventions."
    },
    {
      "name": "ItemBarcode",
      "description": "Controller responsible for managing item barcodes."
    },
    {
      "name": "ItemBatch",
      "description": "Controller responsible for managing item batches."
    },
    {
      "name": "ItemCategory",
      "description": "Controller responsible for managing item categories."
    },
    {
      "name": "Items",
      "description": "Controller for managing items. Provides endpoints for CRUD operations, listing, barcode generation, and next available key ID."
    },
    {
      "name": "Itemsgroup",
      "description": "Controller for managing item groups. Provides endpoints for CRUD operations, listing, analytics, and next available group ID."
    },
    {
      "name": "ItemStock",
      "description": "Controller for querying item stock per warehouse."
    },
    {
      "name": "ItemsUnits",
      "description": "Controller for managing item units. Provides endpoints for CRUD operations, listing, and retrieving the next available unit ID."
    },
    {
      "name": "LicenceInfo",
      "description": "Controller for retrieving establishment (license) information for invoice/ticket header display."
    },
    {
      "name": "LoadUnloadPlace",
      "description": "Controller for managing load and unload places.\r\nProvides endpoints to create, update, delete, and retrieve load and unload places information."
    },
    {
      "name": "ManualCheckingAccount",
      "description": "Controller responsible for managing manual checking accounts (payable and receivable)."
    },
    {
      "name": "PaymentMode",
      "description": "Controller for managing payment modes. Provides endpoints for CRUD operations, listing, and retrieving the next available payment mode ID."
    },
    {
      "name": "PaymentTypes",
      "description": "Controller for managing payment types.\r\nProvides endpoints for CRUD operations, listing and retrieving the next available payment type ID."
    },
    {
      "name": "PointsConfig",
      "description": "Controller for managing points configuration. Provides endpoints for CRUD operations, listing, and retrieving the next available order."
    },
    {
      "name": "PriceTable",
      "description": "Controller for managing price tables.\r\nProvides endpoints to create, update, delete, and retrieve price tables."
    },
    {
      "name": "ProductionOrder",
      "description": "Controller responsible for managing production orders."
    },
    {
      "name": "Promo",
      "description": "Controller responsible for managing promos with CRUD operations and auxiliary helpers."
    },
    {
      "name": "ReceiptDocument",
      "description": "Controller responsible for managing receipt documents."
    },
    {
      "name": "Resource",
      "description": "Controller responsible for managing file resources and media streams."
    },
    {
      "name": "SalesZone",
      "description": "Controller for managing sales zones. Provides endpoints for CRUD operations, listing, and retrieving the next available sales zone ID."
    },
    {
      "name": "SerialNumberType",
      "description": "Controller responsible for managing serial number types."
    },
    {
      "name": "ServiceOrder",
      "description": "Controller responsible for managing service orders."
    },
    {
      "name": "Terminal",
      "description": "Controller responsible for managing terminals."
    },
    {
      "name": "TreasuryDashboard",
      "description": "Controller responsible for providing treasury dashboard data."
    },
    {
      "name": "User",
      "description": "Controller for managing users. Provides endpoints for CRUD operations, password updates, listing, and retrieving the next available user ID."
    },
    {
      "name": "UserGroup",
      "description": "Controller responsible for managing user groups."
    },
    {
      "name": "Warehouse",
      "description": "Controller for managing warehouses. Provides endpoints for CRUD operations, listing, and retrieving the next available warehouse ID."
    },
    {
      "name": "XConfig",
      "description": "Controller responsible for retrieving general configuration."
    },
    {
      "name": "XConfigMisc",
      "description": "Controller responsible for managing miscellaneous configuration settings."
    },
    {
      "name": "XConfigRegion",
      "description": "Controller responsible for managing region configuration settings."
    },
    {
      "name": "XConfigTaxes",
      "description": "Controller responsible for managing tax configurations."
    },
    {
      "name": "XConfigTaxesCode",
      "description": "Controller responsible for managing tax code configurations."
    },
    {
      "name": "XConfigTreasury",
      "description": "Controller responsible for managing treasury configuration."
    },
    {
      "name": "XDfree",
      "description": "Controller responsible for managing XDfree custom field tables."
    },
    {
      "name": "XDPayBusiness",
      "description": "Controller responsible for managing XDPay business settings."
    },
    {
      "name": "XDPayConfig",
      "description": "Controller responsible for managing XDPay configuration."
    }
  ]
}