Skip to content

M2 Database Schema

The M2 database supports maintenance operations, work orders, vendors, emergencies, and purchasing. It is a PostgreSQL schema generated from Prisma migrations.

AreaTables
Identityusers
Propertiesvillas, villa_locations, villa_tags, villa_documents, villa_inspections, utility_meters, utility_readings
Assetsassets, maintenance_logs
Work Orderswork_orders, work_order_comments, attachments, work_order_tasks, work_order_activities, work_order_additional_costs
Vendorsvendors, vendor_pricing, vendor_performance_logs, service_contracts
Emergenciesemergency_incidents, emergency_action_logs, response_teams, team_members, emergency_contacts
Preventive Maintenancepmp_templates, pmp_schedules, checklists, checklist_items, work_order_checklists, work_order_checklist_items
Field Opsfield_notes, timesheets
Inventoryparts, inventory_stock, inventory_transactions, work_order_parts
Purchasingpurchase_orders, purchase_order_items, po_attachments
Requestsrequests, request_comments, request_attachments
Teamswork_order_teams, work_order_team_members
Zoneszones
  • villas.zoneIdzones.id
  • assets.villaIdvillas.id
  • maintenance_logs.assetIdassets.id
  • work_orders.villaIdvillas.id
  • work_orders.assetIdassets.id
  • work_orders.assignedToIdusers.id
  • work_orders.reportedByIdusers.id
  • work_orders.vendorIdvendors.id
  • work_orders.requestIdrequests.id
  • work_orders.locationIdvilla_locations.id
  • work_orders.teamIdwork_order_teams.id
  • work_order_comments.workOrderIdwork_orders.id
  • attachments.workOrderIdwork_orders.id
  • vendor_performance_logs.vendorIdvendors.id
  • service_contracts.vendorIdvendors.id
  • vendor_pricing.vendorIdvendors.id
  • emergency_incidents.villaIdvillas.id
  • emergency_incidents.reportedByIdusers.id
  • emergency_incidents.assignedTeamIdresponse_teams.id
  • emergency_action_logs.incidentIdemergency_incidents.id
  • team_members.teamIdresponse_teams.id
  • pmp_schedules.templateIdpmp_templates.id
  • field_notes.authorIdusers.id
  • timesheets.userIdusers.id
  • checklist_items.checklistIdchecklists.id
  • inventory_stock.partIdparts.id
  • inventory_transactions.inventoryIdinventory_stock.id
  • purchase_orders.supplierIdvendors.id
  • purchase_orders.requestedByIdusers.id
  • purchase_orders.approvedByIdusers.id
  • purchase_order_items.purchaseOrderIdpurchase_orders.id
  • purchase_order_items.partIdparts.id
  • po_attachments.purchaseOrderIdpurchase_orders.id
  • requests.requestedByIdusers.id
  • requests.assignedToIdusers.id
  • requests.approvedByIdusers.id
  • requests.villaIdvillas.id
  • request_comments.requestIdrequests.id
  • request_attachments.requestIdrequests.id
  • work_order_parts.workOrderIdwork_orders.id
  • work_order_parts.partIdparts.id
  • work_order_checklists.workOrderIdwork_orders.id
  • work_order_checklist_items.checklistIdwork_order_checklists.id
  • work_order_team_members.teamIdwork_order_teams.id
  • work_order_team_members.userIdusers.id
  • villa_locations.villaIdvillas.id
  • work_order_tasks.workOrderIdwork_orders.id
  • work_order_tasks.assignedToIdusers.id
  • work_order_additional_costs.workOrderIdwork_orders.id
  • work_order_activities.workOrderIdwork_orders.id
  • villa_documents.villaIdvillas.id
  • villa_inspections.villaIdvillas.id
  • utility_meters.villaIdvillas.id
  • utility_readings.meterIdutility_meters.id
  • villa_tags.villaIdvillas.id
