Order Sla Eta Blueprint
Track estimated time of arrival and service level agreement compliance per delivery order
| Feature | order-sla-eta |
| Category | Workflow |
| Version | 1.0.0 |
| Tags | fleet, sla, eta, delivery, time, compliance, tracking |
| YAML Source | View on GitHub |
| JSON API | order-sla-eta.json |
Actors
| ID | Name | Type | Description |
|---|---|---|---|
system | ETA Engine | system | Calculates and updates ETAs based on real-time position data |
dispatcher | Dispatcher | human | Monitors SLA compliance and manages exceptions |
customer | Customer | external | Recipient of ETA updates and SLA guarantees |
Fields
| Name | Type | Required | Label | Description |
|---|---|---|---|---|
sla_record_id | text | Yes | SLA Record ID | |
order_uuid | text | Yes | Order | |
scheduled_at | datetime | No | Scheduled Time | |
estimated_arrival | datetime | No | Estimated Arrival (ETA) | |
actual_arrival | datetime | No | Actual Arrival | |
sla_target | datetime | No | SLA Deadline | |
elapsed_time | number | No | Elapsed Time (s) | |
remaining_time | number | No | Remaining Time (s) | |
distance_remaining | number | No | Distance Remaining (m) | |
sla_status | select | Yes | SLA Status | |
breach_reason | text | No | Breach Reason | |
eta_accuracy | number | No | ETA Accuracy (%) |
States
State field: sla_status
Values:
| State | Initial | Terminal |
|---|---|---|
on_time | Yes | |
at_risk | ||
breached | Yes | |
met | Yes |
Transitions:
| Name | From | To | Actor | Condition |
|---|---|---|---|---|
on_time | at_risk | system | ||
at_risk | breached | system | ||
on_time | met | system | ||
at_risk | met | system |
Rules
- recalculate_on_position: ETA is recalculated every time a new driver position update is received
- eta_factors: ETA calculation factors in remaining route distance, current speed, and traffic conditions
- at_risk_threshold: When ETA exceeds SLA target by more than the configured warning threshold, status transitions to at_risk
- at_risk_notification: Dispatcher is notified when an order transitions to at_risk status
- breach_recording: SLA breach is recorded when the order is not completed by the SLA deadline
- milestone_notifications: Customers receive ETA update notifications at configurable milestones (e.g., 30 min away)
- accuracy_tracking: Historical ETA accuracy is tracked per driver and route for model improvement
- per_service_sla: SLA configurations can be defined per service type, customer tier, or service area
- scheduled_sla: Scheduled orders have their SLA target set at the time of scheduling
- breach_review: Breached SLA records are flagged for review and compensation processing
Outcomes
Eta_calculated (Priority: 1)
Given:
- driver position update received for active order
distance_remaining(computed) gt0
Then:
- set_field target:
estimated_arrivalvalue:calculated_eta - set_field target:
remaining_timevalue:calculated - emit_event event:
sla.eta_updated
Result: ETA updated based on current driver position
Sla_at_risk (Priority: 2)
Given:
- estimated_arrival exceeds sla_target by more than warning_threshold
sla_status(db) eqon_time
Then:
- set_field target:
sla_statusvalue:at_risk - emit_event event:
sla.at_risk
Result: SLA flagged as at-risk; dispatcher alerted
Sla_breached (Priority: 3)
Given:
- sla_target has passed
- order is not yet completed
Then:
- set_field target:
sla_statusvalue:breached - emit_event event:
sla.breached
Result: SLA breach recorded; review and compensation triggered
Sla_met (Priority: 4)
Given:
- order.completed event received
- actual_arrival is before or at sla_target
Then:
- set_field target:
sla_statusvalue:met - set_field target:
actual_arrivalvalue:now - emit_event event:
sla.met
Result: Delivery completed within SLA
Eta_customer_notification (Priority: 5)
Given:
- remaining_time crossed a configured notification milestone
Then:
- emit_event event:
sla.eta_milestone_reached
Result: Customer notified of upcoming delivery ETA
Errors
| Code | Status | Message | Retry |
|---|---|---|---|
SLA_CALCULATION_FAILED | 500 | ETA could not be calculated at this time. | No |
SLA_NO_TARGET_DEFINED | 422 | No SLA target is configured for this order type. | No |
Events
| Event | Description | Payload |
|---|---|---|
sla.eta_updated | Fired each time ETA is recalculated | order_uuid, estimated_arrival, distance_remaining, remaining_time |
sla.at_risk | Fired when ETA exceeds SLA target warning threshold | order_uuid, estimated_arrival, sla_target |
sla.breached | Fired when SLA deadline is exceeded without completion | order_uuid, sla_target, breach_reason |
sla.met | Fired when order is completed within SLA | order_uuid, actual_arrival, sla_target |
sla.eta_milestone_reached | Fired when ETA crosses a configured notification milestone | order_uuid, customer_uuid, estimated_arrival, remaining_time |
Related Blueprints
| Feature | Relationship | Reason |
|---|---|---|
| order-lifecycle | required | SLA tracking is linked to order lifecycle events |
| realtime-driver-tracking | required | Driver position feeds ETA recalculations |
| route-planning | required | Remaining route distance is used for ETA calculation |
| delivery-notifications | recommended | ETA milestones trigger customer notifications |
AGI Readiness
Goals
Reliable Order Sla Eta
Track estimated time of arrival and service level agreement compliance per delivery order
Success Metrics:
| Metric | Target | Measurement |
|---|---|---|
| processing_time | < 5s | Time from request to completion |
| success_rate | >= 99% | Successful operations divided by total attempts |
Constraints:
- performance (negotiable): Must not block dependent workflows
Autonomy
Level: semi_autonomous
Human Checkpoints:
- before transitioning to a terminal state
Escalation Triggers:
error_rate > 5
Tradeoffs
| Prefer | Over | Reason |
|---|---|---|
| reliability | speed | workflow steps must complete correctly before proceeding |
Coordination
Protocol: orchestrated
Consumes:
| Capability | From | Fallback |
|---|---|---|
order_lifecycle | order-lifecycle | degrade |
realtime_driver_tracking | realtime-driver-tracking | degrade |
route_planning | route-planning | degrade |
Safety
| Action | Permission | Cooldown | Max Auto |
|---|---|---|---|
| eta_calculated | autonomous | - | - |
| sla_at_risk | autonomous | - | - |
| sla_breached | autonomous | - | - |
| sla_met | autonomous | - | - |
| eta_customer_notification | autonomous | - | - |