Service
Appointments and repair orders.
Pages: /dashboard/platform/service (fixedOpsWorkspace), /service/appointments/[id], /service/orders/[id].
Appointments
Customers book at /service (submitServiceBooking); staff can add one on the page. transitionServiceAppointment: scheduled, checked-in, in-progress, waiting-parts, completed, cancelled. Bookings allow 4 per rooftop per hour.
Repair orders
Open
openServiceOrder from the appointment.
Record the story
recordServiceOrderEvidence: concern, cause, correction, authorization.
Add lines
addServiceOrderLineItem, updateServiceOrderLineItem, removeServiceOrderLineItem for labor, part, and sublet. manageLaborOperation runs labor operations. setServiceOrderTax.
Move it through
transitionServiceOrder: estimate, approved, in-progress, completed, invoiced, paid. "Invoice number is required before invoicing".