Holds accounts for SME-IN-A-BOX Accounting/ERP Functionality
| Column Name | Data Type | Description |
|---|
| account_id | bigint | Primary key auto increment |
| account_holder_user_id | bigint | The ID of the related 'account_holder_user' |
| merchant_organisation_id | bigint | The ID of the related 'merchant_organisation' |
| tenant_id | bigint | The ID of the related 'tenant' |
| created | datetime | The date and time when the record was created |
| last_modified | datetime | The date and time when the record was last modified |
| balance | decimal(21,6) | Account balance |
| currency | varchar(20) | Currency e.g. USD |
| status | int | The status of the record (e.g., 1) |
| credit_limit | decimal(21,6) | Max credit allowed on the account |
| version | int | Version of the record (update counter) |
| invoicing_settings | varchar(2000) | general settings for invoicing |
| amt_overdue | tinyint(1) | Whether an amount is overdue on the account |
| email_notification_send_time | datetime | Time to send notifications |
| account_holder_organisation_id | bigint | The ID of the related 'account_holder_organisation' |
| deallocated_amount | decimal(21,6) | Amount deallocated |
History of sales against an account
| Column Name | Data Type | Description |
|---|
| account_history_id | bigint | Primary key auto increment |
| account_id | bigint | The ID of the related 'account' |
| created | datetime | The date and time when the record was created |
| sale_id | bigint | The ID of the related 'sale' |
| payment_id | bigint | The ID of the related 'payment' |
| credit_note_id | bigint | The ID of the related 'credit_note' |
| debit | decimal(21,6) | Amount debited from the account in the account currency (positive values reduce asset accounts and increase liability accounts). |
| credit | decimal(21,6) | Amount credited to the account in the account currency (positive values increase asset accounts and reduce liability accounts). |
| balance | decimal(21,6) | Running balance after the transaction in the account currency. |
| comment | varchar(2000) | Notes on the match decision/outcome. |
| unique_id | varchar(50) | The ID of the related 'unique' |
| deallocated_amount | decimal(21,6) | Monetary amount; decimals indicate fractional currency. |
Address details of users and organisations
| Column Name | Data Type | Description |
|---|
| address_id | bigint | Primary key auto increment |
| user_id | bigint | The ID of the related 'user' |
| organisation_id | bigint | The ID of the related 'organisation' |
| address_type | varchar(20) | Type of address (e.g., PHYSICAL, POSTAL, BILLING, SHIPPING). |
| line_1 | varchar(2000) | Primary address line (street and number or company name). |
| line_2 | varchar(2000) | Secondary address line (complex, building or apartment details). |
| line_3 | varchar(2000) | Tertiary address line (additional delivery information). |
| city | varchar(20) | Town or city of the address. |
| state | varchar(50) | State, province, or region of the address. |
| country | varchar(60) | Country associated with the beneficiary (ISO code or name). |
| code | varchar(20) | Postal/ZIP code for the address. |
| gps_latitude | decimal(10,6) | Latitude component of GPS coordinate in decimal degrees. |
| gps_longitude | decimal(10,6) | Longitude component of GPS coordinate in decimal degrees. |
| version | int | Version of the record (update counter) |
| created | datetime | The date and time when the record was created |
| last_modified | datetime | The date and time when the record was last modified |
Alert history
| Column Name | Data Type | Description |
|---|
| alert_id | bigint | Primary key auto increment |
| trace_id | varchar(32) | The ID of the related 'trace' |
| published | datetime | Timestamp when the alert was emitted/published. |
| host | varchar(200) | Originating host or service that raised the alert. |
| severity | varchar(20) | Severity level for the alert (e.g., INFO, WARN, ERROR, CRITICAL). |
| channel | varchar(200) | Notification channel used for the alert (e.g., email, Slack, webhook, SMS). |
| message | mediumtext | Human‑readable alert body, details or JSON payload. |
Arbitrary attachments onto users, wallets etc. Allows for attaching documents and text to entities in Eclipse
| Column Name | Data Type | Description |
|---|
| attachment_id | bigint | Primary key auto increment |
| tenant_id | bigint | The ID of the related 'tenant' |
| file_name | varchar(200) | Original file name as provided by the uploader or system. |
| attachment_type | varchar(200) | Functional type/category of the attachment (e.g., ID_DOCUMENT, INVOICE, PHOTO). |
| attached_to_type | varchar(20) | Entity type this attachment is associated with (e.g., USER, PAYMENT, ORDER). |
| attached_to_id | varchar(20) | The ID of the related 'attached_to' |
| info | varchar(10000) | Additional info for the batch result. |
| created | datetime | The date and time when the record was created |
| last_modified | datetime | The date and time when the record was last modified |
| media_type | varchar(20) | MIME type of the image (e.g., image/png). |
| attachment | mediumblob | Binary contents of the attachment (BLOB). |
| text | varchar(5000) | Extracted or provided textual representation for search or preview. |
Remittance and EFT beneficiary details
| Column Name | Data Type | Description |
|---|
| beneficiary_id | bigint | Primary key auto increment |
| user_id | int | The ID of the related 'user' |
| account_holder_name | varchar(50) | Name of the beneficiary account holder as stored at the bank. |
| first_name | varchar(50) | Given/first name. |
| last_name | varchar(50) | Surname/last name. |
| middle_name | varchar(50) | Middle name(s) of the beneficiary, if any. |
| email | varchar(50) | Email address of the beneficiary. |
| mobile_number | varchar(20) | Mobile phone number in local or E.164 format. |
| address1 | varchar(2000) | Primary address line for the beneficiary. |
| address2 | varchar(2000) | Secondary address line for the beneficiary. |
| code | varchar(20) | Postal/ZIP code for the address. |
| mobile_money_network | varchar(20) | Mobile money network/operator (e.g., M-Pesa, Airtel Money). |
| identity_number | varchar(20) | National identity/passport/ID number for KYC purposes. |
| identity_type | varchar(20) | Type of identity document (e.g., NATIONAL_ID, PASSPORT, DRIVERS_LICENSE). |
| bank_name | varchar(50) | Name of the bank used for bank transfer payout/collection. |
| branch_code | varchar(20) | Branch/sort code of the bank account. |
| bank_identification_code | varchar(50) | BIC/SWIFT code identifying the beneficiary bank. |
| additional_fields | varchar(1000) | Provider-specific key/values used to complete the operation. |
| bank_account_number | varchar(20) | Beneficiary bank account number. |
| dob | varchar(8) | Date of birth in YYYYMMDD or provider‑specific format. |
| wallet_id | bigint | The ID of the related 'wallet' |
| country | varchar(20) | Country associated with the beneficiary (ISO code or name). |
| alias | varchar(50) | Friendly nickname/alias for the beneficiary. |
| reference | varchar(50) | Reference for the remittance shown to sender/recipient. |
| created | datetime | The date and time when the record was created |
| last_modified | datetime | The date and time when the record was last modified |
| user_enrollment_id | varchar(50) | The ID of the related 'user_enrollment' |
| provider_beneficiary_id | varchar(50) | The ID of the related 'provider_beneficiary' |
| status | varchar(10) | The status of the record (e.g., ACTIVE) |
| provider | varchar(20) | Provider/rail used for enrollment or funds movement. |
| last_polled | datetime | Last time we polled the provider for status. |
| poll_count | int | Number of polls made to the provider. |
| account_type | varchar(45) | Type of bank account (e.g., CHECKING, SAVINGS). |
| organisation_id | int | The ID of the related 'organisation' |
Bundles of value e.g. spend buckets on wallets
| Column Name | Data Type | Description |
|---|
| bundle_id | bigint | Primary key auto increment |
| wallet_id | bigint | The ID of the related 'wallet' |
| bundle_spec_id | int | The ID of the related 'bundle_spec' |
| units_remaining | decimal(24,9) | Remaining units in the bundle after usage. |
| units_at_start | decimal(24,9) | Total units available in the bundle at the time of purchase/activation. |
| revenue_per_unit | decimal(19,13) | Revenue recognised per unit consumed. |
| created | datetime | The date and time when the record was created |
| expires | datetime | Card expiry in YYMM/YYMMDD depending on provider. |
| first_used | datetime | Timestamp of first consumption/use. |
| last_used | datetime | Timestamp of most recent consumption/use. |
| wallet_history_id | bigint | The ID of the related 'wallet_history' |
| info | varchar(2000) | Additional info for the batch result. |
| unique_id | varchar(200) | The ID of the related 'unique' |
Specification of a bundle like what merchants it applies to and priority
| Column Name | Data Type | Description |
|---|
| bundle_spec_id | int | Primary key auto increment |
| name | varchar(200) | The name of the bundle_spec |
| bundle_code | varchar(20) | SKU/code that uniquely identifies the bundle offering. |
| price | decimal(24,9) | Purchase price for the bundle in the pricing currency. |
| units | decimal(24,9) | Total units included in the bundle (e.g., minutes, data MB, tokens). |
| unit_type | varchar(20) | Unit of measure for the bundle (e.g., MINUTES, MB, ITEMS). |
| available_from | datetime | Start of the sale/availability window for the bundle. |
| available_to | datetime | End of the sale/availability window for the bundle. |
| validity_seconds | int | Duration (in seconds) the bundle remains valid after purchase/activation. |
| priority | int | Ordering/selection priority when multiple bundles apply. |
| implementation_class | varchar(200) | Fully qualified class that implements the job logic. |
| purchase_filter_chain | varchar(2000) | Comma‑ or JSON‑defined filters that must pass for purchase. |
| usage_filter_chain | varchar(2000) | Comma‑ or JSON‑defined filters that must pass for usage. |
| attributes | varchar(2000) | Key/value attributes that parameterise the bundle behaviour. |
| configuration_reference | varchar(200) | External configuration/document reference for the bundle. |
| description | varchar(500) | A description of the bundle_spec |
| pricing_logic | varchar(2000) | Formula or rule reference used to compute pricing. |
Long term storage of callbacks that need to be fired or have been fired
| Column Name | Data Type | Description |
|---|
| callback_id | bigint | Primary key auto increment |
| status | varchar(20) | The status of the record (e.g., WAS_FAILURE, WAS_SUCCESS) |
| created | datetime | The date and time when the record was created |
| service_type | varchar(20) | Logical service name/category for callback routing. |
| http_method | varchar(10) | HTTP method used when invoking the callback (e.g., GET, POST, PUT). |
| path | varchar(2000) | Relative or absolute URL path for the callback request. |
| media_type | varchar(50) | MIME type of the image (e.g., image/png). |
| headers | varchar(10000) | HTTP headers sent with the callback request. |
| success_data | mediumtext | Payload stored when the callback ultimately succeeds. |
| failure_data | mediumtext | Payload stored when the callback ultimately fails. |
| result_body | mediumtext | HTTP response body from the target endpoint. |
| result_code | int | HTTP status code returned by the target endpoint. |
| latency_ms | int | Observed end‑to‑end latency of the callback in milliseconds. |
| request_count | int | Number of attempts made to deliver the callback. |
| last_modified | datetime | The date and time when the record was last modified |
| expires | datetime | Card expiry in YYMM/YYMMDD depending on provider. |
| try_until | datetime | Do‑not‑give‑up before this time; continue retrying until this timestamp. |
| depends_on_callback_ids | varchar(200) | IDs of prerequisite callbacks that must complete first. |
Do this then that dependency management between callbacks
| Column Name | Data Type | Description |
|---|
| parent_callback_id | bigint | The ID of the related 'parent_callback' |
| child_callback_id | bigint | The ID of the related 'child_callback' |
Card on file and merchant tokenisation data
| Column Name | Data Type | Description |
|---|
| card_on_file_id | varchar(50) | Primary key UUID |
| tenant_id | bigint | The ID of the related 'tenant' |
| status | varchar(20) | The status of the record (e.g., ACTIVE) |
| sensitive_data | varchar(10000) | Encrypted or tokenised sensitive PAN/cardholder information. AES256 |
| last_4 | varchar(4) | Last four digits of the primary account number (PAN). |
| expires | varchar(6) | Card expiry in YYMM/YYMMDD depending on provider. |
| m4m_token | varchar(50) | Mastercard MDES token or equivalent token reference (M4M). |
| m4m_token_status | varchar(50) | The status of the record (e.g., FAILEDTOKENISATION, None) |
| m4m_token_expiry | datetime | Expiry date/time for the M4M token. |
| m4m_product_id | bigint | The ID of the related 'm4m_product' |
| dsrp_capable | bit(1) | Indicates if the token supports Digital Secure Remote Payment (DSRP). |
| vts_token | varchar(50) | Visa Token Service (VTS) token reference. |
| vts_enrollment_id | varchar(50) | The ID of the related 'vts_enrollment' |
| vts_token_status | varchar(50) | The status of the record (e.g., None, FAILEDTOKENISATION) |
| vts_token_expiry | datetime | Expiry date/time for the VTS token. |
| vts_digital_card_art_id | varchar(50) | The ID of the related 'vts_digital_card_art' |
| vts_digital_card_art_bkg_id | varchar(50) | The ID of the related 'vts_digital_card_art_bkg' |
| vts_card_symbol_id | varchar(50) | The ID of the related 'vts_card_symbol' |
| vts_terms_and_conditions_id | varchar(50) | The ID of the related 'vts_terms_and_conditions' |
| delete_at | datetime | Scheduled deletion timestamp for this record. |
Mastercard bin data and assets for merchant tokenisation
| Column Name | Data Type | Description |
|---|
| card_on_file_mastercard_product_id | bigint | Primary key auto increment |
| brand_logo_asset_id | varchar(50) | The ID of the related 'brand_logo_asset' |
| issuer_logo_asset_id | varchar(50) | The ID of the related 'issuer_logo_asset' |
| card_bg_combined_asset_id | varchar(50) | The ID of the related 'card_bg_combined_asset' |
| card_bg_asset_id | varchar(50) | The ID of the related 'card_bg_asset' |
| icon_asset_id | varchar(45) | The ID of the related 'icon_asset' |
| fg_color | varchar(45) | Primary foreground (text/icon) colour, usually hex RGB. |
| issuer_product_id | varchar(128) | The ID of the related 'issuer_product' |
| issuer_name | varchar(100) | Card issuer display name. |
| short_desctription | varchar(125) | Short marketing description for display in wallets. |
| long_description | varchar(256) | Long‑form product description for card art or wallet. |
| customer_service_url | varchar(64) | URL for issuer customer service portal. |
| customer_service_phone | varchar(20) | Contact phone number for issuer customer service. |
| issuer_mobile_app | varchar(64) | Issuer’s mobile app bundle/name for deep‑linking. |
| online_banking_url | varchar(128) | URL to issuer’s online banking portal. |
| privacy_policy_url | varchar(128) | URL to issuer’s privacy policy. |
Visa bin data and assets for merchant tokenisation
| Column Name | Data Type | Description |
|---|
| card_on_file_visa_product_id | bigint | Primary key auto increment |
| guid | varchar(50) | Provider GUID that identifies this card art/product. |
| background_color | varchar(32) | Background colour value, usually hex RGB. |
| foreground_color | varchar(32) | Foreground/text colour value. |
| label_color | varchar(32) | Label/accent colour for UI elements. |
| contact_website | varchar(256) | Website URL for contacting issuer/support. |
| contact_email | varchar(32) | Support email address for issuer. |
| contact_number | varchar(45) | Support phone number. |
| contact_name | varchar(32) | Support contact person or team name. |
| bank_app_name | varchar(64) | Display name of the issuer’s mobile app. |
| bank_app_address | varchar(1024) | App deep‑link or store URL/address. |
| privacy_policy_url | varchar(128) | URL to issuer’s privacy policy. |
| terms_and_conditions_url | varchar(128) | URL to the terms and conditions. |
| terms_and_conditions_id | varchar(32) | The ID of the related 'terms_and_conditions' |
| short_description | varchar(32) | Short marketing or UI description string. |
| long_description | varchar(64) | Long‑form product description for card art or wallet. |
| content_type | varchar(50) | Logical type of content (e.g., IMAGE, SVG, PNG). |
| mime_type | varchar(50) | MIME type of the encoded content. |
| width | varchar(50) | Nominal width of the asset (pixels or CSS units). |
| height | varchar(50) | Nominal height of the asset (pixels or CSS units). |
| encoded_data | varchar(2048) | Base64‑encoded or otherwise encoded asset payload. |
Customer KYC screening lists from UN, UK and other sanction lists. Imported regularily
| Column Name | Data Type | Description |
|---|
| consolidated_list_id | bigint | Primary key auto increment |
| first_name | varchar(100) | Given/first name. |
| alias_name | varchar(100) | Alternative/alias name used publicly or informally. |
| last_name | varchar(100) | Surname/last name. |
| date_of_birth | varchar(100) | Date of birth (format varies by provider/list). |
| nationality | varchar(100) | Country of nationality/citizenship. |
| national_identification_no | varchar(100) | National ID number per issuing country scheme. |
| passport_no | varchar(100) | Passport number for the individual. |
| address | varchar(200) | Address as provided by the sanctions source. |
| designation | varchar(210) | Role/title or designation (e.g., Director, CFO). |
| consolidated_list_provider | varchar(100) | Source provider of the sanctions/PEP list. |
| listed_on | date | Date the person/entity was listed by the authority. |
| entity_number | varchar(100) | Authority’s internal entity number/reference. |
| programes | varchar(100) | Sanctions/PEP programmes or regimes the entity is listed under. |
| other_information | varchar(1000) | Additional notes from the source list. |
| last_imported | datetime | Timestamp when this record was last imported/synchronised. |
| tenant_id | varchar(10) | The ID of the related 'tenant' |
| phone_no | varchar(25) | Contact phone number if available in the source. |
| remarks | varchar(210) | Additional remarks regarding this list entry. |
| category | varchar(12) | Product category for catalogue/reporting. |
| full_name | varchar(100) | Full concatenated name for matching. |
| country | varchar(20) | Country associated with the beneficiary (ISO code or name). |
| is_expired | tinyint(1) | A flag indicating if the consolidated_list is expired |
| name | varchar(400) | The name of the consolidated_list |
Credit notes for accounting in SME functionality
| Column Name | Data Type | Description |
|---|
| credit_note_id | bigint | Primary key auto increment |
| account_id | bigint | The ID of the related 'account' |
| created | datetime | The date and time when the record was created |
| last_modified | datetime | The date and time when the record was last modified |
| organisation_id | bigint | The ID of the related 'organisation' |
| status | varchar(20) | The status of the record |
| previous_status | varchar(20) | The status of the record |
| currency | varchar(20) | ISO 4217 currency code for this payment. |
| version | int | Version of the record (update counter) |
| credit_note_total_excl | decimal(21,6) | Total value excluding tax. |
| credit_note_total_tax | decimal(21,6) | Tax/VAT component of the credit note. |
| credit_note_total_incl | decimal(21,6) | Total amount including tax. |
| balance_credit | decimal(21,6) | Remaining (unallocated) credit available on the note. |
| pdf | mediumblob | Binary PDF document of the credit note. |
Lines of a credit note
| Column Name | Data Type | Description |
|---|
| credit_note_line_id | bigint | Primary key auto increment |
| credit_note_id | bigint | The ID of the related 'credit_note' |
| description | varchar(200) | A description of the credit_note_line |
| line_total_excl | decimal(21,6) | Line total excluding tax. |
| line_total_tax | decimal(21,6) | Tax/VAT amount on the line. |
| line_total_incl | decimal(21,6) | Line total including tax. |
| tax_percent | decimal(4,2) | Tax percentage applied to the line amount. |
Division within organisations
| Column Name | Data Type | Description |
|---|
| division_id | bigint | Primary key auto increment |
| division_name | varchar(50) | Name of the division/business unit. |
| organisation_id | bigint | The ID of the related 'organisation' |
Binary document storage and tracking
| Column Name | Data Type | Description |
|---|
| document_id | bigint | Primary key auto increment |
| file_name | varchar(200) | Original file name as provided by the uploader or system. |
| document_type | varchar(50) | Functional type/category of the document (e.g., KYC, CONTRACT). |
| user_id | bigint | The ID of the related 'user' |
| organisation_id | bigint | The ID of the related 'organisation' |
| info | varchar(10000) | Additional info for the batch result. |
| created | datetime | The date and time when the record was created |
| last_modified | datetime | The date and time when the record was last modified |
| media_type | varchar(200) | MIME type of the image (e.g., image/png). |
| document | mediumblob | Binary content of the stored document. |
| version | int | Version of the record (update counter) |
| location | varchar(200) | Location associated with the transaction (city/store/GPS). |
Old documents that have been replaced with new documents
| Column Name | Data Type | Description |
|---|
| document_history_id | bigint | Primary key auto increment |
| document_id | bigint | The ID of the related 'document' |
| file_name | varchar(200) | Original file name as provided by the uploader or system. |
| document_type | varchar(50) | Functional type/category of the document (e.g., KYC, CONTRACT). |
| user_id | bigint | The ID of the related 'user' |
| organisation_id | bigint | The ID of the related 'organisation' |
| info | varchar(10000) | Additional info for the batch result. |
| created | datetime | The date and time when the record was created |
| version_from | datetime | Timestamp when this version became active. |
| version_to | datetime | Timestamp when this version was superseded. |
| archive_reason | varchar(10) | Reason this document/history item was archived. |
| media_type | varchar(200) | MIME type of the image (e.g., image/png). |
| document | mediumblob | Binary content of the stored document. |
| location | varchar(200) | Location associated with the transaction (city/store/GPS). |
Arbitrary mapping of identifiers to documents
| Column Name | Data Type | Description |
|---|
| document_id | bigint | The ID of the related 'document' |
| identifier | varchar(200) | External identifier associated with the document. |
| identifier_type | varchar(50) | Type of external identifier (e.g., ORDER_ID, KYC_REF). |
| info | varchar(2000) | Additional info for the batch result. |
Batch/File based EFT tracking
| Column Name | Data Type | Description |
|---|
| eft_instruction_record_id | bigint | Primary key of the EFT instruction record. |
| transaction_id | varchar(100) | The ID of the related 'transaction' |
| created | datetime | The date and time when the record was created |
| file_sequence_number | varchar(200) | Sequence number of the generated EFT file. |
| branch_code | varchar(6) | Branch/sort code of the bank account. |
| account_number | varchar(20) | Destination account number for the EFT. |
| account_holders_name | varchar(1000) | Account holder’s name for the EFT destination. |
| reference | varchar(100) | Reference for the remittance shown to sender/recipient. |
| amount | decimal(24,9) | Monetary amount for the transaction in the specified currency (units, not cents). |
| last_modified | datetime | The date and time when the record was last modified |
| gateway_transaction_id | varchar(200) | The ID of the related 'gateway_transaction' |
| gateway | varchar(40) | Processing gateway/provider (e.g., BANKSERV, FLUTTERWAVE). |
| response | varchar(1000) | Raw response body from provider. |
| record_sequential_number | varchar(100) | Record index/sequence number within the batch/file. |
| status | varchar(20) | The status of the record (e.g., REJECTED) |
| previous_status | varchar(20) | The status of the record (e.g., SUBMITTED) |
| source_account_number | varchar(20) | Debit leg account number |
Event storage of system generated events
| Column Name | Data Type | Description |
|---|
| event_id | bigint | Primary key auto increment |
| created | datetime | The date and time when the record was created |
| tenant_id | bigint | The ID of the related 'tenant' |
| event_type | varchar(200) | Event name/pattern that triggers the rule. |
| event_key | varchar(200) | Event key or idempotency key to de‑duplicate events. |
| unique_id | varchar(200) | The ID of the related 'unique' |
| data | mediumtext | Event payload (often JSON). |
| expiry | datetime | Time after which the event is no longer processed. |
Crypto exchange trades
| Column Name | Data Type | Description |
|---|
| exchange_trade_id | bigint | Primary key auto increment |
| tenant_id | bigint | The ID of the related 'tenant' |
| status | varchar(20) | The status of the record (e.g., PUBLISHED) |
| side | varchar(10) | Trade side: BUY or SELL. |
| pay_currency | varchar(5) | Currency being paid out to the exchange/counterparty. |
| pay_amount | decimal(30,16) | Amount paid to the exchange/counterparty. |
| buy_currency | varchar(5) | Currency being acquired in the trade. |
| exchange | varchar(20) | Exchange venue or provider. |
| order_id | varchar(200) | The ID of the related 'order' |
| unique_id | varchar(200) | The ID of the related 'unique' |
| created | datetime | The date and time when the record was created |
| executed | datetime | Timestamp when the trade executed on the venue. |
| paid_amount | decimal(30,16) | Actual amount paid after fees/slippage. |
| paid_currency | varchar(5) | Currency for the paid_amount field. |
| received_amount | decimal(30,16) | Amount received from the venue/counterparty. |
| received_currency | varchar(5) | Currency for the received_amount field. |
| fee_amount | decimal(30,16) | Fees charged by the venue or broker. |
| fee_currency | varchar(5) | Currency of the fee amount. |
Mapping and grouping of fraud rules
| Column Name | Data Type | Description |
|---|
| institution | varchar(50) | Institution scope/name to which the rule applies. |
| tenant_id | bigint | The ID of the related 'tenant' |
| description | varchar(1000) | A description of the fraud_institution |
Individual fraud rules
| Column Name | Data Type | Description |
|---|
| fraud_rule_id | int | Primary key auto increment |
| tenant_id | bigint | The ID of the related 'tenant' |
| institution | varchar(50) | Institution scope/name to which the rule applies. |
| event_type | varchar(500) | Event name/pattern that triggers the rule. |
| rule_name | varchar(200) | Human‑readable name of the fraud rule. |
| description | varchar(1000) | A description of the fraud_rule |
| rule_match | varchar(200) | Expression/regex defining a match for triggering the rule. |
| risk_query | varchar(2000) | Domain‑specific query used to compute risk features. |
| risk_query_params | varchar(500) | Parameters applied to the risk_query. |
| action | varchar(45) | Action to take when the rule matches (e.g., BLOCK, REVIEW). |
| lock_minutes | bigint | Number of minutes to lock a user/device when triggered. |
| lock_mode | varchar(45) | Locking strategy (e.g., USER, DEVICE, IP). |
| notification_template_name | varchar(100) | Template to use for notifications when rule matches. |
VAS fulfilment for SME functionality
| Column Name | Data Type | Description |
|---|
| fulfilment_mechanism_id | bigint | Primary key auto increment |
| description | varchar(2000) | A description of the fulfilment_mechanism |
| implementation_class | varchar(200) | Fully qualified class that implements the job logic. |
For telecoms walleting functionality
| Column Name | Data Type | Description |
|---|
| interconnect_partner_id | int | Primary key auto increment |
| name | varchar(200) | The name of the interconnect_partner |
For telecoms walleting functionality
| Column Name | Data Type | Description |
|---|
| interconnect_record_id | bigint | Primary key auto increment |
| wallet_history_id | bigint | The ID of the related 'wallet_history' |
| from_interconnect_partner_id | int | The ID of the related 'from_interconnect_partner' |
| to_interconnect_partner_id | int | The ID of the related 'to_interconnect_partner' |
| interconnect_currency | varchar(5) | ISO 4217 currency code (typically 3‑letter). |
| interconnect_from | decimal(21,6) | Inferred field for 'interconnect_from' based on naming; used within interconnect_record domain. |
| interconnect_to | decimal(21,6) | Inferred field for 'interconnect_to' based on naming; used within interconnect_record domain. |
| last_modified | datetime | The date and time when the record was last modified |
| rate_config_id | bigint | The ID of the related 'rate_config' |
| reseller_from | decimal(21,6) | Inferred field for 'reseller_from' based on naming; used within interconnect_record domain. |
| reseller_to | decimal(21,6) | Inferred field for 'reseller_to' based on naming; used within interconnect_record domain. |
For telecoms walleting functionality
| Column Name | Data Type | Description |
|---|
| interconnect_trunk_id | varchar(20) | Primary key auto increment |
| interconnect_partner_id | int | The ID of the related 'interconnect_partner' |
Invoice for SME sales functionality
| Column Name | Data Type | Description |
|---|
| sale_id | bigint | The ID of the related 'sale' |
| pdf | mediumblob | Binary PDF document of the credit note. |
| created | datetime | The date and time when the record was created |
| sent | datetime | Inferred field for 'sent' based on naming; used within invoice domain. |
State of issuer tokenisation
| Column Name | Data Type | Description |
|---|
| issuer_card_token_id | bigint | Primary key auto increment |
| pan_hash | char(64) | Hash of PAN for deduplication/tracking. (SHA256HMAC) |
| pan_identifier | varchar(50) | Identifier linking to the related entity or used as an external reference. |
| token_initiator | varchar(50) | Opaque token string used for identification or security. |
| token_identifier | varchar(50) | Identifier linking to the related entity or used as an external reference. |
| token | varchar(50) | Short‑lived token or passphrase related to the remittance. |
| network | varchar(32) | Inferred field for 'network' based on naming; used within issuer_card_token domain. |
| token_status | varchar(32) | The status of the record |
| form_factor | varchar(20) | Inferred field for 'form_factor' based on naming; used within issuer_card_token domain. |
| device_identifier | varchar(48) | Identifier linking to the related entity or used as an external reference. |
| token_expiry | datetime | Expiry date/time for this record or token. |
| created | datetime | The date and time when the record was created |
| last_modified | datetime | The date and time when the record was last modified |
Batch job schedules and state
| Column Name | Data Type | Description |
|---|
| job_schedule_id | bigint | Primary key auto increment |
| tenant_id | bigint | The ID of the related 'tenant' |
| group_name | varchar(200) | Logical group/category for scheduled job. |
| unique_id | varchar(200) | The ID of the related 'unique' |
| description | varchar(2000) | A description of the job_schedule |
| status | varchar(20) | The status of the record (e.g., AC, DE) |
| cron | varchar(50) | Cron expression that defines execution schedule. |
| cron_timezone | varchar(20) | Time zone used to evaluate the cron expression. |
| last_run | datetime | Timestamp of the last successful or attempted run. |
| next_run | datetime | Next planned execution time based on schedule. |
| created | datetime | The date and time when the record was created |
| last_modified | datetime | The date and time when the record was last modified |
| implementation_class | varchar(200) | Fully qualified class that implements the job logic. |
| job | mediumblob | Serialized job payload or configuration. |
| last_run_error | varchar(10000) | Last error message/stack captured for the job run. |
| last_latency_ms | int | Duration of the last job execution in milliseconds. |
| trace | bit(1) | Enable tracing/diagnostics for this job (true/false). |
| start_date | datetime | Optional start date limiting when the job becomes active. |
| end_date | datetime | Optional end date after which the job is disabled. |
| info | mediumtext | Additional info for the batch result. |
| user_id | bigint | The ID of the related 'user' |
Mapping of job schedules to users and wallets and other identifiers
| Column Name | Data Type | Description |
|---|
| job_schedule_id | bigint | The ID of the related 'job_schedule' |
| related_to_identifier | varchar(200) | Identifier of the object this mapping relates to. |
| related_to_identifier_type | varchar(50) | Type/class of the related identifier (namespace). |
Loans tracking
| Column Name | Data Type | Description |
|---|
| loan_id | bigint | Primary key auto increment |
| amount | decimal(21,6) | Monetary amount for the transaction in the specified currency (units, not cents). |
| fee | decimal(21,6) | Fee component applied to this transaction. |
| interest | decimal(21,6) | Inferred field for 'interest' based on naming; used within loan domain. |
| currency | varchar(5) | ISO 4217 currency code for this payment. |
| gateway_transaction_id | varchar(200) | The ID of the related 'gateway_transaction' |
| unique_id | varchar(200) | The ID of the related 'unique' |
| customer_external_id | varchar(200) | The ID of the related 'customer_external' |
| tenant_id | bigint | The ID of the related 'tenant' |
| wallet_id | bigint | The ID of the related 'wallet' |
| user_id | bigint | The ID of the related 'user' |
| description | varchar(200) | A description of the loan |
| error_description | varchar(100) | Error message or reason for failure. |
| loan_type | varchar(20) | Type/classification value from a controlled vocabulary. |
| customer_landing_url | varchar(2000) | End‑user redirect/landing page URL for completing payment. |
| created | datetime | The date and time when the record was created |
| status | varchar(20) | The status of the record (e.g., PENDING) |
| info | varchar(2000) | Additional info for the batch result. |
| retrieval_reference_number | bigint | RRN used for matching/reversals/chargebacks. |
| additional_fields | varchar(1000) | Provider-specific key/values used to complete the operation. |
| gateway_status | varchar(20) | The status of the record (e.g., PENDING) |
| gateway | varchar(50) | Processing gateway/provider (e.g., BANKSERV, FLUTTERWAVE). |
| gateway_state | mediumtext | Serialized state/context held for gateway processing. |
| pre_processing_callback_ids | varchar(200) | Comma‑separated IDs of callbacks to invoke before processing. |
| post_processing_callback_ids | varchar(200) | Comma‑separated IDs of callbacks to invoke after processing (always). |
| post_success_callback_ids | varchar(200) | Callbacks to invoke only on successful completion. |
| post_reversal_callback_ids | varchar(200) | Callbacks to invoke only on payment reversal/refund. |
History of API calls to loan gateways
| Column Name | Data Type | Description |
|---|
| loan_gateway_response_id | bigint | Primary key auto increment |
| created | datetime | The date and time when the record was created |
| loan_id | bigint | The ID of the related 'loan' |
| response_type | varchar(20) | Type/category of provider response. |
| response | mediumtext | Raw response body from provider. |
Scan to Pay QRCode data
| Column Name | Data Type | Description |
|---|
| qr_code | varchar(100) | QR code payload used for this payment. |
| amount | decimal(24,9) | Monetary amount for the transaction in the specified currency (units, not cents). |
| created | datetime | The date and time when the record was created |
| issued | datetime | Inferred field for 'issued' based on naming; used within masterpass domain. |
| expires | datetime | Card expiry in YYMM/YYMMDD depending on provider. |
| note | varchar(200) | Short memo added by the sender or system. |
| config_id | bigint | The ID of the related 'config' |
| wallet_id | bigint | The ID of the related 'wallet' |
| reference | varchar(100) | Reference for the remittance shown to sender/recipient. |
| description | varchar(100) | A description of the masterpass |
| merchant_id | bigint | The ID of the related 'merchant' |
| merchant_name | varchar(100) | Display name of the merchant/payee. |
| amount_option | varchar(500) | How the amount is determined (e.g., OPEN, FIXED, MINIMUM). |
| associated_payment_id | bigint | The ID of the related 'associated_payment' |
VAS purchase/transaction history
| Column Name | Data Type | Description |
|---|
| transaction_reference | varchar(200) | Reference string used for reconciliation or display. |
| provider | varchar(50) | Provider/rail used for enrollment or funds movement. |
| e164 | bigint | Inferred field for 'e164' based on naming; used within mobile_recharge_history domain. |
| network_id | int | The ID of the related 'network' |
| voucher_id | varchar(50) | The ID of the related 'voucher' |
| voucher | varchar(2000) | Inferred field for 'voucher' based on naming; used within mobile_recharge_history domain. |
| amount | decimal(24,9) | Monetary amount for the transaction in the specified currency (units, not cents). |
| success | bit(1) | Inferred field for 'success' based on naming; used within mobile_recharge_history domain. |
| created | datetime | The date and time when the record was created |
| response | varchar(10000) | Raw response body from provider. |
| latency_ms | bigint | Observed end‑to‑end latency of the callback in milliseconds. |
| tenant_id | bigint | The ID of the related 'tenant' |
Transaction state of calls to Scan to Pay bank nodes
| Column Name | Data Type | Description |
|---|
| payment_id | bigint unsigned | The ID of the related 'payment' |
| created | datetime | The date and time when the record was created |
| lastModified | datetime | The date and time when the record was last modified |
| tx_type | varchar(100) | Transaction type code/classification provided by the bank/gateway (e.g., PURCHASE, REVERSAL). |
| external_unique_id | varchar(100) | The ID of the related 'external_unique' |
| bank_name | varchar(100) | Name of the bank used for bank transfer payout/collection. |
| status | varchar(100) | The status of the record (e.g., ERROR_PERM, SUCCESS) |
| authCode | varchar(100) | Code value defined by external scheme or internal enumeration. |
| responseCode | varchar(10) | Code value defined by external scheme or internal enumeration. |
| amount | decimal(24,9) | Monetary amount for the transaction in the specified currency (units, not cents). |
| rrn | bigint unsigned | Retrieval Reference Number for the transaction. |
| bank_response | varchar(500) | Short response text from the bank/acquirer. |
| currency | varchar(10) | ISO 4217 currency code for this payment. |
| description | varchar(100) | A description of the mpbanknode_payment |
| tracing_context | varchar(100) | Correlation IDs for distributed tracing. |
Scheduled/future notifications to be sent when certain conditions are met
| Column Name | Data Type | Description |
|---|
| notification_id | bigint | Primary key auto increment |
| rule_match | varchar(200) | Expression/regex defining a match for triggering the rule. |
| template_id | varchar(200) | The ID of the related 'template' |
| data | varchar(2000) | Event payload (often JSON). |
| status | varchar(10) | The status of the record (e.g., PENDING, EXECUTED) |
| type | varchar(10) | Lifecycle item type/category. |
| event_type | varchar(15) | Event name/pattern that triggers the rule. |
| tenant_id | bigint | The ID of the related 'tenant' |
| created | datetime | The date and time when the record was created |
| last_modified | datetime | The date and time when the record was last modified |
| expires | datetime | Card expiry in YYMM/YYMMDD depending on provider. |
Organisations & Tenants data
| Column Name | Data Type | Description |
|---|
| organisation_id | bigint | Primary key auto increment |
| name | varchar(50) | The name of the organisation |
| email | varchar(50) | Email address of the beneficiary. |
| phone_1 | varchar(20) | Telephone number, preferably E.164 formatted. |
| phone_2 | varchar(20) | Telephone number, preferably E.164 formatted. |
| type | varchar(20) | Lifecycle item type/category. |
| version | int | Version of the record (update counter) |
| created | datetime | The date and time when the record was created |
| last_modified | datetime | The date and time when the record was last modified |
| status | int | The status of the record (e.g., nan, 1.0) |
| external_id | varchar(200) | The ID of the related 'external' |
| company_number | varchar(20) | Inferred field for 'company_number' based on naming; used within organisation domain. |
| tax_number | varchar(20) | Inferred field for 'tax_number' based on naming; used within organisation domain. |
| tenant_id | bigint | The ID of the related 'tenant' |
| trading_name | varchar(50) | Human‑readable name or label. |
| industrial_sector | varchar(50) | Inferred field for 'industrial_sector' based on naming; used within organisation domain. |
| industrial_classification | varchar(50) | Inferred field for 'industrial_classification' based on naming; used within organisation domain. |
| bank_details | varchar(1000) | Inferred field for 'bank_details' based on naming; used within organisation domain. |
| preferences | varchar(5000) | Reference string used for reconciliation or display. |
| other | varchar(5000) | Additional data/notes for the product. |
| category_code | varchar(8) | Code value defined by external scheme or internal enumeration. |
| business_type | varchar(50) | Type/classification value from a controlled vocabulary. |
| business_registration_date | varchar(8) | Date/time value in system timezone unless otherwise specified. |
| vat_number | varchar(20) | Inferred field for 'vat_number' based on naming; used within organisation domain. |
| merchant_id | varchar(40) | The ID of the related 'merchant' |
Ongoing customer scanning and due diligence batches
| Column Name | Data Type | Description |
|---|
| oss_batch_id | bigint | Primary key auto increment |
| tenant_id | bigint | The ID of the related 'tenant' |
| status | varchar(20) | The status of the record (e.g., COMPLETED) |
| created | datetime | The date and time when the record was created |
| last_modified | datetime | The date and time when the record was last modified |
Results of OSS batch runs per user
| Column Name | Data Type | Description |
|---|
| oss_result_id | bigint | Primary key auto increment |
| tenant_id | bigint | The ID of the related 'tenant' |
| user_id | bigint | The ID of the related 'user' |
| initiated_date | datetime | Date/time value in system timezone unless otherwise specified. |
| last_notification_date | datetime | Date/time value in system timezone unless otherwise specified. |
| status | varchar(20) | The status of the record (e.g., EXPIRED) |
| oss_type | varchar(20) | Type/classification value from a controlled vocabulary. |
| document_type | varchar(50) | Functional type/category of the document (e.g., KYC, CONTRACT). |
| info | varchar(1000) | Additional info for the batch result. |
| created | datetime | The date and time when the record was created |
| last_modified | datetime | The date and time when the record was last modified |
Payment transaction state
| Column Name | Data Type | Description |
|---|
| payment_id | bigint | Primary key auto increment |
| status | varchar(20) | The status of the record (e.g., FINAL) |
| unique_id | varchar(200) | The ID of the related 'unique' |
| tenant_id | bigint | The ID of the related 'tenant' |
| grouping_id | bigint | The ID of the related 'grouping' |
| user_id | bigint | The ID of the related 'user' |
| organisation_id | bigint | The ID of the related 'organisation' |
| wallet_id | bigint | The ID of the related 'wallet' |
| destination_wallet_id | bigint | The ID of the related 'destination_wallet' |
| amount | decimal(24,9) | Monetary amount for the transaction in the specified currency (units, not cents). |
| fee | decimal(24,9) | Fee component applied to this transaction. |
| created | datetime | The date and time when the record was created |
| expires | datetime | Card expiry in YYMM/YYMMDD depending on provider. |
| custom_fraud_checks | tinyint(1) | If true, use custom fraud checks instead of defaults. |
| associated_payment_id | bigint | The ID of the related 'associated_payment' |
| payment_type | varchar(20) | High‑level payment mechanism (e.g., CARD, EFT, WALLET). |
| payment_sub_type | varchar(20) | Sub‑type (e.g., 3DS, TOKENISED, INSTANT_EFT). |
| gateway_status | varchar(20) | The status of the record (e.g., SUCCESSFUL, ERROR_PERM) |
| gateway | varchar(50) | Processing gateway/provider (e.g., BANKSERV, FLUTTERWAVE). |
| gateway_transaction_id | varchar(200) | The ID of the related 'gateway_transaction' |
| currency | varchar(5) | ISO 4217 currency code for this payment. |
| psp_id | varchar(40) | The ID of the related 'psp' |
| merchant_id | varchar(40) | The ID of the related 'merchant' |
| merchant_name | varchar(100) | Display name of the merchant/payee. |
| merchant_reference | varchar(80) | Merchant‑supplied reference/invoice number. |
| additional_merchant_data | mediumtext | Additional data provided by the merchant (JSON/text). |
| location | varchar(200) | Location associated with the transaction (city/store/GPS). |
| description | varchar(200) | A description of the payment |
| error_description | varchar(100) | Error message or reason for failure. |
| payment_reference | varchar(50) | Reference returned by the processor/merchant. |
| invoice_id | varchar(50) | The ID of the related 'invoice' |
| category | varchar(50) | Product category for catalogue/reporting. |
| last_polled | datetime | Last time we polled the provider for status. |
| poll_count | int | Number of polls made to the provider. |
| customer_landing_url | mediumtext | End‑user redirect/landing page URL for completing payment. |
| completion_html | mediumtext | Inline HTML to render when payment completes. |
| completion_url | mediumtext | Redirect URL after payment completion/cancellation. |
| unattended | bit(1) | Indicates if transaction was performed without a human present. |
| create_card_on_file | bit(1) | Create a new card‑on‑file record from this transaction. |
| show_card_if_available | bit(1) | Offer an existing card‑on‑file for selection if present. |
| use_card_on_file_if_available | bit(1) | Automatically use card‑on‑file if found and permitted. |
| card_on_file_external_id | varchar(100) | The ID of the related 'card_on_file_external' |
| card_on_file_id | varchar(100) | The ID of the related 'card_on_file' |
| card_on_file_alias | varchar(50) | Friendly label shown for a stored card. |
| is_default_card_on_file | bit(1) | A flag indicating if the payment is default card on file |
| card_on_file_delete_at | datetime | Scheduled purge date for the stored card record. |
| pre_processing_callback_ids | varchar(200) | Comma‑separated IDs of callbacks to invoke before processing. |
| post_processing_callback_ids | varchar(200) | Comma‑separated IDs of callbacks to invoke after processing (always). |
| post_success_callback_ids | varchar(200) | Callbacks to invoke only on successful completion. |
| post_reversal_callback_ids | varchar(200) | Callbacks to invoke only on payment reversal/refund. |
| bank_name | varchar(50) | Name of the bank used for bank transfer payout/collection. |
| bank_account | varchar(20) | Bank account number used for the transfer. |
| branch_code | varchar(10) | Branch/sort code of the bank account. |
| other_wallet_id | bigint | The ID of the related 'other_wallet' |
| swift_code | varchar(20) | SWIFT/BIC code for international transfers. |
| iban | varchar(50) | International Bank Account Number for SEPA/SWIFT. |
| account_type | varchar(10) | Type of bank account (e.g., CHECKING, SAVINGS). |
| card_type | varchar(10) | Card variant (e.g., DEBIT, PREPAID, VIRTUAL). |
| card_bin | varchar(8) | First 6–8 digits of the PAN identifying the issuer. |
| card_last_4 | varchar(4) | Last four digits of the PAN. |
| card_issuer | varchar(50) | Issuing bank or institution name. |
| card_expires | datetime | Card expiry date (typically last day of the month). |
| card_name | varchar(50) | Cardholder name as it appears on the card. |
| card_phone | varchar(20) | Cardholder contact phone number. |
| card_dob | varchar(8) | Cardholder date of birth for KYC (YYYYMMDD). |
| external_wallet_type | varchar(15) | External wallet provider type (e.g., APPLEPAY, MPESA). |
| external_wallet_id | varchar(50) | The ID of the related 'external_wallet' |
| qr_code | mediumtext | QR code payload used for this payment. |
| auth_code | varchar(20) | Authorisation code (approval code) returned by gateway. |
| pa_id | varchar(20) | The ID of the related 'pa' |
| bank_response | varchar(80) | Short response text from the bank/acquirer. |
| retrieval_reference_number | bigint | RRN used for matching/reversals/chargebacks. |
| encrypted_security_data | mediumtext | Encrypted security fields (e.g., CVV, 3DS cryptograms). |
| additional_fields | varchar(1000) | Provider-specific key/values used to complete the operation. |
| accepted_card_schemes | varchar(100) | Comma‑separated list of accepted card brands. |
| accepted_payment_mechanisms | varchar(50) | Allowed payment methods (e.g., CARD, EFT, WALLET). |
| partial_payment_allowed | bit(1) | Whether a partial payment is permitted by the merchant. |
| amount_option | varchar(50) | How the amount is determined (e.g., OPEN, FIXED, MINIMUM). |
| gateway_state | mediumtext | Serialized state/context held for gateway processing. |
| note | varchar(200) | Short memo added by the sender or system. |
| card_on_file_template_id | varchar(40) | The ID of the related 'card_on_file_template' |
| info | mediumtext | Additional info for the batch result. |
| tracing_context | varchar(100) | Correlation IDs for distributed tracing. |
| terminal_id | varchar(8) | The ID of the related 'terminal' |
| encrypted_card_data | mediumtext | Opaque encrypted card payload captured from client/terminal. |
| terminal_data | mediumtext | Terminal/point‑of‑sale data such as EMV tags or device info. |
Responses from external API calls for payment processing
| Column Name | Data Type | Description |
|---|
| payment_gateway_response_id | bigint | Primary key auto increment |
| created | datetime | The date and time when the record was created |
| payment_id | bigint | The ID of the related 'payment' |
| response_type | varchar(20) | Type/category of provider response. |
| response | mediumtext | Raw response body from provider. |
Card provisioning data when cards are activated and mapped to a user
| Column Name | Data Type | Description |
|---|
| postilion_card_id | bigint | Primary key auto increment |
| unique_id | varchar(200) | The ID of the related 'unique' |
| card_pack_id | varchar(20) | The ID of the related 'card_pack' |
| card_identifier_type | varchar(30) | Type used to identify the card (e.g., PAN_HASH, TOKEN). |
| device_type | varchar(30) | Device form factor (e.g., VIRTUAL, PLASTIC, MOBILE). |
| status | varchar(20) | The status of the record (e.g., ACTIVE, ) |
| pan_hash | varchar(100) | Hash of PAN for deduplication/tracking. (SHA256HMAC) |
| card_bin | varchar(8) | First 6–8 digits of the PAN identifying the issuer. |
| card_last_4 | varchar(4) | Last four digits of the PAN. |
| card_holder_name | varchar(100) | Human‑readable name or label. |
| pan_encrypted | varchar(200) | AES256‑encrypted PAN to be used in personalisation. |
| seq_nr | varchar(3) | Sequence number (card sequence number for reissues). |
| expiry_date | varchar(5) | Card expiry date (YYMM). |
| user_id | bigint | The ID of the related 'user' |
| tenant_id | bigint | The ID of the related 'tenant' |
| status_change_reason | varchar(30) | The status of the record (e.g., None, FOUND) |
| sov_name | varchar(30) | Service operating vehicle/program short name. |
| card_rules | varchar(200) | Rules/limits applicable to this card. |
| info | varchar(2000) | Additional info for the batch result. |
| created | datetime | The date and time when the record was created |
| program_name | varchar(100) | Card or product program name. |
Card event history for cards using Postilion CMS
| Column Name | Data Type | Description |
|---|
| postilion_card_history_id | bigint | Primary key auto increment |
| mti | varchar(10) | ISO 8583 message type identifier for the event. |
| wallet_history_id | bigint | The ID of the related 'wallet_history' |
| masked_pan | varchar(20) | Masked PAN for audit (e.g., 411111******1111). |
| postilion_card_id | bigint | The ID of the related 'postilion_card' |
| tenant_id | bigint | The ID of the related 'tenant' |
| created | datetime | The date and time when the record was created |
| unique_id | varchar(200) | The ID of the related 'unique' |
| card_bin | varchar(8) | First 6–8 digits of the PAN identifying the issuer. |
| card_last_4 | varchar(4) | Last four digits of the PAN. |
| account_number | varchar(50) | Destination account number for the EFT. |
| processing_code | varchar(10) | ISO 8583 processing code (DE3). |
| transaction_type | varchar(2) | Transaction type/classification (e.g., CREDIT, DEBIT). |
| stan | varchar(10) | System Trace Audit Number for the transaction. |
| rrn | varchar(20) | Retrieval Reference Number for the transaction. |
| auth_code | varchar(8) | Authorisation code (approval code) returned by gateway. |
| switch_key | varchar(50) | Switch composite key built by Postilion for linking messages. |
| original_key | varchar(50) | Key to the original transaction for reversals/advices. |
| response_code | varchar(2) | Authorization response code (DE39). |
| source_node | varchar(30) | Source node/system within the switch (e.g., terminal/acquirer). |
| sink_node | varchar(30) | Destination node/system within the switch (e.g., issuer/host). |
| transaction_amount | decimal(24,9) | Transaction amount in transaction currency. |
| settlement_amount | decimal(24,9) | Amount used for settlement in settlement currency. |
| transaction_currency_code | varchar(3) | ISO 4217 code of the transaction currency. |
| settlement_currency_code | varchar(3) | ISO 4217 code of the settlement currency. |
| transaction_fee_amount | decimal(24,9) | Fees charged at transaction time. |
| settlement_fee_amount | decimal(24,9) | Fees applied at settlement time. |
| transaction_date | datetime | Transaction booking date/time. |
| pos_condition_code | varchar(200) | Point‑of‑sale condition code (DE25/DE49 variants). |
| merchant_location | varchar(50) | Merchant city/state/country string from the message. |
| merchant_type | varchar(50) | Merchant category code (MCC). |
| merchant_id | varchar(20) | The ID of the related 'merchant' |
| terminal_id | varchar(10) | The ID of the related 'terminal' |
| three_ds_result | varchar(2) | 3‑D Secure authentication result code. |
| acquiring_institution_id | varchar(15) | The ID of the related 'acquiring_institution' |
| terminal_type | varchar(100) | Terminal type/entry mode. |
| structured_data | text | Structured ISO/EMV/3DS subfields extracted from the message. |
| rest_api_data | text | REST API request/response context for this transaction. |
| tracing_context | varchar(100) | Correlation IDs for distributed tracing. |
| message_id | varchar(100) | The ID of the related 'message' |
State of card production batches on Postilion
| Column Name | Data Type | Description |
|---|
| postilion_production_batch_id | bigint | Primary key auto increment |
| tenant_id | bigint | The ID of the related 'tenant' |
| batch_number | varchar(64) | Batch number used for card production or product batch. |
| file_seq_number | varchar(50) | File sequence number for production/inventory files. |
| qrcode_type | varchar(32) | QR code format/type (e.g., EMVCO, MASTERPASS). |
| requested_date | datetime | Date the production batch was requested. |
| status | varchar(32) | The status of the record (e.g., SUCCESS) |
| card_program_name | varchar(100) | Human‑readable name or label. |
| cvk | varchar(200) | Card verification key (encrypted reference). |
| comment | varchar(2048) | Notes on the match decision/outcome. |
| other | varchar(2000) | Additional data/notes for the product. |
| perso_bureau | varchar(20) | Personalisation bureau handling the batch. |
Card data stored during card manufacturing processes
| Column Name | Data Type | Description |
|---|
| postilion_production_batch_data_id | bigint | Primary key auto increment |
| postilion_production_batch_id | bigint | The ID of the related 'postilion_production_batch' |
| batch_number | varchar(64) | Batch number used for card production or product batch. |
| pan_encrypted | varchar(200) | AES256 encrypted PAN to be used in personalisation. |
| seq_nr | varchar(3) | Sequence number (card sequence number for reissues). |
| expiry_date | varchar(5) | Card expiry date (YYMM). |
| card_pack_id | varchar(30) | The ID of the related 'card_pack' |
| card_qr_code | varchar(20) | QR code value printed/encoded on the card. |
| program_name | varchar(64) | Card or product program name. |
| branch_name | varchar(128) | Human‑readable name or label. |
| corparate_client | varchar(128) | Corporate client associated with the batch (typo retained). |
| device_plan | varchar(128) | Device/fee plan associated with the card. |
| card_type | varchar(128) | Card variant (e.g., DEBIT, PREPAID, VIRTUAL). |
| other | varchar(2000) | Additional data/notes for the product. |
| pan_hash | varchar(200) | Hash of PAN for deduplication/tracking. (SHA256HMAC) |
| card_bin | varchar(8) | First 6–8 digits of the PAN identifying the issuer. |
| card_last_4 | varchar(4) | Last four digits of the PAN. |
| created | datetime | The date and time when the record was created |
SME produc catalog
| Column Name | Data Type | Description |
|---|
| product_id | bigint | Primary key auto increment |
| sku | varchar(20) | Stock keeping unit identifier for the product. |
| name | varchar(200) | The name of the product |
| description | varchar(2000) | A description of the product |
| unit_price_excl | decimal(21,6) | Unit price excluding tax. |
| currency | varchar(5) | ISO 4217 currency code for this payment. |
| tax_type | varchar(20) | Type/classification value from a controlled vocabulary. |
| organisation_id | bigint | The ID of the related 'organisation' |
| pricing_data | varchar(1000) | JSON or key/values describing pricing rules/tiers. |
| fulfilment_data | varchar(1000) | JSON or key/values describing fulfilment logistics. |
| category | varchar(200) | Product category for catalogue/reporting. |
| created | datetime | The date and time when the record was created |
| last_modified | datetime | The date and time when the record was last modified |
| version | int | Version of the record (update counter) |
| tenant_id | bigint | The ID of the related 'tenant' |
| image | mediumblob | Binary image data representing the product. |
| media_type | varchar(200) | MIME type of the image (e.g., image/png). |
| other | varchar(5000) | Additional data/notes for the product. |
| inventory_product | bit(1) | Indicates if stock is tracked at item level. |
| partner_name | varchar(50) | Partner/vendor brand associated with the product. |
| type | varchar(200) | Lifecycle item type/category. |
| external_id | varchar(200) | The ID of the related 'external' |
| pinned | bit(1) | Pinned/featured flag for merchandising. |
| supplier_id | bigint | The ID of the related 'supplier' |
| status | varchar(20) | The status of the record (e.g., INACTIVE, ACTIVE) |
| low_stock_count | bigint | Threshold that triggers a low‑stock alert. |
Batch importing of product stock items
| Column Name | Data Type | Description |
|---|
| product_batch_id | bigint | Primary key auto increment |
| batch_number | varchar(64) | Batch number used for card production or product batch. |
| tenant_id | bigint | The ID of the related 'tenant' |
| status | varchar(20) | The status of the record (e.g., DATA_LOADED) |
| created | datetime | The date and time when the record was created |
| product_id | bigint | The ID of the related 'product' |
| description | varchar(100) | A description of the product_batch |
| created_by | bigint | The date and time when the record was created |
| activated_date | datetime | Date/time value in system timezone unless otherwise specified. |
| closed_date | datetime | Date/time value in system timezone unless otherwise specified. |
Individual serial tracked stock items
| Column Name | Data Type | Description |
|---|
| product_item_id | bigint | Primary key for the individual product item. |
| product_id | bigint | The ID of the related 'product' |
| product_batch_id | bigint | The ID of the related 'batch' |
| serial_number | varchar(200) | Item serial/IMEI or unique identifier. |
| pin | varchar(200) | PIN or secret associated with the item/voucher. |
| status | varchar(64) | The status of the record (e.g., AVAILABLE, CLOSED) |
| reservation_id | varchar(64) | The ID of the related 'reservation' |
| reservation_expiry | datetime | Time after which a reservation is released. |
All system configuration
| Column Name | Data Type | Description |
|---|
| name | varchar(200) | The name of the property |
| value | mediumtext | Value associated with the property. |
| description | mediumtext | A description of the property |
| permissions_config | mediumtext | ACL/permission configuration JSON for the property. |
| Column Name | Data Type | Description |
|---|
| ratify_batch_result_id | bigint | The ID of the related 'batch' |
| tenant_id | bigint | The ID of the related 'tenant' |
| type | varchar(20) | Lifecycle item type/category. |
| agency | varchar(200) | External agency/provider that processed the batch. |
| status | varchar(10) | The status of the record (e.g., SUCCESSFUL, PENDING) |
| created | datetime | The date and time when the record was created |
| last_modified | datetime | The date and time when the record was last modified |
| external_id | varchar(200) | The ID of the related 'external' |
| info | varchar(200) | Additional info for the batch result. |
| error_description | varchar(200) | Error message or reason for failure. |
State of long running KYC/KYB processes
| Column Name | Data Type | Description |
|---|
| ratify_lifecycle_item_id | bigint | Primary key auto increment |
| user_id | bigint | The ID of the related 'user' |
| external_user_id | varchar(200) | The ID of the related 'external_user' |
| external_assessment_id | varchar(200) | The ID of the related 'external_assessment' |
| type | varchar(50) | Lifecycle item type/category. |
| created | datetime | The date and time when the record was created |
Detailed state of long running KYC/KYB processes
| Column Name | Data Type | Description |
|---|
| ratify_lifecycle_item_result_id | bigint | Primary key auto increment |
| ratify_lifecycle_item_id | bigint | The ID of the related 'ratify_lifecycle_item' |
| result_data | mediumtext | Full result payload from the external system. |
| created | datetime | The date and time when the record was created |
| last_modified | datetime | The date and time when the record was last modified |
KYC/KYC results
| Column Name | Data Type | Description |
|---|
| ratify_result_id | bigint | Primary key auto increment |
| user_id | bigint | The ID of the related 'user' |
| organisation_id | bigint | The ID of the related 'organisation' |
| created | datetime | The date and time when the record was created |
| verified_by | bigint | User/ID of the approver/verifier. |
| last_modified | datetime | The date and time when the record was last modified |
| external_id | varchar(200) | The ID of the related 'external' |
| comment | varchar(500) | Notes on the match decision/outcome. |
| result_data | mediumtext | Full result payload from the external system. |
| verified_status | varchar(10) | The status of the record (e.g., None) |
| ratify_type | varchar(45) | Type/category of ratification (e.g., KYC, AML). |
| verified_date | datetime | Time the result was verified. |
| ratify_batch_result_id | bigint | The ID of the related 'batch' |
Normalised recon records
| Column Name | Data Type | Description |
|---|
| recon_record_id | bigint | Primary key auto increment |
| record_type | varchar(20) | Record source/category (e.g., MT940, INTERNAL_LEDGER). |
| transaction_type | varchar(60) | Transaction type/classification (e.g., CREDIT, DEBIT). |
| tenant_id | bigint | The ID of the related 'tenant' |
| wallet_account_number | varchar(20) | Wallet account number as held at the bank. |
| pool_account_number | varchar(20) | Pooling/settlement account number. |
| wallet_id | bigint | The ID of the related 'wallet' |
| transaction_date | datetime | Transaction booking date/time. |
| value_date | date | Value date used by the bank for interest/settlement. |
| posting_date | date | Date the transaction posted to the ledger. |
| transaction_amount | decimal(21,6) | Transaction amount in transaction currency. |
| transaction_currency | varchar(5) | Transaction currency ISO code. |
| dr_cr_indicator | char(1) | Debit/Credit indicator (D or C). |
| opening_balance | decimal(21,6) | Opening balance for the statement period. |
| closing_balance | decimal(21,6) | Closing balance for the statement period. |
| balance_date | date | Date to which the opening/closing balances apply. |
| balance_currency | varchar(5) | Currency of the opening/closing balance. |
| normalised_amount | decimal(21,6) | Amount normalised to a base currency for matching. |
| normalised_currency | varchar(5) | Currency used for the normalised amount. |
| internal_unique_id | varchar(200) | The ID of the related 'internal_unique' |
| external_unique_id | varchar(200) | The ID of the related 'external_unique' |
| created | datetime | The date and time when the record was created |
| last_modified | datetime | The date and time when the record was last modified |
| data_source_location | varchar(50) | Filename/path or source label of the record. |
| data_source_id | bigint | The ID of the related 'data_source' |
| matching_hint | varchar(1000) | Hint used by the recon engine to suggest matches. |
Recon engine matching results
| Column Name | Data Type | Description |
|---|
| recon_result_id | bigint | Primary key auto increment |
| recon_record_id_a | bigint | Reference to the first reconciled record. |
| recon_record_id_b | bigint | Reference to the second reconciled record. |
| match_type | varchar(50) | How the match was determined (e.g., EXACT, HEURISTIC). |
| created | datetime | The date and time when the record was created |
| transaction_date | datetime | Transaction booking date/time. |
| difference | decimal(21,6) | Numeric difference between matched amounts. |
| currency | varchar(5) | ISO 4217 currency code for this payment. |
| status | varchar(20) | The status of the record (e.g., MATCHED, UNMATCHED) |
| comment | varchar(1000) | Notes on the match decision/outcome. |
| tenant_id | bigint | The ID of the related 'tenant' |
Payment refunds
| Column Name | Data Type | Description |
|---|
| refund_id | bigint | Primary key auto increment |
| payment_id | bigint | The ID of the related 'payment' |
| amount | decimal(24,9) | Monetary amount for the transaction in the specified currency (units, not cents). |
| status | varchar(20) | The status of the record (e.g., PENDING, SUCCESSFUL, ERROR_PERM) |
| pre_processing_callback_ids | varchar(200) | Comma‑separated IDs of callbacks to invoke before processing. |
| post_success_callback_ids | varchar(200) | Callbacks to invoke only on successful completion. |
| created | datetime | The date and time when the record was created |
| last_modified | datetime | The date and time when the record was last modified |
| description | varchar(2000) | A description of the refund |
| error_description | varchar(2000) | Error message or reason for failure. |
| unique_id | varchar(200) | The ID of the related 'unique' |
| gateway_transaction_id | varchar(200) | The ID of the related 'gateway_transaction' |
| tracing_context | varchar(100) | Correlation IDs for distributed tracing. |
| auth_code | varchar(100) | Authorisation code (approval code) returned by gateway. |
Cross border remittances
| Column Name | Data Type | Description |
|---|
| remittance_id | bigint | Primary key auto increment |
| amount | decimal(24,9) | Monetary amount for the transaction in the specified currency (units, not cents). |
| destination_amount | decimal(21,6) | Monetary amount; decimals indicate fractional currency. |
| fee | decimal(24,9) | Fee component applied to this transaction. |
| currency | varchar(5) | ISO 4217 currency code for this payment. |
| destination_currency | varchar(5) | ISO 4217 currency code (typically 3‑letter). |
| destination_country | varchar(5) | Integer count used for statistics or retries. |
| exchange_rate | decimal(24,9) | Rate or ratio used for pricing or FX. |
| gateway_transaction_id | varchar(200) | The ID of the related 'gateway_transaction' |
| unique_id | varchar(200) | The ID of the related 'unique' |
| tenant_id | bigint | The ID of the related 'tenant' |
| wallet_id | bigint | The ID of the related 'wallet' |
| user_id | bigint | The ID of the related 'user' |
| user_globally_unique_id | varchar(100) | The ID of the related 'user_globally_unique' |
| user_data | mediumtext | Embedded user payload sent to/returned from gateway. |
| description | varchar(200) | A description of the remittance |
| error_description | varchar(100) | Error message or reason for failure. |
| remittance_type | varchar(20) | Type of remittance (e.g., CASH_PICKUP, BANK_DEPOSIT). |
| created | datetime | The date and time when the record was created |
| last_modified | datetime | The date and time when the record was last modified |
| status | varchar(20) | The status of the record (e.g., FINAL, PENDING) |
| info | varchar(2000) | Additional info for the batch result. |
| deliver_to_phone | varchar(20) | Recipient phone number when delivering to mobile wallet. |
| reference | varchar(50) | Reference for the remittance shown to sender/recipient. |
| bank_name | varchar(50) | Name of the bank used for bank transfer payout/collection. |
| bank_account | varchar(20) | Bank account number used for the transfer. |
| account_name | varchar(50) | Human‑readable name or label. |
| branch_code | varchar(20) | Branch/sort code of the bank account. |
| bank_country | varchar(50) | Country of the beneficiary bank. |
| bank_city | varchar(50) | City of the beneficiary bank. |
| bank_response | mediumtext | Short response text from the bank/acquirer. |
| retrieval_reference_number | bigint | RRN used for matching/reversals/chargebacks. |
| additional_fields | varchar(1000) | Provider-specific key/values used to complete the operation. |
| gateway_status | varchar(20) | The status of the record (e.g., SUCCESSFUL, PENDING) |
| quote_expires | datetime | Expiry date/time for this record or token. |
| gateway | varchar(50) | Processing gateway/provider (e.g., BANKSERV, FLUTTERWAVE). |
| gateway_state | mediumtext | Serialized state/context held for gateway processing. |
| pre_processing_callback_ids | varchar(200) | Comma‑separated IDs of callbacks to invoke before processing. |
| post_processing_callback_ids | varchar(200) | Comma‑separated IDs of callbacks to invoke after processing (always). |
| post_success_callback_ids | varchar(200) | Callbacks to invoke only on successful completion. |
| post_reversal_callback_ids | varchar(200) | Callbacks to invoke only on payment reversal/refund. |
| token | varchar(200) | Short‑lived token or passphrase related to the remittance. |
| note | varchar(200) | Short memo added by the sender or system. |
| last_polled | datetime | Last time we polled the provider for status. |
| poll_count | int | Number of polls made to the provider. |
| is_tc_accepted | bit(1) | A flag indicating if the remittance is tc accepted |
| use_fx_currency_as_base | bit(1) | If true, treat FX currency as base for rate calculations. |
Responses from remittance gateways
| Column Name | Data Type | Description |
|---|
| remittance_gateway_response_id | bigint | Primary key auto increment |
| created | datetime | The date and time when the record was created |
| remittance_id | bigint | The ID of the related 'remittance' |
| response_type | varchar(30) | Type/category of provider response. |
| response | mediumtext | Raw response body from provider. |
Status of enrolment of users into a remittance provider
| Column Name | Data Type | Description |
|---|
| remittance_user_enrollment_id | bigint | The ID of the related 'remittance_enrollment' |
| user_id | bigint | The ID of the related 'user' |
| tenant_id | bigint | The ID of the related 'tenant' |
| provider | varchar(20) | Provider/rail used for enrollment or funds movement. |
| provider_enrollment_id | varchar(100) | The ID of the related 'provider_enrollment' |
| status | varchar(20) | The status of the record (e.g., VERIFIED, ACTIVE) |
| description | varchar(200) | A description of the remittance_user_enrollment |
| created | datetime | The date and time when the record was created |
| info | varchar(200) | Additional info for the batch result. |
Wallet reservations
| Column Name | Data Type | Description |
|---|
| reservation_id | bigint | Primary key auto increment |
| unique_id | varchar(200) | The ID of the related 'unique' |
| session_id | varchar(200) | The ID of the related 'session' |
| wallet_id | bigint | The ID of the related 'wallet' |
| bundle_id | bigint | The ID of the related 'bundle' |
| card_id | bigint | The ID of the related 'card' |
| amount | decimal(24,9) | Monetary amount for the transaction in the specified currency (units, not cents). Positive for reservtions, negative for credit reservaions |
| created | datetime | The date and time when the record was created |
| expires | datetime | Card expiry in YYMM/YYMMDD depending on provider. |
| description | varchar(200) | A description of the reservation |
| info | varchar(2000) | Additional info for the batch result. |
| Column Name | Data Type | Description |
|---|
| session_id | varchar(200) | The ID of the related 'session' |
| expires | datetime | Card expiry in YYMM/YYMMDD depending on provider. |
| reservation | varchar(10000) | Inferred field for 'reservation' based on naming; used within reservation_store domain. |
Retail billing rules
| Column Name | Data Type | Description |
|---|
| retail_billing_config_id | bigint | The ID of the related 'config' |
| tenant_id | bigint | The ID of the related 'tenant' |
| description | varchar(200) | A description of the retail_billing_config |
| event_type | varchar(50) | Event name/pattern that triggers the rule. |
| billing_logic | mediumtext | Inferred field for 'billing_logic' based on naming; used within retail_billing_config domain. |
Events processed by the retail billing engine
| Column Name | Data Type | Description |
|---|
| retail_billing_event_id | bigint | The ID of the related 'event' |
| tenant_id | bigint | The ID of the related 'tenant' |
| retail_billing_config_id | bigint | The ID of the related 'billing_config' |
| type | varchar(50) | Lifecycle item type/category. |
| event_type | varchar(50) | Event name/pattern that triggers the rule. |
| unique_id | varchar(100) | The ID of the related 'unique' |
| status | varchar(20) | The status of the record (e.g., SUCCESS) |
| error_description | varchar(500) | Error message or reason for failure. |
| fee_total | decimal(24,9) | Fee component applied to this transaction. |
| retail_billing_event | mediumtext | Inferred field for 'retail_billing_event' based on naming; used within retail_billing_event domain. |
| retail_billing_result | mediumtext | Inferred field for 'retail_billing_result' based on naming; used within retail_billing_event domain. |
| created | datetime | The date and time when the record was created |
| last_modified | datetime | The date and time when the record was last modified |
Rewards for loyalty
| Column Name | Data Type | Description |
|---|
| reward_id | bigint | Primary key auto increment |
| amount | decimal(24,9) | Monetary amount for the transaction in the specified currency (units, not cents). |
| sending_amount | decimal(24,9) | Monetary amount; decimals indicate fractional currency. |
| fee | decimal(24,9) | Fee component applied to this transaction. |
| currency | varchar(5) | ISO 4217 currency code for this payment. |
| destination_currency | varchar(5) | ISO 4217 currency code (typically 3‑letter). |
| exchange_rate | decimal(24,9) | Rate or ratio used for pricing or FX. |
| trade_type | varchar(4) | Type/classification value from a controlled vocabulary. |
| description | varchar(200) | A description of the reward |
| error_description | varchar(250) | Error message or reason for failure. |
| gateway_transaction_id | varchar(200) | The ID of the related 'gateway_transaction' |
| unique_id | varchar(200) | The ID of the related 'unique' |
| tenant_id | bigint | The ID of the related 'tenant' |
| status | varchar(20) | The status of the record (e.g., PENDING) |
| wallet_id | bigint | The ID of the related 'wallet' |
| gateway_status | varchar(20) | The status of the record (e.g., PENDING) |
| gateway | varchar(50) | Processing gateway/provider (e.g., BANKSERV, FLUTTERWAVE). |
| pre_processing_callback_ids | varchar(200) | Comma‑separated IDs of callbacks to invoke before processing. |
| post_processing_callback_ids | varchar(200) | Comma‑separated IDs of callbacks to invoke after processing (always). |
| post_success_callback_ids | varchar(200) | Callbacks to invoke only on successful completion. |
| post_reversal_callback_ids | varchar(200) | Callbacks to invoke only on payment reversal/refund. |
| created | datetime | The date and time when the record was created |
| additional_fields | varchar(3000) | Provider-specific key/values used to complete the operation. |
| note | varchar(200) | Short memo added by the sender or system. |
| quote_expires | datetime | Expiry date/time for this record or token. |
| reference | varchar(200) | Reference for the remittance shown to sender/recipient. |
| user_id | bigint | The ID of the related 'user' |
| organisation_id | bigint | The ID of the related 'organisation' |
| gateway_state | mediumtext | Serialized state/context held for gateway processing. |
| Column Name | Data Type | Description |
|---|
| reward_gateway_response_id | bigint | Primary key auto increment |
| created | datetime | The date and time when the record was created |
| reward_id | bigint | The ID of the related 'reward' |
| response_type | varchar(20) | Type/category of provider response. |
| response | mediumtext | Raw response body from provider. |
| Column Name | Data Type | Description |
|---|
| sale_id | bigint | Primary key auto increment |
| account_id | bigint | The ID of the related 'account' |
| tenant_id | bigint | The ID of the related 'tenant' |
| unique_id | varchar(200) | The ID of the related 'unique' |
| created | datetime | The date and time when the record was created |
| last_modified | datetime | The date and time when the record was last modified |
| organisation_id | bigint | The ID of the related 'organisation' |
| status | varchar(10) | The status of the record (e.g., INVOICED, QUOTE, FULFILLED) |
| previous_status | varchar(10) | The status of the record (e.g., QUOTE, BASKET, INVOICED) |
| payment_mechanism | varchar(20) | Inferred field for 'payment_mechanism' based on naming; used within sale domain. |
| payment_due | datetime | Inferred field for 'payment_due' based on naming; used within sale domain. |
| currency | varchar(20) | ISO 4217 currency code for this payment. |
| payment_settings | varchar(10000) | Inferred field for 'payment_settings' based on naming; used within sale domain. |
| version | int | Version of the record (update counter) |
| sale_total_discount_excl | decimal(21,6) | Integer count used for statistics or retries. |
| sale_total_discount_incl | decimal(21,6) | Integer count used for statistics or retries. |
| sale_total_excl | decimal(21,6) | Inferred field for 'sale_total_excl' based on naming; used within sale domain. |
| sale_total_tax | decimal(21,6) | Inferred field for 'sale_total_tax' based on naming; used within sale domain. |
| sale_total_incl | decimal(21,6) | Inferred field for 'sale_total_incl' based on naming; used within sale domain. |
| outstanding | decimal(21,6) | System Trace Audit Number for transaction tracing. |
| Column Name | Data Type | Description |
|---|
| sale_line_id | bigint | Primary key auto increment |
| sale_id | bigint | The ID of the related 'sale' |
| parent_sale_line_id | bigint | The ID of the related 'parent_sale_line' |
| product_id | bigint | The ID of the related 'product' |
| name | varchar(200) | The name of the sale_line |
| description | varchar(200) | A description of the sale_line |
| serial | varchar(20) | Inferred field for 'serial' based on naming; used within sale_line domain. |
| created | datetime | The date and time when the record was created |
| quantity | decimal(21,6) | Inferred field for 'quantity' based on naming; used within sale_line domain. |
| normal_unit_price_excl | decimal(21,6) | Inferred field for 'normal_unit_price_excl' based on naming; used within sale_line domain. |
| normal_unit_price_incl | decimal(21,6) | Inferred field for 'normal_unit_price_incl' based on naming; used within sale_line domain. |
| unit_price_excl | decimal(21,6) | Unit price excluding tax. |
| unit_price_incl | decimal(21,6) | Inferred field for 'unit_price_incl' based on naming; used within sale_line domain. |
| line_discount_excl | decimal(21,6) | Integer count used for statistics or retries. |
| line_discount_incl | decimal(21,6) | Integer count used for statistics or retries. |
| line_total_excl | decimal(21,6) | Line total excluding tax. |
| line_total_tax | decimal(21,6) | Tax/VAT amount on the line. |
| line_total_incl | decimal(21,6) | Line total including tax. |
| tax_percent | decimal(4,2) | Tax percentage applied to the line amount. |
| fulfilment_status | varchar(20) | The status of the record |
| payment_callback_ids | varchar(200) | Identifier linking to the related entity or used as an external reference. |
| promotion_code | varchar(20) | Code value defined by external scheme or internal enumeration. |
| fulfilment_data | varchar(10000) | JSON or key/values describing fulfilment logistics. |
| Column Name | Data Type | Description |
|---|
| sale_id | bigint | The ID of the related 'sale' |
| payment_id | bigint | The ID of the related 'payment' |
| amount | decimal(21,6) | Monetary amount for the transaction in the specified currency (units, not cents). |
| created | datetime | The date and time when the record was created |
| sale_payment_id | bigint | Identifier linking to the related entity or used as an external reference. |
| type | varchar(50) | Lifecycle item type/category. |
| Column Name | Data Type | Description |
|---|
| schema_change_hash | varchar(100) | Hashed representation for privacy or integrity. |
| sql_statement | varchar(10000) | Inferred field for 'sql_statement' based on naming; used within schema_change domain. |
| execution_secs | int | Inferred field for 'execution_secs' based on naming; used within schema_change domain. |
| created | datetime | The date and time when the record was created |
| unused_count | int | Integer count used for statistics or retries. |
| Column Name | Data Type | Description |
|---|
| service_id | bigint | Primary key auto increment |
| product_id | bigint | The ID of the related 'product' |
| account_id | bigint | The ID of the related 'account' |
| description | varchar(200) | A description of the service |
| quantity | decimal(21,6) | Inferred field for 'quantity' based on naming; used within service domain. |
| start | datetime | Inferred field for 'start' based on naming; used within service domain. |
| end | datetime | Inferred field for 'end' based on naming; used within service domain. |
| fulfilment_data | varchar(10000) | JSON or key/values describing fulfilment logistics. |
| pricing_data | varchar(1000) | JSON or key/values describing pricing rules/tiers. |
| version | int | Version of the record (update counter) |
| created | datetime | The date and time when the record was created |
| last_modified | datetime | The date and time when the record was last modified |
| external_id | varchar(50) | The ID of the related 'external' |
| Column Name | Data Type | Description |
|---|
| sme_payments_history_id | bigint | Primary key auto increment |
| merchant_organisation_id | bigint | The ID of the related 'merchant_organisation' |
| created | datetime | The date and time when the record was created |
| amount | decimal(21,6) | Monetary amount for the transaction in the specified currency (units, not cents). |
| gateway | varchar(50) | Processing gateway/provider (e.g., BANKSERV, FLUTTERWAVE). |
| status | varchar(50) | The status of the record (e.g., SUCCESSFUL, CANCELLED) |
| payment_id | bigint | The ID of the related 'payment' |
| payment_type | varchar(50) | High‑level payment mechanism (e.g., CARD, EFT, WALLET). |
| Column Name | Data Type | Description |
|---|
| sql_statistic_id | int | Primary key auto increment |
| type | varchar(20) | Lifecycle item type/category. |
| location | varchar(50) | Location associated with the transaction (city/store/GPS). |
| connection_name | varchar(50) | Human‑readable name or label. |
| gap_seconds | int | Inferred field for 'gap_seconds' based on naming; used within sql_statistic domain. |
| last_ran | datetime | Inferred field for 'last_ran' based on naming; used within sql_statistic domain. |
| last_latency_ms | int | Duration of the last job execution in milliseconds. |
| sql_query | varchar(10000) | Inferred field for 'sql_query' based on naming; used within sql_statistic domain. |
| Column Name | Data Type | Description |
|---|
| state_publish_id | int | Primary key auto increment |
| description | varchar(1000) | A description of the state_publish |
| topic_name | varchar(50) | Human‑readable name or label. |
| queue_name | varchar(50) | Human‑readable name or label. |
| connection_name | varchar(50) | Human‑readable name or label. |
| gap_seconds | int | Inferred field for 'gap_seconds' based on naming; used within state_publish domain. |
| last_ran | datetime | Inferred field for 'last_ran' based on naming; used within state_publish domain. |
| last_latency_ms | int | Duration of the last job execution in milliseconds. |
| sql_query | varchar(10000) | Inferred field for 'sql_query' based on naming; used within state_publish domain. |
| type | varchar(20) | Lifecycle item type/category. |
| config | varchar(2000) | Inferred field for 'config' based on naming; used within state_publish domain. |
| unique_id | varchar(100) | The ID of the related 'unique' |
| Column Name | Data Type | Description |
|---|
| column_id | int | The ID of the related 'column' |
| column0 | varchar(200) | Inferred field for 'column0' based on naming; used within static_data_sdn domain. |
| column1 | varchar(200) | Inferred field for 'column1' based on naming; used within static_data_sdn domain. |
| column2 | varchar(200) | Inferred field for 'column2' based on naming; used within static_data_sdn domain. |
| column3 | varchar(200) | Inferred field for 'column3' based on naming; used within static_data_sdn domain. |
| column4 | varchar(200) | Inferred field for 'column4' based on naming; used within static_data_sdn domain. |
| column5 | varchar(200) | Inferred field for 'column5' based on naming; used within static_data_sdn domain. |
| Column Name | Data Type | Description |
|---|
| store_id | bigint | Primary key auto increment |
| organisation_id | bigint | The ID of the related 'organisation' |
| tenant_id | bigint | The ID of the related 'tenant' |
| name | varchar(100) | The name of the store |
| city | varchar(20) | Town or city of the address. |
| state | varchar(50) | State, province, or region of the address. |
| country | varchar(60) | Country associated with the beneficiary (ISO code or name). |
| line_1 | varchar(2000) | Primary address line (street and number or company name). |
| line_2 | varchar(2000) | Secondary address line (complex, building or apartment details). |
| line_3 | varchar(2000) | Tertiary address line (additional delivery information). |
| created | datetime | The date and time when the record was created |
| last_modified | datetime | The date and time when the record was last modified |
| version | int | Version of the record (update counter) |
| Column Name | Data Type | Description |
|---|
| store_id | bigint | The ID of the related 'store' |
| identifier_type | varchar(20) | Type of external identifier (e.g., ORDER_ID, KYC_REF). |
| identifier | varchar(200) | External identifier associated with the document. |
| Column Name | Data Type | Description |
|---|
| supplier_id | bigint | Identifier linking to the related entity or used as an external reference. |
| tenant_id | bigint | The ID of the related 'tenant' |
| name | varchar(50) | The name of the supplier |
| phone_1 | varchar(20) | Telephone number, preferably E.164 formatted. |
| email | varchar(50) | Email address of the beneficiary. |
| status | varchar(20) | The status of the record (e.g., ACTIVE) |
| created | datetime | The date and time when the record was created |
| last_modified | datetime | The date and time when the record was last modified |
| version | int | Version of the record (update counter) |
| supplier_contact_name | varchar(50) | Human‑readable name or label. |
| Column Name | Data Type | Description |
|---|
| task_id | bigint | Primary key auto increment |
| executor_id | bigint | The ID of the related 'executor' |
| initiator_id | bigint | The ID of the related 'initiator' |
| executor_roles | varchar(200) | Inferred field for 'executor_roles' based on naming; used within task domain. |
| tag | varchar(200) | Inferred field for 'tag' based on naming; used within task domain. |
| description | mediumtext | A description of the task |
| initiator_comment | mediumtext | Inferred field for 'initiator_comment' based on naming; used within task domain. |
| executor_comment | mediumtext | Inferred field for 'executor_comment' based on naming; used within task domain. |
| http_method | varchar(10) | HTTP method used when invoking the callback (e.g., GET, POST, PUT). |
| created | datetime | The date and time when the record was created |
| last_modified | datetime | The date and time when the record was last modified |
| status | varchar(20) | The status of the record (e.g., DRAFT, REJECTED, EXECUTED, FAILED) |
| path | varchar(2000) | Relative or absolute URL path for the callback request. |
| body | mediumtext | Inferred field for 'body' based on naming; used within task domain. |
| response_body | mediumtext | Inferred field for 'response_body' based on naming; used within task domain. |
| response_code | int | Authorization response code (DE39). |
| token | varchar(40) | Short‑lived token or passphrase related to the remittance. |
| tenant_id | bigint | The ID of the related 'tenant' |
| Column Name | Data Type | Description |
|---|
| task_id | bigint | The ID of the related 'task' |
| approver_user_id | bigint | The ID of the related 'approver_user' |
| approval_status | varchar(20) | The status of the record (e.g., PENDING) |
| Column Name | Data Type | Description |
|---|
| username | varchar(200) | Human‑readable name or label. |
| tenant_id | bigint | The ID of the related 'tenant' |
| Column Name | Data Type | Description |
|---|
| terminal_id | bigint | Primary key auto increment |
| store_id | bigint | The ID of the related 'store' |
| user_id | bigint | The ID of the related 'user' |
| organisation_id | bigint | The ID of the related 'organisation' |
| wallet_id | bigint | The ID of the related 'wallet' |
| terminal_type_id | int | The ID of the related 'terminal_type' |
| name | varchar(200) | The name of the terminal |
| status | varchar(20) | The status of the record (e.g., ACTIVE) |
| created | datetime | The date and time when the record was created |
| last_modified | datetime | The date and time when the record was last modified |
| config | varchar(5000) | Inferred field for 'config' based on naming; used within terminal domain. |
| version | int | Version of the record (update counter) |
| Column Name | Data Type | Description |
|---|
| terminal_id | bigint | The ID of the related 'terminal' |
| identifier_type | varchar(20) | Type of external identifier (e.g., ORDER_ID, KYC_REF). |
| identifier | varchar(200) | External identifier associated with the document. |
| Column Name | Data Type | Description |
|---|
| terminal_type_id | int | Primary key auto increment |
| name | varchar(200) | The name of the terminal_type |
| implementation_class | varchar(200) | Fully qualified class that implements the job logic. |
| tenant_id | bigint | The ID of the related 'tenant' |
| config | mediumtext | Inferred field for 'config' based on naming; used within terminal_type domain. |
| version | int | Version of the record (update counter) |
Storage of authentication tokens for token renewals and validation
| Column Name | Data Type | Description |
|---|
| token | varchar(100) | Short‑lived token or passphrase related to the remittance. |
| status | varchar(1) | The status of the record (e.g., A) |
| last_modified | datetime | The date and time when the record was last modified |
| identity | varchar(50) | Identifier linking to the related entity or used as an external reference. |
| renew_token | varchar(100) | Opaque token string used for identification or security. |
Profile data of customers and system users
| Column Name | Data Type | Description |
|---|
| user_id | bigint | Primary key auto increment |
| title | varchar(20) | Inferred field for 'title' based on naming; used within user domain. |
| first_name | varchar(50) | Given/first name. |
| middle_name | varchar(50) | Middle name(s) of the beneficiary, if any. |
| last_name | varchar(50) | Surname/last name. |
| locale | varchar(20) | Inferred field for 'locale' based on naming; used within user domain. |
| known_as | varchar(100) | Inferred field for 'known_as' based on naming; used within user domain. |
| dob | varchar(8) | Date of birth in YYYYMMDD or provider‑specific format. |
| email_1 | varchar(80) | Email address in RFC‑compliant format. |
| email_2 | varchar(80) | Email address in RFC‑compliant format. |
| phone_1 | varchar(20) | Telephone number, preferably E.164 formatted. |
| phone_2 | varchar(20) | Telephone number, preferably E.164 formatted. |
| gender | char(1) | Inferred field for 'gender' based on naming; used within user domain. |
| national_identity_number | varchar(20) | Identifier linking to the related entity or used as an external reference. |
| passport_number | varchar(20) | Inferred field for 'passport_number' based on naming; used within user domain. |
| passport_country | varchar(20) | Integer count used for statistics or retries. |
| passport_expiry | varchar(8) | Expiry date/time for this record or token. |
| passport_place_of_issue | varchar(60) | Inferred field for 'passport_place_of_issue' based on naming; used within user domain. |
| country_of_residence | varchar(50) | Identifier linking to the related entity or used as an external reference. |
| country_of_birth | varchar(20) | Integer count used for statistics or retries. |
| city_of_birth | varchar(20) | Inferred field for 'city_of_birth' based on naming; used within user domain. |
| maiden_name | varchar(50) | Identifier linking to the related entity or used as an external reference. |
| preferences | varchar(5000) | Reference string used for reconciliation or display. |
| version | int | Version of the record (update counter) |
| created | datetime | The date and time when the record was created |
| last_modified | datetime | The date and time when the record was last modified |
| status | int | The status of the record (e.g., 1) |
| tax_number | varchar(20) | Inferred field for 'tax_number' based on naming; used within user domain. |
| external_id | varchar(200) | The ID of the related 'external' |
| qualification | varchar(50) | Inferred field for 'qualification' based on naming; used within user domain. |
| profession | varchar(50) | Inferred field for 'profession' based on naming; used within user domain. |
| other | varchar(5000) | Additional data/notes for the product. |
| tenant_id | bigint | The ID of the related 'tenant' |
| marital_status | char(1) | The status of the record (e.g., None, D, M, S) |
| asylum_ref_number | varchar(15) | Inferred field for 'asylum_ref_number' based on naming; used within user domain. |
| asylum_paper_expiry | varchar(8) | Expiry date/time for this record or token. |
| asylum_issue_date | varchar(8) | Date/time value in system timezone unless otherwise specified. |
| national_identity_issue_date | varchar(8) | Date/time value in system timezone unless otherwise specified. |
| passport_issue_date | varchar(8) | Date/time value in system timezone unless otherwise specified. |
| school_name | varchar(50) | Human‑readable name or label. |
| national_identity_serial_number | varchar(20) | Identifier linking to the related entity or used as an external reference. |
| next_of_kin_info | varchar(500) | Inferred field for 'next_of_kin_info' based on naming; used within user domain. |
| asylum_country_of_issuance | varchar(20) | Integer count used for statistics or retries. |
| national_identity_country_of_issuance | varchar(20) | Identifier linking to the related entity or used as an external reference. |
| nationality | varchar(50) | Country of nationality/citizenship. |
| risk_score | decimal(10,2) | Inferred field for 'risk_score' based on naming; used within user domain. |
| additional_identity_number | varchar(20) | Identifier linking to the related entity or used as an external reference. |
| profile_completion_status | int | The status of the record (e.g., None) |
| source_of_funds | varchar(100) | Inferred field for 'source_of_funds' based on naming; used within user domain. |
| industry | varchar(100) | Inferred field for 'industry' based on naming; used within user domain. |
| monthly_income | bigint | Inferred field for 'monthly_income' based on naming; used within user domain. |
| purpose_of_use | varchar(100) | Inferred field for 'purpose_of_use' based on naming; used within user domain. |
| national_identity_expiry | varchar(8) | Identifier linking to the related entity or used as an external reference. |
| temporary_identity_expiry | varchar(8) | Identifier linking to the related entity or used as an external reference. |
| permit_expiry | varchar(8) | Expiry date/time for this record or token. |
| permit_number | varchar(20) | Inferred field for 'permit_number' based on naming; used within user domain. |
| next_mandatory_kyc_date | datetime | Date/time value in system timezone unless otherwise specified. |
| communication_preference | varchar(45) | Reference string used for reconciliation or display. |
| user_type_id | int | The ID of the related 'user_type' |
| accountable_institution_cif | varchar(50) | Integer count used for statistics or retries. |
| risk_rating | varchar(50) | Inferred field for 'risk_rating' based on naming; used within user domain. |
Push message tokens for GCM and Apple messaging
| Column Name | Data Type | Description |
|---|
| contact_id | bigint | Primary key auto increment |
| contact | varchar(1000) | Inferred field for 'contact' based on naming; used within user_contact domain. |
| contact_type | varchar(20) | Type/classification value from a controlled vocabulary. |
| user_id | bigint | The ID of the related 'user' |
| expires | datetime | Card expiry in YYMM/YYMMDD depending on provider. |
| data | varchar(5000) | Event payload (often JSON). |
Device fingerprints for MFA authentication
| Column Name | Data Type | Description |
|---|
| device_fingerprint_id | bigint | The ID of the related 'device_fingerprint' |
| user_id | bigint | The ID of the related 'user' |
| device_fingerprint | varchar(200) | Inferred field for 'device_fingerprint' based on naming; used within user_device_fingerprint domain. |
| device_name | varchar(200) | Human‑readable name or label. |
| created | datetime | The date and time when the record was created |
| last_modified | datetime | The date and time when the record was last modified |
User identifies for logging in
| Column Name | Data Type | Description |
|---|
| identity | varchar(50) | Identifier linking to the related entity or used as an external reference. |
| identity_type | varchar(20) | Type of identity document (e.g., NATIONAL_ID, PASSPORT, DRIVERS_LICENSE). |
| secret_or_key | varchar(2000) | Inferred field for 'secret_or_key' based on naming; used within user_identity domain. |
| user_id | bigint | The ID of the related 'user' |
| failed_auth_attempts | int | Authorisation/authentication code or flag. |
| auth_locked_until | datetime | Authorisation/authentication code or flag. |
| auth_locked_after | datetime | Authorisation/authentication code or flag. |
| change_after | datetime | Inferred field for 'change_after' based on naming; used within user_identity domain. |
| failed_password_change_attempts | int | Inferred field for 'failed_password_change_attempts' based on naming; used within user_identity domain. |
| info | varchar(10000) | Additional info for the batch result. |
Mappings of arbitrary identifiers to a user
| Column Name | Data Type | Description |
|---|
| user_id | bigint | The ID of the related 'user' |
| identifier | varchar(200) | External identifier associated with the document. |
| identifier_type | varchar(50) | Type of external identifier (e.g., ORDER_ID, KYC_REF). |
| info | varchar(2000) | Additional info for the batch result. |
Positions of users in tenants and organisations
| Column Name | Data Type | Description |
|---|
| user_id | bigint | The ID of the related 'user' |
| organisation_id | bigint | The ID of the related 'organisation' |
| position | varchar(20) | Inferred field for 'position' based on naming; used within user_position domain. |
| division_id | bigint | The ID of the related 'division' |
Roles of global and institution users
| Column Name | Data Type | Description |
|---|
| user_id | bigint | The ID of the related 'user' |
| role | varchar(30) | Inferred field for 'role' based on naming; used within user_role domain. |
Security questions against users
| Column Name | Data Type | Description |
|---|
| security_question_id | bigint | Primary key auto increment |
| user_id | bigint | The ID of the related 'user' |
| question | varchar(1000) | Inferred field for 'question' based on naming; used within user_security_question domain. |
| answer | varchar(200) | Inferred field for 'answer' based on naming; used within user_security_question domain. |
| created | datetime | The date and time when the record was created |
| last_modified | datetime | The date and time when the record was last modified |
Mappings of users to their concrete type
| Column Name | Data Type | Description |
|---|
| user_type_id | int | Identifier linking to the related entity or used as an external reference. |
| name | varchar(200) | The name of the user_type |
| implementation_class | varchar(200) | Fully qualified class that implements the job logic. |
| config | mediumtext | Inferred field for 'config' based on naming; used within user_type domain. |
| version | int | Version of the record (update counter) |
Wallet balance and other details
| Column Name | Data Type | Description |
|---|
| wallet_id | bigint | Primary key auto increment |
| wallet_type_id | int | The ID of the related 'wallet_type' |
| balance | decimal(24,9) | Running balance after the transaction in the account currency. |
| name | varchar(50) | The name of the wallet |
| user_id | bigint | The ID of the related 'user' |
| organisation_id | bigint | The ID of the related 'organisation' |
| currency | varchar(5) | ISO 4217 currency code for this payment. |
| status | int | The status of the record (e.g., 1, 0) |
| parent_wallet_id | bigint | The ID of the related 'parent_wallet' |
| created | datetime | The date and time when the record was created |
| post_creation_callback_ids | varchar(200) | Identifier linking to the related entity or used as an external reference. |
| friendly_id | varchar(50) | The ID of the related 'friendly' |
| credit_limit | decimal(24,9) | Inferred field for 'credit_limit' based on naming; used within wallet domain. |
| preferences | varchar(5000) | Reference string used for reconciliation or display. |
| promotion_code | varchar(20) | Code value defined by external scheme or internal enumeration. |
| other | varchar(5000) | Additional data/notes for the product. |
| wallet_logic_set_id | int | The ID of the related 'wallet_logic_set' |
| external_id | varchar(200) | The ID of the related 'external' |
| description | varchar(200) | A description of the wallet |
| account_number | varchar(20) | Destination account number for the EFT. |
Ledger of wallet transactions
| Column Name | Data Type | Description |
|---|
| wallet_history_id | bigint | Primary key auto increment |
| wallet_id | bigint | The ID of the related 'wallet' |
| start_date | datetime | Optional start date limiting when the job becomes active. |
| end_date | datetime | Optional end date after which the job is disabled. |
| status | varchar(2) | The status of the record (e.g., FI) |
| unique_id | varchar(200) | The ID of the related 'unique' |
| external_transaction_id | varchar(200) | The ID of the related 'external_transaction' |
| description | varchar(200) | A description of the wallet_history |
| service_code | varchar(100) | Code value defined by external scheme or internal enumeration. |
| service_identifier | varchar(200) | Identifier linking to the related entity or used as an external reference. |
| service_identifier_type | varchar(20) | Identifier linking to the related entity or used as an external reference. |
| units | decimal(24,9) | Total units included in the bundle (e.g., minutes, data MB, tokens). |
| post_paid_units | decimal(24,9) | Identifier linking to the related entity or used as an external reference. |
| unit_type | varchar(20) | Unit of measure for the bundle (e.g., MINUTES, MB, ITEMS). |
| balance_change | decimal(24,9) | Inferred field for 'balance_change' based on naming; used within wallet_history domain. |
| post_paid_balance_change | decimal(24,9) | Identifier linking to the related entity or used as an external reference. |
| closing_balance | decimal(24,9) | Closing balance for the statement period. |
| unearned_revenue | decimal(24,9) | Inferred field for 'unearned_revenue' based on naming; used within wallet_history domain. |
| earned_revenue | decimal(24,9) | Inferred field for 'earned_revenue' based on naming; used within wallet_history domain. |
| location | varchar(200) | Location associated with the transaction (city/store/GPS). |
| info | varchar(2000) | Additional info for the batch result. |
| associated_wallet_history_id | bigint | The ID of the related 'associated_wallet_history' |
| interconnect_record_id | bigint | The ID of the related 'interconnect_record' |
| other_1 | varchar(50) | Inferred field for 'other_1' based on naming; used within wallet_history domain. |
| other_2 | varchar(50) | Inferred field for 'other_2' based on naming; used within wallet_history domain. |
| other_3 | varchar(50) | Inferred field for 'other_3' based on naming; used within wallet_history domain. |
| other_4 | varchar(50) | Inferred field for 'other_4' based on naming; used within wallet_history domain. |
| other_5 | varchar(50) | Inferred field for 'other_5' based on naming; used within wallet_history domain. |
| other_6 | varchar(50) | Inferred field for 'other_6' based on naming; used within wallet_history domain. |
| other_7 | varchar(50) | Inferred field for 'other_7' based on naming; used within wallet_history domain. |
| other_8 | varchar(50) | Inferred field for 'other_8' based on naming; used within wallet_history domain. |
| other_9 | varchar(50) | Inferred field for 'other_9' based on naming; used within wallet_history domain. |
| other_10 | varchar(50) | Inferred field for 'other_10' based on naming; used within wallet_history domain. |
| eventual_consistency | bit(1) | Inferred field for 'eventual_consistency' based on naming; used within wallet_history domain. |
| other_wallet_id | bigint | The ID of the related 'other_wallet' |
| session_id | varchar(200) | The ID of the related 'session' |
| tracing_context | varchar(100) | Correlation IDs for distributed tracing. |
| reversal | bit(1) | Inferred field for 'reversal' based on naming; used within wallet_history domain. |
| fraud_reference | varchar(100) | Reference string used for reconciliation or display. |
| card_id | bigint | The ID of the related 'card' |
| reallocation | bit(1) | Inferred field for 'reallocation' based on naming; used within wallet_history domain. |
Individual subledger entries for long running charging sessions (typically for telco use)
| Column Name | Data Type | Description |
|---|
| wallet_history_detail_id | bigint | Primary key auto increment |
| wallet_history_id | bigint | The ID of the related 'wallet_history' |
| date | datetime | Date/time value in system timezone unless otherwise specified. |
| units | decimal(24,9) | Total units included in the bundle (e.g., minutes, data MB, tokens). |
| post_paid_units | decimal(24,9) | Identifier linking to the related entity or used as an external reference. |
| bundle_id | bigint | The ID of the related 'bundle' |
| balance_change | decimal(24,9) | Inferred field for 'balance_change' based on naming; used within wallet_history_detail domain. |
| post_paid_balance_change | decimal(24,9) | Identifier linking to the related entity or used as an external reference. |
| revenue | decimal(24,9) | Inferred field for 'revenue' based on naming; used within wallet_history_detail domain. |
| location | varchar(200) | Location associated with the transaction (city/store/GPS). |
Injection of custom scripting logic into wallet behaviour
| Column Name | Data Type | Description |
|---|
| wallet_logic_set_id | int | Primary key auto increment |
| tenant_id | bigint | The ID of the related 'tenant' |
| description | varchar(2000) | A description of the wallet_logic_set |
| post_transfer_logic | mediumtext | Inferred field for 'post_transfer_logic' based on naming; used within wallet_logic_set domain. |
| monthly_fees_logic | mediumtext | Fee component applied to this transaction. |
| fees_logic | mediumtext | Fee component applied to this transaction. |
| transfer_augmentation_logic | mediumtext | Inferred field for 'transfer_augmentation_logic' based on naming; used within wallet_logic_set domain. |
Mapping of arbitrary identifiers to look up a wallet
| Column Name | Data Type | Description |
|---|
| wallet_id | bigint | The ID of the related 'wallet' |
| service_identifier | varchar(200) | Identifier linking to the related entity or used as an external reference. |
| service_identifier_type | varchar(50) | Identifier linking to the related entity or used as an external reference. |
| rate_card_id | int | The ID of the related 'rate_card' |
| priority | int | Ordering/selection priority when multiple bundles apply. |
| info | varchar(2000) | Additional info for the batch result. |
Tracking rollbacks of wallet transactions
| Column Name | Data Type | Description |
|---|
| unique_id | varchar(200) | The ID of the related 'unique' |
Configuration information of wallet types
| Column Name | Data Type | Description |
|---|
| wallet_type_id | int | Primary key auto increment |
| name | varchar(200) | The name of the wallet_type |
| implementation_class | varchar(200) | Fully qualified class that implements the job logic. |
| tenant_id | bigint | The ID of the related 'tenant' |
| config | mediumtext | Inferred field for 'config' based on naming; used within wallet_type domain. |
| version | int | Version of the record (update counter |
Configuration of wholesale billing
| Column Name | Data Type | Description |
|---|
| config_id | bigint | Primary key auto increment |
| tenant_id | bigint | The ID of the related 'tenant' |
| description | varchar(200) | A description of the wholesale_billing_config |
| event_type | varchar(20) | Event name/pattern that triggers the rule. |
| gateway | varchar(50) | Processing gateway/provider (e.g., BANKSERV, FLUTTERWAVE). |
| billing_logic | mediumtext | Inferred field for 'billing_logic' based on naming; used within wholesale_billing_config domain. |
| debit_fee_wallet_id | bigint | The ID of the related 'debit_fee_wallet' |
Events rated and processed by wholesale billing
| Column Name | Data Type | Description |
|---|
| event_id | bigint | Primary key auto increment |
| tenant_id | bigint | The ID of the related 'tenant' |
| billing_config_id | bigint | The ID of the related 'billing_config' |
| gateway | varchar(50) | Processing gateway/provider (e.g., BANKSERV, FLUTTERWAVE). |
| amount | decimal(24,9) | Monetary amount for the transaction in the specified currency (units, not cents). |
| currency | varchar(5) | ISO 4217 currency code for this payment. |
| unique_id | varchar(100) | The ID of the related 'unique' |
| external_transaction_id | varchar(200) | The ID of the related 'external_transaction' |
| event_type | varchar(20) | Event name/pattern that triggers the rule. |
| status | varchar(20) | The status of the record (e.g., SUCCESSFUL) |
| error_description | varchar(500) | Error message or reason for failure. |
| fee_total | decimal(24,9) | Fee component applied to this transaction. |
| wholesale_billing_event | mediumtext | Inferred field for 'wholesale_billing_event' based on naming; used within wholesale_billing_event domain. |
| wholesale_billing_result | mediumtext | Inferred field for 'wholesale_billing_result' based on naming; used within wholesale_billing_event domain. |
| created | datetime | The date and time when the record was created |
| last_modified | datetime | The date and time when the record was last modified |
Wallet withdrawal transactions
| Column Name | Data Type | Description |
|---|
| withdrawal_id | bigint | Primary key auto increment |
| status | varchar(20) | The status of the record (e.g., TIMEOUT, ERROR, SUCCESSFUL) |
| created | datetime | The date and time when the record was created |
| token | varchar(50) | Short‑lived token or passphrase related to the remittance. |
| withdrawal_type | varchar(20) | Type/classification value from a controlled vocabulary. |
| withdrawal_sub_type | varchar(20) | Type/classification value from a controlled vocabulary. |
| unique_id | varchar(200) | The ID of the related 'unique' |
| gateway_transaction_id | varchar(100) | The ID of the related 'gateway_transaction' |
| user_id | bigint | The ID of the related 'user' |
| organisation_id | bigint | The ID of the related 'organisation' |
| wallet_id | bigint | The ID of the related 'wallet' |
| tenant_id | bigint | The ID of the related 'tenant' |
| grouping_id | bigint | The ID of the related 'grouping' |
| last_modified | datetime | The date and time when the record was last modified |
| amount | decimal(24,9) | Monetary amount for the transaction in the specified currency (units, not cents). |
| fee | decimal(24,9) | Fee component applied to this transaction. |
| final_amount | decimal(24,9) | Monetary amount; decimals indicate fractional currency. |
| currency | varchar(5) | ISO 4217 currency code for this payment. |
| description | varchar(200) | A description of the withdrawal |
| error_description | varchar(100) | Error message or reason for failure. |
| gateway | varchar(30) | Processing gateway/provider (e.g., BANKSERV, FLUTTERWAVE). |
| pre_processing_callback_ids | varchar(200) | Comma‑separated IDs of callbacks to invoke before processing. |
| post_success_callback_ids | varchar(200) | Callbacks to invoke only on successful completion. |
| post_reversal_callback_ids | varchar(200) | Callbacks to invoke only on payment reversal/refund. |
| expires | datetime | Card expiry in YYMM/YYMMDD depending on provider. |
| info | varchar(2000) | Additional info for the batch result. |
| deliver_to_phone | varchar(20) | Recipient phone number when delivering to mobile wallet. |
| reference | varchar(50) | Reference for the remittance shown to sender/recipient. |
| location | varchar(200) | Location associated with the transaction (city/store/GPS). |
| last_polled | datetime | Last time we polled the provider for status. |
| poll_count | int | Number of polls made to the provider. |
| gateway_state | mediumtext | Serialized state/context held for gateway processing. |
| tracing_context | varchar(100) | Correlation IDs for distributed tracing. |
| hold_until | datetime | Inferred field for 'hold_until' based on naming; used within withdrawal domain. |
Response tracking of API calls to external systems involved in withdrawals
| Column Name | Data Type | Description |
|---|
| withdrawal_gateway_response_id | bigint | Primary key auto increment |
| created | datetime | The date and time when the record was created |
| withdrawal_id | bigint | The ID of the related 'withdrawal' |
| response_type | varchar(20) | Type/category of provider response. |
| response | mediumtext | Raw response body from provider. |
_