Skip to main content

Events & Experiences - Version Mapping

Version Timeline

VersionStatusDescriptionImplementation Phase
MVP.0Out of ScopeVilla rentals onlyCore Platform Launch
V1.0Out of ScopeVilla marketplace focusPost-MVP Enhancement
V2.0Specification CompleteFull events & experiences domainMajor Platform Expansion
V2.1PlannedAdvanced event featuresFuture Enhancement
V2.2PlannedEnhanced ticketingFuture Enhancement
V2.3PlannedOrganizer toolsFuture Enhancement
V3.0PlannedMarketplace expansionStrategic Growth

MVP.0 (Out of Scope)

Status: Not Implemented Rationale: Focus exclusively on villa rental platform

Exclusions

  • Entire Events & Experiences domain deferred
  • Event definitions and scheduling
  • Ticket sales and management
  • Event packages
  • Attendee tracking

Strategic Decision:

  • MVP.0 establishes core villa rental platform
  • Validates market fit and operational patterns
  • Builds foundation for future event integration

V1.0 (Out of Scope)

Status: Not Implemented Rationale: Continue focus on villa marketplace maturity

Exclusions

  • Events & Experiences domain still deferred
  • Focus on optimizing villa rental experience
  • Channel expansion and marketplace features

Strategic Decision:

  • V1.0 matures the core villa rental product
  • Expands property management capabilities
  • Prepares infrastructure for multi-product platform

V2.0: Full Events & Experiences Domain

Status: Specification Complete First Introduced: V2.0 Last Updated: 2025-10-25 Target Implementation: Months 13-18

Overview

V2.0 introduces a complete event management and ticketing system that extends the villa rental platform to include experiences, activities, tours, and event bookings. This version enables event organizers to create and manage events, guests to discover and book activities, and property managers to bundle events with villa stays.

Core Features

Event Management:

  • Event definitions (templates for recurring events)
  • Event occurrence scheduling (one-time, recurring, multi-day)
  • Venue management (on-property, off-property, virtual, mobile)
  • Capacity tracking and enforcement

Ticketing System:

  • Multiple ticket types per event (General, VIP, Early Bird, etc.)
  • Dynamic ticket pricing
  • Attendee registration and management
  • QR code generation for check-in
  • Confirmation codes and ticket delivery

Capacity & Waitlist:

  • Real-time capacity tracking
  • Sold-out event handling
  • Waitlist queue management (FIFO)
  • Automated notifications when tickets available
  • 24-hour purchase window after waitlist notification

Event Packages:

  • Villa + event bundles
  • Multi-event packages
  • Experience bundles
  • Package discounting (e.g., 15% off total)
  • Coordinated availability across components

Discovery & Booking:

  • Event search by date, category, location
  • Integration with existing search infrastructure
  • Unified booking flow for packages
  • Combined villa + event confirmations

Entities Introduced

  1. EventDefinition - Template/master record for events

    • Defines event type (one-time, recurring, multi-day)
    • Sets venue, capacity, and organizer details
    • Categories: tour, activity, class, workshop, dining, wellness, cultural, adventure, entertainment
  2. EventOccurrence - Specific instance of an event

    • Scheduled date/time with timezone
    • Status tracking (scheduled, confirmed, in_progress, completed, canceled)
    • Capacity management (seats_sold, seats_available)
    • Waitlist count tracking
  3. TicketType - Pricing tiers for events

    • Defines price, quantity available, validity period
    • Tiers: general, VIP, early_bird, group, child, senior, student, member
    • Min/max quantity restrictions per transaction
  4. Ticket - Individual sold ticket

    • Status: reserved (15 min TTL), confirmed, checked_in, canceled, refunded
    • QR code and confirmation code generation
    • Links to attendee and optional booking (if part of package)
  5. Attendee - Person attending an event

    • May or may not be a registered user
    • Captures dietary restrictions and accessibility needs
    • Emergency contact information
    • GDPR-compliant data handling
  6. WaitlistEntry - Queue for sold-out events

    • FIFO position tracking
    • Status: waiting, notified, converted, expired, canceled
    • 24-hour purchase window after notification
  7. EventPackage - Bundles of events and/or villas

    • Package types: villa_event, multi_event, experience_bundle
    • Discount percentage applied to total
    • Valid date ranges
  8. EventPackageItem - Links events/villas to packages

    • Item types: event or villa
    • Quantity and customization options
    • Required vs. optional components

