A comprehensive Next.js application for Mexico vacation certificate sales with payment plans, client portal, and admin dashboard.
- Beautiful hero section with Mexico destination imagery
- Email capture with phone number collection
- Payment plan integration ($39/month for 18 months)
- Destination showcase (Cancun, Cabo, Rivera Maya, Puerto Vallarta)
- Customer testimonials and FAQ section
- "Hour to Paradise" program information
- Integration with Maverick Payments API
- Monthly payment plan processing ($39/month x 18 months = $702 total)
- Real-time payment status tracking
- Automatic certificate issuance upon successful payment
- Refund processing capabilities
- Vacation certificate viewing and management
- Booking instructions and information
- Payment plan tracking and management
- Travel resources and destination guides
- 24/7 support contact information
- Dashboard with key metrics (signups, revenue, destinations)
- Manage vacation package signups
- Track monthly payments and revenue
- Process refunds with one-click functionality
- Certificate management and issuance
- Destination popularity analytics
- Role-based access control (Admin/Client)
- Secure login system
- Protected routes
- Offer: 5 Days, 4 Nights All-Inclusive Mexico Vacation
- Price: $39/month for 18 months ($702 total value)
- Savings: Over $800 compared to regular pricing ($1,500+)
- Requirement: 90-minute resort presentation about vacation ownership
- No Obligation: Customers are not required to purchase anything
- Cancun: Pristine beaches & vibrant nightlife
- Cabo San Lucas: Dramatic cliffs & luxury resorts
- Rivera Maya: Ancient ruins & turquoise waters
- Puerto Vallarta: Stunning sunsets & culture
- 5 Days & 4 Nights Accommodation
- All Meals & Drinks (including alcoholic beverages)
- Premium Resort Amenities
- Access to Beaches & Pools
- Flexible Booking Dates
- Framework: Next.js 15 with App Router
- Language: TypeScript 5
- Styling: Tailwind CSS 4 with shadcn/ui components
- Database: Supabase (PostgreSQL)
- Payment: Maverick Payments API
- Authentication: Custom auth system
- State Management: React hooks
- UI Components: shadcn/ui with Lucide icons
- Node.js 18+
- npm or yarn
-
Clone the repository
-
Install dependencies:
npm install
-
Set up environment variables:
cp .env.example .env.local
Configure the following variables:
NEXT_PUBLIC_APP_URL: Your application URLMAVERICK_API_URL: Maverick Payments API URLMAVERICK_API_KEY: Your Maverick API key
-
Run the development server:
npm run dev
-
Open http://localhost:3000 in your browser
The application uses Supabase as the database. The following tables are included:
users- User accounts and rolessignups- Vacation package signups with payment plan detailspayments- Payment transactions (initial, monthly, refunds)certificates- Issued vacation certificates with destination details
POST /api/signup- Create new vacation package signupPOST /api/payment/create- Create initial/monthly paymentPOST /api/payment/confirm- Confirm payment status
POST /api/admin/refund- Process refund
- Email: any email
- Password:
demo123
- Email: any email
- Password:
demo123
src/
βββ app/
β βββ api/ # API routes
β β βββ admin/ # Admin endpoints
β β βββ payment/ # Payment endpoints
β β βββ signup/ # Signup endpoint
β βββ admin-portal/ # Admin dashboard
β βββ client-portal/ # Client dashboard
β βββ payment/ # Payment pages
β βββ page.tsx # Landing page
βββ components/
β βββ ui/ # shadcn/ui components
β βββ auth-guard.tsx # Authentication wrapper
β βββ login-modal.tsx # Login modal
βββ lib/
β βββ auth.ts # Authentication utilities
β βββ maverick.ts # Payment API integration
β βββ supabase.ts # Database client
β βββ utils.ts # Utility functions
βββ hooks/ # Custom React hooks
- User fills signup form with name, email, and phone
- Creates signup record with payment plan details
- Initiates first monthly payment via Maverick API
- Redirects to payment checkout
- On successful payment, creates user account and certificate
- User can access client portal to manage vacation and payments
- Admin views active payment plans
- Clicks refund button on any customer
- Confirms refund amount
- Processes refund via Maverick API
- Updates payment and signup status
- Notifies user via email (future enhancement)
- Automatic certificate generation on first payment completion
- Destination-specific certificates with resort details
- Downloadable PDF certificates
- 18-month validity period
- Booking instructions included
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLint
npm run db:push- Push schema to databasenpm run db:generate- Generate Prisma clientnpm run db:migrate- Run database migrations
- Role-based access control
- Protected API endpoints
- Input validation and sanitization
- Secure payment processing
- HTTPS enforcement in production
- Affordable luxury vacations ($39/month)
- Flexible payment plans
- Access to premium resorts
- No obligation to purchase timeshare
- Excellent customer support
- Recurring revenue model
- High customer lifetime value
- Low acquisition costs through presentations
- Scalable business model
- Comprehensive admin tools
- Email notifications and reminders
- Advanced analytics dashboard
- Mobile app for customers
- Integration with calendar systems
- Automated payment processing
- Multi-language support (Spanish/English)
- Additional destinations
For support and questions, please contact:
- Email: support@mexicoparadise.com
- Phone: 1-800-MEXICO
- 24/7 Travel Support Available
This project is licensed under the MIT License.