Skip to main content

External Relationships Data Model Overview

The XRM data model is built around merchants - business entities that extend the platform's party model - with supporting records for classification, geographic presence, product catalogues, and external system integration. Understanding how these relate is the key to understanding how Raytio's merchant management works.

The big picture​

Merchants as parties​

Every merchant is first a party in the PRM module. The merchant profile adds merchant-specific attributes - name, description, branding images, type and class codes, and approval status - while retaining the underlying party identity.

This separation means contact details, addresses, and relationships are managed at the party level, while merchant-specific concerns live in XRM. For full details see Merchants and Merchant Details.

Classifications​

Merchants are categorised using classification items from the general product catalogue. These form hierarchical category trees. A merchant can be linked to one or more classification nodes, with one category marked as the principal business category. See Merchant Classifications.

Items and services​

What a merchant sells or provides is modelled by associating the merchant with items from the product catalogue. An optional location reference scopes the offering to a specific location. See Merchant Items and Countries.

Geographic presence​

Merchant country records identify which countries a merchant operates in, using ISO country codes. A primary country flag marks the principal country of operation. See Merchant Items and Countries.

Integration configuration​

Authentication configuration stores per-merchant OAuth 2.0 flow parameters so the platform can programmatically obtain tokens from merchant APIs. See Merchant Authentication Configuration.

Common patterns​

XRM records share these structural conventions:

PatternDescription
Tenant scopeKeeps each tenant's merchant data separate
start_date / end_dateTemporal validity window (defaults to a 100-year span)
created_by, updated_by, owned_byAudit and ownership tracking
row_versionOptimistic concurrency control
Authorisation scopeControls which users can view or manage merchant records
metadataExtensible attributes for additional merchant-specific information