Case study · Business systems
Travel membership CRM, tour manifest and payments platform
A Laravel admin system for a travel membership business: household CRM, tour manifest with check-in, payment links, dues reporting and campaigns.
At a glance
- Who it's for
- Sales agents, managers, marketing staff and administrators at a travel membership business.
- Core stack
- Laravel, Blade, Vue 3, Tailwind CSS
- What sets it apart
- Booking, payments, dues tracking, commissions and calls handled in one admin application.
The live system
Screens captured from the running admin account in October 2026, with names, contact details, amounts and counts replaced by placeholders.






The challenge
A travel membership business sells through scheduled tours and presentations, in person and over Zoom. Staff in sales, marketing and the office all work from the same member and prospect records.
Booking tours, taking payments, checking whether dues are current, paying commissions and contacting members tend to live in separate tools. Each handoff is a chance for records to disagree.
The solution
A server-rendered admin application built around the household record. Prospects are booked into tour slots on a manifest, payments are taken through hosted links, and dues status is reported per household from Stripe data with room for staff overrides.
Commissions, campaigns, call tickets and customer portal access sit in the same application, with role-based users so each team sees the screens it needs.
Key features
What the system does, as seen in the running application.
- 01
Household CRM
Member records with search, portal-access and dues filters, an inactive flag and CSV export.
- 02
Tour manifest
Tours booked by city and day with a maximum per time slot, wave customisation and a check-in screen. Zoom and in-person tours are both supported.
- 03
Daily KPI dashboard
Today and week-to-date sales, tours and sales per guest, cancellations and Zoom tour performance.
- 04
Hosted payment links
SurePay hosted checkouts with status filter, resend and history, alongside direct payments.
- 05
Membership dues report
Dues status per household using Stripe historical data snapshots and staff overrides, with export and SMS actions.
- 06
Commissions and payroll
Contracts and commission calculations by role and manager.
- 07
SMS and email campaigns
Campaign list with progress and sending from a CSV.
- 08
Inbound calls and tickets
A Dialpad-powered incoming-call widget and tickets for inbound calls, colour-coded by age.
- 09
Customer travel portal access
Staff grant and control which households can log in to the customer-facing travel portal.
- 10
Roles and Login As
Administrator, sales, marketing and office roles, several per user, with impersonation for administrators.
- 11
Daily closing report
A daily report that staff can receive by email or SMS.
Implementation notes
Decisions worth knowing about.
Server-rendered pages
Pages are rendered by Laravel with Blade templates, with Vue used for some components rather than a separate front-end application.
Hosted payments
Card payments go through hosted checkout links, so the application sends and tracks links rather than handling card entry itself.
Role-based access
Users can hold several roles, and administrators can use Login As to see what a staff member sees.
Connected tools
Stripe, SurePay, Dialpad and Zoom are integrated rather than replaced, so staff keep the tools they already use.
Technology stack
Taken from the running application.
- Backend
- Laravel
- Blade
- Frontend
- Vite
- Vue 3
- Tailwind CSS
- jQuery
- Select2
- flatpickr
- SweetAlert2
- Integrations
- Stripe
- SurePay
- Dialpad
- Zoom
Business value
What the system enables. No numbers are claimed.
- Tour capacity and check-in are managed in one place instead of by message.
- Payment status and resend are available from a single list.
- Dues status can be checked per household and exported.
- Sales, tours and cancellations are visible daily without compiling reports.
- Staff access follows role, with customer portal access granted deliberately.
Need a system like this built?
Tell us what it needs to do and we will scope it with you on a call.