Skip to content

M1 Database Schema

The M1 database supports villa onboarding and ongoing property management. It is a PostgreSQL schema generated from Prisma migrations.

TablePurposeNotes
VillaPrimary villa record and property attributesCentral parent table for most M1 data
OwnerOwner records (individual or company)Linked to Villa
ContractualDetailsContract terms and management agreementsLinked to Villa
BankDetailsOwner payment/banking infoLinked to Villa
OTACredentialsCredentials for OTA platformsLinked to Villa
StaffStaff assignments and HR infoLinked to Villa
PhotoPhoto gallery metadataLinked to Villa
DocumentUploaded documents metadataLinked to Villa
FacilityChecklistFacilities and inventory checklist itemsLinked to Villa
OnboardingProgressHigh-level onboarding stateLinked to Villa
OnboardingBackupSnapshot of onboarding dataLinked to Villa
OnboardingStepProgressPer-step onboarding progressLinked to Villa
StepFieldProgressField-level completion trackingLinked to OnboardingStepProgress
SkippedItemTracks skipped steps/fieldsLinked to Villa
OnboardingSessionActive onboarding session metadataLinked to Villa
  • Owner.villaIdVilla.id
  • ContractualDetails.villaIdVilla.id
  • BankDetails.villaIdVilla.id
  • OTACredentials.villaIdVilla.id
  • Staff.villaIdVilla.id
  • Photo.villaIdVilla.id
  • Document.villaIdVilla.id
  • FacilityChecklist.villaIdVilla.id
  • OnboardingProgress.villaIdVilla.id
  • OnboardingBackup.villaIdVilla.id
  • OnboardingStepProgress.villaIdVilla.id
  • StepFieldProgress.stepProgressIdOnboardingStepProgress.id
  • SkippedItem.villaIdVilla.id
  • OnboardingSession.villaIdVilla.id
EnumValues
PropertyTypeVILLA, APARTMENT, PENTHOUSE, TOWNHOUSE, CHALET, BUNGALOW, ESTATE, HOUSE
VillaStyleMODERN, TRADITIONAL, MEDITERRANEAN, CONTEMPORARY, BALINESE, MINIMALIST, LUXURY, RUSTIC
VillaStatusDRAFT, ACTIVE, INACTIVE, ARCHIVED
OwnerTypeINDIVIDUAL, COMPANY, TRUST, OTHER
CommunicationPreferenceEMAIL, PHONE, WHATSAPP, SMS
ContractTypeEXCLUSIVE, NON_EXCLUSIVE, SEASONAL, LONG_TERM
PaymentScheduleWEEKLY, BIWEEKLY, MONTHLY, QUARTERLY, ANNUALLY
CancellationPolicyFLEXIBLE, MODERATE, STRICT, SUPER_STRICT, NON_REFUNDABLE
OTAPlatformBOOKING_COM, AIRBNB, VRBO, EXPEDIA, AGODA, HOTELS_COM, TRIPADVISOR, MARRIOTT_HOMES_VILLAS, HOMEAWAY, FLIPKEY, DIRECT
SyncStatusPENDING, IN_PROGRESS, SUCCESS, FAILED, PARTIAL
StaffPositionVILLA_MANAGER, HOUSEKEEPER, GARDENER, POOL_MAINTENANCE, SECURITY, CHEF, DRIVER, CONCIERGE, MAINTENANCE, OTHER
StaffDepartmentMANAGEMENT, HOUSEKEEPING, MAINTENANCE, SECURITY, HOSPITALITY, ADMINISTRATION
EmploymentTypeFULL_TIME, PART_TIME, CONTRACT, SEASONAL, FREELANCE
EmergencyContactRelationshipSPOUSE, PARTNER, PARENT, CHILD, SIBLING, FRIEND, COLLEAGUE, NEIGHBOR, RELATIVE, OTHER
SalaryFrequencyHOURLY, DAILY, WEEKLY, BIWEEKLY, MONTHLY, ANNUALLY
PhotoCategoryEXTERIOR_VIEWS, INTERIOR_LIVING_SPACES, BEDROOMS, BATHROOMS, KITCHEN, DINING_AREAS, POOL_OUTDOOR_AREAS, GARDEN_LANDSCAPING, AMENITIES_FACILITIES, VIEWS_SURROUNDINGS, STAFF_AREAS, UTILITY_AREAS, LOGO, FLOOR_PLAN, VIDEOS, DRONE_SHOTS, ENTERTAINMENT, VIRTUAL_TOUR, OTHER
DocumentTypePROPERTY_CONTRACT, INSURANCE_CERTIFICATE, PROPERTY_TITLE, TAX_DOCUMENTS, UTILITY_BILLS, MAINTENANCE_RECORDS, INVENTORY_LIST, HOUSE_RULES, EMERGENCY_CONTACTS, STAFF_CONTRACTS, LICENSES_PERMITS, FLOOR_PLANS, OTHER, MAINTENANCE_CONTRACTS
FacilityCategoryproperty_layout_spaces, occupancy_sleeping, bathrooms, kitchen_dining, service_staff, living_spaces, outdoor_facilities, home_office, entertainment_gaming, technology, wellness_spa, accessibility, safety_security, child_friendly, KITCHEN_EQUIPMENT, BATHROOM_AMENITIES, BEDROOM_AMENITIES, LIVING_ROOM, OUTDOOR_FACILITIES, POOL_AREA, ENTERTAINMENT, SAFETY_SECURITY, UTILITIES, ACCESSIBILITY, BUSINESS_FACILITIES, CHILDREN_FACILITIES, PET_FACILITIES, OTHER
OnboardingStatusNOT_STARTED, IN_PROGRESS, COMPLETED
StepStatusNOT_STARTED, IN_PROGRESS, COMPLETED, SKIPPED, BLOCKED, ERROR
FieldStatusNOT_STARTED, IN_PROGRESS, COMPLETED, SKIPPED, ERROR
SkippedItemTypeSTEP, FIELD, SECTION
SkipCategoryNOT_APPLICABLE, DATA_UNAVAILABLE, LATER, OPTIONAL, PRIVACY_CONCERNS, OTHER
  • Most M1 data hangs off the Villa table and cascades on delete.
  • Onboarding progress is tracked at step and field levels for granular completion reporting.

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