Implementation Phases

V2.0 Phase 1 (Months 13-14)

Focus: Core event and ticketing functionality

Deliverables:

  • EventDefinition, EventOccurrence, TicketType entities
  • Basic ticket sales and attendee records
  • One-time and recurring event support
  • QR code generation for check-in
  • Simple event creation and management UI

Technical Requirements:

  • Database schema for all event entities
  • Event occurrence generation for recurring events
  • Capacity locking mechanism (atomic updates)
  • Ticket reservation with 15-minute TTL
  • Integration with Payments domain

Success Criteria:

  • Event organizer can create and publish events
  • Guests can search and book tickets
  • QR codes generated and deliverable
  • Capacity accurately tracked and enforced

V2.0 Phase 2 (Months 15-16)

Focus: Waitlist and package creation

Deliverables:

  • WaitlistEntry entity and queue management
  • EventPackage and EventPackageItem entities
  • Villa + event package creation
  • Multi-event packages
  • Discount and pricing rules for packages

Technical Requirements:

  • Waitlist notification system (email)
  • Automated queue position management
  • Package availability checking (coordinated across components)
  • Package discount calculation in pricing engine
  • Unified booking flow for packages

Success Criteria:

  • Sold-out events offer waitlist option
  • Automated notifications when capacity opens
  • Property managers can create villa + event packages
  • Guests can book packages with discounts applied

V2.0 Phase 3 (Months 17-18)

Focus: Optimization and tooling

Deliverables:

  • Event search optimization
  • Analytics and reporting dashboards
  • Mobile check-in app (QR scanner)
  • Organizer dashboard
  • Event performance metrics

Technical Requirements:

  • Search index updates for events
  • Analytics event tracking
  • Mobile app for QR code scanning
  • Organizer reporting interface
  • Performance monitoring

Success Criteria:

  • Fast, relevant event search results
  • Organizers can track sales and attendance
  • Check-in process streamlined with mobile app
  • Event performance data available for optimization

Business Rules

  1. Capacity Enforcement: seats_sold cannot exceed max_capacity (atomic database lock required)
  2. Reservation Timeout: Reserved tickets auto-release after 15 minutes if payment not completed
  3. Event Timing: Occurrences cannot overlap for same venue/space
  4. Cancellation Cutoff: Events can be canceled up to configured hours before start_at
  5. Minimum Capacity: Events with min_capacity auto-cancel if threshold not met by cutoff
  6. Refund Policy: Defined per EventDefinition, processed via Payments domain
  7. QR Code Uniqueness: Each ticket has unique QR code for check-in scanning
  8. Package Availability: All package components must be available for selected dates
  9. Waitlist Notification: 24-hour window to purchase after notification sent
  10. Multi-Day Events: Linked occurrences with same event_definition_id and sequential dates

Integration Points

Identity & Tenancy:

  • Event organizers are Accounts within Orgs
  • Attendees optionally linked to User records
  • Multi-tenant event isolation via org_id

Authorization & Access:

  • Permissions: event.create, event.manage, ticket.sell, attendee.view
  • Organizers manage only their events
  • Package creators need both event and villa permissions

Supply (Spaces & Units):

  • Events can specify venue via space_id
  • Packages link villas and events
  • Venue capacity constraints enforced

Availability & Calendars:

  • Event occurrences consume time slots
  • Integrated calendar view (villas + events)
  • Conflict detection for shared venues

Pricing & Revenue:

  • TicketType pricing uses RatePlan concepts
  • Revenue splits between organizers and platform
  • Package discounting rules