EnumValues
UserRoleADMIN, MANAGER, TECHNICIAN, VENDOR
StaffAvailabilityAVAILABLE, ON_ASSIGNMENT, OFF_DUTY, ON_LEAVE, UNAVAILABLE
VillaStatusOCCUPIED, VACANT, UNDER_RENOVATION
AssetCategoryHVAC, PLUMBING, ELECTRICAL, APPLIANCE, STRUCTURAL, POOL, LANDSCAPE, SECURITY, OTHER
AssetStatusOPERATIONAL, NEEDS_MAINTENANCE, UNDER_REPAIR, DECOMMISSIONED
WorkOrderCategoryPLUMBING, ELECTRICAL, HVAC, STRUCTURAL, LANDSCAPING, POOL, APPLIANCE, CLEANING, PEST_CONTROL, OTHER
WorkOrderStatusPENDING, IN_PROGRESS, ON_HOLD, COMPLETED, CANCELLED
PriorityLOW, MEDIUM, HIGH, URGENT
VendorCategoryPLUMBING, ELECTRICAL, HVAC, LANDSCAPING, POOL, GENERAL, SECURITY, CLEANING, PEST_CONTROL
VendorStatusACTIVE, INACTIVE, SUSPENDED, PENDING
ContractStatusACTIVE, EXPIRED, CANCELLED, PENDING_RENEWAL
IncidentCategoryFIRE, FLOOD, MEDICAL, SECURITY, POWER_OUTAGE, GAS_LEAK, STRUCTURAL, UTILITY, OTHER
IncidentSeverityLOW, MEDIUM, HIGH, CRITICAL
IncidentStatusREPORTED, DISPATCHED, IN_PROGRESS, RESOLVED, CLOSED
TeamRoleLEAD, TECHNICIAN, SUPPORT
PMPFrequencyDAILY, WEEKLY, BIWEEKLY, MONTHLY, QUARTERLY, SEMI_ANNUAL, ANNUAL
ZoneStatusACTIVE, MAINTENANCE, INACTIVE
PMPStatusSCHEDULED, IN_PROGRESS, COMPLETED, OVERDUE, SKIPPED
NoteTypeTEXT, VOICE, PHOTO
TimesheetStatusACTIVE, COMPLETED, APPROVED
ChecklistStatusPENDING, IN_PROGRESS, COMPLETED
PartCategoryHVAC_PARTS, PLUMBING_PARTS, ELECTRICAL_PARTS, POOL_SUPPLIES, CLEANING_SUPPLIES, LANDSCAPING_SUPPLIES, APPLIANCE_PARTS, STRUCTURAL_MATERIALS, TOOLS, SAFETY_EQUIPMENT, OTHER
TransactionTypeIN, OUT, ADJUSTMENT, TRANSFER
POStatusDRAFT, PENDING_APPROVAL, APPROVED, ORDERED, PARTIALLY_RECEIVED, RECEIVED, CANCELLED, CLOSED
RequestTypeMAINTENANCE, REPAIR, INSPECTION, IMPROVEMENT, PURCHASE, OTHER
RequestCategoryPLUMBING, ELECTRICAL, HVAC, STRUCTURAL, LANDSCAPING, POOL, APPLIANCE, CLEANING, PEST_CONTROL, SUPPLIES, EQUIPMENT, OTHER
RequestStatusPENDING, UNDER_REVIEW, APPROVED, REJECTED, IN_PROGRESS, COMPLETED, CANCELLED
TaskStatusPENDING, IN_PROGRESS, COMPLETED, BLOCKED
AssetConditionEXCELLENT, GOOD, FAIR, POOR, CRITICAL
VillaDocumentTypeFLOOR_PLAN, INSURANCE, WARRANTY, PERMIT, PHOTO, OTHER
InspectionStatusPENDING, COMPLETED, OVERDUE, CANCELLED
UtilityTypeELECTRICITY, WATER, GAS, HEATING, COOLING
  • Work orders are the central object, linking to villas, assets, vendors, teams, parts, and checklists.
  • Purchasing and inventory data are tied to work orders to enable cost tracking and replenishment.

Schema extracted from D:\Development\m2-main\db_export\m2.sql.