Reconciliation recount format
The format of reconciliation-recount: a recount of a completed till audit, with each tender's and item's correction against the previous count. What each field means for an integration, and how to consume the event, is in
Receiving the events.
The copy External Events links to is rec.public.event.reconciliation-recount.v2.json.
{
"id": "hiiretail.contracts.reconciliations.ReconciliationRecount.v1",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "ReconciliationRecount",
"description": "ReconciliationRecount event",
"type": "object",
"required": [
"tenantId",
"businessUnitId",
"correlationId",
"reconciliationId",
"recountId",
"timestamp"
],
"properties": {
"tenantId": {
"type": "string",
"description": "The tenant id for the reconciliation"
},
"businessUnitId": {
"type": "string",
"description": "The business unit id for the reconciliation"
},
"correlationId": {
"type": "string",
"description": "The correlation id that can be used to track the message to other services"
},
"reconciliationId": {
"type": "string",
"description": "The reconciliation id"
},
"reconciliationType": {
"type": "string",
"description": "Type of reconciliation",
"enum": [
"CASH_DRAWER",
"CASH_CHANGER"
]
},
"recountId": {
"type": "string",
"description": "The count id of the recount"
},
"workstationId": {
"type": [
"null",
"string"
],
"description": "If workstation accountability, this is the workstation id used for the reconciliation"
},
"operatorId": {
"type": [
"null",
"string"
],
"description": "If operator accountability, this is the operator id used for the reconciliation"
},
"userId": {
"type": [
"null",
"string"
],
"description": "The user id of the user that performed the recount"
},
"externalUserId": {
"type": [
"null",
"string"
],
"description": "The external user id of the user that performed the recount"
},
"comment": {
"type": [
"null",
"string"
],
"description": "The comment by the user that performed the recount"
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "The timestamp for the recount event"
},
"businessDate": {
"type": "string",
"format": "date",
"description": "The date (not time) this recount applies to."
},
"tenders": {
"type": "array",
"items": {
"$ref": "#/$defs/RecountTender"
},
"description": "The recount data for each tender"
},
"items": {
"type": "array",
"items": {
"$ref": "#/$defs/RecountItem"
},
"description": "The recount data for each item"
}
},
"$defs": {
"RecountTender": {
"title": "RecountTender",
"type": "object",
"required": [
"tenderId",
"currencyId",
"isReadOnly"
],
"properties": {
"tenderId": {
"type": "string",
"description": " The tender id"
},
"currencyId": {
"type": "string",
"description": "The currency id"
},
"isReadOnly": {
"type": "boolean"
},
"expectedAmount": {
"type": [
"number",
"null"
],
"description": "The expected amount for the tender, i.e. the system accumulated amount based on all transactions performed."
},
"actualAmount": {
"type": [
"number",
"null"
],
"description": "The actual amount counted for the tender."
},
"expectedQuantity": {
"type": [
"integer",
"null"
],
"description": "The expected quantity for the tender, i.e. the system accumulated quantity based on all transactions performed."
},
"actualQuantity": {
"type": [
"integer",
"null"
],
"description": "The actual amount for the tender."
},
"amountCorrection": {
"type": [
"number",
"null"
],
"description": "Deviation between recounted amount and previously counted amount."
},
"quantityCorrection": {
"type": [
"integer",
"null"
],
"description": "Deviation between recounted quantity and previously counted quantity."
},
"isCashChanger": {
"type": [
"boolean",
"null"
],
"description": "Is this a cash changer tender. False if not present"
}
}
},
"RecountItem": {
"title": "RecountItem",
"type": "object",
"required": [
"reconciliationMethod",
"reconciliationTypeCode"
],
"properties": {
"reconciliationMethod": {
"type": "string",
"description": "If AUTOMATIC then item is read only, if MANUAL then item is not read only"
},
"reconciliationTypeCode": {
"type": "string",
"description": "This item reconciliationTypeCode"
},
"name": {
"type": [
"string",
"null"
],
"description": "The name of the item"
},
"isReadOnly": {
"type": "boolean",
"description": "false if it is required to count amount or quantity"
},
"expectedAmount": {
"type": [
"number",
"null"
],
"description": "The actual amount counted for the item."
},
"actualAmount": {
"type": [
"number",
"null"
],
"description": "The actual amount counted for the item."
},
"expectedQuantity": {
"type": [
"integer",
"null"
],
"description": "The expected quantity for the item, i.e. the system accumulated quantity based on all transactions performed."
},
"actualQuantity": {
"type": [
"integer",
"null"
],
"description": "The actual amount for the item."
},
"amountCorrection": {
"type": [
"number",
"null"
],
"description": "Deviation between recounted amount and previously counted amount."
},
"quantityCorrection": {
"type": [
"integer",
"null"
],
"description": "Deviation between recounted quantity and previously counted quantity."
}
}
}
}
}