Scope
This package includes:- Customer check-ins, the payment locations they use and customers temporarily blocked from checking in
- Basket lifecycle and totals, including baskets abandoned before payment
- Payment transactions and their underlying payment attempts
- Verification sessions and control scans, with item-level results
- Store configuration governing session timeouts and control scan frequency
Key Principle
The Scan & Pay and Payments package represents how a customer journey converts into a completed, settled payment. It shows where that conversion breaks down, and why.Payment Coordinator — Transaction — pay_transaction
Definition
| Property | Type | Description |
|---|---|---|
| Id | int | Internal identifier for the transaction (Primary Key) |
| OperationId | string | Identifier for the operation |
| Amount | decimal | Amount of the transaction |
| ReceiptId | string | Identifier for the receipt associated with the transaction |
| StoreId | string | Identifier for the store where the transaction took place |
| State | string | State of the transaction (e.g. Canceled, Captured, Refunded) |
| Type | string | Type of transaction (e.g. Payment, Refund) |
| CustomerId | string | Identifier for the customer who made the transaction |
| PaymentLocationId | string | Identifier for the location where the payment took place |
| CreationDate | timestamp | Timestamp when the transaction was created |
| SettlementDate | timestamp | Timestamp when the transaction was settled |
| OriginalTransactionId | int | Original identifier for the transaction |
| PaymentType | string | Type of payment used in the transaction (e.g. POS, ScanAndPay, ManualTopUp) |
| UserId | string | Identifier for the login account of the customer who made the transaction |
Sample data
| Id | OperationId | Amount | ReceiptId | StoreId | State | Type | CustomerId | PaymentLocationId | CreationDate | SettlementDate | OriginalTransactionId | PaymentType | UserId |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 029 | 2.55 | 034 | 099 | Canceled | Payment | 074 | 011 | 2026-04-13T10:58:59.468+00:00 | 2026-05-14T13:45:59.468+00:00 | 082 | POS | 023 |
| 2 | 037 | 0.59 | 049 | 012 | Captured | Payment | 083 | 093 | 2025-03-10T12:00:59.468+00:00 | 2025-04-11T13:45:59.468+00:00 | 022 | ScanAndPay | 028 |
| 3 | 018 | 2.00 | 046 | 088 | Refunded | Refund | 025 | 024 | 2024-10-20T13:45:59.468+00:00 | 2024-11-21T13:45:59.468+00:00 | 048 | ManualTopUp | 072 |
Payment Coordinator — Transaction Entry — pay_transaction_entry
Definition
| Property | Type | Description |
|---|---|---|
| Id | int | Internal identifier for the transaction entry (Primary Key) |
| TransactionId | int | Identifier for the transaction |
| ExternalTransactionId | string | External identifier for the transaction |
| Type | string | Type of transaction entry (e.g. Bonus, Card, LoyaltySubscription) |
| State | string | State of the transaction entry (e.g. Canceled, Captured, Refunded) |
| Amount | decimal | Amount of the transaction entry |
| CreationDate | timestamp | Timestamp when the transaction entry was created |
| SettlementDate | timestamp | Timestamp when the transaction entry was settled |
Sample data
| Id | TransactionId | ExternalTransactionId | Type | State | Amount | CreationDate | SettlementDate |
|---|---|---|---|---|---|---|---|
| 1 | 6 | 084 | Bonus | Canceled | 23.56 | 2026-05-14T13:45:59.468+00:00 | 2026-05-15T13:45:59.468+00:00 |
| 2 | 4 | 053 | Card | Refunded | 9.12 | 2025-03-10T12:00:59.468+00:00 | 2025-03-11T12:00:59.468+00:00 |
| 3 | 2 | 022 | LoyaltySubscription | Captured | 4.00 | 2024-10-20T13:45:59.468+00:00 | 2024-10-21T13:45:59.468+00:00 |
Payment Coordinator — Payment Location — pay_payment_location
Definition
| Property | Type | Description |
|---|---|---|
| Id | string | Internal identifier for the payment location (Primary Key) |
| StoreId | string | Identifier for the store where the payment took place |
Sample data
| Id | StoreId |
|---|---|
| 024 | 042 |
| 092 | 029 |
| 022 | 044 |
Payment Coordinator — Checkin — pay_checkin
Definition
| Property | Type | Description |
|---|---|---|
| Id | long | Internal identifier for the record (Primary Key) |
| CustomerId | string | Identifier for the customer that checked in |
| PaymentLocationId | string | Identifier for the payment location where the customer checked in |
| CheckInDate | timestamp | Timestamp when the customer checked in |
| ClearCheckInDate | timestamp | Timestamp when the checkin was cleared |
Sample data
| Id | CustomerId | PaymentLocationId | CheckInDate | ClearCheckInDate |
|---|---|---|---|---|
| 1001 | 038 | 067 | 2026-05-14T13:45:59.468+00:00 | 2026-05-15T13:45:59.468+00:00 |
| 1002 | 022 | 069 | 2025-03-10T12:00:59.468+00:00 | 2025-03-11T12:00:59.468+00:00 |
| 1003 | 046 | 081 | 2024-10-20T13:45:59.468+00:00 | 2024-10-21T13:45:59.468+00:00 |
Payment Coordinator — Checkin Blocked Customer — pay_checkin_blocked_customer
Definition
| Property | Type | Description |
|---|---|---|
| Id | long | Internal identifier for the record (Primary Key) |
| CustomerId | string | Identifier for the blocked customer |
| BlockedUntilDate | timestamp | Timestamp until the customer is blocked from checking in |
| BlockedDate | timestamp | Timestamp when the customer got blocked from checking in |
Sample data
| Id | CustomerId | BlockedUntilDate | BlockedDate |
|---|---|---|---|
| 1001 | 039 | 2026-05-14T16:45:59.468+00:00 | 2026-05-14T13:45:59.468+00:00 |
| 1002 | 093 | 2025-03-10T13:00:59.468+00:00 | 2025-03-10T12:00:59.468+00:00 |
| 1003 | 029 | 2024-10-20T15:45:59.468+00:00 | 2024-10-20T13:45:59.468+00:00 |
Scan & Pay — Verifications — pay_verifications
Definition
| Property | Type | Description |
|---|---|---|
| ExternalId | string | External identifier for the verificator |
| BasketId | string | Identifier for the basket that is getting verified |
| CustomerId | string | Identifier for the customer that is getting verified |
| CustomerType | string | Type of customer |
| CustomerReference | string | External reference to the customer |
| CustomerNotFound | boolean | Indicates whether the customer was found |
| DeviceType | string | Type of device associated with the verified basket |
| DeviceReference | string | External reference to the device associated with the verified basket |
| ExternalBasketId | string | External identifier for the basket that is getting verified |
| StoreId | string | Identifier for the store associated with the verified basket |
| CreatedUtc | timestamp | UTC timestamp when the verification was created |
| BasketTotalAmount | decimal | Total monetary amount of the verified basket |
| BasketTotalDiscount | decimal | Total discount applied to the verified basket |
| BasketTotalItems | int | Total count of items in the verified basket |
| TotalDeadlineUtc | timestamp | UTC timestamp when the verification should be completed |
| StartDeadlineUtc | timestamp | UTC timestamp when the verification should be started |
| TimedOut | boolean | Indicates whether the verification timed out |
Sample data
| ExternalId | BasketId | CustomerId | CustomerType | CustomerReference | CustomerNotFound | DeviceType | DeviceReference | ExternalBasketId | StoreId | CreatedUtc | BasketTotalAmount | BasketTotalDiscount | BasketTotalItems | TotalDeadlineUtc | TimedOut |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 029 | 049 | 076 | app | 042 | false | selfcheckout | 092 | 083 | 038 | 2026-05-14T13:45:59.468+00:00 | 10.34 | 5.00 | 10 | 2026-11-15T13:45:59.468+00:00 | false |
| 032 | 038 | 048 | loyaltyCard | 044 | true | mobile | 028 | 082 | 012 | 2025-03-10T12:00:59.468+00:00 | 190.25 | 10.50 | 12 | 2025-03-12T12:00:59.468+00:00 | true |
| 084 | 034 | 083 | app | 094 | false | mobile | 021 | 072 | 019 | 2024-10-20T13:45:59.468+00:00 | 289.00 | 5.25 | 20 | 2024-10-25T13:45:59.468+00:00 | true |
Scan & Pay — Baskets — pay_baskets
Definition
| Property | Type | Description |
|---|---|---|
| Id | long | Identifier for the basket (Primary Key) |
| StoreId | string | Identifier for the store associated with the basket |
| StoreName | string | Name of the store associated with the basket |
| ChainName | string | Name of the chain associated with the basket |
| DeviceReference | string | External reference to the device associated with the basket |
| DeviceType | string | Type of device associated with the verified basket |
| CustomerId | string | Identifier for the customer associated with the basket |
| CustomerReference | string | External reference to the customer associated with the basket |
| CustomerReferenceType | string | Type of reference to the customer associated with the basket |
| CreatedAt | timestamp | Timestamp when the basket was created |
| LastModifiedAt | timestamp | Timestamp when the basket was last modified |
| ExternalId | string | External identifier for the basket |
| ReceiptId | string | Identifier for the receipt associated with the basket |
| State | string | State of the basket |
| Currency | string | Currency used when purchasing the items in the basket |
| BasketTotalsAmount | decimal | Total amount of the basket |
| BasketTotalsDiscount | decimal | Total discount applied to the basket |
| BasketTotalsTax | decimal | Total tax applied to the basket |
| BasketTotalsItems | int | Total count of the items in the basket |
| VerificationId | string | Identifier for the verification associated with the basket |
| VerificationOverallStatus | string | Status of the verification associated with the basket |
| PaymentMethod | string | Payment method used when purchasing the items in the basket |
| PaymentId | string | Identifier for the payment associated with the basket |
| ExitCode | string | Identifier for the transaction associated with the basket at the exit gate |
| ExitType | string | Type of exit used to complete the basket session |
| CancellationReason | string | Reason for cancelling the basket, if that’s the case |
Sample data
| Id | StoreId | StoreName | ChainName | DeviceReference | DeviceType | CustomerId | CustomerReference | CustomerReferenceType | CreatedAt | LastModifiedAt | ExternalId | ReceiptId | State | Currency | BasketTotalsAmount | BasketTotalsDiscount | BasketTotalsTax | BasketTotalsItems | VerificationId | VerificationOverallStatus | PaymentMethod | PaymentId | ExitCode | ExitType | CancellationReason |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1001 | 024 | Fjord Northside | Fjord | 033 | mobile | 088 | 022 | app | 2026-05-14T13:45:59.468+00:00 | 2026-07-14T13:45:59.468+00:00 | 092 | 015 | Open | DKK | 100.34 | 9.22 | 15.25 | 5 | 023 | Skipped | App | 012 | 018 | Gates | NULL |
| 1002 | 023 | Alpha Riverside | Alpha | 038 | selfcheckout | 064 | 028 | NULL | 2025-03-10T12:00:59.468+00:00 | 2025-03-15T12:00:59.468+00:00 | 011 | 051 | Purchased | DKK | 92.83 | 2.00 | 7.10 | 3 | 045 | Passed | softpay | 015 | 095 | Gates | NULL |
| 1003 | 084 | Fjord Harbourside | Fjord | 082 | mobile | 087 | 091 | app | 2024-10-20T13:45:59.468+00:00 | 2024-11-20T13:45:59.468+00:00 | 003 | 067 | Cancelled | DKK | 84.55 | 0.00 | 5.35 | 6 | 054 | TimedOut | App | 017 | 082 | Simple | BasketExpired |
Scan & Pay — Configs — pay_configs
Definition
| Property | Type | Description |
|---|---|---|
| Id | long | Internal identifier for the record (Primary Key) |
| StoreId | string | Identifier for the store which the configuration applies to |
| StartTimeout | timestamp | Timestamp when the timeout starts |
| TotalTimeout | timestamp | Timestamp when the timeout ends |
| RescanFrequency | decimal | Frequency of rescan triggers for logged in customers |
| AnonymousRescanFrequency | decimal | Frequency of rescan triggers for anonymous customers |
| ApplicableFrom | timestamp | Timestamp when the configuration starts being applied |
| ApplicableTo | timestamp | Timestamp when the configuration stops being applied |
| ConfigurationType | string | Type of configuration |
| LastEditUtc | timestamp | UTC timestamp when the configuration was last edited |
| CreatedAtUtc | timestamp | UTC timestamp when the configuration was created |
| LastEditBy | string | Admin user who last edited the configuration |
| StandardSettingsId | string | Identifier for the standard settings applied to the configuration |
| ExitType | string | Type of exit for the configuration |
| SelfCheckoutEnabled | boolean | Indicates whether the self checkout is enabled for the configuration |
| ScanAndPayMobileEnabled | boolean | Indicates whether mobile scan and pay is enabled for the configuration |
| SettingsStartTimeout | timestamp | Timestamp when the timeout starts as per the settings |
| SettingsRescanFrequency | decimal | Frequency of rescan triggers for identified customers as per the settings |
Sample data
| Id | StoreId | StartTimeout | TotalTimeout | RescanFrequency | AnonymousRescanFrequency | ApplicableFrom | ApplicableTo | ConfigurationType | LastEditUtc | CreatedAtUtc | LastEditBy | StandardSettingsId | ExitType | SelfCheckoutEnabled | ScanAndPayMobileEnabled | SettingsStartTimeout | SettingsRescanFrequency |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1001 | 067 | 2026-05-14T13:45:59.468+00:00 | 2026-05-15T13:45:59.468+00:00 | NULL | NULL | 2026-05-14T13:45:59.468+00:00 | 2026-05-16T13:45:59.468+00:00 | store-temporary-setting | 2026-05-14T15:45:59.468+00:00 | 2026-05-14T13:45:59.468+00:00 | Store Employee | 044 | Gates | true | true | 2026-05-14T13:45:59.468+00:00 | 100.00 |
| 1002 | 069 | 2025-03-10T12:00:59.468+00:00 | 2025-03-11T12:00:59.468+00:00 | 100.00 | 100.00 | 2025-03-10T12:00:59.468+00:00 | 2025-03-12T12:00:59.468+00:00 | static | 2025-03-10T14:00:59.468+00:00 | 2025-03-10T12:00:59.468+00:00 | Store Employee | 062 | Simple | false | false | 2025-03-10T12:00:59.468+00:00 | NULL |
| 1003 | 072 | 2024-10-20T13:45:59.468+00:00 | 2024-10-21T13:45:59.468+00:00 | 100.00 | 100.00 | 2024-10-20T13:45:59.468+00:00 | 2024-10-22T13:45:59.468+00:00 | static | 2024-10-20T16:45:59.468+00:00 | 2024-10-20T13:45:59.468+00:00 | Store Employee | 073 | Gates | true | true | 2024-10-20T13:45:59.468+00:00 | NULL |
Scan & Pay — Device Configs — pay_device_configs
Definition
| Property | Type | Description |
|---|---|---|
| Id | string | Identifier for the device configuration (Primay Key) |
| StoreId | string | Identifier for the store associated with the device configuration |
| DeviceReference | string | External reference to the device included in the configuration |
Sample data
| Id | StoreId | DeviceReference |
|---|---|---|
| 039 | 093 | 066 |
| 048 | 084 | 033 |
| 012 | 021 | 055 |
Scan & Pay — Rescan — pay_rescan
Definition
| Property | Type | Description |
|---|---|---|
| Id | string | Identifier for the rescan (Primary Key) |
| CustomerId | string | Identifier for the customer who made the rescan |
| StoreId | string | Identifier for the store where to rescan took place |
| BasketId | string | Identifier for the basket associated with the rescan |
| Status | string | Status of the rescan |
| CreatedAt | timestamp | Timestamp when the rescan was created |
| UpdatedAt | timestamp | Timestamp when the rescan was updated |
| AppliedEvaluationRule | string | Evaluation rule that is being applied to the rescan |
Sample data
| Id | CustomerId | StoreId | BasketId | Status | CreatedAt | UpdatedAt | AppliedEvaluationRule |
|---|---|---|---|---|---|---|---|
| 001 | 001 | 083 | 062 | Skipped | 2026-05-14T13:45:59.468+00:00 | 2026-05-15T13:45:59.468+00:00 | IsRescanForced |
| 002 | 038 | 003 | 090 | Required | 2025-03-10T12:00:59.468+00:00 | 2025-03-11T12:00:59.468+00:00 | IsRescanDisabled |
| 003 | 083 | 013 | 071 | Skipped | 2024-10-20T13:45:59.468+00:00 | 2024-10-21T13:45:59.468+00:00 | IsRescanForced |
Scan & Pay — Rescan Evaluation Config — pay_rescan_evaluation_config
Definition
| Property | Type | Description |
|---|---|---|
| RescanId | string | Identifier for the rescan that is being evaluated (Primary Key) |
| ItemsCountToScan | int | Count of items that need to be scanned |
| BasketId | string | Identifier for the basket associated with the rescan |
| CreatedAt | timestamp | Timestamp when the rescan evaluation configuration was created |
| BasketItemsCount | int | Count of items in the associated basket |
Sample data
| RescanId | ItemsCountToScan | BasketId | CreatedAt | BasketItemsCount |
|---|---|---|---|---|
| 086 | 3 | 076 | 2026-05-14T13:45:59.468+00:00 | 3 |
| 024 | 5 | 045 | 2025-03-10T12:00:59.468+00:00 | 6 |
| 066 | 2 | 098 | 2024-10-20T13:45:59.468+00:00 | 2 |
Scan & Pay — Rescan Item Evaluation — pay_rescan_item_evaluation
Definition
| Property | Type | Description |
|---|---|---|
| Id | string | Identifier for the evaluation of the item (Primary Key) |
| RescanId | string | Identifier for the rescan event associated with the item evaluation |
| Ean | string | Ean code of the item being evaluated |
| Quantity | int | Quantity of the evaluated item inputted by the customer before rescan |
| Status | string | Status of the evaluation |
| ProductId | string | Identifier for the item being evaluated |
| BasketItemQuantity | int | Confirmed quantity of the item after the evaluation |
| ProductName | string | Name of the item being evaluated |
Sample data
| Id | RescanId | Ean | Quantity | Status | ProductId | BasketItemQuantity | ProductName |
|---|---|---|---|---|---|---|---|
| 001 | 035 | 5710815000014 | 3 | Passed | 055 | 2 | Absolut Vodka |
| 002 | 039 | 5790817000019 | 1 | Skipped | 044 | 1 | Gordon’s Gin |
| 003 | 002 | 5719715000020 | 2 | Skipped | 099 | 2 | Captain Morgan Rum |
Scan & Pay — Verificators — pay_verificators
Definition
| Property | Type | Description |
|---|---|---|
| ExternalId | string | External identifier for the verificator (Primary Key) |
| Status | string | Status of the verificator (e.g. Skipped, Failed, Passed) |
| Group | string | Type of verificator (e.g. AgeVerification, Rescan) |
| Name | string | Name of the verificator |
| VerificatorSequence | long | Sequence number of the verificator |
Sample data
| ExternalId | Status | Group | Name | VerificatorSequence |
|---|---|---|---|---|
| 056 | Skipped | AgeVerification | Age18 | 0 |
| 018 | Failed | Rescan | RescanVerificator | 1 |
| 023 | Passed | AgeVerification | Age18 | 0 |
Scan & Pay — Basket Items — pay_basket_items
Definition
| Property | Type | Description |
|---|---|---|
| ExternalId | string | External identifier for the basket item |
| Id | string | Identifier for the basket item (Primary Key) |
| ItemType | string | Type of item (e.g. sale) |
| Name | string | Name of the item |
| Sku | string | SKU code associated with the item |
| UnitPriceAmount | decimal | Price per unit for the item |
| UnitPriceTax | decimal | Tax per unit for the item |
| Quantity | int | Quantity of the item |
| LinkedTo | string | Basket item that the current item is linked to |
| Restrictions | string | Restrictions associated with the item (e.g. Age18) |
| BasketSequence | long | Sequence number of the item in the basket |
Sample data
| ExternalId | Id | ItemType | Name | Sku | UnitPriceAmount | UnitPriceTax | Quantity | LinkedTo | Restrictions | BasketSequence |
|---|---|---|---|---|---|---|---|---|---|---|
| 088 | 001 | sale | Gordon’s Gin | 5709364660114 | 55.75 | 1.75 | 2 | NULL | Age18 | 2 |
| 028 | 002 | sale | Colgate Toothpaste | 5709364660120 | 12.4 | 0.4 | 1 | NULL | NULL | 0 |
| 073 | 003 | sale | Captain Morgan Rum | 5709364660125 | 70.25 | 1.25 | 1 | NULL | Age18 | 4 |
Scan & Pay — Abandoned Purchase — pay_abandoned_purchase
Definition
| Property | Type | Description |
|---|---|---|
| BasketId | string | Identifier for the abandoned basket (Primary Key) |
| StoreId | string | Identifier for the store where the abandoned purchase took place |
| CustomerId | string | Identifier for the customer who abandoned the purchase |
| DeviceType | string | Type of device used in the abandoned purchase |
| Reason | string | Reason for abandoning the purchase |
| AbandonedDateTime | timestamp | Timestamp when the purchase was abandoned |
| AbandonedDate | date | Date when the purchase was abandoned |
Sample data
| BasketId | StoreId | CustomerId | DeviceType | Reason | AbandonedDateTime | AbandonedDate |
|---|---|---|---|---|---|---|
| 068 | 032 | 099 | mobile | AppUser | 2026-05-14T13:45:59.468+00:00 | 2026-05-14 |
| 035 | 011 | 015 | mobile | BasketExpired | 2025-03-10T12:00:59.468+00:00 | 2025-03-10 |
| 087 | 093 | 054 | mobile | AppUser | 2024-10-20T13:45:59.468+00:00 | 2024-10-20 |
Scan & Pay — Std configs — pay_std_configs
Definition
| Property | Type | Description |
|---|---|---|
| Id | string | Identifier for the standard configuration (Primary Key) |
| LastEditUtc | timestamp | UTC timestamp when the standard configuration was last edited |
| CreatedAtUtc | timestamp | UTC timestamp when the standard configuration was created |
| LastEditBy | string | Admin user who last edited the standard configuration |
| SettingsStartTimeout | timestamp | Timestamp when the timeout starts as per the settings |
| SettingsRescanFrequency | decimal | Frequency of rescan triggers for identified customers as per the settings |
| Name | string | Name of the standard configuration |
| ConfigurationType | string | Type of standard configuration |
Sample data
| Id | LastEditUtc | CreatedAtUtc | LastEditBy | SettingsStartTimeout | SettingsRescanFrequency | Name | ConfigurationType |
|---|---|---|---|---|---|---|---|
| 001 | 2026-05-14T13:45:59.468+00:00 | 2026-05-10T13:45:59.468+00:00 | Store Employee | NULL | NULL | config1 | static |
| 002 | 2025-03-10T12:00:59.468+00:00 | 2025-03-09T12:00:59.468+00:00 | Store Employee | 2025-04-09T12:00:59.468+00:00 | 100.00 | temporary-config | store-temporary-setting |
| 003 | 2024-10-20T13:45:59.468+00:00 | 2024-10-14T13:45:59.468+00:00 | Store Employee | NULL | NULL | config2 | static |
Scan & Pay — QR codes — pay_qr_codes
Definition
| Property | Type | Description |
|---|---|---|
| Id | string | Identifier for the QR code (Primary Key) |
| Code | string | Code associated with the QR |
| StoreId | string | Identifier for the store associated with the QR code |
| Type | string | Type of QR code |
| IsMain | boolean | Indicates whether the QR code is the main one |
| CreatedAt | timestamp | Timestamp when the QRcode was created |
| UpdatedAt | timestamp | Timestamp when the QR code was updated |
Sample data
| Id | Code | StoreId | Type | IsMain | CreatedAt | UpdatedAt |
|---|---|---|---|---|---|---|
| 001 | 5710815000014 | 034 | static | true | 2026-05-14T13:45:59.468+00:00 | 2026-05-20T13:45:59.468+00:00 |
| 002 | 5710815000020 | 092 | dynamic | false | 2025-03-09T12:00:59.468+00:00 | 2025-04-09T12:00:59.468+00:00 |
| 003 | 5710815000033 | 015 | static | true | 2024-10-20T13:45:59.468+00:00 | 2024-10-13T13:45:59.468+00:00 |