@almadar/std 15.15.0 → 15.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/behaviors/registry/app/atoms/std-ap-bill.orb +423 -171
- package/behaviors/registry/app/atoms/std-applicant.orb +207 -165
- package/behaviors/registry/app/atoms/std-application.orb +300 -188
- package/behaviors/registry/app/atoms/std-approval-request.orb +370 -215
- package/behaviors/registry/app/atoms/std-campaign-goal.orb +382 -167
- package/behaviors/registry/app/atoms/std-change-order.orb +458 -194
- package/behaviors/registry/app/atoms/std-chart-of-accounts.orb +201 -130
- package/behaviors/registry/app/atoms/std-checkin.orb +215 -151
- package/behaviors/registry/app/atoms/std-checkout-terminal.orb +322 -133
- package/behaviors/registry/app/atoms/std-class-roster.orb +343 -170
- package/behaviors/registry/app/atoms/std-class-session.orb +321 -190
- package/behaviors/registry/app/atoms/std-court-deadline.orb +353 -182
- package/behaviors/registry/app/atoms/std-customer-account.orb +376 -157
- package/behaviors/registry/app/atoms/std-donation-receipt.orb +214 -143
- package/behaviors/registry/app/atoms/std-donor.orb +191 -156
- package/behaviors/registry/app/atoms/std-drip-sequence.orb +409 -170
- package/behaviors/registry/app/atoms/std-driver.orb +440 -202
- package/behaviors/registry/app/atoms/std-dunning.orb +431 -167
- package/behaviors/registry/app/atoms/std-email-broadcast.orb +386 -143
- package/behaviors/registry/app/atoms/std-event.orb +309 -178
- package/behaviors/registry/app/atoms/std-form-builder.orb +353 -220
- package/behaviors/registry/app/atoms/std-health-score.orb +218 -183
- package/behaviors/registry/app/atoms/std-help-article.orb +425 -162
- package/behaviors/registry/app/atoms/std-help-category.orb +409 -166
- package/behaviors/registry/app/atoms/std-interview-slot.orb +311 -138
- package/behaviors/registry/app/atoms/std-invoice.orb +349 -211
- package/behaviors/registry/app/atoms/std-kitchen-display.orb +308 -184
- package/behaviors/registry/app/atoms/std-lease.orb +411 -178
- package/behaviors/registry/app/atoms/std-ledger-entry.orb +266 -195
- package/behaviors/registry/app/atoms/std-maintenance-request.orb +396 -177
- package/behaviors/registry/app/atoms/std-matter.orb +415 -189
- package/behaviors/registry/app/atoms/std-membership.orb +387 -167
- package/behaviors/registry/app/atoms/std-menu.orb +232 -175
- package/behaviors/registry/app/atoms/std-modifier-group.orb +224 -167
- package/behaviors/registry/app/atoms/std-nps-survey.orb +390 -138
- package/behaviors/registry/app/atoms/std-offer-letter.orb +242 -133
- package/behaviors/registry/app/atoms/std-payout-ledger.orb +428 -176
- package/behaviors/registry/app/atoms/std-question-bank.orb +211 -145
- package/behaviors/registry/app/atoms/std-receipt.orb +248 -177
- package/behaviors/registry/app/atoms/std-recurring-charge.orb +421 -149
- package/behaviors/registry/app/atoms/std-renewal-risk.orb +382 -153
- package/behaviors/registry/app/atoms/std-rent-charge.orb +476 -176
- package/behaviors/registry/app/atoms/std-reorder-rule.orb +246 -176
- package/behaviors/registry/app/atoms/std-response-collector.orb +213 -150
- package/behaviors/registry/app/atoms/std-rfi.orb +365 -210
- package/behaviors/registry/app/atoms/std-route-optimize.orb +195 -146
- package/behaviors/registry/app/atoms/std-segment.orb +173 -139
- package/behaviors/registry/app/atoms/std-stock-level.orb +205 -135
- package/behaviors/registry/app/atoms/std-submittal.orb +323 -166
- package/behaviors/registry/app/atoms/std-table-map.orb +187 -63
- package/behaviors/registry/app/atoms/std-technician-dispatch.orb +290 -202
- package/behaviors/registry/app/atoms/std-telematics-event.orb +156 -128
- package/behaviors/registry/app/atoms/std-template-editor.orb +255 -189
- package/behaviors/registry/app/atoms/std-tenant.orb +375 -147
- package/behaviors/registry/app/atoms/std-ticket-tier.orb +463 -150
- package/behaviors/registry/app/atoms/std-time-entry.orb +259 -150
- package/behaviors/registry/app/atoms/std-timesheet.orb +292 -183
- package/behaviors/registry/app/atoms/std-trial.orb +401 -183
- package/behaviors/registry/app/atoms/std-vehicle.orb +447 -205
- package/behaviors/registry/app/atoms/std-vendor-onboarding.orb +289 -245
- package/behaviors/registry/app/atoms/std-waitlist.orb +308 -177
- package/behaviors/registry/app/atoms/std-warehouse.orb +211 -141
- package/behaviors/registry/app/atoms/std-work-order.orb +374 -219
- package/behaviors/registry/app/organisms/std-subscription-billing.orb +282 -195
- package/behaviors/registry/core/atoms/std-approval-gate.orb +703 -0
- package/behaviors/registry/core/atoms/std-audit-capture.orb +150 -64
- package/behaviors/registry/core/atoms/std-data-erasure.orb +546 -0
- package/behaviors/registry/core/atoms/std-lifecycle.orb +343 -0
- package/behaviors/registry/core/atoms/std-notify-on-event.orb +132 -46
- package/behaviors/registry/core/atoms/std-reminder-scheduler.orb +330 -0
- package/behaviors/registry/marketing/atoms/std-marketing-article.orb +96 -0
- package/behaviors/registry/marketing/atoms/std-marketing-case-studies.orb +243 -0
- package/behaviors/registry/marketing/atoms/std-marketing-community.orb +134 -0
- package/behaviors/registry/marketing/atoms/std-marketing-cta.orb +206 -0
- package/behaviors/registry/marketing/atoms/std-marketing-features.orb +193 -0
- package/behaviors/registry/marketing/atoms/std-marketing-footer.orb +192 -0
- package/behaviors/registry/marketing/atoms/std-marketing-hero.orb +262 -0
- package/behaviors/registry/marketing/atoms/std-marketing-nav.orb +190 -0
- package/behaviors/registry/marketing/atoms/std-marketing-pricing.orb +232 -0
- package/behaviors/registry/marketing/atoms/std-marketing-showcase.orb +276 -0
- package/behaviors/registry/marketing/atoms/std-marketing-split.orb +135 -0
- package/behaviors/registry/marketing/atoms/std-marketing-stats.orb +120 -0
- package/behaviors/registry/marketing/atoms/std-marketing-steps.orb +179 -0
- package/behaviors/registry/marketing/atoms/std-marketing-team.orb +192 -0
- package/behaviors/registry/marketing/atoms/std-marketing-testimonials.orb +124 -0
- package/behaviors/registry/marketing/molecules/std-about-page.orb +440 -0
- package/behaviors/registry/marketing/molecules/std-feature-detail-page.orb +371 -0
- package/behaviors/registry/marketing/molecules/std-landing-page.orb +521 -0
- package/behaviors/registry/marketing/molecules/std-pricing-page.orb +406 -0
- package/behaviors/registry/marketing/organisms/std-marketing-site.orb +1654 -0
- package/dist/behaviors/behaviors-registry.json +2913 -156
- package/dist/behaviors/registry/app/atoms/std-ap-bill.orb +423 -171
- package/dist/behaviors/registry/app/atoms/std-applicant.orb +207 -165
- package/dist/behaviors/registry/app/atoms/std-application.orb +300 -188
- package/dist/behaviors/registry/app/atoms/std-approval-request.orb +370 -215
- package/dist/behaviors/registry/app/atoms/std-campaign-goal.orb +382 -167
- package/dist/behaviors/registry/app/atoms/std-change-order.orb +458 -194
- package/dist/behaviors/registry/app/atoms/std-chart-of-accounts.orb +201 -130
- package/dist/behaviors/registry/app/atoms/std-checkin.orb +215 -151
- package/dist/behaviors/registry/app/atoms/std-checkout-terminal.orb +322 -133
- package/dist/behaviors/registry/app/atoms/std-class-roster.orb +343 -170
- package/dist/behaviors/registry/app/atoms/std-class-session.orb +321 -190
- package/dist/behaviors/registry/app/atoms/std-court-deadline.orb +353 -182
- package/dist/behaviors/registry/app/atoms/std-customer-account.orb +376 -157
- package/dist/behaviors/registry/app/atoms/std-donation-receipt.orb +214 -143
- package/dist/behaviors/registry/app/atoms/std-donor.orb +191 -156
- package/dist/behaviors/registry/app/atoms/std-drip-sequence.orb +409 -170
- package/dist/behaviors/registry/app/atoms/std-driver.orb +440 -202
- package/dist/behaviors/registry/app/atoms/std-dunning.orb +431 -167
- package/dist/behaviors/registry/app/atoms/std-email-broadcast.orb +386 -143
- package/dist/behaviors/registry/app/atoms/std-event.orb +309 -178
- package/dist/behaviors/registry/app/atoms/std-form-builder.orb +353 -220
- package/dist/behaviors/registry/app/atoms/std-health-score.orb +218 -183
- package/dist/behaviors/registry/app/atoms/std-help-article.orb +425 -162
- package/dist/behaviors/registry/app/atoms/std-help-category.orb +409 -166
- package/dist/behaviors/registry/app/atoms/std-interview-slot.orb +311 -138
- package/dist/behaviors/registry/app/atoms/std-invoice.orb +349 -211
- package/dist/behaviors/registry/app/atoms/std-kitchen-display.orb +308 -184
- package/dist/behaviors/registry/app/atoms/std-lease.orb +411 -178
- package/dist/behaviors/registry/app/atoms/std-ledger-entry.orb +266 -195
- package/dist/behaviors/registry/app/atoms/std-maintenance-request.orb +396 -177
- package/dist/behaviors/registry/app/atoms/std-matter.orb +415 -189
- package/dist/behaviors/registry/app/atoms/std-membership.orb +387 -167
- package/dist/behaviors/registry/app/atoms/std-menu.orb +232 -175
- package/dist/behaviors/registry/app/atoms/std-modifier-group.orb +224 -167
- package/dist/behaviors/registry/app/atoms/std-nps-survey.orb +390 -138
- package/dist/behaviors/registry/app/atoms/std-offer-letter.orb +242 -133
- package/dist/behaviors/registry/app/atoms/std-payout-ledger.orb +428 -176
- package/dist/behaviors/registry/app/atoms/std-question-bank.orb +211 -145
- package/dist/behaviors/registry/app/atoms/std-receipt.orb +248 -177
- package/dist/behaviors/registry/app/atoms/std-recurring-charge.orb +421 -149
- package/dist/behaviors/registry/app/atoms/std-renewal-risk.orb +382 -153
- package/dist/behaviors/registry/app/atoms/std-rent-charge.orb +476 -176
- package/dist/behaviors/registry/app/atoms/std-reorder-rule.orb +246 -176
- package/dist/behaviors/registry/app/atoms/std-response-collector.orb +213 -150
- package/dist/behaviors/registry/app/atoms/std-rfi.orb +365 -210
- package/dist/behaviors/registry/app/atoms/std-route-optimize.orb +195 -146
- package/dist/behaviors/registry/app/atoms/std-segment.orb +173 -139
- package/dist/behaviors/registry/app/atoms/std-stock-level.orb +205 -135
- package/dist/behaviors/registry/app/atoms/std-submittal.orb +323 -166
- package/dist/behaviors/registry/app/atoms/std-table-map.orb +187 -63
- package/dist/behaviors/registry/app/atoms/std-technician-dispatch.orb +290 -202
- package/dist/behaviors/registry/app/atoms/std-telematics-event.orb +156 -128
- package/dist/behaviors/registry/app/atoms/std-template-editor.orb +255 -189
- package/dist/behaviors/registry/app/atoms/std-tenant.orb +375 -147
- package/dist/behaviors/registry/app/atoms/std-ticket-tier.orb +463 -150
- package/dist/behaviors/registry/app/atoms/std-time-entry.orb +259 -150
- package/dist/behaviors/registry/app/atoms/std-timesheet.orb +292 -183
- package/dist/behaviors/registry/app/atoms/std-trial.orb +401 -183
- package/dist/behaviors/registry/app/atoms/std-vehicle.orb +447 -205
- package/dist/behaviors/registry/app/atoms/std-vendor-onboarding.orb +289 -245
- package/dist/behaviors/registry/app/atoms/std-waitlist.orb +308 -177
- package/dist/behaviors/registry/app/atoms/std-warehouse.orb +211 -141
- package/dist/behaviors/registry/app/atoms/std-work-order.orb +374 -219
- package/dist/behaviors/registry/app/organisms/std-subscription-billing.orb +282 -195
- package/dist/behaviors/registry/core/atoms/std-approval-gate.orb +703 -0
- package/dist/behaviors/registry/core/atoms/std-audit-capture.orb +150 -64
- package/dist/behaviors/registry/core/atoms/std-data-erasure.orb +546 -0
- package/dist/behaviors/registry/core/atoms/std-lifecycle.orb +343 -0
- package/dist/behaviors/registry/core/atoms/std-notify-on-event.orb +132 -46
- package/dist/behaviors/registry/core/atoms/std-reminder-scheduler.orb +330 -0
- package/dist/behaviors/registry/marketing/atoms/std-marketing-article.orb +96 -0
- package/dist/behaviors/registry/marketing/atoms/std-marketing-case-studies.orb +243 -0
- package/dist/behaviors/registry/marketing/atoms/std-marketing-community.orb +134 -0
- package/dist/behaviors/registry/marketing/atoms/std-marketing-cta.orb +206 -0
- package/dist/behaviors/registry/marketing/atoms/std-marketing-features.orb +193 -0
- package/dist/behaviors/registry/marketing/atoms/std-marketing-footer.orb +192 -0
- package/dist/behaviors/registry/marketing/atoms/std-marketing-hero.orb +262 -0
- package/dist/behaviors/registry/marketing/atoms/std-marketing-nav.orb +190 -0
- package/dist/behaviors/registry/marketing/atoms/std-marketing-pricing.orb +232 -0
- package/dist/behaviors/registry/marketing/atoms/std-marketing-showcase.orb +276 -0
- package/dist/behaviors/registry/marketing/atoms/std-marketing-split.orb +135 -0
- package/dist/behaviors/registry/marketing/atoms/std-marketing-stats.orb +120 -0
- package/dist/behaviors/registry/marketing/atoms/std-marketing-steps.orb +179 -0
- package/dist/behaviors/registry/marketing/atoms/std-marketing-team.orb +192 -0
- package/dist/behaviors/registry/marketing/atoms/std-marketing-testimonials.orb +124 -0
- package/dist/behaviors/registry/marketing/molecules/std-about-page.orb +440 -0
- package/dist/behaviors/registry/marketing/molecules/std-feature-detail-page.orb +371 -0
- package/dist/behaviors/registry/marketing/molecules/std-landing-page.orb +521 -0
- package/dist/behaviors/registry/marketing/molecules/std-pricing-page.orb +406 -0
- package/dist/behaviors/registry/marketing/organisms/std-marketing-site.orb +1654 -0
- package/dist/behaviors-registry.json +2913 -156
- package/dist/registry/app/atoms/std-ap-bill.orb +423 -171
- package/dist/registry/app/atoms/std-applicant.orb +207 -165
- package/dist/registry/app/atoms/std-application.orb +300 -188
- package/dist/registry/app/atoms/std-approval-request.orb +370 -215
- package/dist/registry/app/atoms/std-campaign-goal.orb +382 -167
- package/dist/registry/app/atoms/std-change-order.orb +458 -194
- package/dist/registry/app/atoms/std-chart-of-accounts.orb +201 -130
- package/dist/registry/app/atoms/std-checkin.orb +215 -151
- package/dist/registry/app/atoms/std-checkout-terminal.orb +322 -133
- package/dist/registry/app/atoms/std-class-roster.orb +343 -170
- package/dist/registry/app/atoms/std-class-session.orb +321 -190
- package/dist/registry/app/atoms/std-court-deadline.orb +353 -182
- package/dist/registry/app/atoms/std-customer-account.orb +376 -157
- package/dist/registry/app/atoms/std-donation-receipt.orb +214 -143
- package/dist/registry/app/atoms/std-donor.orb +191 -156
- package/dist/registry/app/atoms/std-drip-sequence.orb +409 -170
- package/dist/registry/app/atoms/std-driver.orb +440 -202
- package/dist/registry/app/atoms/std-dunning.orb +431 -167
- package/dist/registry/app/atoms/std-email-broadcast.orb +386 -143
- package/dist/registry/app/atoms/std-event.orb +309 -178
- package/dist/registry/app/atoms/std-form-builder.orb +353 -220
- package/dist/registry/app/atoms/std-health-score.orb +218 -183
- package/dist/registry/app/atoms/std-help-article.orb +425 -162
- package/dist/registry/app/atoms/std-help-category.orb +409 -166
- package/dist/registry/app/atoms/std-interview-slot.orb +311 -138
- package/dist/registry/app/atoms/std-invoice.orb +349 -211
- package/dist/registry/app/atoms/std-kitchen-display.orb +308 -184
- package/dist/registry/app/atoms/std-lease.orb +411 -178
- package/dist/registry/app/atoms/std-ledger-entry.orb +266 -195
- package/dist/registry/app/atoms/std-maintenance-request.orb +396 -177
- package/dist/registry/app/atoms/std-matter.orb +415 -189
- package/dist/registry/app/atoms/std-membership.orb +387 -167
- package/dist/registry/app/atoms/std-menu.orb +232 -175
- package/dist/registry/app/atoms/std-modifier-group.orb +224 -167
- package/dist/registry/app/atoms/std-nps-survey.orb +390 -138
- package/dist/registry/app/atoms/std-offer-letter.orb +242 -133
- package/dist/registry/app/atoms/std-payout-ledger.orb +428 -176
- package/dist/registry/app/atoms/std-question-bank.orb +211 -145
- package/dist/registry/app/atoms/std-receipt.orb +248 -177
- package/dist/registry/app/atoms/std-recurring-charge.orb +421 -149
- package/dist/registry/app/atoms/std-renewal-risk.orb +382 -153
- package/dist/registry/app/atoms/std-rent-charge.orb +476 -176
- package/dist/registry/app/atoms/std-reorder-rule.orb +246 -176
- package/dist/registry/app/atoms/std-response-collector.orb +213 -150
- package/dist/registry/app/atoms/std-rfi.orb +365 -210
- package/dist/registry/app/atoms/std-route-optimize.orb +195 -146
- package/dist/registry/app/atoms/std-segment.orb +173 -139
- package/dist/registry/app/atoms/std-stock-level.orb +205 -135
- package/dist/registry/app/atoms/std-submittal.orb +323 -166
- package/dist/registry/app/atoms/std-table-map.orb +187 -63
- package/dist/registry/app/atoms/std-technician-dispatch.orb +290 -202
- package/dist/registry/app/atoms/std-telematics-event.orb +156 -128
- package/dist/registry/app/atoms/std-template-editor.orb +255 -189
- package/dist/registry/app/atoms/std-tenant.orb +375 -147
- package/dist/registry/app/atoms/std-ticket-tier.orb +463 -150
- package/dist/registry/app/atoms/std-time-entry.orb +259 -150
- package/dist/registry/app/atoms/std-timesheet.orb +292 -183
- package/dist/registry/app/atoms/std-trial.orb +401 -183
- package/dist/registry/app/atoms/std-vehicle.orb +447 -205
- package/dist/registry/app/atoms/std-vendor-onboarding.orb +289 -245
- package/dist/registry/app/atoms/std-waitlist.orb +308 -177
- package/dist/registry/app/atoms/std-warehouse.orb +211 -141
- package/dist/registry/app/atoms/std-work-order.orb +374 -219
- package/dist/registry/app/organisms/std-subscription-billing.orb +282 -195
- package/dist/registry/core/atoms/std-approval-gate.orb +703 -0
- package/dist/registry/core/atoms/std-audit-capture.orb +150 -64
- package/dist/registry/core/atoms/std-data-erasure.orb +546 -0
- package/dist/registry/core/atoms/std-lifecycle.orb +343 -0
- package/dist/registry/core/atoms/std-notify-on-event.orb +132 -46
- package/dist/registry/core/atoms/std-reminder-scheduler.orb +330 -0
- package/dist/registry/marketing/atoms/std-marketing-article.orb +96 -0
- package/dist/registry/marketing/atoms/std-marketing-case-studies.orb +243 -0
- package/dist/registry/marketing/atoms/std-marketing-community.orb +134 -0
- package/dist/registry/marketing/atoms/std-marketing-cta.orb +206 -0
- package/dist/registry/marketing/atoms/std-marketing-features.orb +193 -0
- package/dist/registry/marketing/atoms/std-marketing-footer.orb +192 -0
- package/dist/registry/marketing/atoms/std-marketing-hero.orb +262 -0
- package/dist/registry/marketing/atoms/std-marketing-nav.orb +190 -0
- package/dist/registry/marketing/atoms/std-marketing-pricing.orb +232 -0
- package/dist/registry/marketing/atoms/std-marketing-showcase.orb +276 -0
- package/dist/registry/marketing/atoms/std-marketing-split.orb +135 -0
- package/dist/registry/marketing/atoms/std-marketing-stats.orb +120 -0
- package/dist/registry/marketing/atoms/std-marketing-steps.orb +179 -0
- package/dist/registry/marketing/atoms/std-marketing-team.orb +192 -0
- package/dist/registry/marketing/atoms/std-marketing-testimonials.orb +124 -0
- package/dist/registry/marketing/molecules/std-about-page.orb +440 -0
- package/dist/registry/marketing/molecules/std-feature-detail-page.orb +371 -0
- package/dist/registry/marketing/molecules/std-landing-page.orb +521 -0
- package/dist/registry/marketing/molecules/std-pricing-page.orb +406 -0
- package/dist/registry/marketing/organisms/std-marketing-site.orb +1654 -0
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "std-work-order",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "std-work-order — field-service work order lifecycle (created → assigned → en-route → on-site → completed). Lists work orders in `browsing`; opens detail in `viewing_single` with Assign / Travel / Arrive / Complete / Cancel actions.
|
|
3
|
+
"version": "1.2.0",
|
|
4
|
+
"description": "std-work-order — field-service work order lifecycle (created → assigned → en-route → on-site → completed). Lists work orders in `browsing`; opens detail in `viewing_single` with Assign / Travel / Arrive / Complete / Cancel actions. Listens for SET_STATUS so sibling std-lifecycle can drive automated transitions (e.g. en-route → completed on SLA breach). Exposes Service/Operations-pattern knobs (serviceAreaRadius, dispatchStrategy, SLA hours, …).",
|
|
5
5
|
"orbitals": [
|
|
6
6
|
{
|
|
7
7
|
"name": "WorkOrderOrbital",
|
|
@@ -553,6 +553,22 @@
|
|
|
553
553
|
}
|
|
554
554
|
]
|
|
555
555
|
},
|
|
556
|
+
{
|
|
557
|
+
"key": "SET_STATUS",
|
|
558
|
+
"name": "Set Status",
|
|
559
|
+
"payloadSchema": [
|
|
560
|
+
{
|
|
561
|
+
"name": "entityId",
|
|
562
|
+
"type": "string",
|
|
563
|
+
"required": true
|
|
564
|
+
},
|
|
565
|
+
{
|
|
566
|
+
"name": "newStatus",
|
|
567
|
+
"type": "string",
|
|
568
|
+
"required": true
|
|
569
|
+
}
|
|
570
|
+
]
|
|
571
|
+
},
|
|
556
572
|
{
|
|
557
573
|
"key": "CLOSE_VIEW",
|
|
558
574
|
"name": "Close View"
|
|
@@ -652,22 +668,22 @@
|
|
|
652
668
|
"render-ui",
|
|
653
669
|
"main",
|
|
654
670
|
{
|
|
655
|
-
"
|
|
656
|
-
"type": "stack",
|
|
657
|
-
"className": "py-12",
|
|
671
|
+
"align": "center",
|
|
658
672
|
"children": [
|
|
659
673
|
{
|
|
660
674
|
"type": "spinner"
|
|
661
675
|
},
|
|
662
676
|
{
|
|
663
|
-
"content": "Loading work orders…",
|
|
664
677
|
"variant": "caption",
|
|
665
|
-
"
|
|
666
|
-
"type": "typography"
|
|
678
|
+
"content": "Loading work orders…",
|
|
679
|
+
"type": "typography",
|
|
680
|
+
"color": "muted"
|
|
667
681
|
}
|
|
668
682
|
],
|
|
669
|
-
"
|
|
670
|
-
"
|
|
683
|
+
"type": "stack",
|
|
684
|
+
"className": "py-12",
|
|
685
|
+
"direction": "vertical",
|
|
686
|
+
"gap": "md"
|
|
671
687
|
}
|
|
672
688
|
]
|
|
673
689
|
]
|
|
@@ -681,69 +697,69 @@
|
|
|
681
697
|
"render-ui",
|
|
682
698
|
"main",
|
|
683
699
|
{
|
|
700
|
+
"gap": "md",
|
|
701
|
+
"direction": "vertical",
|
|
684
702
|
"type": "stack",
|
|
685
703
|
"children": [
|
|
686
704
|
{
|
|
687
|
-
"
|
|
688
|
-
"align": "center",
|
|
705
|
+
"direction": "horizontal",
|
|
689
706
|
"children": [
|
|
690
707
|
{
|
|
691
|
-
"
|
|
692
|
-
"
|
|
708
|
+
"type": "icon",
|
|
709
|
+
"name": "clipboard-list"
|
|
693
710
|
},
|
|
694
711
|
{
|
|
695
|
-
"content": "@config.title",
|
|
696
712
|
"variant": "h3",
|
|
713
|
+
"content": "@config.title",
|
|
697
714
|
"type": "typography"
|
|
698
715
|
}
|
|
699
716
|
],
|
|
700
|
-
"
|
|
717
|
+
"align": "center",
|
|
718
|
+
"type": "stack",
|
|
701
719
|
"gap": "sm"
|
|
702
720
|
},
|
|
703
721
|
{
|
|
722
|
+
"type": "simple-grid",
|
|
704
723
|
"cols": 4.0,
|
|
705
724
|
"children": [
|
|
706
725
|
{
|
|
707
726
|
"type": "stat-display",
|
|
708
727
|
"label": "Total orders",
|
|
709
|
-
"
|
|
710
|
-
"
|
|
728
|
+
"value": "@payload.data.length",
|
|
729
|
+
"icon": "clipboard-list"
|
|
711
730
|
},
|
|
712
731
|
{
|
|
713
732
|
"type": "stat-display",
|
|
733
|
+
"label": "Urgent open",
|
|
714
734
|
"icon": "alert-triangle",
|
|
715
|
-
"value": "9"
|
|
716
|
-
"label": "Urgent open"
|
|
735
|
+
"value": "9"
|
|
717
736
|
},
|
|
718
737
|
{
|
|
719
|
-
"value": "14",
|
|
720
738
|
"icon": "navigation",
|
|
739
|
+
"type": "stat-display",
|
|
721
740
|
"label": "En route",
|
|
722
|
-
"
|
|
741
|
+
"value": "14"
|
|
723
742
|
},
|
|
724
743
|
{
|
|
725
744
|
"label": "Completed today",
|
|
745
|
+
"icon": "check-circle",
|
|
726
746
|
"value": "47",
|
|
727
|
-
"type": "stat-display"
|
|
728
|
-
"icon": "check-circle"
|
|
747
|
+
"type": "stat-display"
|
|
729
748
|
}
|
|
730
|
-
]
|
|
731
|
-
"type": "simple-grid"
|
|
749
|
+
]
|
|
732
750
|
},
|
|
733
751
|
{
|
|
734
752
|
"type": "divider"
|
|
735
753
|
},
|
|
736
754
|
{
|
|
755
|
+
"itemActions": "@config.itemActions",
|
|
756
|
+
"type": "data-grid",
|
|
737
757
|
"gap": "sm",
|
|
738
|
-
"entity": "@payload.data",
|
|
739
758
|
"fields": "@config.fields",
|
|
740
759
|
"cols": 1.0,
|
|
741
|
-
"
|
|
742
|
-
"type": "data-grid"
|
|
760
|
+
"entity": "@payload.data"
|
|
743
761
|
}
|
|
744
|
-
]
|
|
745
|
-
"direction": "vertical",
|
|
746
|
-
"gap": "md"
|
|
762
|
+
]
|
|
747
763
|
}
|
|
748
764
|
]
|
|
749
765
|
]
|
|
@@ -757,8 +773,8 @@
|
|
|
757
773
|
"render-ui",
|
|
758
774
|
"main",
|
|
759
775
|
{
|
|
760
|
-
"type": "alert",
|
|
761
776
|
"variant": "error",
|
|
777
|
+
"type": "alert",
|
|
762
778
|
"message": "@payload.error"
|
|
763
779
|
}
|
|
764
780
|
]
|
|
@@ -828,41 +844,39 @@
|
|
|
828
844
|
"render-ui",
|
|
829
845
|
"main",
|
|
830
846
|
{
|
|
831
|
-
"gap": "md",
|
|
832
|
-
"type": "stack",
|
|
833
847
|
"children": [
|
|
834
848
|
{
|
|
835
849
|
"type": "stack",
|
|
836
|
-
"direction": "horizontal",
|
|
837
|
-
"gap": "sm",
|
|
838
850
|
"align": "center",
|
|
839
851
|
"children": [
|
|
840
852
|
{
|
|
841
|
-
"
|
|
853
|
+
"label": "Back",
|
|
842
854
|
"variant": "ghost",
|
|
843
855
|
"type": "button",
|
|
844
|
-
"
|
|
856
|
+
"action": "CLOSE_VIEW"
|
|
845
857
|
},
|
|
846
858
|
{
|
|
847
|
-
"
|
|
848
|
-
"
|
|
859
|
+
"type": "icon",
|
|
860
|
+
"name": "clipboard-list"
|
|
849
861
|
},
|
|
850
862
|
{
|
|
851
|
-
"type": "typography",
|
|
852
863
|
"content": "@entity.customerName",
|
|
853
|
-
"variant": "h3"
|
|
864
|
+
"variant": "h3",
|
|
865
|
+
"type": "typography"
|
|
854
866
|
},
|
|
855
867
|
{
|
|
856
|
-
"
|
|
868
|
+
"label": "@entity.priority",
|
|
857
869
|
"type": "badge",
|
|
858
|
-
"
|
|
870
|
+
"variant": "primary"
|
|
859
871
|
},
|
|
860
872
|
{
|
|
861
|
-
"variant": "default",
|
|
862
873
|
"label": "@entity.status",
|
|
863
|
-
"type": "badge"
|
|
874
|
+
"type": "badge",
|
|
875
|
+
"variant": "default"
|
|
864
876
|
}
|
|
865
|
-
]
|
|
877
|
+
],
|
|
878
|
+
"direction": "horizontal",
|
|
879
|
+
"gap": "sm"
|
|
866
880
|
},
|
|
867
881
|
{
|
|
868
882
|
"type": "divider"
|
|
@@ -873,75 +887,75 @@
|
|
|
873
887
|
"gap": "sm",
|
|
874
888
|
"children": [
|
|
875
889
|
{
|
|
876
|
-
"type": "stack",
|
|
877
|
-
"gap": "md",
|
|
878
|
-
"direction": "horizontal",
|
|
879
890
|
"children": [
|
|
880
891
|
{
|
|
881
|
-
"content": "Service",
|
|
882
892
|
"variant": "caption",
|
|
893
|
+
"content": "Service",
|
|
883
894
|
"color": "muted",
|
|
884
895
|
"type": "typography"
|
|
885
896
|
},
|
|
886
897
|
{
|
|
898
|
+
"type": "typography",
|
|
887
899
|
"variant": "body",
|
|
888
|
-
"content": "@entity.serviceType"
|
|
889
|
-
"type": "typography"
|
|
900
|
+
"content": "@entity.serviceType"
|
|
890
901
|
}
|
|
891
|
-
]
|
|
902
|
+
],
|
|
903
|
+
"direction": "horizontal",
|
|
904
|
+
"type": "stack",
|
|
905
|
+
"gap": "md"
|
|
892
906
|
},
|
|
893
907
|
{
|
|
894
908
|
"type": "stack",
|
|
895
|
-
"direction": "horizontal",
|
|
896
|
-
"gap": "md",
|
|
897
909
|
"children": [
|
|
898
910
|
{
|
|
899
|
-
"
|
|
911
|
+
"color": "muted",
|
|
900
912
|
"variant": "caption",
|
|
901
913
|
"type": "typography",
|
|
902
|
-
"
|
|
914
|
+
"content": "Address"
|
|
903
915
|
},
|
|
904
916
|
{
|
|
905
917
|
"type": "typography",
|
|
906
|
-
"
|
|
907
|
-
"
|
|
918
|
+
"content": "@entity.address",
|
|
919
|
+
"variant": "body"
|
|
908
920
|
}
|
|
909
|
-
]
|
|
921
|
+
],
|
|
922
|
+
"gap": "md",
|
|
923
|
+
"direction": "horizontal"
|
|
910
924
|
},
|
|
911
925
|
{
|
|
912
|
-
"
|
|
926
|
+
"type": "stack",
|
|
913
927
|
"children": [
|
|
914
928
|
{
|
|
915
929
|
"color": "muted",
|
|
916
|
-
"variant": "caption",
|
|
917
930
|
"type": "typography",
|
|
918
|
-
"content": "Assigned to"
|
|
931
|
+
"content": "Assigned to",
|
|
932
|
+
"variant": "caption"
|
|
919
933
|
},
|
|
920
934
|
{
|
|
921
|
-
"variant": "body",
|
|
922
935
|
"content": "@entity.assignedTo",
|
|
923
|
-
"type": "typography"
|
|
936
|
+
"type": "typography",
|
|
937
|
+
"variant": "body"
|
|
924
938
|
}
|
|
925
939
|
],
|
|
926
|
-
"
|
|
940
|
+
"direction": "horizontal",
|
|
927
941
|
"gap": "md"
|
|
928
942
|
},
|
|
929
943
|
{
|
|
944
|
+
"direction": "horizontal",
|
|
930
945
|
"children": [
|
|
931
946
|
{
|
|
947
|
+
"content": "Notes",
|
|
932
948
|
"type": "typography",
|
|
933
|
-
"variant": "caption",
|
|
934
949
|
"color": "muted",
|
|
935
|
-
"
|
|
950
|
+
"variant": "caption"
|
|
936
951
|
},
|
|
937
952
|
{
|
|
938
|
-
"variant": "body",
|
|
939
953
|
"type": "typography",
|
|
954
|
+
"variant": "body",
|
|
940
955
|
"content": "@entity.notes"
|
|
941
956
|
}
|
|
942
957
|
],
|
|
943
958
|
"gap": "md",
|
|
944
|
-
"direction": "horizontal",
|
|
945
959
|
"type": "stack"
|
|
946
960
|
}
|
|
947
961
|
]
|
|
@@ -950,20 +964,18 @@
|
|
|
950
964
|
"type": "divider"
|
|
951
965
|
},
|
|
952
966
|
{
|
|
953
|
-
"cols": 3.0,
|
|
954
|
-
"type": "simple-grid",
|
|
955
967
|
"children": [
|
|
956
968
|
{
|
|
957
|
-
"value": "@entity.etaMinutes",
|
|
958
969
|
"icon": "clock",
|
|
970
|
+
"label": "ETA (min)",
|
|
959
971
|
"type": "stat-display",
|
|
960
|
-
"
|
|
972
|
+
"value": "@entity.etaMinutes"
|
|
961
973
|
},
|
|
962
974
|
{
|
|
963
|
-
"type": "stat-display",
|
|
964
|
-
"value": "@entity.scheduledAt",
|
|
965
975
|
"icon": "calendar",
|
|
966
|
-
"
|
|
976
|
+
"value": "@entity.scheduledAt",
|
|
977
|
+
"label": "Scheduled",
|
|
978
|
+
"type": "stat-display"
|
|
967
979
|
},
|
|
968
980
|
{
|
|
969
981
|
"type": "stat-display",
|
|
@@ -971,72 +983,76 @@
|
|
|
971
983
|
"value": "@entity.createdAt",
|
|
972
984
|
"icon": "calendar-plus"
|
|
973
985
|
}
|
|
974
|
-
]
|
|
986
|
+
],
|
|
987
|
+
"cols": 3.0,
|
|
988
|
+
"type": "simple-grid"
|
|
975
989
|
},
|
|
976
990
|
{
|
|
977
|
-
"gap": "sm",
|
|
978
991
|
"direction": "horizontal",
|
|
979
|
-
"
|
|
992
|
+
"gap": "sm",
|
|
980
993
|
"align": "center",
|
|
981
994
|
"children": [
|
|
982
995
|
{
|
|
983
|
-
"type": "button",
|
|
984
996
|
"action": "ASSIGN",
|
|
985
|
-
"label": "Assign",
|
|
986
997
|
"actionPayload": {
|
|
987
|
-
"id": "@entity.id",
|
|
988
998
|
"assignedTo": "@entity.assignedTo",
|
|
989
|
-
"row": "@entity"
|
|
999
|
+
"row": "@entity",
|
|
1000
|
+
"id": "@entity.id"
|
|
990
1001
|
},
|
|
991
|
-
"
|
|
1002
|
+
"type": "button",
|
|
1003
|
+
"variant": "primary",
|
|
1004
|
+
"label": "Assign"
|
|
992
1005
|
},
|
|
993
1006
|
{
|
|
994
|
-
"
|
|
1007
|
+
"variant": "secondary",
|
|
995
1008
|
"label": "Start Travel",
|
|
1009
|
+
"type": "button",
|
|
996
1010
|
"action": "START_TRAVEL",
|
|
997
|
-
"variant": "secondary",
|
|
998
1011
|
"actionPayload": {
|
|
1012
|
+
"row": "@entity",
|
|
999
1013
|
"etaMinutes": 0.0,
|
|
1000
|
-
"id": "@entity.id"
|
|
1001
|
-
"row": "@entity"
|
|
1014
|
+
"id": "@entity.id"
|
|
1002
1015
|
}
|
|
1003
1016
|
},
|
|
1004
1017
|
{
|
|
1018
|
+
"type": "button",
|
|
1005
1019
|
"label": "Arrive",
|
|
1006
|
-
"variant": "secondary",
|
|
1007
1020
|
"actionPayload": {
|
|
1008
|
-
"
|
|
1009
|
-
"
|
|
1021
|
+
"id": "@entity.id",
|
|
1022
|
+
"row": "@entity"
|
|
1010
1023
|
},
|
|
1011
|
-
"
|
|
1024
|
+
"variant": "secondary",
|
|
1012
1025
|
"action": "ARRIVE"
|
|
1013
1026
|
},
|
|
1014
1027
|
{
|
|
1015
1028
|
"type": "button",
|
|
1016
1029
|
"variant": "primary",
|
|
1017
1030
|
"actionPayload": {
|
|
1018
|
-
"row": "@entity",
|
|
1019
1031
|
"notes": "@entity.notes",
|
|
1020
|
-
"id": "@entity.id"
|
|
1032
|
+
"id": "@entity.id",
|
|
1033
|
+
"row": "@entity"
|
|
1021
1034
|
},
|
|
1022
|
-
"
|
|
1023
|
-
"
|
|
1035
|
+
"action": "COMPLETE",
|
|
1036
|
+
"label": "Complete"
|
|
1024
1037
|
},
|
|
1025
1038
|
{
|
|
1039
|
+
"type": "button",
|
|
1040
|
+
"action": "CANCEL",
|
|
1041
|
+
"variant": "danger",
|
|
1042
|
+
"label": "Cancel",
|
|
1026
1043
|
"actionPayload": {
|
|
1027
1044
|
"row": "@entity",
|
|
1028
1045
|
"id": "@entity.id",
|
|
1029
1046
|
"notes": "@entity.notes"
|
|
1030
|
-
}
|
|
1031
|
-
"variant": "danger",
|
|
1032
|
-
"type": "button",
|
|
1033
|
-
"action": "CANCEL",
|
|
1034
|
-
"label": "Cancel"
|
|
1047
|
+
}
|
|
1035
1048
|
}
|
|
1036
|
-
]
|
|
1049
|
+
],
|
|
1050
|
+
"type": "stack"
|
|
1037
1051
|
}
|
|
1038
1052
|
],
|
|
1039
|
-
"
|
|
1053
|
+
"gap": "md",
|
|
1054
|
+
"direction": "vertical",
|
|
1055
|
+
"type": "stack"
|
|
1040
1056
|
}
|
|
1041
1057
|
]
|
|
1042
1058
|
]
|
|
@@ -1065,20 +1081,71 @@
|
|
|
1065
1081
|
"render-ui",
|
|
1066
1082
|
"main",
|
|
1067
1083
|
{
|
|
1068
|
-
"align": "center",
|
|
1069
1084
|
"direction": "vertical",
|
|
1085
|
+
"className": "py-12",
|
|
1070
1086
|
"gap": "md",
|
|
1087
|
+
"children": [
|
|
1088
|
+
{
|
|
1089
|
+
"type": "spinner"
|
|
1090
|
+
},
|
|
1091
|
+
{
|
|
1092
|
+
"type": "typography",
|
|
1093
|
+
"variant": "caption",
|
|
1094
|
+
"content": "Cancelling order…",
|
|
1095
|
+
"color": "muted"
|
|
1096
|
+
}
|
|
1097
|
+
],
|
|
1098
|
+
"type": "stack",
|
|
1099
|
+
"align": "center"
|
|
1100
|
+
}
|
|
1101
|
+
]
|
|
1102
|
+
]
|
|
1103
|
+
},
|
|
1104
|
+
{
|
|
1105
|
+
"from": "browsing",
|
|
1106
|
+
"to": "loading",
|
|
1107
|
+
"event": "SET_STATUS",
|
|
1108
|
+
"effects": [
|
|
1109
|
+
[
|
|
1110
|
+
"set",
|
|
1111
|
+
"@entity.id",
|
|
1112
|
+
"@payload.entityId"
|
|
1113
|
+
],
|
|
1114
|
+
[
|
|
1115
|
+
"set",
|
|
1116
|
+
"@entity.status",
|
|
1117
|
+
"@payload.newStatus"
|
|
1118
|
+
],
|
|
1119
|
+
[
|
|
1120
|
+
"persist",
|
|
1121
|
+
"update",
|
|
1122
|
+
"WorkOrder",
|
|
1123
|
+
"@entity",
|
|
1124
|
+
{
|
|
1125
|
+
"emit": {
|
|
1126
|
+
"failure": "WorkOrderLoadFailed",
|
|
1127
|
+
"success": "WorkOrderLoaded"
|
|
1128
|
+
}
|
|
1129
|
+
}
|
|
1130
|
+
],
|
|
1131
|
+
[
|
|
1132
|
+
"render-ui",
|
|
1133
|
+
"main",
|
|
1134
|
+
{
|
|
1071
1135
|
"type": "stack",
|
|
1136
|
+
"direction": "vertical",
|
|
1137
|
+
"gap": "md",
|
|
1138
|
+
"align": "center",
|
|
1072
1139
|
"className": "py-12",
|
|
1073
1140
|
"children": [
|
|
1074
1141
|
{
|
|
1075
1142
|
"type": "spinner"
|
|
1076
1143
|
},
|
|
1077
1144
|
{
|
|
1145
|
+
"variant": "caption",
|
|
1078
1146
|
"type": "typography",
|
|
1079
1147
|
"color": "muted",
|
|
1080
|
-
"
|
|
1081
|
-
"content": "Cancelling order…"
|
|
1148
|
+
"content": "Updating order status…"
|
|
1082
1149
|
}
|
|
1083
1150
|
]
|
|
1084
1151
|
}
|
|
@@ -1104,22 +1171,22 @@
|
|
|
1104
1171
|
"render-ui",
|
|
1105
1172
|
"main",
|
|
1106
1173
|
{
|
|
1174
|
+
"direction": "vertical",
|
|
1175
|
+
"type": "stack",
|
|
1107
1176
|
"align": "center",
|
|
1108
1177
|
"className": "py-12",
|
|
1178
|
+
"gap": "md",
|
|
1109
1179
|
"children": [
|
|
1110
1180
|
{
|
|
1111
1181
|
"type": "spinner"
|
|
1112
1182
|
},
|
|
1113
1183
|
{
|
|
1114
1184
|
"type": "typography",
|
|
1115
|
-
"variant": "caption",
|
|
1116
1185
|
"content": "Loading work orders…",
|
|
1186
|
+
"variant": "caption",
|
|
1117
1187
|
"color": "muted"
|
|
1118
1188
|
}
|
|
1119
|
-
]
|
|
1120
|
-
"type": "stack",
|
|
1121
|
-
"direction": "vertical",
|
|
1122
|
-
"gap": "md"
|
|
1189
|
+
]
|
|
1123
1190
|
}
|
|
1124
1191
|
]
|
|
1125
1192
|
]
|
|
@@ -1139,8 +1206,8 @@
|
|
|
1139
1206
|
"WorkOrder",
|
|
1140
1207
|
{
|
|
1141
1208
|
"emit": {
|
|
1142
|
-
"
|
|
1143
|
-
"
|
|
1209
|
+
"failure": "WorkOrderLoadFailed",
|
|
1210
|
+
"success": "WorkOrderLoaded"
|
|
1144
1211
|
}
|
|
1145
1212
|
}
|
|
1146
1213
|
],
|
|
@@ -1148,9 +1215,10 @@
|
|
|
1148
1215
|
"render-ui",
|
|
1149
1216
|
"main",
|
|
1150
1217
|
{
|
|
1151
|
-
"type": "stack",
|
|
1152
1218
|
"direction": "vertical",
|
|
1153
1219
|
"gap": "md",
|
|
1220
|
+
"type": "stack",
|
|
1221
|
+
"className": "py-12",
|
|
1154
1222
|
"align": "center",
|
|
1155
1223
|
"children": [
|
|
1156
1224
|
{
|
|
@@ -1158,12 +1226,11 @@
|
|
|
1158
1226
|
},
|
|
1159
1227
|
{
|
|
1160
1228
|
"type": "typography",
|
|
1161
|
-
"content": "Assigning order…",
|
|
1162
1229
|
"variant": "caption",
|
|
1163
|
-
"color": "muted"
|
|
1230
|
+
"color": "muted",
|
|
1231
|
+
"content": "Assigning order…"
|
|
1164
1232
|
}
|
|
1165
|
-
]
|
|
1166
|
-
"className": "py-12"
|
|
1233
|
+
]
|
|
1167
1234
|
}
|
|
1168
1235
|
]
|
|
1169
1236
|
]
|
|
@@ -1193,21 +1260,21 @@
|
|
|
1193
1260
|
"main",
|
|
1194
1261
|
{
|
|
1195
1262
|
"type": "stack",
|
|
1196
|
-
"className": "py-12",
|
|
1197
|
-
"gap": "md",
|
|
1198
1263
|
"direction": "vertical",
|
|
1199
1264
|
"children": [
|
|
1200
1265
|
{
|
|
1201
1266
|
"type": "spinner"
|
|
1202
1267
|
},
|
|
1203
1268
|
{
|
|
1204
|
-
"variant": "caption",
|
|
1205
1269
|
"color": "muted",
|
|
1270
|
+
"variant": "caption",
|
|
1206
1271
|
"content": "Starting travel…",
|
|
1207
1272
|
"type": "typography"
|
|
1208
1273
|
}
|
|
1209
1274
|
],
|
|
1210
|
-
"align": "center"
|
|
1275
|
+
"align": "center",
|
|
1276
|
+
"gap": "md",
|
|
1277
|
+
"className": "py-12"
|
|
1211
1278
|
}
|
|
1212
1279
|
]
|
|
1213
1280
|
]
|
|
@@ -1236,22 +1303,22 @@
|
|
|
1236
1303
|
"render-ui",
|
|
1237
1304
|
"main",
|
|
1238
1305
|
{
|
|
1239
|
-
"direction": "vertical",
|
|
1240
|
-
"type": "stack",
|
|
1241
|
-
"align": "center",
|
|
1242
1306
|
"className": "py-12",
|
|
1243
1307
|
"children": [
|
|
1244
1308
|
{
|
|
1245
1309
|
"type": "spinner"
|
|
1246
1310
|
},
|
|
1247
1311
|
{
|
|
1248
|
-
"
|
|
1249
|
-
"variant": "caption",
|
|
1312
|
+
"type": "typography",
|
|
1250
1313
|
"content": "Arriving on site…",
|
|
1251
|
-
"
|
|
1314
|
+
"color": "muted",
|
|
1315
|
+
"variant": "caption"
|
|
1252
1316
|
}
|
|
1253
1317
|
],
|
|
1254
|
-
"
|
|
1318
|
+
"direction": "vertical",
|
|
1319
|
+
"type": "stack",
|
|
1320
|
+
"gap": "md",
|
|
1321
|
+
"align": "center"
|
|
1255
1322
|
}
|
|
1256
1323
|
]
|
|
1257
1324
|
]
|
|
@@ -1280,22 +1347,22 @@
|
|
|
1280
1347
|
"render-ui",
|
|
1281
1348
|
"main",
|
|
1282
1349
|
{
|
|
1283
|
-
"direction": "vertical",
|
|
1284
|
-
"type": "stack",
|
|
1285
1350
|
"align": "center",
|
|
1286
1351
|
"className": "py-12",
|
|
1352
|
+
"direction": "vertical",
|
|
1287
1353
|
"gap": "md",
|
|
1288
1354
|
"children": [
|
|
1289
1355
|
{
|
|
1290
1356
|
"type": "spinner"
|
|
1291
1357
|
},
|
|
1292
1358
|
{
|
|
1293
|
-
"variant": "caption",
|
|
1294
|
-
"type": "typography",
|
|
1295
1359
|
"color": "muted",
|
|
1296
|
-
"
|
|
1360
|
+
"variant": "caption",
|
|
1361
|
+
"content": "Completing order…",
|
|
1362
|
+
"type": "typography"
|
|
1297
1363
|
}
|
|
1298
|
-
]
|
|
1364
|
+
],
|
|
1365
|
+
"type": "stack"
|
|
1299
1366
|
}
|
|
1300
1367
|
]
|
|
1301
1368
|
]
|
|
@@ -1315,8 +1382,8 @@
|
|
|
1315
1382
|
"WorkOrder",
|
|
1316
1383
|
{
|
|
1317
1384
|
"emit": {
|
|
1318
|
-
"
|
|
1319
|
-
"
|
|
1385
|
+
"success": "WorkOrderLoaded",
|
|
1386
|
+
"failure": "WorkOrderLoadFailed"
|
|
1320
1387
|
}
|
|
1321
1388
|
}
|
|
1322
1389
|
],
|
|
@@ -1324,22 +1391,22 @@
|
|
|
1324
1391
|
"render-ui",
|
|
1325
1392
|
"main",
|
|
1326
1393
|
{
|
|
1327
|
-
"
|
|
1394
|
+
"direction": "vertical",
|
|
1328
1395
|
"align": "center",
|
|
1329
|
-
"className": "py-12",
|
|
1330
1396
|
"children": [
|
|
1331
1397
|
{
|
|
1332
1398
|
"type": "spinner"
|
|
1333
1399
|
},
|
|
1334
1400
|
{
|
|
1335
1401
|
"type": "typography",
|
|
1336
|
-
"
|
|
1402
|
+
"content": "Cancelling order…",
|
|
1337
1403
|
"color": "muted",
|
|
1338
|
-
"
|
|
1404
|
+
"variant": "caption"
|
|
1339
1405
|
}
|
|
1340
1406
|
],
|
|
1341
|
-
"
|
|
1342
|
-
"type": "stack"
|
|
1407
|
+
"className": "py-12",
|
|
1408
|
+
"type": "stack",
|
|
1409
|
+
"gap": "md"
|
|
1343
1410
|
}
|
|
1344
1411
|
]
|
|
1345
1412
|
]
|
|
@@ -1363,8 +1430,8 @@
|
|
|
1363
1430
|
"render-ui",
|
|
1364
1431
|
"main",
|
|
1365
1432
|
{
|
|
1366
|
-
"
|
|
1367
|
-
"
|
|
1433
|
+
"type": "spinner",
|
|
1434
|
+
"size": "sm"
|
|
1368
1435
|
}
|
|
1369
1436
|
]
|
|
1370
1437
|
]
|
|
@@ -1372,51 +1439,6 @@
|
|
|
1372
1439
|
]
|
|
1373
1440
|
},
|
|
1374
1441
|
"config": {
|
|
1375
|
-
"itemActions": {
|
|
1376
|
-
"type": "[ItemAction]",
|
|
1377
|
-
"default": [
|
|
1378
|
-
{
|
|
1379
|
-
"event": "OPEN_ORDER",
|
|
1380
|
-
"icon": "arrow-right",
|
|
1381
|
-
"label": "Open",
|
|
1382
|
-
"variant": "primary"
|
|
1383
|
-
},
|
|
1384
|
-
{
|
|
1385
|
-
"variant": "danger",
|
|
1386
|
-
"label": "Cancel",
|
|
1387
|
-
"event": "CANCEL",
|
|
1388
|
-
"icon": "x"
|
|
1389
|
-
}
|
|
1390
|
-
],
|
|
1391
|
-
"label": "Row actions",
|
|
1392
|
-
"description": "Buttons users can click on each work order row",
|
|
1393
|
-
"tier": "customization",
|
|
1394
|
-
"items": {
|
|
1395
|
-
"type": "object",
|
|
1396
|
-
"properties": {
|
|
1397
|
-
"event": {
|
|
1398
|
-
"name": "event",
|
|
1399
|
-
"type": "string",
|
|
1400
|
-
"required": true
|
|
1401
|
-
},
|
|
1402
|
-
"variant": {
|
|
1403
|
-
"name": "variant",
|
|
1404
|
-
"type": "string",
|
|
1405
|
-
"required": false
|
|
1406
|
-
},
|
|
1407
|
-
"icon": {
|
|
1408
|
-
"name": "icon",
|
|
1409
|
-
"type": "string",
|
|
1410
|
-
"required": false
|
|
1411
|
-
},
|
|
1412
|
-
"label": {
|
|
1413
|
-
"name": "label",
|
|
1414
|
-
"type": "string",
|
|
1415
|
-
"required": true
|
|
1416
|
-
}
|
|
1417
|
-
}
|
|
1418
|
-
}
|
|
1419
|
-
},
|
|
1420
1442
|
"fields": {
|
|
1421
1443
|
"type": "[FieldSpec]",
|
|
1422
1444
|
"default": [
|
|
@@ -1426,33 +1448,33 @@
|
|
|
1426
1448
|
"name": "customerName"
|
|
1427
1449
|
},
|
|
1428
1450
|
{
|
|
1429
|
-
"
|
|
1451
|
+
"name": "serviceType",
|
|
1430
1452
|
"label": "Service",
|
|
1431
|
-
"
|
|
1453
|
+
"variant": "caption"
|
|
1432
1454
|
},
|
|
1433
1455
|
{
|
|
1434
1456
|
"variant": "caption",
|
|
1435
|
-
"
|
|
1436
|
-
"
|
|
1457
|
+
"name": "address",
|
|
1458
|
+
"label": "Address"
|
|
1437
1459
|
},
|
|
1438
1460
|
{
|
|
1461
|
+
"label": "Priority",
|
|
1439
1462
|
"name": "priority",
|
|
1440
|
-
"variant": "badge"
|
|
1441
|
-
"label": "Priority"
|
|
1463
|
+
"variant": "badge"
|
|
1442
1464
|
},
|
|
1443
1465
|
{
|
|
1444
1466
|
"label": "Status",
|
|
1445
|
-
"
|
|
1446
|
-
"
|
|
1467
|
+
"variant": "badge",
|
|
1468
|
+
"name": "status"
|
|
1447
1469
|
},
|
|
1448
1470
|
{
|
|
1449
1471
|
"name": "assignedTo",
|
|
1450
|
-
"
|
|
1451
|
-
"
|
|
1472
|
+
"label": "Assigned",
|
|
1473
|
+
"variant": "caption"
|
|
1452
1474
|
},
|
|
1453
1475
|
{
|
|
1454
|
-
"variant": "caption",
|
|
1455
1476
|
"label": "ETA (min)",
|
|
1477
|
+
"variant": "caption",
|
|
1456
1478
|
"name": "etaMinutes"
|
|
1457
1479
|
}
|
|
1458
1480
|
],
|
|
@@ -1462,8 +1484,13 @@
|
|
|
1462
1484
|
"items": {
|
|
1463
1485
|
"type": "object",
|
|
1464
1486
|
"properties": {
|
|
1465
|
-
"
|
|
1466
|
-
"name": "
|
|
1487
|
+
"variant": {
|
|
1488
|
+
"name": "variant",
|
|
1489
|
+
"type": "string",
|
|
1490
|
+
"required": false
|
|
1491
|
+
},
|
|
1492
|
+
"format": {
|
|
1493
|
+
"name": "format",
|
|
1467
1494
|
"type": "string",
|
|
1468
1495
|
"required": false
|
|
1469
1496
|
},
|
|
@@ -1472,23 +1499,91 @@
|
|
|
1472
1499
|
"type": "string",
|
|
1473
1500
|
"required": false
|
|
1474
1501
|
},
|
|
1502
|
+
"name": {
|
|
1503
|
+
"name": "name",
|
|
1504
|
+
"type": "string",
|
|
1505
|
+
"required": true
|
|
1506
|
+
},
|
|
1507
|
+
"icon": {
|
|
1508
|
+
"name": "icon",
|
|
1509
|
+
"type": "string",
|
|
1510
|
+
"required": false
|
|
1511
|
+
},
|
|
1475
1512
|
"header": {
|
|
1476
1513
|
"name": "header",
|
|
1477
1514
|
"type": "string",
|
|
1478
1515
|
"required": false
|
|
1479
1516
|
},
|
|
1480
|
-
"
|
|
1481
|
-
"name": "
|
|
1517
|
+
"key": {
|
|
1518
|
+
"name": "key",
|
|
1482
1519
|
"type": "string",
|
|
1483
1520
|
"required": false
|
|
1484
|
-
}
|
|
1485
|
-
|
|
1486
|
-
|
|
1521
|
+
}
|
|
1522
|
+
}
|
|
1523
|
+
}
|
|
1524
|
+
},
|
|
1525
|
+
"title": {
|
|
1526
|
+
"type": "string",
|
|
1527
|
+
"default": "Work Orders",
|
|
1528
|
+
"label": "Section title",
|
|
1529
|
+
"description": "Heading shown above the field service work orders",
|
|
1530
|
+
"tier": "customization"
|
|
1531
|
+
},
|
|
1532
|
+
"serviceAreaRadius": {
|
|
1533
|
+
"type": "number",
|
|
1534
|
+
"default": 50.0,
|
|
1535
|
+
"label": "Service area radius (mi)",
|
|
1536
|
+
"description": "Maximum distance from the service hub for dispatch eligibility.",
|
|
1537
|
+
"tier": "customization"
|
|
1538
|
+
},
|
|
1539
|
+
"dispatchStrategy": {
|
|
1540
|
+
"type": "string",
|
|
1541
|
+
"default": "nearest",
|
|
1542
|
+
"label": "Dispatch strategy",
|
|
1543
|
+
"description": "How techs are assigned: nearest = closest available, round-robin = even distribution, manual = dispatcher picks.",
|
|
1544
|
+
"tier": "customization",
|
|
1545
|
+
"values": [
|
|
1546
|
+
"nearest",
|
|
1547
|
+
"round-robin",
|
|
1548
|
+
"manual"
|
|
1549
|
+
]
|
|
1550
|
+
},
|
|
1551
|
+
"escalationThresholdHours": {
|
|
1552
|
+
"type": "number",
|
|
1553
|
+
"default": 48.0,
|
|
1554
|
+
"label": "Escalation threshold (hours)",
|
|
1555
|
+
"description": "Hours after which an open order auto-escalates to escalationRoles. Compose std-lifecycle for wiring.",
|
|
1556
|
+
"tier": "customization"
|
|
1557
|
+
},
|
|
1558
|
+
"itemActions": {
|
|
1559
|
+
"type": "[ItemAction]",
|
|
1560
|
+
"default": [
|
|
1561
|
+
{
|
|
1562
|
+
"variant": "primary",
|
|
1563
|
+
"event": "OPEN_ORDER",
|
|
1564
|
+
"icon": "arrow-right",
|
|
1565
|
+
"label": "Open"
|
|
1566
|
+
},
|
|
1567
|
+
{
|
|
1568
|
+
"variant": "danger",
|
|
1569
|
+
"event": "CANCEL",
|
|
1570
|
+
"label": "Cancel",
|
|
1571
|
+
"icon": "x"
|
|
1572
|
+
}
|
|
1573
|
+
],
|
|
1574
|
+
"label": "Row actions",
|
|
1575
|
+
"description": "Buttons users can click on each work order row",
|
|
1576
|
+
"tier": "customization",
|
|
1577
|
+
"items": {
|
|
1578
|
+
"type": "object",
|
|
1579
|
+
"properties": {
|
|
1580
|
+
"label": {
|
|
1581
|
+
"name": "label",
|
|
1487
1582
|
"type": "string",
|
|
1488
1583
|
"required": true
|
|
1489
1584
|
},
|
|
1490
|
-
"
|
|
1491
|
-
"name": "
|
|
1585
|
+
"variant": {
|
|
1586
|
+
"name": "variant",
|
|
1492
1587
|
"type": "string",
|
|
1493
1588
|
"required": false
|
|
1494
1589
|
},
|
|
@@ -1496,15 +1591,75 @@
|
|
|
1496
1591
|
"name": "icon",
|
|
1497
1592
|
"type": "string",
|
|
1498
1593
|
"required": false
|
|
1594
|
+
},
|
|
1595
|
+
"event": {
|
|
1596
|
+
"name": "event",
|
|
1597
|
+
"type": "string",
|
|
1598
|
+
"required": true
|
|
1499
1599
|
}
|
|
1500
1600
|
}
|
|
1501
1601
|
}
|
|
1502
1602
|
},
|
|
1503
|
-
"
|
|
1504
|
-
"type": "string",
|
|
1505
|
-
"default":
|
|
1506
|
-
"label": "
|
|
1507
|
-
"description": "
|
|
1603
|
+
"skillsRequired": {
|
|
1604
|
+
"type": "[string]",
|
|
1605
|
+
"default": [],
|
|
1606
|
+
"label": "Required skills",
|
|
1607
|
+
"description": "Capability tags a tech must have to be assigned (e.g. 'plumbing', 'electrical', 'hvac').",
|
|
1608
|
+
"tier": "customization",
|
|
1609
|
+
"items": {
|
|
1610
|
+
"type": "string"
|
|
1611
|
+
}
|
|
1612
|
+
},
|
|
1613
|
+
"responseTimeMinutes": {
|
|
1614
|
+
"type": "number",
|
|
1615
|
+
"default": 60.0,
|
|
1616
|
+
"label": "Response time SLA (min)",
|
|
1617
|
+
"description": "Target time from order created to first response (assigned + acknowledged). Drives SLA dashboards and escalation.",
|
|
1618
|
+
"tier": "essential"
|
|
1619
|
+
},
|
|
1620
|
+
"customerVisibleStatuses": {
|
|
1621
|
+
"type": "[string]",
|
|
1622
|
+
"default": [
|
|
1623
|
+
"assigned",
|
|
1624
|
+
"en-route",
|
|
1625
|
+
"completed"
|
|
1626
|
+
],
|
|
1627
|
+
"label": "Customer-visible statuses",
|
|
1628
|
+
"description": "Subset of statuses the customer can see in their tracking view. Internal-only statuses are filtered.",
|
|
1629
|
+
"tier": "customization",
|
|
1630
|
+
"items": {
|
|
1631
|
+
"type": "string"
|
|
1632
|
+
}
|
|
1633
|
+
},
|
|
1634
|
+
"requirePhotoOnComplete": {
|
|
1635
|
+
"type": "boolean",
|
|
1636
|
+
"default": false,
|
|
1637
|
+
"label": "Require photo on complete",
|
|
1638
|
+
"description": "Block COMPLETE action unless a completion photo is attached.",
|
|
1639
|
+
"tier": "customization"
|
|
1640
|
+
},
|
|
1641
|
+
"serviceZones": {
|
|
1642
|
+
"type": "[string]",
|
|
1643
|
+
"default": [],
|
|
1644
|
+
"label": "Service zones",
|
|
1645
|
+
"description": "Named geographic zones for dispatch grouping. Empty = no zone restriction.",
|
|
1646
|
+
"tier": "customization",
|
|
1647
|
+
"items": {
|
|
1648
|
+
"type": "string"
|
|
1649
|
+
}
|
|
1650
|
+
},
|
|
1651
|
+
"resolutionSLAHours": {
|
|
1652
|
+
"type": "number",
|
|
1653
|
+
"default": 24.0,
|
|
1654
|
+
"label": "Resolution SLA (hours)",
|
|
1655
|
+
"description": "Target time from order created to completed. Compose sibling std-lifecycle to auto-escalate at threshold.",
|
|
1656
|
+
"tier": "essential"
|
|
1657
|
+
},
|
|
1658
|
+
"requireSignatureOnComplete": {
|
|
1659
|
+
"type": "boolean",
|
|
1660
|
+
"default": false,
|
|
1661
|
+
"label": "Require customer signature on complete",
|
|
1662
|
+
"description": "Block COMPLETE action unless customer signature is captured (compose std-signature-capture).",
|
|
1508
1663
|
"tier": "customization"
|
|
1509
1664
|
}
|
|
1510
1665
|
},
|
|
@@ -1524,4 +1679,4 @@
|
|
|
1524
1679
|
]
|
|
1525
1680
|
}
|
|
1526
1681
|
]
|
|
1527
|
-
}
|
|
1682
|
+
}
|