Payments & Financials:

  • Ticket sales create Payment records
  • Refunds processed through existing flows
  • Payout to event organizers

Bookings:

  • Event packages extend Booking entity
  • Combined villa + event reservations
  • Unified confirmation and itinerary

Content & Media:

  • Event photos and descriptions
  • Organizer profiles and bios
  • Marketing assets

Search & Indexing:

  • Event discovery by date/location/category
  • Featured events and recommendations
  • Availability-aware search

Analytics & Audit:

  • Event performance metrics
  • Sales and attendance tracking
  • Audit trail for cancellations and refunds

Database Indexes

Critical for Performance:

-- Event lookups
CREATE INDEX idx_event_definitions_org_account ON event_definitions(org_id, account_id);
CREATE INDEX idx_event_definitions_status ON event_definitions(status) WHERE status = 'active';
CREATE INDEX idx_event_definitions_category ON event_definitions(category);

-- Occurrence queries
CREATE INDEX idx_event_occurrences_definition ON event_occurrences(event_definition_id);
CREATE INDEX idx_event_occurrences_time ON event_occurrences(start_at, end_at);
CREATE INDEX idx_event_occurrences_status ON event_occurrences(status);

-- Ticket management
CREATE INDEX idx_tickets_occurrence ON tickets(event_occurrence_id);
CREATE INDEX idx_tickets_attendee ON tickets(attendee_id);
CREATE INDEX idx_tickets_confirmation ON tickets(confirmation_code);
CREATE INDEX idx_tickets_status ON tickets(status);

-- Attendee lookups
CREATE INDEX idx_attendees_email ON attendees(email);
CREATE INDEX idx_attendees_user ON attendees(user_id) WHERE user_id IS NOT NULL;

-- Waitlist processing
CREATE INDEX idx_waitlist_occurrence_position ON waitlist_entries(event_occurrence_id, position);
CREATE INDEX idx_waitlist_status ON waitlist_entries(status) WHERE status = 'waiting';

-- Package queries
CREATE INDEX idx_event_packages_org_account ON event_packages(org_id, account_id);
CREATE INDEX idx_package_items_package ON event_package_items(package_id);

Constraints

Data Integrity:

-- Event definitions
ALTER TABLE event_definitions ADD CONSTRAINT event_def_org_slug_unique UNIQUE (org_id, slug);
ALTER TABLE event_definitions ADD CONSTRAINT event_def_capacity_check CHECK (max_capacity IS NULL OR max_capacity > 0);

-- Event occurrences
ALTER TABLE event_occurrences ADD CONSTRAINT event_occ_time_check CHECK (end_at > start_at);
ALTER TABLE event_occurrences ADD CONSTRAINT event_occ_seats_check CHECK (seats_sold >= 0);

-- Ticket types
ALTER TABLE ticket_types ADD CONSTRAINT ticket_type_price_check CHECK (price_cents >= 0);
ALTER TABLE ticket_types ADD CONSTRAINT ticket_type_quantity_check CHECK (quantity_sold <= quantity_available);

-- Tickets
ALTER TABLE tickets ADD CONSTRAINT ticket_confirmation_unique UNIQUE (confirmation_code);
ALTER TABLE tickets ADD CONSTRAINT ticket_qr_unique UNIQUE (qr_code_data);

-- Packages
ALTER TABLE event_packages ADD CONSTRAINT package_org_slug_unique UNIQUE (org_id, slug);
ALTER TABLE event_package_items ADD CONSTRAINT package_item_type_check
CHECK ((event_definition_id IS NOT NULL AND space_id IS NULL) OR
(event_definition_id IS NULL AND space_id IS NOT NULL));

V2.1: Advanced Event Features

Status: Planned Target: Post-V2.0 Enhancement

Key Features

Multi-Session Events:

  • Courses and workshops with multiple sessions
  • Attendance tracking across sessions
  • Progress and completion tracking

Event Series & Memberships:

  • Recurring membership programs
  • Season passes for event series
  • Member-only events and pricing

