Velox Web Domain Model
This document describes the business/product concepts represented by the velox-web repository. This repository is the current ASP.NET Core web portal over VxData.
Domain Boundary
velox-web owns the user interaction layer for VxData and selected Velox configuration/flow interactions.
It represents:
- portal users and access to transaction data
- administration of reference data
- transaction review and search
- shipment-focused workflows
- webhook/file intake surfaces
- web-triggered Velox flow actions
- dashboard and log visibility
It does not own the core Velox flow engine or the VxData schema. Those are owned by velox and velox-data.
Portal User
A portal user is a person who logs into Velox Web to view, review, administer, or act on VxData records.
User concepts:
- login identity
- user profile
- role or user type
- party access
- claims added for request handling
The data model implies that users may be scoped to one or more parties through User_Party.
Access Context
Access context is the current user's business scope for a request.
Important dimensions:
- user number
- user role
- associated parties
- admin-only mode
- application number
This context determines what data the user can see or act on.
Portal Areas
The web portal is organized into user-facing areas.
Transaction Area
The transaction area is for day-to-day business transaction review and action.
Visible focus:
- shipments
- shipment detail
- shipment search/listing
- transaction menu/navigation
Other transaction families exist in VxData, but shipment appears to be the most developed portal workflow.
Administration Area
The administration area is for reference and setup-style data used by the portal.
Examples:
- parties
- products
- application/reference entities
- other VxData lookup or master-data concepts
Dashboard Area
The dashboard area is for searching, monitoring, or summarizing operational data.
Exact production scope is unclear from static review.
API Area
The API area exposes webhook/file-oriented endpoints for external callers.
It is not the same as the Delphi VeloxAPIService; it is a web portal API surface over VxData/webhook records.
Identity Area
The Identity area handles login, registration, password, and account workflows.
Transaction
A transaction is a business document or process record stored in VxData.
Transaction families include:
- shipment
- order
- ASN
- invoice
- remittance
- adjustment
- booking
- pre-advice
- container move
The portal currently centers most visible transaction UI around shipments.
Shipment
Shipment is the strongest visible business workflow in this repository.
Shipment concepts:
- shipment header
- shipment line
- manifest
- shipment status
- shipment type
- shipment service
- shipment event
- shipment issue
- proof of delivery
- tracking
- price/detail projections
Portal users can review shipment lists and details, and may trigger related actions such as printing or Velox flow execution.
Event
An event records a transaction milestone, notification, or workflow occurrence.
In the web portal, events support:
- transaction history
- operational status
- review context
- downstream action visibility
Event definitions and tables are owned by VxData.
Issue
An issue represents a transaction problem requiring attention.
Issue concepts:
- validation problem
- integration error
- missing/inconsistent data
- issue status
- issue contacts/emails
- transaction-specific issue rows
The portal gives users a place to review or act on issue-related data.
Party And Partner
Parties and partners define who the transaction is about and who a user is allowed to see.
Party roles include:
- customer
- supplier
- consignor
- consignee
- carrier
- shipper
- agent
- location
- company
Partner relationships connect external trading partners to internal/customer entities.
Product And Reference Data
Reference data supports transaction interpretation and administration.
Concepts:
- product
- unit of measure
- price level
- address/location
- country/region/zone/city/suburb
- temperature
- dangerous goods class
- tax
- status/type/source lookup values
Administration screens expose selected reference data to portal users.
Web Hook
A web hook is an externally addressable intake definition for files or payloads.
Concepts:
- webhook definition
- webhook channel/code
- uploaded file
- file extension/path
- webhook file status
- bearer-token authorization
The web portal API can accept uploads, store files, and expose status or downloads through webhook services.
Upload
An upload is a file or payload submitted to the web/API surface.
Business meaning:
- inbound data waiting for Velox processing
- external system handoff
- traceable file associated with a webhook or transaction process
Velox Flow Link
VeloxFlow links web-visible actions to Velox flow/action execution.
Business meaning:
- portal users perform an action
- the portal identifies the matching Velox flow
- the flow executes in the core Velox runtime
- the result is returned or reflected in VxData/logs
Examples include printing or executing transaction-related flows.
External Address Lookup
External address providers help users search or validate address data.
Concepts:
- AddressFinder lookup
- Google address lookup
- address autocomplete/metadata
- user-facing address selection
These providers support address quality and user efficiency.
Configuration And Layout
Web configuration concepts include:
- default home page per area
- admin-area mode
- layout orientation/theme
- email settings
- cache settings
- address provider settings
These are product configuration values from the web portal perspective.
Concept Relationships
- A portal user has an access context.
- Access context limits visible parties and transactions.
- A transaction can have events and issues.
- A shipment is a transaction with lines, manifests, tracking, POD, events, and issues.
- A web hook receives an upload.
- An upload can become data processed by Velox.
- A VeloxFlow maps a portal action to a core Velox flow.
- Reference data gives transactions consistent business meaning.
Unclear From This Repository
- Which portal areas are fully production-ready.
- The long-term replacement path if the portal is rebuilt in Angular or React.
- The complete production secret-management model.
- Which VxData transaction families will receive the same depth of UI as shipments.