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