Events & Experiences - Version Mapping
Version Timeline
| Version | Status | Description | Implementation Phase | 
|---|---|---|---|
| MVP.0 | Out of Scope | Villa rentals only | Core Platform Launch | 
| V1.0 | Out of Scope | Villa marketplace focus | Post-MVP Enhancement | 
| V2.0 | Specification Complete | Full events & experiences domain | Major Platform Expansion | 
| V2.1 | Planned | Advanced event features | Future Enhancement | 
| V2.2 | Planned | Enhanced ticketing | Future Enhancement | 
| V2.3 | Planned | Organizer tools | Future Enhancement | 
| V3.0 | Planned | Marketplace expansion | Strategic 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
- 
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
 
- 
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
 
- 
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
 
- 
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)
 
- 
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
 
- 
WaitlistEntry - Queue for sold-out events - FIFO position tracking
- Status: waiting, notified, converted, expired, canceled
- 24-hour purchase window after notification
 
- 
EventPackage - Bundles of events and/or villas - Package types: villa_event, multi_event, experience_bundle
- Discount percentage applied to total
- Valid date ranges
 
- 
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
- Capacity Enforcement: seats_sold cannot exceed max_capacity (atomic database lock required)
- Reservation Timeout: Reserved tickets auto-release after 15 minutes if payment not completed
- Event Timing: Occurrences cannot overlap for same venue/space
- Cancellation Cutoff: Events can be canceled up to configured hours before start_at
- Minimum Capacity: Events with min_capacity auto-cancel if threshold not met by cutoff
- Refund Policy: Defined per EventDefinition, processed via Payments domain
- QR Code Uniqueness: Each ticket has unique QR code for check-in scanning
- Package Availability: All package components must be available for selected dates
- Waitlist Notification: 24-hour window to purchase after notification sent
- 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
| Feature | MVP.0 | V1.0 | V2.0 | V2.1 | V2.2 | V2.3 | V3.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 | - | - | Web | Web | Web | ✓ | ✓ | 
| 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):
- Deploy event domain database schema
- Build event creation and management UI
- Implement ticket sales flow
- Integrate with existing Payment processing
- Launch with limited event organizers (beta)
- Validate capacity management and ticket delivery
Phase 2 (Months 15-16):
- Implement waitlist functionality
- Build package creation interface
- Enable villa + event bundles
- Test coordinated availability checking
- Launch package marketing campaign
Phase 3 (Months 17-18):
- Optimize event search indexing
- Build organizer analytics dashboard
- Develop mobile check-in app
- Implement event performance tracking
- 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:
- Extend EventDefinition for multi-session support
- Implement membership and series entities
- Build loyalty point tracking system
- Create gift voucher functionality
- Migrate existing events to new model (if applicable)
- Launch membership pilot program
- 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:
- Implement dynamic pricing engine
- Build group management functionality
- Create corporate event booking flow
- Add private event creation tools
- Test pricing algorithms with subset of events
- Gradually roll out to all event types
- 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:
- Build revenue analytics dashboard
- Implement attendee communication system
- Develop mobile check-in application
- Create automation workflows
- Beta test with select organizers
- Train organizers on new tools
- 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:
- Refactor for white-label customization
- Build multi-vendor management system
- Create partner onboarding process
- Implement global event syndication
- Deploy first white-label instance (pilot partner)
- Onboard additional vendors to marketplace
- Enable global event distribution
- 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
Related Documents
- Events & Experiences Specification
- V2 Product Specification
- V2 Data Model
- Booking Domain
- Pricing Domain
- Payments Domain
Document Status: Complete Last Updated: 2025-10-25 Next Review: Post-V1.0 completion (before V2.0 planning)