Restoring your session…

9:41Villa Savina Staff
SAVINA

Villa Operations

Build notes

How this MVP is wired.

The phone preview on the left is the staff app. The PDF preview on the right is what the guest receives. This panel is a short engineering note about where each integration plugs in.

Booking source Reads from Supabase project villa-savina-reimbursements-staging today. OwnerRez or Savina CRM can later populate the same bookings table.
OCR Runs browser OCR through src/integrations/ocr.js, then applies receipt rules for vendor, date, total, and rewards/wallet exclusions.
FX Provider rate and customer rate are split in src/integrations/fx.js. The guest PDF only ever shows the adjusted customer rate.
Payments One-time Stripe Payment Links are created by the create-stripe-checkout Supabase Edge Function (capped to a single completed payment). The hosted URL is embedded in the guest PDF as a clickable “Pay Invoice” link, and the stripe-webhook function reconciles paid/expired/failed status. Setup notes in docs/stripe-payments.md.
Schema Supabase tables for bookings, receipts, reports, report_receipts, and activity ship in db/migrations/0001_initial.sql.

Guest Folio

TOTAL DUE $0.00 USD

Summary

* At SAVINA, your grocery pre-stocking is complimentary. Additional trips incur a fee of $25.00 USD per trip.

Included Charges

Villa Savina