hdm-am 0.1.0

Client for the Armenian fiscal cash register (HDM) protocol per the State Revenue Committee spec
Documentation
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "FiscalReportRequest",
  "description": "Op 9 request: print a fiscal report.",
  "type": "object",
  "properties": {
    "reportType": {
      "description": "X or Z report.",
      "type": "integer",
      "format": "uint8",
      "minimum": 0,
      "maximum": 255
    },
    "startDate": {
      "description": "Start of the report time range (epoch-style integer, per spec example).",
      "type": "integer",
      "format": "int64"
    },
    "endDate": {
      "description": "End of the report time range.",
      "type": "integer",
      "format": "int64"
    }
  },
  "required": [
    "reportType",
    "startDate",
    "endDate"
  ],
  "anyOf": [
    {
      "oneOf": [
        {
          "description": "Restrict to a single department (`deptId`).",
          "type": "object",
          "properties": {
            "deptId": {
              "type": "integer",
              "format": "uint32",
              "minimum": 0
            }
          },
          "required": [
            "deptId"
          ]
        },
        {
          "description": "Restrict to a single cashier (`cashierId`).",
          "type": "object",
          "properties": {
            "cashierId": {
              "type": "integer",
              "format": "uint32",
              "minimum": 0
            }
          },
          "required": [
            "cashierId"
          ]
        },
        {
          "description": "Restrict to a transaction type — cash vs cashless (`transactionTypeId`).",
          "type": "object",
          "properties": {
            "transactionTypeId": {
              "type": "integer",
              "format": "uint32",
              "minimum": 0
            }
          },
          "required": [
            "transactionTypeId"
          ]
        }
      ]
    },
    {}
  ]
}