TVL Platform Glossary
Summary
This glossary defines key terms, acronyms, and concepts used throughout the TVL platform documentation and codebase.
Core Domain Terms
A
Amenity A feature or facility of a property or unit (e.g., WiFi, pool, parking, kitchen). Used for search filtering and listing descriptions.
Availability The state of a unit being bookable or blocked for a given date range. Tracked in the availability calendar.
Audit Trail Immutable log of all significant actions (bookings, payments, configuration changes) for compliance and troubleshooting.
B
Block A period during which a unit is marked unavailable for booking. Types include owner block, maintenance block, or booked block.
Booking A confirmed reservation of a unit for specific dates. Created from a hold after payment confirmation.
Bounded Context A DDD pattern defining clear boundaries around a domain with its own models and ubiquitous language.
BullMQ Redis-backed job queue library used for asynchronous task processing (sync jobs, notifications, etc.).
C
Calendar The availability schedule for a unit, showing booked dates, blocks, and available dates. Synced across channels.
Channel A distribution platform where listings are published (e.g., Airbnb, VRBO, Booking.com, Direct booking site).
Check-in / Check-out The start and end dates of a reservation. Includes time-of-day requirements (e.g., 3 PM check-in, 11 AM check-out).
Connector An integration adapter that syncs data between TVL and external systems (e.g., Hostaway connector).
CRM Customer Relationship Management system (HubSpot via MCP for TVL).
D
Dead Letter Queue (DLQ) A queue for messages/jobs that failed processing after maximum retry attempts. Requires manual intervention.
Domain Event
A notification that something significant happened in a domain (e.g., BookingConfirmed, PriceRuleUpdated). Published to event stream.
Dynamic Pricing Automated price adjustments based on occupancy, seasonality, demand, or other factors.
E
Entity A domain object with a unique identity (e.g., Property, Booking, User). Persisted in the database.
Event-Driven Architecture (EDA) Design pattern where services communicate via asynchronous events rather than direct calls.
ETL Extract, Transform, Load - process for syncing data between systems.
F
Fee An additional charge beyond the base nightly rate (e.g., cleaning fee, pet fee, extra guest fee).
H
Hold A temporary reservation that locks a unit's availability while awaiting payment confirmation. Expires after a timeout (e.g., 15 minutes).
Hostaway A property management system that TVL integrates with via API to sync properties, bookings, and availability.
I
Idempotency Key A unique identifier for write operations to ensure duplicate requests don't cause side effects (e.g., double-charging).
iCal Internet Calendar format (RFC 5545) used for importing/exporting availability calendars.
L
Listing A published representation of a unit on a specific channel. One unit can have multiple listings (one per channel).
M
Multi-Tenancy Architecture pattern where a single application instance serves multiple customers (tenants) with data isolation.
O
OIDC (OpenID Connect) Authentication protocol built on OAuth 2.0. TVL uses Google OIDC for user login.
Organization Top-level tenant entity. All users, properties, and data belong to an organization.
OTA (Online Travel Agency) Third-party booking platform (e.g., Airbnb, Expedia, Booking.com).
OTel (OpenTelemetry) Observability framework for distributed tracing, metrics, and logging.
P
PII (Personally Identifiable Information) Sensitive data like name, email, phone, payment info. Must be encrypted and handled per GDPR/privacy laws.
PMS (Property Management System) Software for managing vacation rental operations. Hostaway is a PMS that TVL integrates with.
Property A physical vacation rental location (house, apartment, condo). Can contain multiple bookable units.
Price Rule A configuration defining pricing logic (e.g., seasonal rates, weekend premiums, early-bird discounts).
Q
Quote A preliminary price calculation for a potential booking. Not confirmed; used for price display and comparison.
R
RBAC (Role-Based Access Control) Authorization model where permissions are assigned to roles, and users are assigned roles.
RLS (Row-Level Security) Postgres feature that enforces data access policies at the database level. Used for tenant isolation.
Runbook Operational documentation for incident response, deployments, and common tasks.
S
Saga A pattern for managing distributed transactions across multiple services (e.g., booking + payment capture).
SLO (Service Level Objective) Target metric for service performance (e.g., 99.9% uptime, p95 latency < 500ms).
Space Synonym for unit - a bookable area within a property.
Supabase Managed Postgres platform with built-in authentication, RLS, and real-time subscriptions.
T
Tenant See Organization. In multi-tenancy, a tenant is an isolated customer account.
Trace Distributed trace of a request across multiple services. Captured via OpenTelemetry.
U
Unit A bookable space within a property. Can be a bedroom, entire property, or other subdivision.
Ubiquitous Language DDD concept - a common vocabulary shared by developers and domain experts within a bounded context.
V
v0 Vercel's AI-powered UI scaffolding tool used for rapid frontend development.
W
Webhook HTTP callback triggered by external systems when events occur (e.g., Hostaway sends webhook when a booking is created).
Acronyms
- ADR: Architecture Decision Record
- API: Application Programming Interface
- CI/CD: Continuous Integration / Continuous Deployment
- DDL: Data Definition Language (SQL schema statements)
- DLQ: Dead Letter Queue
- EDA: Event-Driven Architecture
- ETL: Extract, Transform, Load
- GDPR: General Data Protection Regulation
- HATEOAS: Hypermedia as the Engine of Application State
- iCal: Internet Calendar (RFC 5545)
- JWT: JSON Web Token
- MCP: Model Context Protocol
- MVP: Minimum Viable Product
- OIDC: OpenID Connect
- OTA: Online Travel Agency
- OTel: OpenTelemetry
- PII: Personally Identifiable Information
- PMS: Property Management System
- RBAC: Role-Based Access Control
- REST: Representational State Transfer
- RLS: Row-Level Security
- SLO: Service Level Objective
- SaaS: Software as a Service
- SLA: Service Level Agreement
- TTL: Time To Live
- UI: User Interface
- UUID: Universally Unique Identifier
Common Patterns
Optimistic Locking Using ETags or version numbers to detect conflicts when multiple clients update the same resource.
Circuit Breaker Pattern to prevent cascading failures by stopping requests to a failing service after a threshold.
Exponential Backoff Retry strategy where delay between attempts increases exponentially (e.g., 1s, 2s, 4s, 8s).
Full Jitter Randomization applied to backoff delays to prevent thundering herd.
Saga Pattern Distributed transaction pattern using compensating transactions for rollback.
Event Sourcing Storing state changes as a sequence of events rather than current state only (not used in MVP).
CQRS Command Query Responsibility Segregation - separate models for reads vs. writes (not used in MVP).
Sources
- meta/research-log.md
- docs/00-overview/platform-overview.md