@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-maintenance-request",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "std-maintenance-request — tenant
|
|
3
|
+
"version": "1.2.0",
|
|
4
|
+
"description": "std-maintenance-request — tenant request lifecycle. Listens for SET_STATUS so std-lifecycle can auto-escalate. Exposes Scheduling + Service knobs (bookingWindowDays, responseTimeMinutes, resolutionSLAHours, …).",
|
|
5
5
|
"orbitals": [
|
|
6
6
|
{
|
|
7
7
|
"name": "MaintenanceRequestOrbital",
|
|
@@ -546,6 +546,22 @@
|
|
|
546
546
|
}
|
|
547
547
|
]
|
|
548
548
|
},
|
|
549
|
+
{
|
|
550
|
+
"key": "SET_STATUS",
|
|
551
|
+
"name": "Set Status",
|
|
552
|
+
"payloadSchema": [
|
|
553
|
+
{
|
|
554
|
+
"name": "entityId",
|
|
555
|
+
"type": "string",
|
|
556
|
+
"required": true
|
|
557
|
+
},
|
|
558
|
+
{
|
|
559
|
+
"name": "newStatus",
|
|
560
|
+
"type": "string",
|
|
561
|
+
"required": true
|
|
562
|
+
}
|
|
563
|
+
]
|
|
564
|
+
},
|
|
549
565
|
{
|
|
550
566
|
"key": "CLOSE_VIEW",
|
|
551
567
|
"name": "Close View"
|
|
@@ -601,8 +617,8 @@
|
|
|
601
617
|
"MaintenanceRequest",
|
|
602
618
|
{
|
|
603
619
|
"emit": {
|
|
604
|
-
"
|
|
605
|
-
"
|
|
620
|
+
"success": "MaintenanceRequestLoaded",
|
|
621
|
+
"failure": "MaintenanceRequestLoadFailed"
|
|
606
622
|
}
|
|
607
623
|
}
|
|
608
624
|
],
|
|
@@ -610,22 +626,22 @@
|
|
|
610
626
|
"render-ui",
|
|
611
627
|
"main",
|
|
612
628
|
{
|
|
613
|
-
"type": "stack",
|
|
614
|
-
"gap": "md",
|
|
615
|
-
"align": "center",
|
|
616
|
-
"className": "py-12",
|
|
617
629
|
"children": [
|
|
618
630
|
{
|
|
619
631
|
"type": "spinner"
|
|
620
632
|
},
|
|
621
633
|
{
|
|
622
634
|
"color": "muted",
|
|
635
|
+
"content": "Loading maintenance requests…",
|
|
623
636
|
"variant": "caption",
|
|
624
|
-
"type": "typography"
|
|
625
|
-
"content": "Loading maintenance requests…"
|
|
637
|
+
"type": "typography"
|
|
626
638
|
}
|
|
627
639
|
],
|
|
628
|
-
"direction": "vertical"
|
|
640
|
+
"direction": "vertical",
|
|
641
|
+
"align": "center",
|
|
642
|
+
"gap": "md",
|
|
643
|
+
"type": "stack",
|
|
644
|
+
"className": "py-12"
|
|
629
645
|
}
|
|
630
646
|
]
|
|
631
647
|
]
|
|
@@ -642,61 +658,61 @@
|
|
|
642
658
|
"direction": "vertical",
|
|
643
659
|
"children": [
|
|
644
660
|
{
|
|
661
|
+
"type": "stack",
|
|
645
662
|
"children": [
|
|
646
663
|
{
|
|
647
|
-
"
|
|
648
|
-
"
|
|
664
|
+
"type": "icon",
|
|
665
|
+
"name": "wrench"
|
|
649
666
|
},
|
|
650
667
|
{
|
|
668
|
+
"type": "typography",
|
|
651
669
|
"content": "@config.title",
|
|
652
|
-
"variant": "h3"
|
|
653
|
-
"type": "typography"
|
|
670
|
+
"variant": "h3"
|
|
654
671
|
}
|
|
655
672
|
],
|
|
656
|
-
"align": "center",
|
|
657
|
-
"type": "stack",
|
|
658
673
|
"direction": "horizontal",
|
|
659
|
-
"gap": "sm"
|
|
674
|
+
"gap": "sm",
|
|
675
|
+
"align": "center"
|
|
660
676
|
},
|
|
661
677
|
{
|
|
662
678
|
"type": "simple-grid",
|
|
679
|
+
"cols": 4.0,
|
|
663
680
|
"children": [
|
|
664
681
|
{
|
|
665
|
-
"type": "stat-display",
|
|
666
682
|
"value": "@payload.data.length",
|
|
683
|
+
"label": "Open requests",
|
|
667
684
|
"icon": "wrench",
|
|
668
|
-
"
|
|
685
|
+
"type": "stat-display"
|
|
669
686
|
},
|
|
670
687
|
{
|
|
671
|
-
"type": "stat-display",
|
|
672
688
|
"label": "Urgent",
|
|
673
689
|
"icon": "alert-triangle",
|
|
674
|
-
"value": "5"
|
|
690
|
+
"value": "5",
|
|
691
|
+
"type": "stat-display"
|
|
675
692
|
},
|
|
676
693
|
{
|
|
677
694
|
"icon": "calendar",
|
|
695
|
+
"value": "18",
|
|
678
696
|
"label": "Scheduled",
|
|
679
|
-
"type": "stat-display"
|
|
680
|
-
"value": "18"
|
|
697
|
+
"type": "stat-display"
|
|
681
698
|
},
|
|
682
699
|
{
|
|
683
|
-
"label": "Avg resolve (hr)",
|
|
684
|
-
"value": "32",
|
|
685
700
|
"type": "stat-display",
|
|
686
|
-
"
|
|
701
|
+
"value": "32",
|
|
702
|
+
"icon": "clock",
|
|
703
|
+
"label": "Avg resolve (hr)"
|
|
687
704
|
}
|
|
688
|
-
]
|
|
689
|
-
"cols": 4.0
|
|
705
|
+
]
|
|
690
706
|
},
|
|
691
707
|
{
|
|
692
708
|
"type": "divider"
|
|
693
709
|
},
|
|
694
710
|
{
|
|
695
|
-
"entity": "@payload.data",
|
|
696
|
-
"gap": "sm",
|
|
697
711
|
"fields": "@config.fields",
|
|
712
|
+
"gap": "sm",
|
|
698
713
|
"type": "data-grid",
|
|
699
714
|
"itemActions": "@config.itemActions",
|
|
715
|
+
"entity": "@payload.data",
|
|
700
716
|
"cols": 1.0
|
|
701
717
|
}
|
|
702
718
|
],
|
|
@@ -715,8 +731,8 @@
|
|
|
715
731
|
"render-ui",
|
|
716
732
|
"main",
|
|
717
733
|
{
|
|
718
|
-
"message": "@payload.error",
|
|
719
734
|
"type": "alert",
|
|
735
|
+
"message": "@payload.error",
|
|
720
736
|
"variant": "error"
|
|
721
737
|
}
|
|
722
738
|
]
|
|
@@ -791,191 +807,191 @@
|
|
|
791
807
|
"render-ui",
|
|
792
808
|
"main",
|
|
793
809
|
{
|
|
794
|
-
"
|
|
810
|
+
"type": "stack",
|
|
811
|
+
"direction": "vertical",
|
|
795
812
|
"children": [
|
|
796
813
|
{
|
|
797
|
-
"
|
|
814
|
+
"align": "center",
|
|
798
815
|
"children": [
|
|
799
816
|
{
|
|
800
|
-
"
|
|
817
|
+
"type": "button",
|
|
801
818
|
"label": "Back",
|
|
802
|
-
"
|
|
803
|
-
"
|
|
819
|
+
"action": "CLOSE_VIEW",
|
|
820
|
+
"variant": "ghost"
|
|
804
821
|
},
|
|
805
822
|
{
|
|
806
|
-
"
|
|
807
|
-
"
|
|
823
|
+
"type": "icon",
|
|
824
|
+
"name": "wrench"
|
|
808
825
|
},
|
|
809
826
|
{
|
|
810
|
-
"
|
|
827
|
+
"type": "typography",
|
|
811
828
|
"variant": "h3",
|
|
812
|
-
"
|
|
829
|
+
"content": "@entity.unitId"
|
|
813
830
|
},
|
|
814
831
|
{
|
|
815
|
-
"type": "badge",
|
|
816
832
|
"variant": "primary",
|
|
817
|
-
"label": "@entity.priority"
|
|
833
|
+
"label": "@entity.priority",
|
|
834
|
+
"type": "badge"
|
|
818
835
|
},
|
|
819
836
|
{
|
|
820
837
|
"label": "@entity.status",
|
|
821
|
-
"
|
|
822
|
-
"
|
|
838
|
+
"variant": "default",
|
|
839
|
+
"type": "badge"
|
|
823
840
|
}
|
|
824
841
|
],
|
|
825
842
|
"gap": "sm",
|
|
826
|
-
"
|
|
827
|
-
"
|
|
843
|
+
"direction": "horizontal",
|
|
844
|
+
"type": "stack"
|
|
828
845
|
},
|
|
829
846
|
{
|
|
830
847
|
"type": "divider"
|
|
831
848
|
},
|
|
832
849
|
{
|
|
833
|
-
"direction": "vertical",
|
|
834
850
|
"type": "stack",
|
|
835
851
|
"children": [
|
|
836
852
|
{
|
|
837
|
-
"
|
|
838
|
-
"gap": "md",
|
|
853
|
+
"type": "stack",
|
|
839
854
|
"children": [
|
|
840
855
|
{
|
|
841
|
-
"
|
|
842
|
-
"variant": "caption",
|
|
856
|
+
"content": "Requester",
|
|
843
857
|
"color": "muted",
|
|
844
|
-
"
|
|
858
|
+
"type": "typography",
|
|
859
|
+
"variant": "caption"
|
|
845
860
|
},
|
|
846
861
|
{
|
|
847
|
-
"type": "typography",
|
|
848
862
|
"content": "@entity.requesterName",
|
|
863
|
+
"type": "typography",
|
|
849
864
|
"variant": "body"
|
|
850
865
|
}
|
|
851
866
|
],
|
|
852
|
-
"
|
|
867
|
+
"gap": "md",
|
|
868
|
+
"direction": "horizontal"
|
|
853
869
|
},
|
|
854
870
|
{
|
|
855
871
|
"children": [
|
|
856
872
|
{
|
|
857
|
-
"type": "typography",
|
|
858
873
|
"color": "muted",
|
|
859
|
-
"
|
|
860
|
-
"
|
|
874
|
+
"variant": "caption",
|
|
875
|
+
"type": "typography",
|
|
876
|
+
"content": "Description"
|
|
861
877
|
},
|
|
862
878
|
{
|
|
879
|
+
"variant": "body",
|
|
863
880
|
"content": "@entity.description",
|
|
864
|
-
"type": "typography"
|
|
865
|
-
"variant": "body"
|
|
881
|
+
"type": "typography"
|
|
866
882
|
}
|
|
867
883
|
],
|
|
868
|
-
"
|
|
884
|
+
"gap": "md",
|
|
869
885
|
"type": "stack",
|
|
870
|
-
"
|
|
886
|
+
"direction": "horizontal"
|
|
871
887
|
},
|
|
872
888
|
{
|
|
889
|
+
"direction": "horizontal",
|
|
873
890
|
"children": [
|
|
874
891
|
{
|
|
875
|
-
"
|
|
892
|
+
"variant": "caption",
|
|
876
893
|
"color": "muted",
|
|
877
|
-
"
|
|
878
|
-
"
|
|
894
|
+
"content": "Assigned to",
|
|
895
|
+
"type": "typography"
|
|
879
896
|
},
|
|
880
897
|
{
|
|
881
898
|
"type": "typography",
|
|
882
|
-
"
|
|
883
|
-
"
|
|
899
|
+
"content": "@entity.assignedTo",
|
|
900
|
+
"variant": "body"
|
|
884
901
|
}
|
|
885
902
|
],
|
|
886
|
-
"
|
|
887
|
-
"type": "stack"
|
|
888
|
-
"gap": "md"
|
|
903
|
+
"gap": "md",
|
|
904
|
+
"type": "stack"
|
|
889
905
|
},
|
|
890
906
|
{
|
|
891
|
-
"direction": "horizontal",
|
|
892
907
|
"children": [
|
|
893
908
|
{
|
|
894
|
-
"type": "typography",
|
|
895
909
|
"color": "muted",
|
|
910
|
+
"type": "typography",
|
|
896
911
|
"content": "Notes",
|
|
897
912
|
"variant": "caption"
|
|
898
913
|
},
|
|
899
914
|
{
|
|
900
|
-
"variant": "body",
|
|
901
915
|
"type": "typography",
|
|
902
|
-
"content": "@entity.notes"
|
|
916
|
+
"content": "@entity.notes",
|
|
917
|
+
"variant": "body"
|
|
903
918
|
}
|
|
904
919
|
],
|
|
905
|
-
"
|
|
906
|
-
"
|
|
920
|
+
"type": "stack",
|
|
921
|
+
"direction": "horizontal",
|
|
922
|
+
"gap": "md"
|
|
907
923
|
}
|
|
908
924
|
],
|
|
909
|
-
"gap": "sm"
|
|
925
|
+
"gap": "sm",
|
|
926
|
+
"direction": "vertical"
|
|
910
927
|
},
|
|
911
928
|
{
|
|
912
929
|
"type": "divider"
|
|
913
930
|
},
|
|
914
931
|
{
|
|
932
|
+
"type": "simple-grid",
|
|
933
|
+
"cols": 3.0,
|
|
915
934
|
"children": [
|
|
916
935
|
{
|
|
917
936
|
"type": "stat-display",
|
|
918
|
-
"label": "Requested",
|
|
919
937
|
"value": "@entity.requestedAt",
|
|
938
|
+
"label": "Requested",
|
|
920
939
|
"icon": "calendar"
|
|
921
940
|
},
|
|
922
941
|
{
|
|
942
|
+
"type": "stat-display",
|
|
923
943
|
"value": "@entity.scheduledAt",
|
|
924
944
|
"label": "Scheduled",
|
|
925
|
-
"type": "stat-display",
|
|
926
945
|
"icon": "calendar-clock"
|
|
927
946
|
},
|
|
928
947
|
{
|
|
929
948
|
"type": "stat-display",
|
|
930
|
-
"label": "Completed",
|
|
931
949
|
"value": "@entity.completedAt",
|
|
950
|
+
"label": "Completed",
|
|
932
951
|
"icon": "calendar-check"
|
|
933
952
|
}
|
|
934
|
-
]
|
|
935
|
-
"cols": 3.0,
|
|
936
|
-
"type": "simple-grid"
|
|
953
|
+
]
|
|
937
954
|
},
|
|
938
955
|
{
|
|
939
|
-
"align": "center",
|
|
940
|
-
"type": "stack",
|
|
941
956
|
"direction": "horizontal",
|
|
942
|
-
"gap": "sm",
|
|
943
957
|
"children": [
|
|
944
958
|
{
|
|
945
959
|
"variant": "primary",
|
|
946
960
|
"type": "button",
|
|
947
961
|
"label": "Schedule",
|
|
948
|
-
"action": "SCHEDULE_REQUEST",
|
|
949
962
|
"actionPayload": {
|
|
950
963
|
"id": "@entity.id",
|
|
951
964
|
"scheduledAt": "now"
|
|
952
|
-
}
|
|
965
|
+
},
|
|
966
|
+
"action": "SCHEDULE_REQUEST"
|
|
953
967
|
},
|
|
954
968
|
{
|
|
955
|
-
"action": "COMPLETE_REQUEST",
|
|
956
|
-
"actionPayload": {
|
|
957
|
-
"id": "@entity.id",
|
|
958
|
-
"completedAt": "now"
|
|
959
|
-
},
|
|
960
969
|
"type": "button",
|
|
961
970
|
"variant": "primary",
|
|
962
|
-
"label": "Complete"
|
|
971
|
+
"label": "Complete",
|
|
972
|
+
"action": "COMPLETE_REQUEST",
|
|
973
|
+
"actionPayload": {
|
|
974
|
+
"completedAt": "now",
|
|
975
|
+
"id": "@entity.id"
|
|
976
|
+
}
|
|
963
977
|
},
|
|
964
978
|
{
|
|
979
|
+
"type": "button",
|
|
965
980
|
"action": "CANCEL_REQUEST",
|
|
966
|
-
"label": "Cancel",
|
|
967
981
|
"variant": "danger",
|
|
968
982
|
"actionPayload": {
|
|
969
983
|
"id": "@entity.id",
|
|
970
984
|
"notes": "cancelled by user"
|
|
971
985
|
},
|
|
972
|
-
"
|
|
986
|
+
"label": "Cancel"
|
|
973
987
|
}
|
|
974
|
-
]
|
|
988
|
+
],
|
|
989
|
+
"gap": "sm",
|
|
990
|
+
"type": "stack",
|
|
991
|
+
"align": "center"
|
|
975
992
|
}
|
|
976
993
|
],
|
|
977
|
-
"
|
|
978
|
-
"type": "stack"
|
|
994
|
+
"gap": "md"
|
|
979
995
|
}
|
|
980
996
|
]
|
|
981
997
|
]
|
|
@@ -1019,19 +1035,19 @@
|
|
|
1019
1035
|
"align": "center",
|
|
1020
1036
|
"direction": "vertical",
|
|
1021
1037
|
"type": "stack",
|
|
1022
|
-
"
|
|
1038
|
+
"className": "py-12",
|
|
1023
1039
|
"children": [
|
|
1024
1040
|
{
|
|
1025
1041
|
"type": "spinner"
|
|
1026
1042
|
},
|
|
1027
1043
|
{
|
|
1028
|
-
"type": "typography",
|
|
1029
1044
|
"variant": "caption",
|
|
1045
|
+
"type": "typography",
|
|
1030
1046
|
"content": "Cancelling request…",
|
|
1031
1047
|
"color": "muted"
|
|
1032
1048
|
}
|
|
1033
1049
|
],
|
|
1034
|
-
"
|
|
1050
|
+
"gap": "md"
|
|
1035
1051
|
}
|
|
1036
1052
|
]
|
|
1037
1053
|
]
|
|
@@ -1046,8 +1062,8 @@
|
|
|
1046
1062
|
"MaintenanceRequest",
|
|
1047
1063
|
{
|
|
1048
1064
|
"emit": {
|
|
1049
|
-
"
|
|
1050
|
-
"
|
|
1065
|
+
"success": "MaintenanceRequestLoaded",
|
|
1066
|
+
"failure": "MaintenanceRequestLoadFailed"
|
|
1051
1067
|
}
|
|
1052
1068
|
}
|
|
1053
1069
|
]
|
|
@@ -1062,9 +1078,60 @@
|
|
|
1062
1078
|
"render-ui",
|
|
1063
1079
|
"main",
|
|
1064
1080
|
{
|
|
1081
|
+
"message": "@payload.error",
|
|
1065
1082
|
"type": "alert",
|
|
1066
|
-
"variant": "error"
|
|
1067
|
-
|
|
1083
|
+
"variant": "error"
|
|
1084
|
+
}
|
|
1085
|
+
]
|
|
1086
|
+
]
|
|
1087
|
+
},
|
|
1088
|
+
{
|
|
1089
|
+
"from": "browsing",
|
|
1090
|
+
"to": "loading",
|
|
1091
|
+
"event": "SET_STATUS",
|
|
1092
|
+
"effects": [
|
|
1093
|
+
[
|
|
1094
|
+
"set",
|
|
1095
|
+
"@entity.id",
|
|
1096
|
+
"@payload.entityId"
|
|
1097
|
+
],
|
|
1098
|
+
[
|
|
1099
|
+
"set",
|
|
1100
|
+
"@entity.status",
|
|
1101
|
+
"@payload.newStatus"
|
|
1102
|
+
],
|
|
1103
|
+
[
|
|
1104
|
+
"persist",
|
|
1105
|
+
"update",
|
|
1106
|
+
"MaintenanceRequest",
|
|
1107
|
+
"@entity",
|
|
1108
|
+
{
|
|
1109
|
+
"emit": {
|
|
1110
|
+
"failure": "MaintenanceRequestUpdateFailed",
|
|
1111
|
+
"success": "MaintenanceRequestUpdated"
|
|
1112
|
+
}
|
|
1113
|
+
}
|
|
1114
|
+
],
|
|
1115
|
+
[
|
|
1116
|
+
"render-ui",
|
|
1117
|
+
"main",
|
|
1118
|
+
{
|
|
1119
|
+
"direction": "vertical",
|
|
1120
|
+
"type": "stack",
|
|
1121
|
+
"children": [
|
|
1122
|
+
{
|
|
1123
|
+
"type": "spinner"
|
|
1124
|
+
},
|
|
1125
|
+
{
|
|
1126
|
+
"variant": "caption",
|
|
1127
|
+
"type": "typography",
|
|
1128
|
+
"content": "Updating request status…",
|
|
1129
|
+
"color": "muted"
|
|
1130
|
+
}
|
|
1131
|
+
],
|
|
1132
|
+
"align": "center",
|
|
1133
|
+
"gap": "md",
|
|
1134
|
+
"className": "py-12"
|
|
1068
1135
|
}
|
|
1069
1136
|
]
|
|
1070
1137
|
]
|
|
@@ -1079,8 +1146,8 @@
|
|
|
1079
1146
|
"MaintenanceRequest",
|
|
1080
1147
|
{
|
|
1081
1148
|
"emit": {
|
|
1082
|
-
"
|
|
1083
|
-
"
|
|
1149
|
+
"success": "MaintenanceRequestLoaded",
|
|
1150
|
+
"failure": "MaintenanceRequestLoadFailed"
|
|
1084
1151
|
}
|
|
1085
1152
|
}
|
|
1086
1153
|
],
|
|
@@ -1089,21 +1156,21 @@
|
|
|
1089
1156
|
"main",
|
|
1090
1157
|
{
|
|
1091
1158
|
"type": "stack",
|
|
1092
|
-
"
|
|
1093
|
-
"className": "py-12",
|
|
1159
|
+
"direction": "vertical",
|
|
1094
1160
|
"gap": "md",
|
|
1095
1161
|
"children": [
|
|
1096
1162
|
{
|
|
1097
1163
|
"type": "spinner"
|
|
1098
1164
|
},
|
|
1099
1165
|
{
|
|
1100
|
-
"type": "typography",
|
|
1101
1166
|
"variant": "caption",
|
|
1102
1167
|
"color": "muted",
|
|
1103
|
-
"content": "Loading maintenance requests…"
|
|
1168
|
+
"content": "Loading maintenance requests…",
|
|
1169
|
+
"type": "typography"
|
|
1104
1170
|
}
|
|
1105
1171
|
],
|
|
1106
|
-
"
|
|
1172
|
+
"align": "center",
|
|
1173
|
+
"className": "py-12"
|
|
1107
1174
|
}
|
|
1108
1175
|
]
|
|
1109
1176
|
]
|
|
@@ -1144,22 +1211,22 @@
|
|
|
1144
1211
|
"render-ui",
|
|
1145
1212
|
"main",
|
|
1146
1213
|
{
|
|
1147
|
-
"direction": "vertical",
|
|
1148
|
-
"className": "py-12",
|
|
1149
1214
|
"children": [
|
|
1150
1215
|
{
|
|
1151
1216
|
"type": "spinner"
|
|
1152
1217
|
},
|
|
1153
1218
|
{
|
|
1154
|
-
"content": "Scheduling request…",
|
|
1155
1219
|
"variant": "caption",
|
|
1156
1220
|
"color": "muted",
|
|
1221
|
+
"content": "Scheduling request…",
|
|
1157
1222
|
"type": "typography"
|
|
1158
1223
|
}
|
|
1159
1224
|
],
|
|
1160
|
-
"
|
|
1225
|
+
"direction": "vertical",
|
|
1226
|
+
"className": "py-12",
|
|
1161
1227
|
"gap": "md",
|
|
1162
|
-
"align": "center"
|
|
1228
|
+
"align": "center",
|
|
1229
|
+
"type": "stack"
|
|
1163
1230
|
}
|
|
1164
1231
|
]
|
|
1165
1232
|
]
|
|
@@ -1191,8 +1258,8 @@
|
|
|
1191
1258
|
"@entity",
|
|
1192
1259
|
{
|
|
1193
1260
|
"emit": {
|
|
1194
|
-
"
|
|
1195
|
-
"
|
|
1261
|
+
"success": "MaintenanceRequestUpdated",
|
|
1262
|
+
"failure": "MaintenanceRequestUpdateFailed"
|
|
1196
1263
|
}
|
|
1197
1264
|
}
|
|
1198
1265
|
],
|
|
@@ -1200,22 +1267,22 @@
|
|
|
1200
1267
|
"render-ui",
|
|
1201
1268
|
"main",
|
|
1202
1269
|
{
|
|
1203
|
-
"align": "center",
|
|
1204
|
-
"className": "py-12",
|
|
1205
|
-
"gap": "md",
|
|
1206
|
-
"direction": "vertical",
|
|
1207
1270
|
"children": [
|
|
1208
1271
|
{
|
|
1209
1272
|
"type": "spinner"
|
|
1210
1273
|
},
|
|
1211
1274
|
{
|
|
1212
|
-
"variant": "caption",
|
|
1213
1275
|
"content": "Completing request…",
|
|
1276
|
+
"type": "typography",
|
|
1214
1277
|
"color": "muted",
|
|
1215
|
-
"
|
|
1278
|
+
"variant": "caption"
|
|
1216
1279
|
}
|
|
1217
1280
|
],
|
|
1218
|
-
"type": "stack"
|
|
1281
|
+
"type": "stack",
|
|
1282
|
+
"gap": "md",
|
|
1283
|
+
"className": "py-12",
|
|
1284
|
+
"align": "center",
|
|
1285
|
+
"direction": "vertical"
|
|
1219
1286
|
}
|
|
1220
1287
|
]
|
|
1221
1288
|
]
|
|
@@ -1247,8 +1314,8 @@
|
|
|
1247
1314
|
"@entity",
|
|
1248
1315
|
{
|
|
1249
1316
|
"emit": {
|
|
1250
|
-
"
|
|
1251
|
-
"
|
|
1317
|
+
"failure": "MaintenanceRequestUpdateFailed",
|
|
1318
|
+
"success": "MaintenanceRequestUpdated"
|
|
1252
1319
|
}
|
|
1253
1320
|
}
|
|
1254
1321
|
],
|
|
@@ -1256,22 +1323,22 @@
|
|
|
1256
1323
|
"render-ui",
|
|
1257
1324
|
"main",
|
|
1258
1325
|
{
|
|
1259
|
-
"gap": "md",
|
|
1260
|
-
"align": "center",
|
|
1261
1326
|
"children": [
|
|
1262
1327
|
{
|
|
1263
1328
|
"type": "spinner"
|
|
1264
1329
|
},
|
|
1265
1330
|
{
|
|
1266
|
-
"color": "muted",
|
|
1267
|
-
"variant": "caption",
|
|
1268
1331
|
"type": "typography",
|
|
1269
|
-
"
|
|
1332
|
+
"color": "muted",
|
|
1333
|
+
"content": "Cancelling request…",
|
|
1334
|
+
"variant": "caption"
|
|
1270
1335
|
}
|
|
1271
1336
|
],
|
|
1272
|
-
"type": "stack",
|
|
1273
1337
|
"className": "py-12",
|
|
1274
|
-
"direction": "vertical"
|
|
1338
|
+
"direction": "vertical",
|
|
1339
|
+
"type": "stack",
|
|
1340
|
+
"align": "center",
|
|
1341
|
+
"gap": "md"
|
|
1275
1342
|
}
|
|
1276
1343
|
]
|
|
1277
1344
|
]
|
|
@@ -1295,8 +1362,8 @@
|
|
|
1295
1362
|
"render-ui",
|
|
1296
1363
|
"main",
|
|
1297
1364
|
{
|
|
1298
|
-
"
|
|
1299
|
-
"
|
|
1365
|
+
"type": "spinner",
|
|
1366
|
+
"size": "sm"
|
|
1300
1367
|
}
|
|
1301
1368
|
]
|
|
1302
1369
|
]
|
|
@@ -1304,35 +1371,73 @@
|
|
|
1304
1371
|
]
|
|
1305
1372
|
},
|
|
1306
1373
|
"config": {
|
|
1307
|
-
"
|
|
1308
|
-
"type": "
|
|
1309
|
-
"default":
|
|
1310
|
-
"label": "
|
|
1311
|
-
"description": "
|
|
1374
|
+
"rescheduleWindowHours": {
|
|
1375
|
+
"type": "number",
|
|
1376
|
+
"default": 12.0,
|
|
1377
|
+
"label": "Reschedule window (hours)",
|
|
1378
|
+
"description": "Hours before scheduledAt during which the tenant can self-reschedule.",
|
|
1379
|
+
"tier": "customization"
|
|
1380
|
+
},
|
|
1381
|
+
"responseTimeMinutes": {
|
|
1382
|
+
"type": "number",
|
|
1383
|
+
"default": 240.0,
|
|
1384
|
+
"label": "Response time SLA (min)",
|
|
1385
|
+
"description": "Target time from request open to first acknowledgement.",
|
|
1386
|
+
"tier": "essential"
|
|
1387
|
+
},
|
|
1388
|
+
"blackoutDates": {
|
|
1389
|
+
"type": "[string]",
|
|
1390
|
+
"default": [],
|
|
1391
|
+
"label": "Blackout dates",
|
|
1392
|
+
"description": "ISO dates blocked from scheduling. Compose std-lifecycle to enforce.",
|
|
1393
|
+
"tier": "customization",
|
|
1394
|
+
"items": {
|
|
1395
|
+
"type": "string"
|
|
1396
|
+
}
|
|
1397
|
+
},
|
|
1398
|
+
"noShowGracePeriodMinutes": {
|
|
1399
|
+
"type": "number",
|
|
1400
|
+
"default": 30.0,
|
|
1401
|
+
"label": "No-show grace (minutes)",
|
|
1402
|
+
"description": "Minutes after scheduledAt before the request flags no_show. Wire via std-lifecycle.",
|
|
1403
|
+
"tier": "customization"
|
|
1404
|
+
},
|
|
1405
|
+
"resolutionSLAHours": {
|
|
1406
|
+
"type": "number",
|
|
1407
|
+
"default": 48.0,
|
|
1408
|
+
"label": "Resolution SLA (hours)",
|
|
1409
|
+
"description": "Target time from request open to completed. Compose std-lifecycle to auto-escalate.",
|
|
1410
|
+
"tier": "essential"
|
|
1411
|
+
},
|
|
1412
|
+
"escalationThresholdHours": {
|
|
1413
|
+
"type": "number",
|
|
1414
|
+
"default": 72.0,
|
|
1415
|
+
"label": "Escalation threshold (hours)",
|
|
1416
|
+
"description": "Hours after which an unresolved request auto-escalates. Compose std-lifecycle for wiring.",
|
|
1312
1417
|
"tier": "customization"
|
|
1313
1418
|
},
|
|
1314
1419
|
"fields": {
|
|
1315
1420
|
"type": "[FieldSpec]",
|
|
1316
1421
|
"default": [
|
|
1317
1422
|
{
|
|
1318
|
-
"name": "unitId",
|
|
1319
1423
|
"variant": "caption",
|
|
1424
|
+
"name": "unitId",
|
|
1320
1425
|
"label": "Unit"
|
|
1321
1426
|
},
|
|
1322
1427
|
{
|
|
1428
|
+
"name": "requesterName",
|
|
1323
1429
|
"label": "Requester",
|
|
1324
|
-
"variant": "caption"
|
|
1325
|
-
"name": "requesterName"
|
|
1430
|
+
"variant": "caption"
|
|
1326
1431
|
},
|
|
1327
1432
|
{
|
|
1433
|
+
"label": "Description",
|
|
1328
1434
|
"variant": "caption",
|
|
1329
|
-
"name": "description"
|
|
1330
|
-
"label": "Description"
|
|
1435
|
+
"name": "description"
|
|
1331
1436
|
},
|
|
1332
1437
|
{
|
|
1333
|
-
"
|
|
1438
|
+
"name": "priority",
|
|
1334
1439
|
"label": "Priority",
|
|
1335
|
-
"
|
|
1440
|
+
"variant": "badge"
|
|
1336
1441
|
},
|
|
1337
1442
|
{
|
|
1338
1443
|
"variant": "badge",
|
|
@@ -1340,9 +1445,9 @@
|
|
|
1340
1445
|
"label": "Status"
|
|
1341
1446
|
},
|
|
1342
1447
|
{
|
|
1343
|
-
"variant": "caption",
|
|
1344
1448
|
"name": "requestedAt",
|
|
1345
|
-
"label": "Requested"
|
|
1449
|
+
"label": "Requested",
|
|
1450
|
+
"variant": "caption"
|
|
1346
1451
|
}
|
|
1347
1452
|
],
|
|
1348
1453
|
"label": "Columns to show",
|
|
@@ -1351,6 +1456,21 @@
|
|
|
1351
1456
|
"items": {
|
|
1352
1457
|
"type": "object",
|
|
1353
1458
|
"properties": {
|
|
1459
|
+
"variant": {
|
|
1460
|
+
"name": "variant",
|
|
1461
|
+
"type": "string",
|
|
1462
|
+
"required": false
|
|
1463
|
+
},
|
|
1464
|
+
"key": {
|
|
1465
|
+
"name": "key",
|
|
1466
|
+
"type": "string",
|
|
1467
|
+
"required": false
|
|
1468
|
+
},
|
|
1469
|
+
"name": {
|
|
1470
|
+
"name": "name",
|
|
1471
|
+
"type": "string",
|
|
1472
|
+
"required": true
|
|
1473
|
+
},
|
|
1354
1474
|
"label": {
|
|
1355
1475
|
"name": "label",
|
|
1356
1476
|
"type": "string",
|
|
@@ -1366,43 +1486,97 @@
|
|
|
1366
1486
|
"type": "string",
|
|
1367
1487
|
"required": false
|
|
1368
1488
|
},
|
|
1369
|
-
"key": {
|
|
1370
|
-
"name": "key",
|
|
1371
|
-
"type": "string",
|
|
1372
|
-
"required": false
|
|
1373
|
-
},
|
|
1374
1489
|
"header": {
|
|
1375
1490
|
"name": "header",
|
|
1376
1491
|
"type": "string",
|
|
1377
1492
|
"required": false
|
|
1378
|
-
},
|
|
1379
|
-
"name": {
|
|
1380
|
-
"name": "name",
|
|
1381
|
-
"type": "string",
|
|
1382
|
-
"required": true
|
|
1383
|
-
},
|
|
1384
|
-
"variant": {
|
|
1385
|
-
"name": "variant",
|
|
1386
|
-
"type": "string",
|
|
1387
|
-
"required": false
|
|
1388
1493
|
}
|
|
1389
1494
|
}
|
|
1390
1495
|
}
|
|
1391
1496
|
},
|
|
1497
|
+
"title": {
|
|
1498
|
+
"type": "string",
|
|
1499
|
+
"default": "Maintenance Requests",
|
|
1500
|
+
"label": "Section title",
|
|
1501
|
+
"description": "Heading shown above the maintenance request queue",
|
|
1502
|
+
"tier": "customization"
|
|
1503
|
+
},
|
|
1504
|
+
"requirePhotoOnComplete": {
|
|
1505
|
+
"type": "boolean",
|
|
1506
|
+
"default": false,
|
|
1507
|
+
"label": "Require photo on complete",
|
|
1508
|
+
"description": "Block COMPLETE_REQUEST unless a completion photo is attached.",
|
|
1509
|
+
"tier": "customization"
|
|
1510
|
+
},
|
|
1511
|
+
"skillsRequired": {
|
|
1512
|
+
"type": "[string]",
|
|
1513
|
+
"default": [],
|
|
1514
|
+
"label": "Required skills",
|
|
1515
|
+
"description": "Capability tags a tech must have (e.g. 'plumbing', 'electrical', 'hvac').",
|
|
1516
|
+
"tier": "customization",
|
|
1517
|
+
"items": {
|
|
1518
|
+
"type": "string"
|
|
1519
|
+
}
|
|
1520
|
+
},
|
|
1521
|
+
"requireSignatureOnComplete": {
|
|
1522
|
+
"type": "boolean",
|
|
1523
|
+
"default": false,
|
|
1524
|
+
"label": "Require tenant signature on complete",
|
|
1525
|
+
"description": "Block COMPLETE_REQUEST unless tenant signature is captured (compose std-signature-capture).",
|
|
1526
|
+
"tier": "customization"
|
|
1527
|
+
},
|
|
1528
|
+
"cancellationPolicy": {
|
|
1529
|
+
"type": "string",
|
|
1530
|
+
"default": "free",
|
|
1531
|
+
"label": "Cancellation policy",
|
|
1532
|
+
"description": "Fee treatment when a visit is cancelled inside the reschedule window.",
|
|
1533
|
+
"tier": "customization",
|
|
1534
|
+
"values": [
|
|
1535
|
+
"free",
|
|
1536
|
+
"partial-refund",
|
|
1537
|
+
"no-refund"
|
|
1538
|
+
]
|
|
1539
|
+
},
|
|
1540
|
+
"customerVisibleStatuses": {
|
|
1541
|
+
"type": "[string]",
|
|
1542
|
+
"default": [
|
|
1543
|
+
"scheduled",
|
|
1544
|
+
"in_progress",
|
|
1545
|
+
"completed"
|
|
1546
|
+
],
|
|
1547
|
+
"label": "Customer-visible statuses",
|
|
1548
|
+
"description": "Subset of statuses tenants see in their portal. Internal statuses are filtered.",
|
|
1549
|
+
"tier": "customization",
|
|
1550
|
+
"items": {
|
|
1551
|
+
"type": "string"
|
|
1552
|
+
}
|
|
1553
|
+
},
|
|
1554
|
+
"dispatchStrategy": {
|
|
1555
|
+
"type": "string",
|
|
1556
|
+
"default": "nearest",
|
|
1557
|
+
"label": "Dispatch strategy",
|
|
1558
|
+
"description": "How techs are assigned to a maintenance request.",
|
|
1559
|
+
"tier": "customization",
|
|
1560
|
+
"values": [
|
|
1561
|
+
"nearest",
|
|
1562
|
+
"round-robin",
|
|
1563
|
+
"manual"
|
|
1564
|
+
]
|
|
1565
|
+
},
|
|
1392
1566
|
"itemActions": {
|
|
1393
1567
|
"type": "[ItemAction]",
|
|
1394
1568
|
"default": [
|
|
1395
1569
|
{
|
|
1396
1570
|
"label": "Open",
|
|
1397
|
-
"event": "OPEN_REQUEST",
|
|
1398
1571
|
"variant": "primary",
|
|
1572
|
+
"event": "OPEN_REQUEST",
|
|
1399
1573
|
"icon": "arrow-right"
|
|
1400
1574
|
},
|
|
1401
1575
|
{
|
|
1402
|
-
"icon": "x",
|
|
1403
1576
|
"variant": "danger",
|
|
1404
|
-
"
|
|
1405
|
-
"
|
|
1577
|
+
"event": "CANCEL_REQUEST",
|
|
1578
|
+
"icon": "x",
|
|
1579
|
+
"label": "Cancel"
|
|
1406
1580
|
}
|
|
1407
1581
|
],
|
|
1408
1582
|
"label": "Row actions",
|
|
@@ -1411,6 +1585,11 @@
|
|
|
1411
1585
|
"items": {
|
|
1412
1586
|
"type": "object",
|
|
1413
1587
|
"properties": {
|
|
1588
|
+
"icon": {
|
|
1589
|
+
"name": "icon",
|
|
1590
|
+
"type": "string",
|
|
1591
|
+
"required": false
|
|
1592
|
+
},
|
|
1414
1593
|
"label": {
|
|
1415
1594
|
"name": "label",
|
|
1416
1595
|
"type": "string",
|
|
@@ -1421,11 +1600,6 @@
|
|
|
1421
1600
|
"type": "string",
|
|
1422
1601
|
"required": true
|
|
1423
1602
|
},
|
|
1424
|
-
"icon": {
|
|
1425
|
-
"name": "icon",
|
|
1426
|
-
"type": "string",
|
|
1427
|
-
"required": false
|
|
1428
|
-
},
|
|
1429
1603
|
"variant": {
|
|
1430
1604
|
"name": "variant",
|
|
1431
1605
|
"type": "string",
|
|
@@ -1433,6 +1607,51 @@
|
|
|
1433
1607
|
}
|
|
1434
1608
|
}
|
|
1435
1609
|
}
|
|
1610
|
+
},
|
|
1611
|
+
"serviceZones": {
|
|
1612
|
+
"type": "[string]",
|
|
1613
|
+
"default": [],
|
|
1614
|
+
"label": "Service zones",
|
|
1615
|
+
"description": "Named geographic zones for dispatch grouping.",
|
|
1616
|
+
"tier": "customization",
|
|
1617
|
+
"items": {
|
|
1618
|
+
"type": "string"
|
|
1619
|
+
}
|
|
1620
|
+
},
|
|
1621
|
+
"leadTimeMinutes": {
|
|
1622
|
+
"type": "number",
|
|
1623
|
+
"default": 120.0,
|
|
1624
|
+
"label": "Lead time (minutes)",
|
|
1625
|
+
"description": "Minimum minutes before scheduledAt that a new visit can be booked.",
|
|
1626
|
+
"tier": "customization"
|
|
1627
|
+
},
|
|
1628
|
+
"bookingWindowDays": {
|
|
1629
|
+
"type": "number",
|
|
1630
|
+
"default": 30.0,
|
|
1631
|
+
"label": "Booking window (days)",
|
|
1632
|
+
"description": "How far in advance tenants can schedule maintenance visits.",
|
|
1633
|
+
"tier": "customization"
|
|
1634
|
+
},
|
|
1635
|
+
"maxReschedules": {
|
|
1636
|
+
"type": "number",
|
|
1637
|
+
"default": 2.0,
|
|
1638
|
+
"label": "Max reschedules",
|
|
1639
|
+
"description": "Hard cap on reschedule count per request.",
|
|
1640
|
+
"tier": "advanced"
|
|
1641
|
+
},
|
|
1642
|
+
"serviceAreaRadius": {
|
|
1643
|
+
"type": "number",
|
|
1644
|
+
"default": 25.0,
|
|
1645
|
+
"label": "Service area radius (mi)",
|
|
1646
|
+
"description": "Maximum distance from the property hub for tech dispatch eligibility.",
|
|
1647
|
+
"tier": "customization"
|
|
1648
|
+
},
|
|
1649
|
+
"bookingHours": {
|
|
1650
|
+
"type": "string",
|
|
1651
|
+
"default": "08:00-18:00",
|
|
1652
|
+
"label": "Booking hours",
|
|
1653
|
+
"description": "Daily window during which maintenance visits can be scheduled (HH:MM-HH:MM).",
|
|
1654
|
+
"tier": "customization"
|
|
1436
1655
|
}
|
|
1437
1656
|
},
|
|
1438
1657
|
"scope": "collection"
|
|
@@ -1451,4 +1670,4 @@
|
|
|
1451
1670
|
]
|
|
1452
1671
|
}
|
|
1453
1672
|
]
|
|
1454
|
-
}
|
|
1673
|
+
}
|