At a glance
Receives orders from every channel, validates them and submits them for fulfilment.
Key data
Receives from
- Cart
- Channels (web, app, POS, care)
Sends to
- Order management
- Party & account
Order Flow
From channel submission through validation to orchestration
Core Capabilities
What Order Capture provides
Order Intake
- Receives order requests from all channels — Web portal, POS, eCare, CRM
- Validates mandatory fields and business rules before persisting
- Creates order header, order lines and milestone documents
- Assigns unique order identifier and tracks order state
- Supports new activation, change, disconnect and port-out order types
- Stores order in document data store with full lifecycle state
Order Validation
- Validates subscriber eligibility and account status
- Checks product availability and compatibility rules
- Verifies payment method is on file before order proceeds
- Applies business rules: line limits, plan eligibility, SIM type
- Enriches order with billing account, subscription IDs
- Returns validation errors to channel with structured error codes
Order Milestones
- Maintains milestone documents per order for progress tracking
- Records timestamps for each stage: created, submitted, fulfilled
- Exposes order status query API for channel polling
- Supports order dashboard for operations visibility
- Generates order report documents for back-office review
Order Rate Controller
- Controls the rate at which orders are submitted to orchestration layer
- Protects downstream COM/SOM from overload during bulk submission
- Queues orders and releases them at a configurable throughput rate
- Priority-based release — urgent orders processed ahead of batch
Change Orders
- Supports plan change, add-on add/remove and device upgrade orders
- Handles SIM exchange and number transfer requests
- Processes disconnection and port-out orders
- Maintains order history for all changes per subscription
Order Document Model
- Order header: account, channel, type, status, timestamps
- Order lines: products, quantities, prices, actions
- Milestone documents: per-stage completion markers
- State transition records: full history of status changes
- Order report: summary of fulfilment outcomes
Storage & Persistence
How and where OrderCapture stores its data
Document Data Store
- Order header and order line documents
- Milestone documents per order stage
- State transition history records
- Order rate controller queue documents
- Order report summaries
Async Event Bus
- Order submission event to COM
- Order status change notifications
- Order rate controller release events
- Channel polling response topics
Search Index
- Order search by customer, ID, status
- Order history for CRM and care portals
- Order dashboard for operations teams
Design Principles
Key architectural decisions behind the Order Capture module
Single Intake Point
All channels — Web portal, POS, eCare, CRM — submit orders through the same Order Capture service. This ensures consistent validation, uniform order document structure, and a single source of truth for order state regardless of originating channel.
Rate-controlled Submission
The Order Rate Controller sits between Order Capture and the orchestration layer. It releases orders at a controlled rate, preventing the downstream services from being overwhelmed during bulk submission or campaign spikes.
Milestone-based Visibility
Every order maintains a milestone document that records the completion of each fulfilment stage with timestamps. This provides operations teams with granular order progress visibility without querying multiple downstream systems.
Catch incomplete or inconsistent orders at capture, before they fall out downstream.
Predict which new orders are likely to fail. See the AI for Order Fallout page.
More in 30 AI & ML use cases and AIOps for BSS.