Loyalty & Rewards:

  • Points for repeat attendees
  • Loyalty tier benefits
  • Referral programs

Gift & Promotions:

  • Gift vouchers and certificates
  • Promotional codes and discounts
  • Limited-time offers

Benefits

  • Increased attendee retention
  • Higher lifetime value
  • Enhanced customer engagement
  • New revenue streams

V2.2: Enhanced Ticketing

Status: Planned Target: Post-V2.1 Enhancement

Key Features

Dynamic Pricing:

  • Demand-based pricing algorithms
  • Early bird and last-minute discounts
  • Surge pricing for high-demand events

Group Management:

  • Group booking discounts
  • Corporate event management
  • Bulk ticket purchasing

Private Events:

  • Private event booking system
  • Custom event creation for groups
  • Venue buyout options

Benefits

  • Revenue optimization
  • Corporate client acquisition
  • Flexibility for large groups
  • Personalized event experiences

V2.3: Organizer Tools

Status: Planned Target: Post-V2.2 Enhancement

Key Features

Revenue Analytics:

  • Real-time sales dashboards
  • Revenue forecasting
  • Performance comparisons
  • Profit margin analysis

Communication Tools:

  • Attendee messaging system
  • Event reminders and updates
  • Post-event surveys
  • Announcement broadcasting

Mobile Check-In:

  • Offline-capable check-in app
  • Batch check-in for groups
  • Attendee list management
  • Real-time capacity updates

Automation:

  • Automated event reminders
  • Pre-event preparation emails
  • Post-event follow-ups
  • Review request automation

Benefits

  • Enhanced organizer efficiency
  • Better attendee communication
  • Data-driven event optimization
  • Improved event experience

V3.0: Marketplace Expansion

Status: Planned Target: Strategic Growth Phase

Key Features

White-Label Platforms:

  • Customizable event platforms for partners
  • Branded event booking sites
  • API access for custom integrations

Multi-Vendor Marketplace:

  • Multiple event organizers on single platform
  • Centralized discovery across organizers
  • Revenue sharing models
  • Quality standards and ratings

Franchise Programs:

  • Partner organizer onboarding
  • Territory management
  • Brand consistency enforcement
  • Partner support and training

Global Syndication:

  • Cross-platform event distribution
  • API integrations with event aggregators
  • Global event search capabilities
  • Multi-currency and localization

Benefits

  • Massive scale potential
  • Network effects
  • Global market access
  • Platform as a service model

Version Comparison Matrix

FeatureMVP.0V1.0V2.0V2.1V2.2V2.3V3.0
Event Definitions--
Ticket Sales--
Waitlist--
Event Packages--
QR Check-In--
Multi-Session Events---
Memberships---
Loyalty Programs---
Dynamic Pricing----
Group Bookings----
Revenue Analytics--Basic
Mobile Check-In App--WebWebWeb
Organizer Automation-----
White-Label------
Multi-Vendor------
Global Syndication------

Migration Paths

V1.0 → V2.0

Prerequisites:

  • Villa platform stable and mature
  • Infrastructure ready for multi-product platform
  • Event organizer partnerships established
  • Team trained on event management domain

Migration Steps:

Phase 1 (Months 13-14):

  1. Deploy event domain database schema
  2. Build event creation and management UI
  3. Implement ticket sales flow
  4. Integrate with existing Payment processing
  5. Launch with limited event organizers (beta)
  6. Validate capacity management and ticket delivery

Phase 2 (Months 15-16):

  1. Implement waitlist functionality
  2. Build package creation interface
  3. Enable villa + event bundles
  4. Test coordinated availability checking
  5. Launch package marketing campaign

Phase 3 (Months 17-18):

  1. Optimize event search indexing
  2. Build organizer analytics dashboard
  3. Develop mobile check-in app
  4. Implement event performance tracking
  5. Full public launch of Events & Experiences

Rollback Plan:

  • Events isolated from core villa platform
  • Can disable event booking without affecting rentals
  • Data retained if feature needs to be paused

