- Shipped
- August 26, 2026 at 7:34 AM UTC
- Author
- Kamo
- Commit
- f2342ec
A sibling of FulfillmentOrder, not a widening of it: FulfillmentOrder is a shipment with a tracking number and a carrier, and retail depends on it. Job 1..N visit from the first migration — a single-visit job is N=1, and retrofitting the parent later is a data migration across every tenant's history. The appointment stays a CalendarEvent, referenced by a soft string id exactly as LeadCallback already does; a second appointment table means a second reminder scheduler and a technician whose phone shows half their day. Scheduled and actual timestamps are kept separately because the finished UI can only answer the second, and a dispatch board needs the first. ServiceJobMappingTest also parses the servicework repositories' @Query values. CoreRepositoryQueryParseTest walks donotmodify.dao.repos only, so nothing otherwise validates these three queries, and an unresolvable JPQL path fails at bean creation — a crash-looping SecurityService rather than a bad result.