1. legacy
Itinera API
  • ✈ Itinera API Documentation
  • Docs
    • legacy
      • Itinera — System Overview
      • Technology Stack & Architecture
      • Getting Started Guide
      • Infrastructure
      • Frontend Application
      • Architecture Overview
      • API Reference
      • Backend Services
      • Development Guidelines
    • phases
      • 01. Architecture Overview & Checkout Idempotency
      • Phase 2: Commerce & Checkout Engine
      • Phase 3: Webhooks & Asynchronous Fulfillment
      • Phase 4: Security Perimeter & Authentication
      • Phase 5: Database Schema & Entity Relationships
      • Phase 6: AI Quota & Telemetry Subsystems
      • Phase 7: API Route Matrix & FormRequests
      • Phase 8: Global Exception & Error Handling
      • Phase 9: Frontend Ecosystem & State Management
      • Phase 10: Design System & Component Library
      • Phase 11: Interactive GSAP Animations
      • Phase 12: Deployment & CI/CD Pipeline
      • Phase 13: Testing Strategies
      • Phase 14: Performance & Optimization
      • Phase 15: Developer Onboarding & Runbooks
      • 15-Phase Comprehensive Wiki & Documentation Plan
  • APIs
    • Auth
      • Register a new user
      • Log in a user
      • Log out user
      • Refresh JWT token
      • Forgot password request
      • Reset password verification
      • Get current user profile
      • Update user profile
      • Redirect to Google OAuth
      • Google OAuth Callback
      • Verify email via signed URL
    • Catalog
      • List all countries
      • Get country details
      • List all cities
      • List all regions
      • List all destinations
      • Get destination details
      • Get hotels by destination
      • List all hotels
      • Get hotel details
      • Get reviews for a hotel
      • List all flights
      • Get flight details
      • List all restaurants
      • Get restaurant details
      • List all attractions
      • Get current weather
      • Submit review for an entity
      • Delete review
      • Toggle favourite status for entity
      • List my submitted reviews
    • Bookings
      • Book a tour destination
    • V1 Aliases
      • V1 List all countries
      • V1 Get country details
      • V1 List all cities
      • V1 List all destinations
      • V1 Get destination details
      • V1 Get hotels by destination
      • V1 List all hotels
      • V1 Get hotel details
      • V1 Get reviews for a hotel
      • V1 List all flights
      • V1 Get flight details
      • V1 List all restaurants
      • V1 Get restaurant details
      • V1 List all attractions
      • V1 Get attraction details
      • V1 List all regions
      • V1 Get weather details
    • Trips
      • List user trips
      • Create a new trip
      • Get trip details
      • Update trip details
      • Delete a trip
      • Get creation metadata
      • Attach items to a trip
      • Update trip item
      • Detach items from a trip
      • Fork a trip
    • Conversations
      • List user conversations
      • Start a new conversation
      • Get conversation details
      • List messages in conversation
      • Send message to conversation
      • Mark conversation as read
    • Commerce Plans
      • List public plans
      • Get public plan details
    • Commerce Subscriptions
      • Subscribe to a plan
      • Upgrade active plan
      • Get active subscription info
      • Cancel active subscription
    • Commerce Checkout
      • Initiate Paymob payment checkout
    • Integrations
      • Paymob status webhook callback
      • Paymob redirect return callback
    • System Settings & Support
      • Submit public contact message
      • Subscribe to system newsletter
      • Get list of my reports
      • List all notifications
      • Mark single notification as read
      • List available surveys
      • Submit answers for survey
      • Get survey details
      • Update survey details
      • Delete survey response
    • AI Tools
      • Enhance itinerary details using AI
      • Request AI review of itinerary
      • Plan route using AI assistance
      • Get AI quota remaining details
      • Chat with AI Concierge assistant
      • Get AI Review progress by ID
    • Agency Integration
      • Request agency assignment
      • List agency active tasks
      • List agency managed trips
      • Get agency total earnings
      • Get agency profile details
      • Update agency profile details
    • Admin User Management
      • List users inside admin dashboard
      • Get user profile
      • Set user active status
      • Block user profile
    • Admin Catalog Moderation
      • Create new catalog category
      • Create new catalog destination
      • Create new hotel catalog record
      • Create new flight catalog record
      • Create new restaurant catalog record
      • Create new attraction catalog record
  • Schemas
    • User
    • ErrorResponse
    • Trip
    • Destination
    • Hotel
    • Flight
    • Restaurant
    • Attraction
    • Booking
    • Review
    • Agency
    • Survey
  1. legacy

