Skip to Content
Trips Enjoy
Data Model (ERD)Domains

Suppliers

Tables and relationships for the suppliers domain.

Part of the data model; conventions and base columns are documented there.

driver_profiles

(Base +)

ColumnTypeNotes
user_idBIGINT FK usersUnique per track
track_idBIGINT FK lookupssupplier_track: platform, organization
organization_idBIGINT FK organizations NULLSet for organization-owned drivers (BRL-05)
license_no_encBYTEAenc
license_valid_untilDATE
service_regionsTEXT[]
subscription_idBIGINT FK subscriptions NULLPlatform drivers only
lab_status_idBIGINT FK lookupsdriver_lab_status: clear, paused, suspended
suspended_sinceTIMESTAMPTZClose after 30 days (BRL-16)
visibility_idBIGINT FK lookupsprofile_visibility: standard, featured, top
verified_badgeBOOLEANPlan-driven

photographer_profiles (Base +): user_id FK, track_id FK lookups (supplier_track), organization_id NULL, bio JSONB, equipment TEXT, service_regions TEXT[], rates JSONB (per currency), subscription_id FK NULL, visibility_id FK lookups, verified_badge BOOLEAN, watermark_settings JSONB.

provider_vehicles (Base +) FR-ONB-07: driver_profile_id FK, plate_no VARCHAR(20), model VARCHAR(80), year SMALLINT, seat_count SMALLINT, registration_valid_until DATE, insurance_valid_until DATE (at least 3 months at submission).

availability_slots (Base +) D-89: user_id FK, starts_on DATE, ends_on DATE, kind_id FK lookups (availability_kind: available, unavailable). Dates and ranges only.

portfolio_items (Base +): photographer_profile_id FK, storage_path TEXT, width INT, height INT, sort_by INT. Count per plan (FR-PHO-01); minimum 8 at application.

lab_partners (Base +): market_id FK, name JSONB, address JSONB, api_settings_enc BYTEA, is_active BOOLEAN.

lab_tests

(Base +) FR-DRV-03 to FR-DRV-06

ColumnTypeNotes
driver_profile_idBIGINT FK driver_profiles
lab_partner_idBIGINT FK lab_partners NULL
test_type_idBIGINT FK lookupslab_test_type: drug_screen, medical_fitness, both
status_idBIGINT FK lookupslab_test_status: requested, pending, result_uploaded, passed, failed, missed
requested_byBIGINT FK usersAdmin
requested_atTIMESTAMPTZ
deadline_atTIMESTAMPTZ3 days default, 1 to 7 (D-21)
booked_slot_atTIMESTAMPTZ
result_pathTEXTRestricted bucket
result_source_idBIGINT FK lookupslab_result_source: partner, driver_upload
decided_by, decided_atBIGINT, TIMESTAMPTZAdmin decision
is_initialBOOLEANApplication lab result

payout_methods (Base +): user_id FK, organization_id NULL, method_id FK lookups (payout_method: stripe_connect, bank_transfer, local_provider), details_enc BYTEA, external_account_id VARCHAR(100), currency_code, is_default BOOLEAN, verified_at.

On this page