Velox Data Domain Model
This document describes the business concepts represented by the velox-data repository. The repository defines the VxData database and related message contracts used to standardise business transaction data processed by Velox.
Domain Boundary
velox-data owns the shared business data model for transactions and trading-partner data.
It represents:
- parties, partners, applications, and interfaces
- standardized transaction records
- transaction events and issues
- products, addresses, locations, and shipping references
- mappings, uploads, web hooks, and integration support data
- VxXML and JSON message shapes
It does not execute flows. Flow execution is owned by velox; web interaction is owned by velox-web; API proxy behavior is owned by velox-web2.
VxData
VxData is the relational business data platform used by Velox integrations.
Its purpose is to standardise transaction data as it moves between customer systems, trading partners, web users, and Velox flows.
VxData is not only a staging database. It also supports:
- user-facing review
- issue handling
- event tracking
- mapping and lookup
- webhook/file intake
- partner/application-specific views of data
Parties And Partners
Party
A party is a business entity or location involved in transactions.
Party roles include:
- customer
- supplier
- consignor
- consignee
- location
- carrier
- shipper
- agent
- company
A single party can have multiple roles. Party records can be connected to addresses, contacts, interfaces, users, applications, and partner relationships.
Partner
A partner represents a trading partner or external business relationship.
Partners connect to:
- parties
- interfaces
- partner-specific codes
- applications
- transaction data
Partner records help Velox translate between customer/internal identities and trading-partner identities.
Application
An application represents a business system or Velox-facing application context.
Applications are linked to interfaces and can influence:
- codes
- mappings
- party relationships
- integration ownership
- web/API behavior
Interface
An interface represents an integration channel or business integration definition.
Interfaces connect applications, partners, data sources, transaction flows, and numbering behavior.
Users And Access
Users represent people or API identities that interact with VxData through web/API surfaces.
Important concepts:
- User: business/user record.
- User party: relationship between a user and the parties they can access.
- ASP.NET Identity tables: web authentication infrastructure.
- Persisted grants: identity/token-related storage.
The business rule implied by the model is that user access is often party-scoped.
Address And Location
Address/location concepts support shipping, party, and transaction workflows.
Concepts:
- country
- region
- zone
- city
- suburb
- suburb map
- address
- address map
- zone delivery offset
- port
- vessel
- voyage
- holiday
These concepts provide normalized geography and logistics references for transactions.
Product And Quantity
Product concepts support transaction line detail and partner-specific product handling.
Concepts:
- product
- product unit of measure
- product quantity
- product price
- product party/partner relationship
- price level
- unit of measure
- UOM type
- UOM party mapping
- dangerous goods class
- temperature
- tax
The model supports products being interpreted differently by parties/partners while retaining standardized transaction data.
Transaction Families
VxData uses repeated transaction family patterns. Most major families have a header/root record, related line/detail records, event records, issue records, and type/status lookups.
Order
Represents purchase/sales/order-style transaction data.
Concepts:
- order header
- order consignee
- order line
- line batch
- line serial
- line consignee
- order type
- order status
- line status
- response status
- order events and issues
ASN
Represents advanced shipping notice data.
Concepts:
- ASN header
- ASN consignee
- ASN package
- ASN line
- line batch
- ASN type/status
- ASN events and issues
Shipment
Represents shipment and transport execution/review data.
Concepts:
- shipment header
- shipment line
- shipment manifest
- shipment service
- shipment type/status
- shipment events and issues
- proof of delivery
- shipment tracking
Shipment is especially important to the web portal and review workflows.
Invoice
Represents invoice transaction data.
Concepts:
- invoice header
- invoice line
- invoice type/status
- invoice events and issues
Remittance
Represents remittance/payment advice data.
Concepts:
- remittance header
- remittance line
- remittance type
- remittance events and issues
Adjustment
Represents transaction adjustments.
Concepts:
- adjustment header
- adjustment line
- adjustment events and issues
Booking
Represents booking records and booking lifecycle.
Concepts:
- booking
- booking events
- booking issues
PreAdvice
Represents pre-advice transaction data.
Concepts:
- pre-advice
- pre-advice events
- pre-advice issues
Container Move
Represents container movement data.
Concepts:
- container move
- container move type
- container move events
- container move issues
Events
Events represent things that happened or need to happen for a transaction.
Event concepts:
- generic event type
- domain-specific event type
- transaction event
- interchange event
- event status/context
Events are used across transaction families to record processing milestones, notifications, changes, and integration activity.
Issues
Issues represent validation, processing, business, or integration problems.
Issue concepts:
- issue definition
- issue contact
- transaction issue
- interchange issue
- issue status
- issue email/contact handling
Issues are central to review and exception workflows.
Interchange
An interchange represents an integration exchange or grouped message/data transfer.
Concepts:
- interchange
- interchange event
- interchange issue
It ties business transactions to the integration context in which they were received, sent, or processed.
Mapping
Mapping supports translation between external codes/data and standardized VxData values.
Concepts:
- mapping
- mapping data
- party/partner/application-specific codes
- address/suburb/product/UOM mappings
Mapping allows Velox to normalize trading-partner variation into a common data model.
Web Hooks And Uploads
Web hook and upload concepts support external inbound files or API-submitted data.
Concepts:
- web hook
- web hook file
- upload
- incoming file/payload
- processing status
These records bridge external submissions into Velox processing and web review.
Velox Flow Link
VeloxFlow links web/data-facing actions to Velox flow/action identifiers.
Business meaning:
- a web user or integration can request a business action
- that action maps to a Velox flow in the core system
- the flow executes outside this repository
Reference And Operational Data
Reference/operational concepts include:
- status
- source
- setting
- auto number
- cache
- tally
- table count/size/index diagnostic views
- system version
These concepts support application behavior, numbering, lookup, performance review, and upgrade/version tracking.
Message Contracts
VxXML
VxXML schemas define XML message contracts for business transactions. They provide a structured external representation of VxData transaction concepts.
JSON
JSON files provide examples or emerging JSON representations for selected VxData messages.
The JSON coverage appears incomplete/future-facing compared with the SQL and VxXML model.
Concept Relationships
- An application owns or participates in one or more interfaces.
- A partner participates in interfaces and maps to one or more parties.
- A party can play many business roles.
- A transaction references parties, products, addresses, statuses, sources, and integration context.
- A transaction can have events and issues.
- An interchange groups integration processing around transactions.
- A mapping translates external/business-specific values into standardized VxData values.
- A web hook/upload introduces external data into the model.
- A VeloxFlow links web-visible business actions to core Velox flows.
Unclear From This Repository
- The authoritative runtime workflow for each transaction family.
- Which JSON files are contracts versus examples.
- The exact process that applies upgrades to customer databases.
- Which demo/manual/delete scripts are safe outside development.