Itinera — System Overview

RepoWiki root page · Team 2 Conference Case Study — Global Luxury Travel & Trip Planning Platform

Table of Contents#

1.
What Is Itinera
2.
Monorepo Layout
3.
Core Capability Map
4.
System Context Diagram
5.
Key Numbers
6.
Where To Go Next

What Is Itinera#

Itinera is an end-to-end luxury travel orchestration platform built as a fullstack monorepo for the Team 2 conference case study. It combines:
A Laravel REST API (fullstack/Backend) with 237 registered routes covering auth, catalog, trips, commerce, chat, and system services.
A vanilla JavaScript web app (fullstack/Frontend) with a boarding-pass aesthetic, ~35 static HTML pages, and zero build step for the public site.
Payments via PayMob (hosted checkout + HMAC-verified webhooks).
AI features via Groq LLM (itinerary generation, review, enhancement, concierge) with per-user quota tracking.
Executive reporting via DomPDF / OpenSpout with queued generation.
Live weather via Open-Meteo, cached in Redis.
Section sources: README.md

Monorepo Layout#

Team2-Conference-Project/
├── fullstack/
│   ├── Backend/      # Laravel API (PHP, JWT, MySQL, Redis, PayMob, Groq)
│   └── Frontend/     # Vanilla JS app (HTML5, CSS3, GSAP, no framework)
├── database/         # Root-level auxiliary DB assets
├── docs/             # Project-level documents
├── tasks/            # Sprint/task notes
├── .github/workflows # CI (Pint lint + PHPUnit)
├── Dockerfile        # Dual-role image: SERVICE_ROLE=frontend|backend
└── railway.json      # Railway deployment descriptor
The single root Dockerfile builds either a nginx static frontend or a php-fpm + nginx + supervisor backend depending on the SERVICE_ROLE build argument — one repo, two deployable Railway services.
Section sources: README.md, Dockerfile, railway.json

Core Capability Map#

DomainBackend moduleHighlights
Accountapp/Http/Controllers/AccountJWT auth, refresh rotation, email verification, social login (Google/Facebook), admin user management
Catalogapp/Http/Controllers/CatalogCountries, cities, destinations, hotels, flights, restaurants, attractions, stats; fixture seeding
Tripsapp/Http/Controllers/TripsCRUD, itinerary items, attach/detach, fork, AI generate/review/enhance, maps, reviews
Commerceapp/Http/Controllers/CommercePlans/subscriptions, checkout strategies, PayMob gateway + webhook, agency marketplace
Chatapp/Http/Controllers/ChatConversations + messages between users
Systemapp/Http/Controllers/SystemWeather, reports (PDF/XLSX), settings, surveys, contact/newsletter, flags, notifications, dashboard
Section sources: fullstack/Backend/routes/api.php

System Context Diagram#

Diagram sources: routes/api.php, composer.json, config/services.php

Key Numbers#

MetricValueSource
API routes237rg -c "Route::" routes/api.php
Migrations44 filesdatabase/migrations
Seeders34 classes + JSON fixturesdatabase/seeders
Feature/unit tests50+ test classestests/Feature, tests/Unit
Frontend pages~35 HTML pages (+ admin/, agency/, auth/)fullstack/Frontend
Frontend JS modules33 files under js/fullstack/Frontend/js
Section sources: repository tree inspection, 2026-08-23 @ commit 0c14fa54.

Where To Go Next#

New to setup → Getting Started Guide
How layers fit together → Architecture Overview
Stack versions & rationale → Technology Stack
Service internals → Backend Services
UI structure → Frontend Application
Deployment & CI → Infrastructure
Endpoint catalogue → API Reference
Modified at 2026-08-25 22:41:45
Previous
✈ Itinera API Documentation
Next
Technology Stack & Architecture
Built with