V2.0 → V2.1

Prerequisites:

  • V2.0 proven successful with engagement metrics
  • Demand for recurring events and memberships validated
  • Loyalty program design finalized

Migration Steps:

  1. Extend EventDefinition for multi-session support
  2. Implement membership and series entities
  3. Build loyalty point tracking system
  4. Create gift voucher functionality
  5. Migrate existing events to new model (if applicable)
  6. Launch membership pilot program
  7. Roll out loyalty program

Rollback Plan:

  • New features additive, don't break existing events
  • Can disable memberships/loyalty independently
  • Single-event functionality remains unchanged

V2.1 → V2.2

Prerequisites:

  • Sufficient event volume to justify dynamic pricing
  • Pricing algorithms tested and validated
  • Group booking demand identified

Migration Steps:

  1. Implement dynamic pricing engine
  2. Build group management functionality
  3. Create corporate event booking flow
  4. Add private event creation tools
  5. Test pricing algorithms with subset of events
  6. Gradually roll out to all event types
  7. Enable corporate sales team

Rollback Plan:

  • Can revert to fixed pricing model
  • Group features can be disabled independently
  • Private events optional per organizer

V2.2 → V2.3

Prerequisites:

  • Organizer feedback on needed tools collected
  • Mobile app development resources available
  • Automation requirements defined

Migration Steps:

  1. Build revenue analytics dashboard
  2. Implement attendee communication system
  3. Develop mobile check-in application
  4. Create automation workflows
  5. Beta test with select organizers
  6. Train organizers on new tools
  7. Full rollout

Rollback Plan:

  • Tools are additive, don't break existing flows
  • Web-based check-in remains available
  • Manual processes can continue

V2.3 → V3.0

Prerequisites:

  • Platform proven at scale
  • White-label architecture designed
  • Partner program established
  • Legal and compliance framework for marketplace

Migration Steps:

  1. Refactor for white-label customization
  2. Build multi-vendor management system
  3. Create partner onboarding process
  4. Implement global event syndication
  5. Deploy first white-label instance (pilot partner)
  6. Onboard additional vendors to marketplace
  7. Enable global event distribution
  8. Launch partner franchise program

Rollback Plan:

  • Single-tenant mode remains supported
  • Can limit platform to existing organizers
  • White-label can be disabled per customer

Strategic Considerations

Why V2.0 Timing?

Platform Maturity:

  • MVP.0 and V1.0 establish villa rental foundation
  • Infrastructure patterns proven and stable
  • Multi-tenant architecture ready for expansion
  • Team experienced with domain-driven design

Market Opportunity:

  • Villa guests seek curated local experiences
  • Event bundling increases booking value
  • Differentiation from pure rental platforms
  • New revenue streams from event commissions

Technical Readiness:

  • Event-driven architecture supports event domain naturally
  • Existing domains (Payments, Search, Analytics) ready to extend
  • Background job infrastructure handles event scheduling
  • Multi-product booking flow builds on proven patterns

Success Metrics

V2.0 Success Criteria:

  • 100+ events listed within 3 months
  • 25% of villa bookings include event package
  • 4.5+ star average event rating
  • 90%+ ticket delivery success rate
  • < 1% event cancellation rate

V2.1 Success Criteria:

  • 20% of attendees join loyalty program
  • 15% membership renewal rate
  • 30% increase in repeat attendee booking

V2.2 Success Criteria:

  • Dynamic pricing increases revenue 10-15%
  • 10% of bookings are group/corporate
  • 5% of events are private buyouts

V2.3 Success Criteria:

  • 80% organizer adoption of new tools
  • 50% reduction in check-in time with mobile app
  • 90% organizer satisfaction with analytics

V3.0 Success Criteria:

  • 10+ white-label partner deployments
  • 100+ independent event organizers on platform
  • 50% of events discoverable via syndication
  • Platform revenue 50/50 split between villa and events


Document Status: Complete Last Updated: 2025-10-25 Next Review: Post-V1.0 completion (before V2.0 planning)