Guestflow
property sync system
Every listing site makes your property look the same as the rest.
A custom front-end changes the game — but only if it stays in sync.
Guestflow keeps it live. Real pricing, live calendars, direct bookings.
System components
Active flow:
Listing Sync
Availability
Book & Pay
scroll to explore
▿
Guesty
CF Worker
Webflow
Cache
Booking
Architecture
Server exists only for what needs auth — everything else is edge-cached
5 embeddable widgets communicate via DOM events, not a shared runtime
Zod schemas guard every boundary — Guesty's real payloads diverge from their docs
Webhook-driven: no polling, no cron — listings sync on every change
In-Memory
Per-worker, fastest lookup
Lost on cold start
↓ miss
CF Cache API
Persistent, shared across workers
Survives restarts
↓ miss
OAuth Mint
Guesty API call
5 per 24 hours
Caching under constraints
Guesty caps OAuth tokens at 5/day — Workers cold-start and lose memory
Two-tier cache: in-memory for speed, CF Cache API for persistence across restarts
Refresh lock prevents a thundering herd of simultaneous token mints
Accepted trade-off: one extra token per day worst-case, not five
Auth
HMAC / Bearer
Validate
Zod schema
Route
classify error
200 stop
5xx retry
Security & resilience
Svix HMAC-SHA256 with Bearer fallback for zero-downtime auth migration
Returns 200 for permanent errors — prevents Svix retry storms
Real 5xx codes for transient failures let the retry queue do its job
Card data never touches the server — PCI compliance via SDK delegation