Laravel 12 · PHP 8.4 · REST

A REST API for crafting Himalayan trek proposals.

Build, version, and deliver end-to-end trek proposals — itineraries, hotels, inclusions, media, pricing — through one typed, OAuth2-secured API.

13.6.0 Laravel PHP 8.4.15 local env debug
What's inside

Everything a travel team needs to ship a proposal.

Twenty-plus resources wired together — from the master itinerary all the way down to per-day meal plans, hotel amenities, and pricing blocks.

Proposal Management

Create, replicate, and reorder proposals with JSON sections for itineraries, pricing, inclusions, reviews, and galleries.

Itinerary Builder

Multi-day planning with altitude deltas, weather, difficulty, activities, meal plans, and hotel assignments per day.

Hotel Database

Categorized accommodations — luxury, teahouse, eco-lodge, monastery stay — with amenities and meal plan metadata.

OAuth2 Auth

Token-based authentication via Laravel Passport with scoped access, refresh tokens, and active-user middleware.

Polymorphic Media

Attach images, videos, and documents to any model through Plank Mediable with disk, mime, and size tracking.

Audit Trail

Every create, update, and delete is captured by Spatie Activity Log with causer, IP, agent, and diff payload.

Start here

Common endpoints.

All routes live under /api and require a Bearer token, except login and register.

POST /api/auth/login Exchange credentials for an OAuth2 access token.
GET /api/proposals List proposals with filters, pagination, and embedded sections.
PUT /api/proposals/{id}/replicate Duplicate an existing proposal as a starting point for a new quote.
GET /api/itineraries Master itinerary templates (Everest BC, Annapurna, and friends).
POST /api/itinerary-days/reorder-days Reorder days and auto-rename with day numbers or date prefixes.
GET /api/proposal-build/itineraries Pre-formatted, read-only data for building a proposal from templates.
GET /api/dashboard/counter KPI counters — proposals, customers, activity trends.
GET /up Liveness probe for uptime monitoring and load balancers.
Developer tools

Observe, debug, and document in one place.

Open a live window into requests, jobs, and database load without leaving the project. Every tool below is wired up and ready — bookmark what you use.

Under the hood

Built on tools you already trust.

Laravel Passport
OAuth2 / scoped tokens
Plank Mediable
Polymorphic media
Spatie Activity Log
Audit trail
Cviebrock Sluggable
Auto slugs
Cviebrock Taggable
Content tagging
FastApiCrud
CRUD scaffolding
Scramble
API documentation
Laravel Pulse
Performance dashboard
Laravel Telescope
Request & job debugger
Pest
Testing framework

Ready to wire it into your product?

Authenticate, grab your first proposal, and render a PDF — it's about six curl calls end to end.

Read the docs Health check