page:blueprints:hospitality:public directory:laravel

Hospitality: public directory using Laravel

Summary

A public directory blueprint for hospitality built with Laravel on Ample. Domain schema:

Public information includes room types, amenities, rates, property location, policies, events, and dining. Guest identity documents, payment details, and stay history are kept out of scope until handling is reviewed due to their sensitivity.

Technical Basis

Verified on Laravel: a workspace-scoped table, an explicit state machine (draft to review to published) that rejects invalid transitions, and a cross-workspace read that returns nothing (transitions=true isolation=true).

Resource Requirements

Infrastructure Requirements

  1. Compute
    • Status: verified
    • Summary: Apps run in isolated x86_64 Firecracker microVMs that auto-pause when idle and wake on request.
  2. Postgres
    • Status: verified
    • Summary: Managed PostgreSQL 16 runs in its own microVM, auto-provisioned as needed.
  3. CDN
    • Status: verified
    • Summary: The CDN host serves objects from published buckets.

Workflow Steps

  1. Model the hospitality domain: Create the tables room_types, inventory_movements, bookings, booking_lines, state_transitions.
  2. Serve only published listings, with media from the CDN bucket.
  3. Enforce the agency scope on every query.
  4. Deploy and verify a published listing and ensure unpublished listings are absent.
  5. Run the synchronous deploy once and read the result. Re-running with no change is a no-op.
    • Command: ample deploy . --name --public ...
  6. Verify: Run the pattern self-tests and your acceptance checks for the hospitality workflow.
    • Command: ample logs --kind build

Limitations

Cost Estimate