Skip to main content

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.

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.