# Moore Sunny Daze **Direct-booking vacation rental site for Maravilla 1403, Miramar Beach FL.** | | | |---|---| | **Owners** | Tim & Ashley Moore | | **Property** | Maravilla 1403 — 3BR/2BA, sleeps 8 | | **Location** | Miramar Beach, FL 32550 | | **Status** | 🚧 In Development | | **Deployment** | Core (152.53.33.195) | ## Architecture ``` mooresunnydaze.com ├── / (landing page) → /var/www/mooresunnydaze/index.html ├── /admin/ (dashboard) → /var/www/mooresunnydaze/admin.html ├── /api/* (booking API) → 127.0.0.1:8911 (FastAPI) └── /stripe-webhook (payments) → 127.0.0.1:8911 ``` ## Tech Stack | Layer | Tech | |---|---| | Frontend | Single-file HTML/CSS/JS (Coastal Elegant theme) | | Backend | FastAPI + uvicorn (Python) | | Database | SQLite | | Payments | Stripe Checkout | | Proxy | Caddy (reverse proxy + SSL) | | Process | systemd | ## API Endpoints ### Public | Method | Path | Description | |--------|------|-------------| | GET | `/api/health` | Health check | | GET | `/api/property` | Property details | | GET | `/api/availability?month=YYYY-MM` | Booked dates for month | | POST | `/api/quote` | Calculate price for dates | | POST | `/api/booking` | Create booking → Stripe checkout | | GET | `/api/booking/{id}` | View booking details | ### Admin (Authorization: Bearer {key}) | Method | Path | Description | |--------|------|-------------| | GET | `/api/admin/stats` | Dashboard stats | | GET | `/api/admin/bookings` | All bookings | | GET | `/api/admin/guests` | Guest directory | | PATCH | `/api/admin/booking/{id}` | Update booking status | | POST | `/api/admin/block-date` | Block a date | | DELETE | `/api/admin/block-date` | Unblock a date | ### Stripe | Method | Path | Description | |--------|------|-------------| | POST | `/stripe-webhook` | Stripe webhook (test mode) | | POST | `/stripe-webhook-live` | Stripe webhook (live mode) | ## Pricing | Season | Dates | Nightly Rate | |--------|-------|-------------| | Peak | May 15 – Aug 15, holiday weeks | $295 | | Off-peak | All other dates | $225 | | Cleaning fee | Flat | $150 | | Pet fee | Per stay | $50 | | Minimum stay | | 3 nights | ## Deployment ```bash # Quick start (test) /opt/mooresunnydaze/venv/bin/uvicorn server:app --host 127.0.0.1 --port 8911 --app-dir /opt/mooresunnydaze # Production deploy bash /tmp/deploy-msd.sh ``` ## Environment Copy `.env.example` to `.env` and fill in: | Variable | Description | |----------|-------------| | `STRIPE_SECRET_KEY` | Stripe API secret key | | `STRIPE_WEBHOOK_SECRET` | Stripe webhook signing secret | | `MSD_ADMIN_API_KEY` | Admin dashboard auth key | ## Related Projects - **Beach Direct** — Commercial product built from this reference implementation. See `docs/beach-direct-project.md`. ## Domain - Current: `mooresunnydaze.com` (Wix, DNS: 185.230.63.x) - Target: Transfer from GoDaddy → Cloudflare, point to Core (152.53.33.195) - Migration plan: `docs/migration-plan.md`