Files
drivers_bot/docs/production_pilot_entity_map.md
2026-05-16 19:34:56 +09:00

3.2 KiB

CarPass Production Pilot Entity Map

This map captures the closed-pilot domain model as implemented in the codebase.

Owner Domain

  • User owns Car records and authenticates through Telegram.
  • Car is the vehicle/passport entity. It owns FuelEntry, ServiceEntry, ExpenseEntry, OdometerHistory, CarServiceLink, ServiceAppointment, ServiceVisit, and MaintenanceRecommendation.
  • FuelEntry, ServiceEntry, and ExpenseEntry update ownership analytics and can update the vehicle odometer through OdometerHistory.
  • OwnershipAnalytics is computed on demand from entries, expenses, depreciation settings, and loan settings.
  • VehicleAccess grants non-owner user access to a vehicle for selected backend flows.

STO Domain

  • ServiceCenter is the STO profile and tenant boundary.
  • ServiceCenterVerification stores moderation applications and review decisions.
  • ServiceEmployee links users to a service center with one of owner, manager, receptionist, or mechanic.
  • CarServiceLink is the owner-approved connection between a vehicle and an STO.
  • ServiceCenterBookingSettings and ServiceCenterHoliday define the appointment calendar.
  • ServiceAppointment is the customer booking request and can become one ServiceVisit.
  • ServiceCenterReview and ServiceCenterReviewComment store public feedback.

Work Order Domain

  • ServiceVisit is the work order. It links ServiceCenter, Car, owner user, employee, appointment, labor items, product items, status history, and corrections.
  • ServiceWorkItem stores labor/repair work and next-service intervals.
  • ServiceProductItem stores parts, fluids, materials, SKU and quantity.
  • WorkOrderCatalogItem is the STO price/catalog item source.
  • InventoryTransaction records consumed products on work-order completion.
  • WorkOrderStatusHistory audits status transitions.
  • WorkOrderCorrection records post-completion correction requests and owner decisions.
  • Completion creates immutable owner records: ServiceEntry, ExpenseEntry, OdometerHistory, MaintenanceRecommendation when applicable, ServiceNotification, and AuditLog.

Trust, Notifications, And Exchange

  • MaintenanceRecommendation is connected to a vehicle and optionally a service center/appointment.
  • ServiceNotification is the internal notification queue with best-effort Telegram delivery and idempotency keys.
  • AuditLog records sensitive and operational actions.
  • Achievement, UserAchievement, VehicleScore, ServiceCenterScore, and EngagementEvent power passport quality, trust, and timeline features.
  • Import/export is synchronous API work, not a persisted ImportExportJob; schema is carpass.exchange.v1.
  • OCR returns preview candidates through API responses; no persisted OCRResult table exists and OCR never writes vehicle data directly.

Pilot Gaps To Keep Explicit

  • Browser Web Push stores subscriptions and has a service worker listener, but server-side Web Push delivery is beta and not part of the pilot-critical notification path.
  • Inventory exists as consumption transactions and catalog products, not as full stock-level management.
  • Correction requests record decisions; they do not mutate completed work-order snapshots automatically.