{
  "openapi": "3.0.4",
  "info": {
    "title": "Public Voucher API",
    "description": "# Getting started\n\n## Access token\nAll requests to the API must include a access token in header to be authorized.\n\nFollow the get started to get a access token https://ancon.dev/get-started/.\n\nThe header must be named 'Access-Token' and have a valid token value otherwise a 401 Unauthorized repsonse is given.\n\n## Token levels\nAccess tokens has two levels it can be.\n\n### Tenant level\nTenant level tokens have read/write permissions on all endpoints.\n\n### Outlet level\nOutlet level tokens can only has read permissions on tenant level data and read/write on outlet level data for the specified outlet the token was created for.\n\n## Request limits\nRequest limit information is send back in response headers:\n\n* X-Rate-Limit-Limit: 1s\n* X-Rate-Limit-Remaining: 9\n* X-Rate-Limit-Reset: 2022-12-16T14:13:28.6783785Z\n\nIn this example the endpoint allows for max 10 requests each second.\n\n## Correlation-Id\n\nCorrelation id is a unique id of the request and is sent back as a response header, include this in any question or bugreport you make.\n\nCan also be sent in as a request header to correlate any logging you may do on your side then the sent in correlation id will be used in our logging aswell.\n\n## Filtering\nFiltering is done with query parameters, and available properties that can be filtered on is documented per endpoint.\n\nFiltering specification: https://ancon.dev/wp-content/uploads/2022/12/Filtering-2022-12-16.pdf\n\n## Deprecation of endpoints\nEndpoints can be deprecated because a newer version is added and the existing will eventually expire out from the api.\n\nIf a endpoint is deprecated it will be shown here in the documentation.\n\nIt is also included in response headers:\n* Deprecation-Sunset: 2024-10-01 00:00:00\n* Deprecation: This API endpoint is deprecated and will be removed in a future version, use a newer version.\n\nIt is recomended to implement alerting on this so you can get notified if you're using a deprecated endpont version to avoid any disruptions.\n\n# Webhooks\nWebhooks are found in https://cloud.ancon.io on the integration page for public api, webhooks will be sent out once a url is configured there.\n\nUpon failures we will try to send out the webhook for max 3 tries with 3 minutes between.\n\nAll webhooks will be sent with headers:\n\n* Api-Version: 1.0\n* Try: 1\n* MaxTries: 3\n\n## Voucher basis\nVoucher basis published: contains a small set of the data from [Details payload](https://voucher-api.ancon.io/docs-v1/index.html#tag/VoucherBases/paths/~1public~1api~1v1~1Outlets~1%7BoutletId%7D~1OrderVoucherBases~1%7Bid%7D/get), Call details when getting the webhook for more data",
    "contact": {
      "name": "",
      "email": "integration-support@ancon.io"
    },
    "version": "public-v1",
    "x-logo": {
      "url": "https://ancon.dev/wp-content/uploads/2022/12/logo-tango_L-no-transp.png"
    }
  },
  "paths": {
    "/SelfLog": {
      "get": {
        "tags": [
          "Meta"
        ],
        "summary": " (Auth policies: meta)",
        "parameters": [
          {
            "name": "correlationId",
            "in": "header",
            "description": "Correlation Id for the request",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/ErrorCodes": {
      "get": {
        "tags": [
          "Meta"
        ],
        "summary": " (Auth policies: meta)",
        "parameters": [
          {
            "name": "correlationId",
            "in": "header",
            "description": "Correlation Id for the request",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/Version": {
      "get": {
        "tags": [
          "Meta"
        ],
        "parameters": [
          {
            "name": "correlationId",
            "in": "header",
            "description": "Correlation Id for the request",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/Environment": {
      "get": {
        "tags": [
          "Meta"
        ],
        "parameters": [
          {
            "name": "correlationId",
            "in": "header",
            "description": "Correlation Id for the request",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/public/api/v1/Outlets/{outletId}/SettlementReports/{settlementReportId}/SIE": {
      "get": {
        "tags": [
          "SettlementReports"
        ],
        "summary": "Get settlement report as SIE",
        "parameters": [
          {
            "name": "outletId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "settlementReportId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "correlationId",
            "in": "header",
            "description": "Correlation Id for the request",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.BaseResponse"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.BaseResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.NotFoundResponse"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.NotFoundResponse"
                }
              }
            }
          }
        }
      }
    },
    "/public/api/v1/Outlets/{outletId}/SettlementReports/{settlementReportId}": {
      "get": {
        "tags": [
          "SettlementReports"
        ],
        "summary": "Get settlement report",
        "parameters": [
          {
            "name": "outletId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "settlementReportId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "correlationId",
            "in": "header",
            "description": "Correlation Id for the request",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V0.SettlementReports.Queries.Detail.DetailSettlementReportQueryResponse"
                },
                "example": {
                  "voucherModel": {
                    "publishedDate": "2026-10-23T14:33:35.1228252Z",
                    "description": "description",
                    "voucherSeries": "F",
                    "voucherNumber": "1234",
                    "voucherItems": [
                      {
                        "account": 1000,
                        "debit": 0.0,
                        "credit": 100.0,
                        "costCenter": "POSg1",
                        "project": "PG2",
                        "custom1": "custom1",
                        "custom2": "custom2",
                        "custom3": "custom3",
                        "custom4": "custom4"
                      },
                      {
                        "account": 1800,
                        "debit": 232.0,
                        "credit": 0.0,
                        "costCenter": "CQA1",
                        "project": "PQA",
                        "custom1": "custom1",
                        "custom2": "custom2",
                        "custom3": "custom3",
                        "custom4": "custom4"
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.BaseResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.NotFoundResponse"
                }
              }
            }
          }
        }
      }
    },
    "/public/api/v1/Outlets/{outletId}/OrderVoucherBases": {
      "get": {
        "tags": [
          "VoucherBases"
        ],
        "summary": "Get voucher basis list",
        "description": "### Available filter properties\r\n- created (datetime)\r\n- status (enum)\r\n- publisheddate (datetime)\r\n- vouchernumber (int)\r\n- recalculatedat (nullable datetime)\r\n- outletid (guid)",
        "parameters": [
          {
            "name": "outletId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Offset",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Limit",
            "in": "query",
            "schema": {
              "maximum": 1000,
              "minimum": 0,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Order",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Filter",
            "in": "query",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "nullable": true
              }
            }
          },
          {
            "name": "correlationId",
            "in": "header",
            "description": "Correlation Id for the request",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V0.VoucherBases.Queries.List.ListVoucherBasisQueryResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.BaseResponse"
                }
              }
            }
          }
        }
      }
    },
    "/public/api/v1/Outlets/{outletId}/OrderVoucherBases/{voucherBasisId}": {
      "get": {
        "tags": [
          "VoucherBases"
        ],
        "summary": "Get voucher basis details",
        "parameters": [
          {
            "name": "outletId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "voucherBasisId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "TenantUserId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "ClientId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "correlationId",
            "in": "header",
            "description": "Correlation Id for the request",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V0.VoucherBases.Queries.Detail.DetailVoucherBasisQueryResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.BaseResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.NotFoundResponse"
                }
              }
            }
          }
        },
        "deprecated": true
      }
    },
    "/public/api/v1/Outlets/{outletId}/OrderVoucherBases/{voucherBasisId}/SIE": {
      "get": {
        "tags": [
          "VoucherBases"
        ],
        "summary": "Get voucher basis as SIE",
        "parameters": [
          {
            "name": "outletId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "voucherBasisId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "correlationId",
            "in": "header",
            "description": "Correlation Id for the request",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.BadRequestResponse"
                },
                "example": {
                  "message": "Cannot create voucher.\nMissing account number for way of payments:\nInvoice\nMissing account number for product groups:\nSnus, Food (TakeAway)\nMissing account number for taxes:\n20\n",
                  "errorCode": "aad1dadd-f6c5-401c-9ae1-cdf0788dc952",
                  "additionalData": {
                    "paymentMethods": [
                      "Invoice"
                    ],
                    "productGroups": [
                      "Snus",
                      "Food (TakeAway)"
                    ],
                    "taxes": [
                      "20"
                    ],
                    "fees": [ ]
                  }
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.BadRequestResponse"
                },
                "example": {
                  "message": "Cannot create voucher.\nMissing account number for way of payments:\nInvoice\nMissing account number for product groups:\nSnus, Food (TakeAway)\nMissing account number for taxes:\n20\n",
                  "errorCode": "aad1dadd-f6c5-401c-9ae1-cdf0788dc952",
                  "additionalData": {
                    "paymentMethods": [
                      "Invoice"
                    ],
                    "productGroups": [
                      "Snus",
                      "Food (TakeAway)"
                    ],
                    "taxes": [
                      "20"
                    ],
                    "fees": [ ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.BaseResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.BaseResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.NotFoundResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.NotFoundResponse"
                }
              }
            }
          }
        }
      }
    },
    "/public/api/v1/Outlets/{outletId}/OrderVoucherBases/{voucherBasisId}/PDF": {
      "get": {
        "tags": [
          "VoucherBases"
        ],
        "summary": "Get voucher basis as PDF",
        "parameters": [
          {
            "name": "outletId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "voucherBasisId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "PartType",
            "in": "query",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/Shared.Enums.VoucherBasisPartTypes"
                }
              ]
            }
          },
          {
            "name": "SaleType",
            "in": "query",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/Voucher.Domain.Models.VoucherBases.VoucherBasisSaleTypes"
                }
              ]
            }
          },
          {
            "name": "correlationId",
            "in": "header",
            "description": "Correlation Id for the request",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.BaseResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.BaseResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.NotFoundResponse"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.NotFoundResponse"
                }
              }
            }
          }
        }
      }
    },
    "/public/api/v1/Outlets/{outletId}/OrderVoucherBases/{voucherBasisId}/Voucher": {
      "get": {
        "tags": [
          "VoucherBases"
        ],
        "summary": "Get voucher details",
        "description": "Builds the accounting voucher for a published voucher basis. Responds **400** with error code `aad1dadd-f6c5-401c-9ae1-cdf0788dc952` (MissingAccountNumbers) when the outlet has no account number configured for a way of payment, product group, tax rate or fee on the voucher basis. The `message` lists what is missing and `additionalData` holds the same names per category (`paymentMethods`, `productGroups`, `taxes`, `fees`). The request keeps failing until the accounts are configured in Backoffice; retrying without a configuration change does not help.",
        "parameters": [
          {
            "name": "outletId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "voucherBasisId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "PartType",
            "in": "query",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/Shared.Enums.VoucherBasisPartTypes"
                }
              ]
            }
          },
          {
            "name": "correlationId",
            "in": "header",
            "description": "Correlation Id for the request",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V0.VoucherBases.Vouchers.Queries.Detail.DetailVoucherQueryResponse"
                },
                "example": {
                  "voucher": {
                    "title": "Z-Dagrapport 53",
                    "voucherNo": "53",
                    "tracking": null,
                    "custom1": null,
                    "custom2": null,
                    "custom3": null,
                    "custom4": null,
                    "currencyCode": "SEK",
                    "items": [
                      {
                        "accountNumber": "1930",
                        "debit": 1000.0,
                        "credit": 0.0,
                        "name": "Cash",
                        "tracking": {
                          "costCenter": "C12",
                          "project": "P44"
                        },
                        "custom1": null,
                        "custom2": null,
                        "custom3": null,
                        "custom4": null,
                        "custom5": null
                      },
                      {
                        "accountNumber": "3665",
                        "debit": 0.0,
                        "credit": 700.0,
                        "name": "Food",
                        "tracking": null,
                        "custom1": null,
                        "custom2": null,
                        "custom3": null,
                        "custom4": null,
                        "custom5": null
                      },
                      {
                        "accountNumber": "3640",
                        "debit": 0.0,
                        "credit": 300.0,
                        "name": "Drinks",
                        "tracking": null,
                        "custom1": null,
                        "custom2": null,
                        "custom3": null,
                        "custom4": null,
                        "custom5": null
                      }
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.BadRequestResponse"
                },
                "example": {
                  "message": "Cannot create voucher.\nMissing account number for way of payments:\nInvoice\nMissing account number for product groups:\nSnus, Food (TakeAway)\nMissing account number for taxes:\n20\n",
                  "errorCode": "aad1dadd-f6c5-401c-9ae1-cdf0788dc952",
                  "additionalData": {
                    "paymentMethods": [
                      "Invoice"
                    ],
                    "productGroups": [
                      "Snus",
                      "Food (TakeAway)"
                    ],
                    "taxes": [
                      "20"
                    ],
                    "fees": [ ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.BaseResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.NotFoundResponse"
                }
              }
            }
          }
        }
      }
    },
    "/public/api/v1.1/Outlets/{outletId}/OrderVoucherBases/{voucherBasisId}": {
      "get": {
        "tags": [
          "VoucherBases"
        ],
        "summary": "Get voucher basis details v1.1",
        "parameters": [
          {
            "name": "outletId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "voucherBasisId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "TenantUserId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "ClientId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "Extent.TenantUsers",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "correlationId",
            "in": "header",
            "description": "Correlation Id for the request",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V1.VoucherBases.Queries.Detail.DetailVoucherBasisQueryResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.BaseResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.NotFoundResponse"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Shared.Enums.DiscountTypes": {
        "enum": [
          0,
          1
        ],
        "type": "integer",
        "format": "int32"
      },
      "Shared.Enums.PaymentMethodTypes": {
        "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
        ],
        "type": "integer",
        "format": "int32"
      },
      "Shared.Enums.TaxTypes": {
        "enum": [
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "Shared.Enums.VoucherBasisPartTypes": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "Shared.Enums.VoucherBasisStatuses": {
        "enum": [
          0,
          1
        ],
        "type": "integer",
        "format": "int32"
      },
      "Shared.ValueObjects.Money": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "double"
          },
          "currencyCode": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Shared.ValueObjects.VoucherBasisSummation": {
        "type": "object",
        "properties": {
          "paymentMethodAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Shared.ValueObjects.Money"
              }
            ],
            "nullable": true
          },
          "productGroupAmountInclTax": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Shared.ValueObjects.Money"
              }
            ],
            "nullable": true
          },
          "productGroupAmountExclTax": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Shared.ValueObjects.Money"
              }
            ],
            "nullable": true
          },
          "orderFeeAmountInclTax": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Shared.ValueObjects.Money"
              }
            ],
            "nullable": true
          },
          "orderFeeAmountExclTax": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Shared.ValueObjects.Money"
              }
            ],
            "nullable": true
          },
          "taxAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Shared.ValueObjects.Money"
              }
            ],
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.BadRequestResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "nullable": true
          },
          "errorCode": {
            "type": "string",
            "format": "uuid"
          },
          "additionalData": {
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.BaseResponse": {
        "type": "object",
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.DiscountValueModel": {
        "type": "object",
        "properties": {
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Shared.Enums.DiscountTypes"
              }
            ],
            "nullable": true,
            "readOnly": true
          },
          "value": {
            "type": "number",
            "format": "double",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.MoneyModel": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "format": "double"
          },
          "currency": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.NotFoundResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "nullable": true
          },
          "errorCode": {
            "type": "string",
            "format": "uuid"
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.PagedResponseMetaData": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "format": "int32"
          },
          "offset": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.V0.SettlementReports.Queries.Detail.DetailSettlementReportQueryResponse": {
        "type": "object",
        "properties": {
          "voucherModel": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V0.SettlementReports.Queries.Detail.VoucherModel"
              }
            ],
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.V0.SettlementReports.Queries.Detail.VoucherItemModel": {
        "type": "object",
        "properties": {
          "account": {
            "type": "integer",
            "format": "int64"
          },
          "debit": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "credit": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "costCenter": {
            "type": "string",
            "nullable": true
          },
          "project": {
            "type": "string",
            "nullable": true
          },
          "custom1": {
            "type": "string",
            "nullable": true
          },
          "custom2": {
            "type": "string",
            "nullable": true
          },
          "custom3": {
            "type": "string",
            "nullable": true
          },
          "custom4": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.V0.SettlementReports.Queries.Detail.VoucherModel": {
        "type": "object",
        "properties": {
          "publishedDate": {
            "type": "string",
            "format": "date-time"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "voucherSeries": {
            "type": "string",
            "nullable": true
          },
          "voucherNumber": {
            "type": "string",
            "nullable": true
          },
          "voucherItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V0.SettlementReports.Queries.Detail.VoucherItemModel"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.V0.VoucherBases.Queries.Detail.CashInOutTotalsModel": {
        "type": "object",
        "properties": {
          "outletId": {
            "type": "string",
            "format": "uuid"
          },
          "tenantUserId": {
            "type": "string",
            "format": "uuid"
          },
          "tenantUserName": {
            "type": "string",
            "nullable": true,
            "deprecated": true
          },
          "totalOut": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "totalIn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "totalReceipt": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.V0.VoucherBases.Queries.Detail.ChangeSumModel": {
        "type": "object",
        "properties": {
          "startingAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "currentAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.V0.VoucherBases.Queries.Detail.ClientModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "cashBoxOpenCount": {
            "type": "integer",
            "format": "int32"
          },
          "changeSums": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V0.VoucherBases.Queries.Detail.ChangeSumModel"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.V0.VoucherBases.Queries.Detail.DetailVoucherBasisQueryResponse": {
        "type": "object",
        "properties": {
          "voucherBasis": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V0.VoucherBases.Queries.Detail.VoucherBasisModel"
              }
            ],
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.V0.VoucherBases.Queries.Detail.DiscountModel": {
        "type": "object",
        "properties": {
          "discountId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "discountValue": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V0.VoucherBases.Queries.Detail.DiscountValueModel"
              }
            ],
            "nullable": true
          },
          "timesUsed": {
            "type": "integer",
            "format": "int32"
          },
          "amountInclTax": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "amountExclTax": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.V0.VoucherBases.Queries.Detail.DiscountValueModel": {
        "type": "object",
        "properties": {
          "discountType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Shared.Enums.DiscountTypes"
              }
            ],
            "nullable": true
          },
          "discountValue": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.V0.VoucherBases.Queries.Detail.FeeModel": {
        "type": "object",
        "properties": {
          "feeId": {
            "type": "string",
            "format": "uuid"
          },
          "feeName": {
            "type": "string",
            "nullable": true
          },
          "amountInclTax": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "amountExclTax": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "accountNumber": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.V0.VoucherBases.Queries.Detail.GrandTotalModel": {
        "type": "object",
        "properties": {
          "grossAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Shared.ValueObjects.Money"
              }
            ],
            "nullable": true
          },
          "refundAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Shared.ValueObjects.Money"
              }
            ],
            "nullable": true
          },
          "netAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Shared.ValueObjects.Money"
              }
            ],
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.V0.VoucherBases.Queries.Detail.PartModel": {
        "type": "object",
        "properties": {
          "sum": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Shared.ValueObjects.VoucherBasisSummation"
              }
            ],
            "nullable": true
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Shared.Enums.VoucherBasisPartTypes"
              }
            ]
          },
          "paymentMethods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V0.VoucherBases.Queries.Detail.PaymentMethodModel"
            },
            "nullable": true
          },
          "productGroups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V0.VoucherBases.Queries.Detail.ProductGroupModel"
            },
            "nullable": true
          },
          "fees": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V0.VoucherBases.Queries.Detail.FeeModel"
            },
            "nullable": true
          },
          "taxes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V0.VoucherBases.Queries.Detail.TaxModel"
            },
            "nullable": true
          },
          "discounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V0.VoucherBases.Queries.Detail.DiscountModel"
            },
            "nullable": true
          },
          "vouchers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V0.VoucherBases.Queries.Detail.VoucherModel"
            },
            "nullable": true
          },
          "totalDiscountAmountInclTax": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "totalDiscountAmountExclTax": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "numberOfDiscountUsages": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.V0.VoucherBases.Queries.Detail.PaymentMethodModel": {
        "type": "object",
        "properties": {
          "paymentMethodId": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "paymentMethodType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Shared.Enums.PaymentMethodTypes"
              }
            ],
            "readOnly": true
          },
          "paymentMethodDisplayName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "amount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true,
            "readOnly": true
          },
          "accountNumber": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.V0.VoucherBases.Queries.Detail.ProductGroupModel": {
        "type": "object",
        "properties": {
          "productGroupId": {
            "type": "string",
            "format": "uuid"
          },
          "productGroupName": {
            "type": "string",
            "nullable": true
          },
          "amountInclTax": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "amountExclTax": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "accountNumber": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.V0.VoucherBases.Queries.Detail.TaxModel": {
        "type": "object",
        "properties": {
          "taxId": {
            "type": "string",
            "format": "uuid"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Shared.Enums.TaxTypes"
              }
            ]
          },
          "rate": {
            "type": "number",
            "format": "double"
          },
          "taxSaleAmountInclTax": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "taxSaleAmountExclTax": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "taxAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "accountNumber": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.V0.VoucherBases.Queries.Detail.VoucherBasisModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "outletId": {
            "type": "string",
            "format": "uuid"
          },
          "voucherNo": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Shared.Enums.VoucherBasisStatuses"
              }
            ]
          },
          "numberOfOpenChecks": {
            "type": "integer",
            "format": "int32"
          },
          "numberOfOrderReceiptCopies": {
            "type": "integer",
            "format": "int32"
          },
          "orderReceiptCopiesSum": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "numberOfCheckReceiptCopies": {
            "type": "integer",
            "format": "int32"
          },
          "checkReceiptCopiesSum": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "numberOfCheckoutReceiptCopies": {
            "type": "integer",
            "format": "int32"
          },
          "checkoutReceiptCopiesSum": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "sum": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Shared.ValueObjects.VoucherBasisSummation"
              }
            ],
            "nullable": true
          },
          "totalOrderAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true,
            "deprecated": true
          },
          "totalOrderRefundAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "totalCheckAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "totalCheckRefundAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "totalCheckoutAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "totalCheckoutRefundAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "lowestReferenceNumber": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "highestReferenceNumber": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "numberOfOrders": {
            "type": "integer",
            "format": "int32"
          },
          "numberOfChecks": {
            "type": "integer",
            "format": "int32"
          },
          "numberOfCheckouts": {
            "type": "integer",
            "format": "int32"
          },
          "numberOfOrderRefunds": {
            "type": "integer",
            "format": "int32"
          },
          "numberOfCheckRefunds": {
            "type": "integer",
            "format": "int32"
          },
          "numberOfCheckoutRefunds": {
            "type": "integer",
            "format": "int32"
          },
          "checkTotals": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V0.VoucherBases.Queries.Detail.GrandTotalModel"
              }
            ],
            "nullable": true
          },
          "checkoutTotals": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V0.VoucherBases.Queries.Detail.GrandTotalModel"
              }
            ],
            "nullable": true
          },
          "publishedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "parts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V0.VoucherBases.Queries.Detail.PartModel"
            },
            "nullable": true
          },
          "clients": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V0.VoucherBases.Queries.Detail.ClientModel"
            },
            "nullable": true
          },
          "overdueGiftCardsBalance": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "overdueGiftCardsAccount": {
            "type": "string",
            "nullable": true
          },
          "overdueGiftCardsCount": {
            "type": "integer",
            "format": "int32"
          },
          "cashInOutTotals": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V0.VoucherBases.Queries.Detail.CashInOutTotalsModel"
            },
            "nullable": true
          },
          "overdueWalletsAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "overdueWalletsAccount": {
            "type": "string",
            "nullable": true
          },
          "overdueWalletsCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.V0.VoucherBases.Queries.Detail.VoucherModel": {
        "type": "object",
        "properties": {
          "voucherId": {
            "type": "string",
            "format": "uuid"
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.V0.VoucherBases.Queries.List.ListVoucherBasisQueryResponse": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V0.VoucherBases.Queries.List.VoucherBasisModel"
            },
            "nullable": true
          },
          "meta": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.PagedResponseMetaData"
              }
            ],
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.V0.VoucherBases.Queries.List.VoucherBasisModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "voucherNumber": {
            "type": "string",
            "description": "Unique number for the voucher, will increment each day",
            "nullable": true
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Shared.Enums.VoucherBasisStatuses"
              }
            ]
          },
          "publishedDate": {
            "type": "string",
            "description": "The date and time when the voucher basis was published",
            "format": "date-time",
            "nullable": true
          },
          "standardPart": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V0.VoucherBases.Queries.List.VoucherBasisPartModel"
              }
            ],
            "nullable": true
          },
          "invoicePart": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V0.VoucherBases.Queries.List.VoucherBasisPartModel"
              }
            ],
            "nullable": true
          },
          "mewsPart": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V0.VoucherBases.Queries.List.VoucherBasisPartModel"
              }
            ],
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.V0.VoucherBases.Queries.List.VoucherBasisPartModel": {
        "type": "object",
        "properties": {
          "paymentMethodAmount": {
            "type": "number",
            "format": "double"
          },
          "paymentMethodCurrency": {
            "type": "string",
            "nullable": true
          },
          "productGroupAmountInclTax": {
            "type": "number",
            "format": "double"
          },
          "productGroupCurrencyInclTax": {
            "type": "string",
            "nullable": true
          },
          "productGroupAmountExclTax": {
            "type": "number",
            "format": "double"
          },
          "productGroupCurrencyExclTax": {
            "type": "string",
            "nullable": true
          },
          "orderFeeAmountInclTax": {
            "type": "number",
            "format": "double"
          },
          "orderFeeCurrencyInclTax": {
            "type": "string",
            "nullable": true
          },
          "orderFeeAmountExclTax": {
            "type": "number",
            "format": "double"
          },
          "orderFeeCurrencyExclTax": {
            "type": "string",
            "nullable": true
          },
          "taxAmount": {
            "type": "number",
            "format": "double"
          },
          "taxCurrency": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.V0.VoucherBases.VoucherTrackingModel": {
        "type": "object",
        "properties": {
          "costCenter": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "project": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.V0.VoucherBases.Vouchers.Queries.Detail.DetailVoucherQueryResponse": {
        "type": "object",
        "properties": {
          "voucher": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V0.VoucherBases.Vouchers.Queries.Detail.VoucherModel"
              }
            ],
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.V0.VoucherBases.Vouchers.Queries.Detail.VoucherItemModel": {
        "type": "object",
        "properties": {
          "accountNumber": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "debit": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "credit": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "tracking": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V0.VoucherBases.VoucherTrackingModel"
              }
            ],
            "nullable": true,
            "readOnly": true
          },
          "custom1": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "custom2": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "custom3": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "custom4": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "custom5": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.V0.VoucherBases.Vouchers.Queries.Detail.VoucherModel": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "voucherNo": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "tracking": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V0.VoucherBases.VoucherTrackingModel"
              }
            ],
            "nullable": true,
            "readOnly": true
          },
          "custom1": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "custom2": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "custom3": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "custom4": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "currencyCode": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V0.VoucherBases.Vouchers.Queries.Detail.VoucherItemModel"
            },
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.V1.VoucherBases.Queries.Detail.CashInOutTotalsModel": {
        "type": "object",
        "properties": {
          "outletId": {
            "type": "string",
            "format": "uuid"
          },
          "tenantUserId": {
            "type": "string",
            "format": "uuid"
          },
          "totalOut": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "totalIn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "totalReceipt": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.V1.VoucherBases.Queries.Detail.ChangeSumModel": {
        "type": "object",
        "properties": {
          "startingAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "currentAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.V1.VoucherBases.Queries.Detail.ClientModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "cashBoxOpenCount": {
            "type": "integer",
            "format": "int32"
          },
          "changeSums": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V1.VoucherBases.Queries.Detail.ChangeSumModel"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.V1.VoucherBases.Queries.Detail.DetailVoucherBasisQueryResponse": {
        "type": "object",
        "properties": {
          "voucherBasis": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V1.VoucherBases.Queries.Detail.VoucherBasisModel"
              }
            ],
            "nullable": true
          },
          "tenantUsers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V1.VoucherBases.Queries.Detail.TenantUserModel"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.V1.VoucherBases.Queries.Detail.DiscountModel": {
        "type": "object",
        "properties": {
          "discountId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "discountValue": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.DiscountValueModel"
              }
            ],
            "nullable": true
          },
          "timesUsed": {
            "type": "integer",
            "format": "int32"
          },
          "amountInclTax": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "amountExclTax": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.V1.VoucherBases.Queries.Detail.FeeModel": {
        "type": "object",
        "properties": {
          "feeId": {
            "type": "string",
            "format": "uuid"
          },
          "feeName": {
            "type": "string",
            "nullable": true
          },
          "amountInclTax": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "amountExclTax": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "accountNumber": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.V1.VoucherBases.Queries.Detail.GrandTotalModel": {
        "type": "object",
        "properties": {
          "grossAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Shared.ValueObjects.Money"
              }
            ],
            "nullable": true
          },
          "refundAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Shared.ValueObjects.Money"
              }
            ],
            "nullable": true
          },
          "netAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Shared.ValueObjects.Money"
              }
            ],
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.V1.VoucherBases.Queries.Detail.PartModel": {
        "type": "object",
        "properties": {
          "sum": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Shared.ValueObjects.VoucherBasisSummation"
              }
            ],
            "nullable": true
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Shared.Enums.VoucherBasisPartTypes"
              }
            ]
          },
          "paymentMethods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V1.VoucherBases.Queries.Detail.PaymentMethodModel"
            },
            "nullable": true
          },
          "productGroups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V1.VoucherBases.Queries.Detail.ProductGroupModel"
            },
            "nullable": true
          },
          "fees": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V1.VoucherBases.Queries.Detail.FeeModel"
            },
            "nullable": true
          },
          "taxes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V1.VoucherBases.Queries.Detail.TaxModel"
            },
            "nullable": true
          },
          "discounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V1.VoucherBases.Queries.Detail.DiscountModel"
            },
            "nullable": true
          },
          "vouchers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V1.VoucherBases.Queries.Detail.VoucherModel"
            },
            "nullable": true
          },
          "totalDiscountAmountInclTax": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "totalDiscountAmountExclTax": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "numberOfDiscountUsages": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.V1.VoucherBases.Queries.Detail.PaymentMethodModel": {
        "type": "object",
        "properties": {
          "paymentMethodId": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "paymentMethodType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Shared.Enums.PaymentMethodTypes"
              }
            ],
            "readOnly": true
          },
          "paymentMethodDisplayName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "amount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true,
            "readOnly": true
          },
          "accountNumber": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.V1.VoucherBases.Queries.Detail.ProductGroupModel": {
        "type": "object",
        "properties": {
          "productGroupId": {
            "type": "string",
            "format": "uuid"
          },
          "productGroupName": {
            "type": "string",
            "nullable": true
          },
          "amountInclTax": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "amountExclTax": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "accountNumber": {
            "type": "string",
            "nullable": true
          },
          "count": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.V1.VoucherBases.Queries.Detail.TaxModel": {
        "type": "object",
        "properties": {
          "taxId": {
            "type": "string",
            "format": "uuid"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Shared.Enums.TaxTypes"
              }
            ]
          },
          "rate": {
            "type": "number",
            "format": "double"
          },
          "taxSaleAmountInclTax": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "taxSaleAmountExclTax": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "taxAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "accountNumber": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.V1.VoucherBases.Queries.Detail.TenantUserModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "readOnly": true
          },
          "tenantId": {
            "type": "string",
            "format": "uuid",
            "readOnly": true
          },
          "email": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "disabled": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          },
          "deleted": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.V1.VoucherBases.Queries.Detail.VoucherBasisModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "outletId": {
            "type": "string",
            "format": "uuid"
          },
          "voucherNo": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Shared.Enums.VoucherBasisStatuses"
              }
            ]
          },
          "numberOfOpenChecks": {
            "type": "integer",
            "format": "int32"
          },
          "numberOfOrderReceiptCopies": {
            "type": "integer",
            "format": "int32"
          },
          "orderReceiptCopiesSum": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "numberOfCheckReceiptCopies": {
            "type": "integer",
            "format": "int32"
          },
          "checkReceiptCopiesSum": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "numberOfCheckoutReceiptCopies": {
            "type": "integer",
            "format": "int32"
          },
          "checkoutReceiptCopiesSum": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "sum": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Shared.ValueObjects.VoucherBasisSummation"
              }
            ],
            "nullable": true
          },
          "totalOrderRefundAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "totalCheckAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "totalCheckRefundAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "totalCheckoutAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "totalCheckoutRefundAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "lowestReferenceNumber": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "highestReferenceNumber": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "numberOfOrders": {
            "type": "integer",
            "format": "int32"
          },
          "numberOfChecks": {
            "type": "integer",
            "format": "int32"
          },
          "numberOfCheckouts": {
            "type": "integer",
            "format": "int32"
          },
          "numberOfOrderRefunds": {
            "type": "integer",
            "format": "int32"
          },
          "numberOfCheckRefunds": {
            "type": "integer",
            "format": "int32"
          },
          "numberOfCheckoutRefunds": {
            "type": "integer",
            "format": "int32"
          },
          "checkTotals": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V1.VoucherBases.Queries.Detail.GrandTotalModel"
              }
            ],
            "nullable": true
          },
          "checkoutTotals": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V1.VoucherBases.Queries.Detail.GrandTotalModel"
              }
            ],
            "nullable": true
          },
          "publishedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "parts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V1.VoucherBases.Queries.Detail.PartModel"
            },
            "nullable": true
          },
          "clients": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V1.VoucherBases.Queries.Detail.ClientModel"
            },
            "nullable": true
          },
          "overdueGiftCardsBalance": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "overdueGiftCardsAccount": {
            "type": "string",
            "nullable": true
          },
          "overdueGiftCardsCount": {
            "type": "integer",
            "format": "int32"
          },
          "cashInOutTotals": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.V1.VoucherBases.Queries.Detail.CashInOutTotalsModel"
            },
            "nullable": true
          },
          "overdueWalletsAmount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Voucher.Api.Models.Public.V1.MoneyModel"
              }
            ],
            "nullable": true
          },
          "overdueWalletsAccount": {
            "type": "string",
            "nullable": true
          },
          "overdueWalletsCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Voucher.Api.Models.Public.V1.V1.VoucherBases.Queries.Detail.VoucherModel": {
        "type": "object",
        "properties": {
          "voucherId": {
            "type": "string",
            "format": "uuid"
          }
        },
        "additionalProperties": false
      },
      "Voucher.Domain.Models.VoucherBases.VoucherBasisSaleTypes": {
        "enum": [
          0,
          1
        ],
        "type": "integer",
        "format": "int32"
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "apiKey",
        "description": "JWT Authorization header using bearer scheme",
        "name": "Authorization",
        "in": "header"
      },
      "Access-Token": {
        "type": "apiKey",
        "description": "Access token in header",
        "name": "Access-Token",
        "in": "header"
      }
    }
  },
  "tags": [
    {
      "name": "Meta"
    },
    {
      "name": "SettlementReports"
    },
    {
      "name": "VoucherBases",
      "description": "Voucher basis can be in two statuses:\n\nDraft: The ongoing voucherbasis, each new order will be added to the voucher basis in draft.\n\nPublished: Each day / when configured in outlet settings a new draft will be created and the current one is moved to published status."
    }
  ]
}