@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-technician-dispatch",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "std-technician-dispatch — dispatch board for field technicians.
|
|
3
|
+
"version": "1.2.0",
|
|
4
|
+
"description": "std-technician-dispatch — dispatch board for field technicians. Exposes Service/Operations knobs (serviceAreaRadius, dispatchStrategy, responseTimeMinutes, …).",
|
|
5
5
|
"orbitals": [
|
|
6
6
|
{
|
|
7
7
|
"name": "TechnicianDispatchOrbital",
|
|
@@ -445,22 +445,22 @@
|
|
|
445
445
|
"render-ui",
|
|
446
446
|
"main",
|
|
447
447
|
{
|
|
448
|
-
"direction": "vertical",
|
|
449
|
-
"type": "stack",
|
|
450
448
|
"align": "center",
|
|
451
|
-
"className": "py-12",
|
|
452
|
-
"gap": "md",
|
|
453
449
|
"children": [
|
|
454
450
|
{
|
|
455
451
|
"type": "spinner"
|
|
456
452
|
},
|
|
457
453
|
{
|
|
454
|
+
"variant": "caption",
|
|
458
455
|
"color": "muted",
|
|
459
456
|
"content": "Loading technicians…",
|
|
460
|
-
"type": "typography"
|
|
461
|
-
"variant": "caption"
|
|
457
|
+
"type": "typography"
|
|
462
458
|
}
|
|
463
|
-
]
|
|
459
|
+
],
|
|
460
|
+
"className": "py-12",
|
|
461
|
+
"type": "stack",
|
|
462
|
+
"direction": "vertical",
|
|
463
|
+
"gap": "md"
|
|
464
464
|
}
|
|
465
465
|
]
|
|
466
466
|
]
|
|
@@ -474,47 +474,47 @@
|
|
|
474
474
|
"render-ui",
|
|
475
475
|
"main",
|
|
476
476
|
{
|
|
477
|
-
"gap": "md",
|
|
478
|
-
"direction": "vertical",
|
|
479
477
|
"type": "stack",
|
|
478
|
+
"gap": "md",
|
|
480
479
|
"children": [
|
|
481
480
|
{
|
|
482
|
-
"gap": "sm",
|
|
483
|
-
"type": "stack",
|
|
484
|
-
"direction": "horizontal",
|
|
485
|
-
"align": "center",
|
|
486
481
|
"children": [
|
|
487
482
|
{
|
|
488
483
|
"name": "hard-hat",
|
|
489
484
|
"type": "icon"
|
|
490
485
|
},
|
|
491
486
|
{
|
|
487
|
+
"variant": "h3",
|
|
492
488
|
"type": "typography",
|
|
493
|
-
"content": "@config.title"
|
|
494
|
-
"variant": "h3"
|
|
489
|
+
"content": "@config.title"
|
|
495
490
|
}
|
|
496
|
-
]
|
|
491
|
+
],
|
|
492
|
+
"type": "stack",
|
|
493
|
+
"direction": "horizontal",
|
|
494
|
+
"gap": "sm",
|
|
495
|
+
"align": "center"
|
|
497
496
|
},
|
|
498
497
|
{
|
|
499
498
|
"cols": 4.0,
|
|
499
|
+
"type": "simple-grid",
|
|
500
500
|
"children": [
|
|
501
501
|
{
|
|
502
|
+
"label": "Total technicians",
|
|
502
503
|
"type": "stat-display",
|
|
503
504
|
"value": "@payload.data.length",
|
|
504
|
-
"label": "Total technicians",
|
|
505
505
|
"icon": "users"
|
|
506
506
|
},
|
|
507
507
|
{
|
|
508
|
-
"
|
|
508
|
+
"value": "18",
|
|
509
509
|
"label": "Available now",
|
|
510
510
|
"icon": "check-circle",
|
|
511
|
-
"
|
|
511
|
+
"type": "stat-display"
|
|
512
512
|
},
|
|
513
513
|
{
|
|
514
|
-
"
|
|
515
|
-
"icon": "navigation",
|
|
514
|
+
"label": "On assignment",
|
|
516
515
|
"type": "stat-display",
|
|
517
|
-
"
|
|
516
|
+
"value": "9",
|
|
517
|
+
"icon": "navigation"
|
|
518
518
|
},
|
|
519
519
|
{
|
|
520
520
|
"type": "stat-display",
|
|
@@ -522,21 +522,21 @@
|
|
|
522
522
|
"value": "12m",
|
|
523
523
|
"icon": "clock"
|
|
524
524
|
}
|
|
525
|
-
]
|
|
526
|
-
"type": "simple-grid"
|
|
525
|
+
]
|
|
527
526
|
},
|
|
528
527
|
{
|
|
529
528
|
"type": "divider"
|
|
530
529
|
},
|
|
531
530
|
{
|
|
532
|
-
"
|
|
531
|
+
"fields": "@config.fields",
|
|
533
532
|
"itemActions": "@config.itemActions",
|
|
534
|
-
"
|
|
533
|
+
"type": "data-grid",
|
|
534
|
+
"gap": "sm",
|
|
535
535
|
"entity": "@payload.data",
|
|
536
|
-
"
|
|
537
|
-
"gap": "sm"
|
|
536
|
+
"cols": 1.0
|
|
538
537
|
}
|
|
539
|
-
]
|
|
538
|
+
],
|
|
539
|
+
"direction": "vertical"
|
|
540
540
|
}
|
|
541
541
|
]
|
|
542
542
|
]
|
|
@@ -550,9 +550,9 @@
|
|
|
550
550
|
"render-ui",
|
|
551
551
|
"main",
|
|
552
552
|
{
|
|
553
|
-
"type": "alert",
|
|
554
553
|
"variant": "error",
|
|
555
|
-
"message": "@payload.error"
|
|
554
|
+
"message": "@payload.error",
|
|
555
|
+
"type": "alert"
|
|
556
556
|
}
|
|
557
557
|
]
|
|
558
558
|
]
|
|
@@ -611,88 +611,90 @@
|
|
|
611
611
|
"render-ui",
|
|
612
612
|
"main",
|
|
613
613
|
{
|
|
614
|
+
"direction": "vertical",
|
|
615
|
+
"type": "stack",
|
|
614
616
|
"gap": "md",
|
|
615
617
|
"children": [
|
|
616
618
|
{
|
|
619
|
+
"type": "stack",
|
|
620
|
+
"direction": "horizontal",
|
|
621
|
+
"gap": "sm",
|
|
622
|
+
"align": "center",
|
|
617
623
|
"children": [
|
|
618
624
|
{
|
|
625
|
+
"type": "button",
|
|
619
626
|
"label": "Back",
|
|
620
627
|
"variant": "ghost",
|
|
621
|
-
"type": "button",
|
|
622
628
|
"action": "CLOSE_VIEW"
|
|
623
629
|
},
|
|
624
630
|
{
|
|
625
|
-
"
|
|
626
|
-
"
|
|
631
|
+
"name": "hard-hat",
|
|
632
|
+
"type": "icon"
|
|
627
633
|
},
|
|
628
634
|
{
|
|
629
635
|
"content": "@entity.name",
|
|
630
|
-
"
|
|
631
|
-
"
|
|
636
|
+
"type": "typography",
|
|
637
|
+
"variant": "h3"
|
|
632
638
|
},
|
|
633
639
|
{
|
|
634
640
|
"type": "badge",
|
|
635
641
|
"label": "@entity.lastSeenAt",
|
|
636
642
|
"variant": "primary"
|
|
637
643
|
}
|
|
638
|
-
]
|
|
639
|
-
"type": "stack",
|
|
640
|
-
"align": "center",
|
|
641
|
-
"direction": "horizontal",
|
|
642
|
-
"gap": "sm"
|
|
644
|
+
]
|
|
643
645
|
},
|
|
644
646
|
{
|
|
645
647
|
"type": "divider"
|
|
646
648
|
},
|
|
647
649
|
{
|
|
648
650
|
"type": "stack",
|
|
651
|
+
"gap": "sm",
|
|
649
652
|
"direction": "vertical",
|
|
650
653
|
"children": [
|
|
651
654
|
{
|
|
652
|
-
"direction": "horizontal",
|
|
653
655
|
"type": "stack",
|
|
656
|
+
"direction": "horizontal",
|
|
654
657
|
"gap": "md",
|
|
655
658
|
"children": [
|
|
656
659
|
{
|
|
657
660
|
"variant": "caption",
|
|
658
|
-
"color": "muted",
|
|
659
661
|
"type": "typography",
|
|
662
|
+
"color": "muted",
|
|
660
663
|
"content": "Phone"
|
|
661
664
|
},
|
|
662
665
|
{
|
|
663
|
-
"
|
|
666
|
+
"type": "typography",
|
|
664
667
|
"content": "@entity.phone",
|
|
665
|
-
"
|
|
668
|
+
"variant": "body"
|
|
666
669
|
}
|
|
667
670
|
]
|
|
668
671
|
},
|
|
669
672
|
{
|
|
670
|
-
"gap": "md",
|
|
671
|
-
"type": "stack",
|
|
672
673
|
"children": [
|
|
673
674
|
{
|
|
674
675
|
"type": "typography",
|
|
675
|
-
"content": "Current order",
|
|
676
676
|
"color": "muted",
|
|
677
|
-
"variant": "caption"
|
|
677
|
+
"variant": "caption",
|
|
678
|
+
"content": "Current order"
|
|
678
679
|
},
|
|
679
680
|
{
|
|
680
|
-
"variant": "body",
|
|
681
681
|
"type": "typography",
|
|
682
|
+
"variant": "body",
|
|
682
683
|
"content": "@entity.currentOrderId"
|
|
683
684
|
}
|
|
684
685
|
],
|
|
685
|
-
"direction": "horizontal"
|
|
686
|
+
"direction": "horizontal",
|
|
687
|
+
"gap": "md",
|
|
688
|
+
"type": "stack"
|
|
686
689
|
},
|
|
687
690
|
{
|
|
688
691
|
"direction": "horizontal",
|
|
689
|
-
"gap": "md",
|
|
690
692
|
"children": [
|
|
691
693
|
{
|
|
692
|
-
"
|
|
694
|
+
"content": "Last seen",
|
|
693
695
|
"type": "typography",
|
|
694
|
-
"
|
|
695
|
-
"
|
|
696
|
+
"variant": "caption",
|
|
697
|
+
"color": "muted"
|
|
696
698
|
},
|
|
697
699
|
{
|
|
698
700
|
"variant": "body",
|
|
@@ -700,21 +702,21 @@
|
|
|
700
702
|
"content": "@entity.lastSeenAt"
|
|
701
703
|
}
|
|
702
704
|
],
|
|
705
|
+
"gap": "md",
|
|
703
706
|
"type": "stack"
|
|
704
707
|
}
|
|
705
|
-
]
|
|
706
|
-
"gap": "sm"
|
|
708
|
+
]
|
|
707
709
|
},
|
|
708
710
|
{
|
|
709
711
|
"type": "divider"
|
|
710
712
|
},
|
|
711
713
|
{
|
|
712
|
-
"
|
|
714
|
+
"cols": 2.0,
|
|
713
715
|
"children": [
|
|
714
716
|
{
|
|
717
|
+
"icon": "map-pin",
|
|
715
718
|
"type": "stat-display",
|
|
716
719
|
"label": "Latitude",
|
|
717
|
-
"icon": "map-pin",
|
|
718
720
|
"value": "@entity.lat"
|
|
719
721
|
},
|
|
720
722
|
{
|
|
@@ -724,57 +726,55 @@
|
|
|
724
726
|
"type": "stat-display"
|
|
725
727
|
}
|
|
726
728
|
],
|
|
727
|
-
"
|
|
729
|
+
"type": "simple-grid"
|
|
728
730
|
},
|
|
729
731
|
{
|
|
730
732
|
"align": "center",
|
|
731
|
-
"gap": "sm",
|
|
732
733
|
"type": "stack",
|
|
733
|
-
"
|
|
734
|
+
"gap": "sm",
|
|
734
735
|
"children": [
|
|
735
736
|
{
|
|
736
737
|
"action": "ASSIGN",
|
|
738
|
+
"type": "button",
|
|
739
|
+
"label": "Assign",
|
|
740
|
+
"variant": "primary",
|
|
737
741
|
"actionPayload": {
|
|
738
742
|
"technicianId": "@entity.id",
|
|
739
743
|
"orderId": "@entity.currentOrderId"
|
|
740
|
-
}
|
|
741
|
-
"variant": "primary",
|
|
742
|
-
"label": "Assign",
|
|
743
|
-
"type": "button"
|
|
744
|
+
}
|
|
744
745
|
},
|
|
745
746
|
{
|
|
746
|
-
"type": "button",
|
|
747
|
-
"label": "Accept",
|
|
748
747
|
"variant": "secondary",
|
|
749
|
-
"
|
|
748
|
+
"type": "button",
|
|
750
749
|
"actionPayload": {
|
|
751
750
|
"technicianId": "@entity.id"
|
|
752
|
-
}
|
|
751
|
+
},
|
|
752
|
+
"action": "ACCEPT",
|
|
753
|
+
"label": "Accept"
|
|
753
754
|
},
|
|
754
755
|
{
|
|
756
|
+
"variant": "danger",
|
|
757
|
+
"type": "button",
|
|
758
|
+
"action": "REJECT",
|
|
755
759
|
"actionPayload": {
|
|
756
760
|
"technicianId": "@entity.id"
|
|
757
761
|
},
|
|
758
|
-
"label": "Reject"
|
|
759
|
-
"type": "button",
|
|
760
|
-
"variant": "danger",
|
|
761
|
-
"action": "REJECT"
|
|
762
|
+
"label": "Reject"
|
|
762
763
|
},
|
|
763
764
|
{
|
|
764
|
-
"type": "button",
|
|
765
|
-
"variant": "secondary",
|
|
766
765
|
"action": "TOGGLE_AVAILABLE",
|
|
766
|
+
"label": "Toggle Available",
|
|
767
|
+
"variant": "secondary",
|
|
767
768
|
"actionPayload": {
|
|
768
769
|
"technicianId": "@entity.id",
|
|
769
770
|
"available": false
|
|
770
771
|
},
|
|
771
|
-
"
|
|
772
|
+
"type": "button"
|
|
772
773
|
}
|
|
773
|
-
]
|
|
774
|
+
],
|
|
775
|
+
"direction": "horizontal"
|
|
774
776
|
}
|
|
775
|
-
]
|
|
776
|
-
"type": "stack",
|
|
777
|
-
"direction": "vertical"
|
|
777
|
+
]
|
|
778
778
|
}
|
|
779
779
|
]
|
|
780
780
|
]
|
|
@@ -794,8 +794,8 @@
|
|
|
794
794
|
"Technician",
|
|
795
795
|
{
|
|
796
796
|
"emit": {
|
|
797
|
-
"
|
|
798
|
-
"
|
|
797
|
+
"success": "TechnicianLoaded",
|
|
798
|
+
"failure": "TechnicianLoadFailed"
|
|
799
799
|
}
|
|
800
800
|
}
|
|
801
801
|
],
|
|
@@ -803,22 +803,22 @@
|
|
|
803
803
|
"render-ui",
|
|
804
804
|
"main",
|
|
805
805
|
{
|
|
806
|
-
"
|
|
806
|
+
"className": "py-12",
|
|
807
|
+
"gap": "md",
|
|
808
|
+
"align": "center",
|
|
807
809
|
"children": [
|
|
808
810
|
{
|
|
809
811
|
"type": "spinner"
|
|
810
812
|
},
|
|
811
813
|
{
|
|
812
|
-
"color": "muted",
|
|
813
|
-
"variant": "caption",
|
|
814
814
|
"type": "typography",
|
|
815
|
-
"content": "Assigning technician…"
|
|
815
|
+
"content": "Assigning technician…",
|
|
816
|
+
"variant": "caption",
|
|
817
|
+
"color": "muted"
|
|
816
818
|
}
|
|
817
819
|
],
|
|
818
820
|
"type": "stack",
|
|
819
|
-
"
|
|
820
|
-
"align": "center",
|
|
821
|
-
"className": "py-12"
|
|
821
|
+
"direction": "vertical"
|
|
822
822
|
}
|
|
823
823
|
]
|
|
824
824
|
]
|
|
@@ -859,8 +859,8 @@
|
|
|
859
859
|
"Technician",
|
|
860
860
|
{
|
|
861
861
|
"emit": {
|
|
862
|
-
"
|
|
863
|
-
"
|
|
862
|
+
"failure": "TechnicianLoadFailed",
|
|
863
|
+
"success": "TechnicianLoaded"
|
|
864
864
|
}
|
|
865
865
|
}
|
|
866
866
|
],
|
|
@@ -868,22 +868,22 @@
|
|
|
868
868
|
"render-ui",
|
|
869
869
|
"main",
|
|
870
870
|
{
|
|
871
|
+
"type": "stack",
|
|
872
|
+
"align": "center",
|
|
873
|
+
"className": "py-12",
|
|
874
|
+
"direction": "vertical",
|
|
875
|
+
"gap": "md",
|
|
871
876
|
"children": [
|
|
872
877
|
{
|
|
873
878
|
"type": "spinner"
|
|
874
879
|
},
|
|
875
880
|
{
|
|
876
|
-
"variant": "caption",
|
|
877
|
-
"color": "muted",
|
|
878
881
|
"content": "Releasing technician…",
|
|
879
|
-
"type": "typography"
|
|
882
|
+
"type": "typography",
|
|
883
|
+
"variant": "caption",
|
|
884
|
+
"color": "muted"
|
|
880
885
|
}
|
|
881
|
-
]
|
|
882
|
-
"align": "center",
|
|
883
|
-
"className": "py-12",
|
|
884
|
-
"type": "stack",
|
|
885
|
-
"direction": "vertical",
|
|
886
|
-
"gap": "md"
|
|
886
|
+
]
|
|
887
887
|
}
|
|
888
888
|
]
|
|
889
889
|
]
|
|
@@ -919,22 +919,22 @@
|
|
|
919
919
|
"render-ui",
|
|
920
920
|
"main",
|
|
921
921
|
{
|
|
922
|
-
"
|
|
922
|
+
"className": "py-12",
|
|
923
923
|
"type": "stack",
|
|
924
|
-
"
|
|
924
|
+
"direction": "vertical",
|
|
925
|
+
"gap": "md",
|
|
925
926
|
"children": [
|
|
926
927
|
{
|
|
927
928
|
"type": "spinner"
|
|
928
929
|
},
|
|
929
930
|
{
|
|
930
|
-
"variant": "caption",
|
|
931
931
|
"type": "typography",
|
|
932
|
+
"variant": "caption",
|
|
932
933
|
"color": "muted",
|
|
933
934
|
"content": "Updating availability…"
|
|
934
935
|
}
|
|
935
936
|
],
|
|
936
|
-
"
|
|
937
|
-
"className": "py-12"
|
|
937
|
+
"align": "center"
|
|
938
938
|
}
|
|
939
939
|
]
|
|
940
940
|
]
|
|
@@ -949,8 +949,8 @@
|
|
|
949
949
|
"Technician",
|
|
950
950
|
{
|
|
951
951
|
"emit": {
|
|
952
|
-
"
|
|
953
|
-
"
|
|
952
|
+
"success": "TechnicianLoaded",
|
|
953
|
+
"failure": "TechnicianLoadFailed"
|
|
954
954
|
}
|
|
955
955
|
}
|
|
956
956
|
]
|
|
@@ -966,8 +966,8 @@
|
|
|
966
966
|
"main",
|
|
967
967
|
{
|
|
968
968
|
"type": "alert",
|
|
969
|
-
"
|
|
970
|
-
"
|
|
969
|
+
"message": "@payload.error",
|
|
970
|
+
"variant": "error"
|
|
971
971
|
}
|
|
972
972
|
]
|
|
973
973
|
]
|
|
@@ -992,8 +992,8 @@
|
|
|
992
992
|
"Technician",
|
|
993
993
|
{
|
|
994
994
|
"emit": {
|
|
995
|
-
"
|
|
996
|
-
"
|
|
995
|
+
"failure": "TechnicianLoadFailed",
|
|
996
|
+
"success": "TechnicianLoaded"
|
|
997
997
|
}
|
|
998
998
|
}
|
|
999
999
|
],
|
|
@@ -1001,22 +1001,22 @@
|
|
|
1001
1001
|
"render-ui",
|
|
1002
1002
|
"main",
|
|
1003
1003
|
{
|
|
1004
|
-
"direction": "vertical",
|
|
1005
|
-
"align": "center",
|
|
1006
1004
|
"children": [
|
|
1007
1005
|
{
|
|
1008
1006
|
"type": "spinner"
|
|
1009
1007
|
},
|
|
1010
1008
|
{
|
|
1011
1009
|
"variant": "caption",
|
|
1012
|
-
"type": "typography",
|
|
1013
1010
|
"color": "muted",
|
|
1011
|
+
"type": "typography",
|
|
1014
1012
|
"content": "Loading technicians…"
|
|
1015
1013
|
}
|
|
1016
1014
|
],
|
|
1017
|
-
"
|
|
1015
|
+
"direction": "vertical",
|
|
1016
|
+
"gap": "md",
|
|
1018
1017
|
"type": "stack",
|
|
1019
|
-
"
|
|
1018
|
+
"className": "py-12",
|
|
1019
|
+
"align": "center"
|
|
1020
1020
|
}
|
|
1021
1021
|
]
|
|
1022
1022
|
]
|
|
@@ -1045,22 +1045,22 @@
|
|
|
1045
1045
|
"render-ui",
|
|
1046
1046
|
"main",
|
|
1047
1047
|
{
|
|
1048
|
-
"className": "py-12",
|
|
1049
1048
|
"direction": "vertical",
|
|
1050
|
-
"type": "stack",
|
|
1051
1049
|
"align": "center",
|
|
1052
|
-
"
|
|
1050
|
+
"className": "py-12",
|
|
1053
1051
|
"children": [
|
|
1054
1052
|
{
|
|
1055
1053
|
"type": "spinner"
|
|
1056
1054
|
},
|
|
1057
1055
|
{
|
|
1058
1056
|
"content": "Assigning technician…",
|
|
1059
|
-
"variant": "caption",
|
|
1060
1057
|
"type": "typography",
|
|
1061
|
-
"color": "muted"
|
|
1058
|
+
"color": "muted",
|
|
1059
|
+
"variant": "caption"
|
|
1062
1060
|
}
|
|
1063
|
-
]
|
|
1061
|
+
],
|
|
1062
|
+
"gap": "md",
|
|
1063
|
+
"type": "stack"
|
|
1064
1064
|
}
|
|
1065
1065
|
]
|
|
1066
1066
|
]
|
|
@@ -1080,8 +1080,8 @@
|
|
|
1080
1080
|
"Technician",
|
|
1081
1081
|
{
|
|
1082
1082
|
"emit": {
|
|
1083
|
-
"
|
|
1084
|
-
"
|
|
1083
|
+
"success": "TechnicianLoaded",
|
|
1084
|
+
"failure": "TechnicianLoadFailed"
|
|
1085
1085
|
}
|
|
1086
1086
|
}
|
|
1087
1087
|
],
|
|
@@ -1089,19 +1089,19 @@
|
|
|
1089
1089
|
"render-ui",
|
|
1090
1090
|
"main",
|
|
1091
1091
|
{
|
|
1092
|
-
"
|
|
1092
|
+
"gap": "md",
|
|
1093
1093
|
"type": "stack",
|
|
1094
1094
|
"className": "py-12",
|
|
1095
|
-
"
|
|
1095
|
+
"direction": "vertical",
|
|
1096
1096
|
"children": [
|
|
1097
1097
|
{
|
|
1098
1098
|
"type": "spinner"
|
|
1099
1099
|
},
|
|
1100
1100
|
{
|
|
1101
1101
|
"type": "typography",
|
|
1102
|
-
"
|
|
1102
|
+
"color": "muted",
|
|
1103
1103
|
"content": "Confirming assignment…",
|
|
1104
|
-
"
|
|
1104
|
+
"variant": "caption"
|
|
1105
1105
|
}
|
|
1106
1106
|
],
|
|
1107
1107
|
"align": "center"
|
|
@@ -1133,22 +1133,22 @@
|
|
|
1133
1133
|
"render-ui",
|
|
1134
1134
|
"main",
|
|
1135
1135
|
{
|
|
1136
|
+
"align": "center",
|
|
1137
|
+
"direction": "vertical",
|
|
1138
|
+
"type": "stack",
|
|
1139
|
+
"className": "py-12",
|
|
1136
1140
|
"children": [
|
|
1137
1141
|
{
|
|
1138
1142
|
"type": "spinner"
|
|
1139
1143
|
},
|
|
1140
1144
|
{
|
|
1141
1145
|
"type": "typography",
|
|
1142
|
-
"color": "muted",
|
|
1143
1146
|
"variant": "caption",
|
|
1144
|
-
"content": "Releasing technician…"
|
|
1147
|
+
"content": "Releasing technician…",
|
|
1148
|
+
"color": "muted"
|
|
1145
1149
|
}
|
|
1146
1150
|
],
|
|
1147
|
-
"
|
|
1148
|
-
"type": "stack",
|
|
1149
|
-
"align": "center",
|
|
1150
|
-
"gap": "md",
|
|
1151
|
-
"className": "py-12"
|
|
1151
|
+
"gap": "md"
|
|
1152
1152
|
}
|
|
1153
1153
|
]
|
|
1154
1154
|
]
|
|
@@ -1168,8 +1168,8 @@
|
|
|
1168
1168
|
"Technician",
|
|
1169
1169
|
{
|
|
1170
1170
|
"emit": {
|
|
1171
|
-
"
|
|
1172
|
-
"
|
|
1171
|
+
"success": "TechnicianLoaded",
|
|
1172
|
+
"failure": "TechnicianLoadFailed"
|
|
1173
1173
|
}
|
|
1174
1174
|
}
|
|
1175
1175
|
],
|
|
@@ -1178,21 +1178,21 @@
|
|
|
1178
1178
|
"main",
|
|
1179
1179
|
{
|
|
1180
1180
|
"type": "stack",
|
|
1181
|
-
"gap": "md",
|
|
1182
1181
|
"direction": "vertical",
|
|
1182
|
+
"gap": "md",
|
|
1183
1183
|
"className": "py-12",
|
|
1184
|
+
"align": "center",
|
|
1184
1185
|
"children": [
|
|
1185
1186
|
{
|
|
1186
1187
|
"type": "spinner"
|
|
1187
1188
|
},
|
|
1188
1189
|
{
|
|
1190
|
+
"variant": "caption",
|
|
1189
1191
|
"color": "muted",
|
|
1190
1192
|
"content": "Updating availability…",
|
|
1191
|
-
"type": "typography"
|
|
1192
|
-
"variant": "caption"
|
|
1193
|
+
"type": "typography"
|
|
1193
1194
|
}
|
|
1194
|
-
]
|
|
1195
|
-
"align": "center"
|
|
1195
|
+
]
|
|
1196
1196
|
}
|
|
1197
1197
|
]
|
|
1198
1198
|
]
|
|
@@ -1225,48 +1225,21 @@
|
|
|
1225
1225
|
]
|
|
1226
1226
|
},
|
|
1227
1227
|
"config": {
|
|
1228
|
-
"
|
|
1229
|
-
"type": "
|
|
1230
|
-
"default":
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
"label": "Assign"
|
|
1241
|
-
}
|
|
1242
|
-
],
|
|
1243
|
-
"label": "Row actions",
|
|
1244
|
-
"description": "Buttons users can click on each technician row",
|
|
1228
|
+
"responseTimeMinutes": {
|
|
1229
|
+
"type": "number",
|
|
1230
|
+
"default": 30.0,
|
|
1231
|
+
"label": "Response time SLA (min)",
|
|
1232
|
+
"description": "Target minutes from dispatch to tech acknowledgement.",
|
|
1233
|
+
"tier": "essential"
|
|
1234
|
+
},
|
|
1235
|
+
"serviceZones": {
|
|
1236
|
+
"type": "[string]",
|
|
1237
|
+
"default": [],
|
|
1238
|
+
"label": "Service zones",
|
|
1239
|
+
"description": "Named geographic zones for dispatch grouping. Empty = no zone restriction.",
|
|
1245
1240
|
"tier": "customization",
|
|
1246
1241
|
"items": {
|
|
1247
|
-
"type": "
|
|
1248
|
-
"properties": {
|
|
1249
|
-
"icon": {
|
|
1250
|
-
"name": "icon",
|
|
1251
|
-
"type": "string",
|
|
1252
|
-
"required": false
|
|
1253
|
-
},
|
|
1254
|
-
"event": {
|
|
1255
|
-
"name": "event",
|
|
1256
|
-
"type": "string",
|
|
1257
|
-
"required": true
|
|
1258
|
-
},
|
|
1259
|
-
"variant": {
|
|
1260
|
-
"name": "variant",
|
|
1261
|
-
"type": "string",
|
|
1262
|
-
"required": false
|
|
1263
|
-
},
|
|
1264
|
-
"label": {
|
|
1265
|
-
"name": "label",
|
|
1266
|
-
"type": "string",
|
|
1267
|
-
"required": true
|
|
1268
|
-
}
|
|
1269
|
-
}
|
|
1242
|
+
"type": "string"
|
|
1270
1243
|
}
|
|
1271
1244
|
},
|
|
1272
1245
|
"title": {
|
|
@@ -1276,33 +1249,104 @@
|
|
|
1276
1249
|
"description": "Heading shown above the technician dispatch board",
|
|
1277
1250
|
"tier": "customization"
|
|
1278
1251
|
},
|
|
1252
|
+
"serviceAreaRadius": {
|
|
1253
|
+
"type": "number",
|
|
1254
|
+
"default": 50.0,
|
|
1255
|
+
"label": "Service area radius (mi)",
|
|
1256
|
+
"description": "Maximum distance from a tech's home base for dispatch eligibility.",
|
|
1257
|
+
"tier": "customization"
|
|
1258
|
+
},
|
|
1259
|
+
"dispatchStrategy": {
|
|
1260
|
+
"type": "string",
|
|
1261
|
+
"default": "nearest",
|
|
1262
|
+
"label": "Dispatch strategy",
|
|
1263
|
+
"description": "How techs are selected: nearest, round-robin, or manual pick.",
|
|
1264
|
+
"tier": "customization",
|
|
1265
|
+
"values": [
|
|
1266
|
+
"nearest",
|
|
1267
|
+
"round-robin",
|
|
1268
|
+
"manual"
|
|
1269
|
+
]
|
|
1270
|
+
},
|
|
1271
|
+
"skillsRequired": {
|
|
1272
|
+
"type": "[string]",
|
|
1273
|
+
"default": [],
|
|
1274
|
+
"label": "Required skills",
|
|
1275
|
+
"description": "Capability tags a tech must hold to be eligible for the queue.",
|
|
1276
|
+
"tier": "customization",
|
|
1277
|
+
"items": {
|
|
1278
|
+
"type": "string"
|
|
1279
|
+
}
|
|
1280
|
+
},
|
|
1281
|
+
"escalationThresholdHours": {
|
|
1282
|
+
"type": "number",
|
|
1283
|
+
"default": 12.0,
|
|
1284
|
+
"label": "Escalation threshold (hours)",
|
|
1285
|
+
"description": "Hours after which an unacknowledged dispatch auto-escalates.",
|
|
1286
|
+
"tier": "customization"
|
|
1287
|
+
},
|
|
1288
|
+
"customerVisibleStatuses": {
|
|
1289
|
+
"type": "[string]",
|
|
1290
|
+
"default": [
|
|
1291
|
+
"available",
|
|
1292
|
+
"en-route",
|
|
1293
|
+
"on-site"
|
|
1294
|
+
],
|
|
1295
|
+
"label": "Customer-visible statuses",
|
|
1296
|
+
"description": "Subset of tech statuses surfaced in the customer tracking view.",
|
|
1297
|
+
"tier": "customization",
|
|
1298
|
+
"items": {
|
|
1299
|
+
"type": "string"
|
|
1300
|
+
}
|
|
1301
|
+
},
|
|
1302
|
+
"requireSignatureOnComplete": {
|
|
1303
|
+
"type": "boolean",
|
|
1304
|
+
"default": false,
|
|
1305
|
+
"label": "Require customer signature on complete",
|
|
1306
|
+
"description": "Block completion unless customer signature is captured (compose std-signature-capture).",
|
|
1307
|
+
"tier": "customization"
|
|
1308
|
+
},
|
|
1309
|
+
"resolutionSLAHours": {
|
|
1310
|
+
"type": "number",
|
|
1311
|
+
"default": 8.0,
|
|
1312
|
+
"label": "Resolution SLA (hours)",
|
|
1313
|
+
"description": "Target hours from dispatch to job completion. Compose std-lifecycle to auto-escalate.",
|
|
1314
|
+
"tier": "essential"
|
|
1315
|
+
},
|
|
1316
|
+
"requirePhotoOnComplete": {
|
|
1317
|
+
"type": "boolean",
|
|
1318
|
+
"default": false,
|
|
1319
|
+
"label": "Require photo on complete",
|
|
1320
|
+
"description": "Block job completion until the tech attaches a completion photo.",
|
|
1321
|
+
"tier": "customization"
|
|
1322
|
+
},
|
|
1279
1323
|
"fields": {
|
|
1280
1324
|
"type": "[FieldSpec]",
|
|
1281
1325
|
"default": [
|
|
1282
1326
|
{
|
|
1283
|
-
"
|
|
1327
|
+
"variant": "body",
|
|
1284
1328
|
"label": "Technician",
|
|
1285
|
-
"
|
|
1329
|
+
"name": "name"
|
|
1286
1330
|
},
|
|
1287
1331
|
{
|
|
1288
|
-
"name": "skills",
|
|
1289
1332
|
"variant": "caption",
|
|
1333
|
+
"name": "skills",
|
|
1290
1334
|
"label": "Skills"
|
|
1291
1335
|
},
|
|
1292
1336
|
{
|
|
1293
|
-
"label": "Available",
|
|
1294
1337
|
"variant": "badge",
|
|
1338
|
+
"label": "Available",
|
|
1295
1339
|
"name": "available"
|
|
1296
1340
|
},
|
|
1297
1341
|
{
|
|
1342
|
+
"label": "Current Order",
|
|
1298
1343
|
"variant": "caption",
|
|
1299
|
-
"name": "currentOrderId"
|
|
1300
|
-
"label": "Current Order"
|
|
1344
|
+
"name": "currentOrderId"
|
|
1301
1345
|
},
|
|
1302
1346
|
{
|
|
1347
|
+
"label": "Last Seen",
|
|
1303
1348
|
"name": "lastSeenAt",
|
|
1304
|
-
"variant": "caption"
|
|
1305
|
-
"label": "Last Seen"
|
|
1349
|
+
"variant": "caption"
|
|
1306
1350
|
}
|
|
1307
1351
|
],
|
|
1308
1352
|
"label": "Columns to show",
|
|
@@ -1311,6 +1355,21 @@
|
|
|
1311
1355
|
"items": {
|
|
1312
1356
|
"type": "object",
|
|
1313
1357
|
"properties": {
|
|
1358
|
+
"name": {
|
|
1359
|
+
"name": "name",
|
|
1360
|
+
"type": "string",
|
|
1361
|
+
"required": true
|
|
1362
|
+
},
|
|
1363
|
+
"icon": {
|
|
1364
|
+
"name": "icon",
|
|
1365
|
+
"type": "string",
|
|
1366
|
+
"required": false
|
|
1367
|
+
},
|
|
1368
|
+
"format": {
|
|
1369
|
+
"name": "format",
|
|
1370
|
+
"type": "string",
|
|
1371
|
+
"required": false
|
|
1372
|
+
},
|
|
1314
1373
|
"key": {
|
|
1315
1374
|
"name": "key",
|
|
1316
1375
|
"type": "string",
|
|
@@ -1321,11 +1380,6 @@
|
|
|
1321
1380
|
"type": "string",
|
|
1322
1381
|
"required": false
|
|
1323
1382
|
},
|
|
1324
|
-
"name": {
|
|
1325
|
-
"name": "name",
|
|
1326
|
-
"type": "string",
|
|
1327
|
-
"required": true
|
|
1328
|
-
},
|
|
1329
1383
|
"label": {
|
|
1330
1384
|
"name": "label",
|
|
1331
1385
|
"type": "string",
|
|
@@ -1335,16 +1389,50 @@
|
|
|
1335
1389
|
"name": "variant",
|
|
1336
1390
|
"type": "string",
|
|
1337
1391
|
"required": false
|
|
1392
|
+
}
|
|
1393
|
+
}
|
|
1394
|
+
}
|
|
1395
|
+
},
|
|
1396
|
+
"itemActions": {
|
|
1397
|
+
"type": "[ItemAction]",
|
|
1398
|
+
"default": [
|
|
1399
|
+
{
|
|
1400
|
+
"variant": "primary",
|
|
1401
|
+
"event": "OPEN_TECHNICIAN",
|
|
1402
|
+
"icon": "arrow-right",
|
|
1403
|
+
"label": "Open"
|
|
1404
|
+
},
|
|
1405
|
+
{
|
|
1406
|
+
"label": "Assign",
|
|
1407
|
+
"variant": "danger",
|
|
1408
|
+
"event": "ASSIGN"
|
|
1409
|
+
}
|
|
1410
|
+
],
|
|
1411
|
+
"label": "Row actions",
|
|
1412
|
+
"description": "Buttons users can click on each technician row",
|
|
1413
|
+
"tier": "customization",
|
|
1414
|
+
"items": {
|
|
1415
|
+
"type": "object",
|
|
1416
|
+
"properties": {
|
|
1417
|
+
"event": {
|
|
1418
|
+
"name": "event",
|
|
1419
|
+
"type": "string",
|
|
1420
|
+
"required": true
|
|
1338
1421
|
},
|
|
1339
|
-
"
|
|
1340
|
-
"name": "
|
|
1422
|
+
"label": {
|
|
1423
|
+
"name": "label",
|
|
1341
1424
|
"type": "string",
|
|
1342
|
-
"required":
|
|
1425
|
+
"required": true
|
|
1343
1426
|
},
|
|
1344
1427
|
"icon": {
|
|
1345
1428
|
"name": "icon",
|
|
1346
1429
|
"type": "string",
|
|
1347
1430
|
"required": false
|
|
1431
|
+
},
|
|
1432
|
+
"variant": {
|
|
1433
|
+
"name": "variant",
|
|
1434
|
+
"type": "string",
|
|
1435
|
+
"required": false
|
|
1348
1436
|
}
|
|
1349
1437
|
}
|
|
1350
1438
|
}
|
|
@@ -1366,4 +1454,4 @@
|
|
|
1366
1454
|
]
|
|
1367
1455
|
}
|
|
1368
1456
|
]
|
|
1369
|
-
}
|
|
1457
|
+
}
|