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.
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