BookByProduct story ↗

Under the hood

A real operating system for one listing.

Code collects and normalizes the evidence. Models prepare reproducible guideposts. Greg investigates the complete board. Hard owner promises and write-safety gates control external action. Guesty confirms what actually happened.

Current public receipt: Aug 22, 1:11 PM ET

System map

Two wakeups. One verified operating loop.

The same production path runs at 7:05 AM and whenever a booking, cancellation, or alteration changes the calendar.

DAILY7:05 AM schedulerFresh day, fresh lead time, fresh market
EVENTWebhook + five-minute certainty pollBooking, cancellation, or alteration
01Refresh truth

Wheelhouse, Guesty, Airbnb, history, market, panel

02Normalize

One privacy-safe date and stay contract

03Compute guideposts

Clock, pace, comps, paths, geometry, cleaner

04Greg investigates

Complete evidence, conflicts, alternatives, final target

05Hard gates

Owner rules, freshness, atomicity, concurrency, invariants

06Write once

Wheelhouse prices, Guesty calendar rules

07Read back

Fresh Guesty truth and bound receipts

08Report + learn

Owner email, scoreboard, later outcome grade

Data contracts

What comes in, field by field.

Collectors are coded and repeatable. Greg receives a prepared evidence packet, but can still inspect the raw rationale and explore any source.

932reservation records
284,729posted-price records
10,956potential comps screened
4,896qualified substitutes
8,256panel member-date cells
12,960exact-date observations
Every run

Wheelhouse

Official RM API + OAuth MCP
ENDPOINTS / SURFACES

price_recommendations?attribution=true · price_calendar · neighborhood/pricing · neighborhood/occupancy · sets/{id}/time_series · sets/{id}/distribution · checkin_checkout

FIELDS CAPTURED

date · recommended price · seasonality · local demand · scarcity · occupancy pacing · historical anchoring · neighborhood range · minimum stay · posted price

USED FOR

The pricing prior, market pace, attribution, settings, and channel write surface.

Every run + event certainty poll

Guesty

Official Open API
ENDPOINTS / SURFACES

availability-pricing calendar · reservations · calendar write + readback

FIELDS CAPTURED

stay date · availability · booked or blocked · live price · check-in · check-out · booked at · stay length · guest count · channel · accommodation revenue

USED FOR

System of record for the real calendar, reservations, Sunday-cleaner rules, and independent confirmation.

Daily journal

Airbnb

Owner-authorized signed-in DOM capture
ENDPOINTS / SURFACES

9 aggregate Performance pages · year-over-year + similar-listing modes

FIELDS CAPTURED

page views · wishlist additions · search impressions · conversion · lead time · nightly rate · occupancy · cancellations · length of stay

USED FOR

Shopper-funnel evidence that Wheelhouse and Guesty cannot see.

Rebuilt after new reservation history

Listing history

Normalized Guesty corpus + price ledger
ENDPOINTS / SURFACES

8 years of reservations · 284,729 posted-price records

FIELDS CAPTURED

stay night · booked at · lead time · accepted rate · stay length · weekday · season · event class · cancellation

USED FOR

The listing-specific BookBy clock and historical booking curves. The COVID shutdown is excluded from demand inference.

Daily baseline + weekly scout review

24-listing research panel

Official Dynamic Set APIs + daily signed-in Calendar capture
ENDPOINTS / SURFACES

sets/candidates · sets/{id}/listings · aggregated_metrics · time_series · distribution · Calendar export until per-member API ships

FIELDS CAPTURED

listing role · bedrooms · sleeps · distance · channel · daily ask · available · inferred booked · unavailable unknown · pickup · reopening

USED FOR

A maintained panel for near-term couples, long-lead families, and hyperlocal neighborhood demand.

The maintained comp panel

Not 24 random nearby listings.

The panel reflects how this unusual apartment competes. One-bedroom substitutes matter more for near-term couples. Capacity matters more for families booking farther out. Hyperlocal inventory captures neighborhood-specific need.

SCREEN10,956market candidates
QUALIFY4,896plausible substitutes
MAINTAIN24daily research panel
16

Stable core

A continuous time series. No more than two core changes per weekly review.

8

Research scouts

Rotating candidates used to test whether a better substitute belongs in the core.

3

Booking missions

Near-term couple, long-lead family, and neighborhood necessity.

LIVE + VERIFIED

What it can say: a member changed from available to inferred booked, the last observed asking rate, stay shape, lead time, and whether our listing was eligible.

What it cannot say: the transaction price, why the guest chose it, or whether Wheelhouse marked a night unavailable because it was booked or blocked.

Decision tools

Greg starts with six purpose-built instruments.

They make each run consistent and inspectable. They are guideposts, not blind constraints. Greg can challenge their assumptions and replace a soft recommendation, but the rationale must be recorded.

01

BookBy clock

Builds a separate historical booking window for each date class, including holidays, weekday or weekend, season, and event timing.

02

Pace controller

Compares booked inventory with the correct date-specific curve. Ahead creates upward pressure. Behind creates downward pressure. On pace supports a hold.

03

Comparable-market lens

Uses the broad market and the maintained 24-listing panel to size a move and test whether this apartment is still a strong eligible value.

04

Stay-path solver

Enumerates the two-to-fourteen-night stays still possible so related nights can be priced and protected as a complete product.

05

Protected Geometry

Outside D-30, uses arrival and departure restrictions to prevent one-night leftovers while preserving every clean stay. At D-30, the controls release automatically.

06

Cleaner controller

Creates and safely releases only the Sunday protection BookBy owns when a reservation edge would otherwise require Sunday cleaning.

ONE RECORD PER FUTURE DATE
current_pricetarget_pricesupported_rangeraise | hold | lowerpace_stateBookBy_phasemarket_anchorgeometry_rolecleaner_stateconfidencereasons[]execution_statereadback

Write authority

Intelligence can explore. External action is tightly controlled.

The safety layer does not decide the price. It proves that the evidence is current, the action is complete, the owner's promises survive, and the channel accepted the exact result.

88/91current adversarial suite0 failed gates in this receipt
ATTACKStale or missing evidence

Stop before any qualified write.

ATTACKTwo runs collide

Only one locked pricing authority may write.

ATTACKThe board changes after planning

Discard the plan, reread Guesty, and decide again.

ATTACKA partial stay would move

Reject the whole batch before it reaches a channel.

ATTACKA move would strand one night

Fail the geometry invariant.

ATTACKBooked or private inventory is touched

Reject the write.

ATTACKThe channel reads back a different result

Fail the run and preserve the mismatch receipt.

ATTACKA cancellation removes a cleaner need

Release only BookBy-owned protection after a fresh read proves it is safe.

signed target hashsingle locked writerWheelhouse / Guestyfresh Guesty readbackimmutable receipt

Accountability loop

Outcomes are graded without pretending correlation is causation.

A price change is not revenue. A later booking does not prove that price caused it. BookBy keeps an attribution ladder so verified operations, realized outcomes, and causal claims are never blended.

1Operation

What was raised, held, lowered, or protected and whether the channel confirmed it.

2Outcome

What later booked, reopened, remained vacant, or preserved option value.

3Comparison

Accepted rate versus the frozen Wheelhouse baseline and prior displayed price.

4Learning candidate

A pattern becomes a proposed adjustment only after enough comparable evidence accumulates.

5Human-readable change

New model behavior is versioned, tested, and explained. There is no silent automatic retraining.

Production truth

No vapor. Every capability declares its boundary.

Green means external evidence verifies the behavior. Amber means it operates with a named gap. Gray means it can inform Greg but cannot write.

LIVE + VERIFIEDDeterministic 365-date pricing and two-sided authority

Can raise, hold, or lower an exact open night; booked and unavailable inventory stays immutable.

calendar=2026-08-22; rows=365
LIVE, GAP STATEDG.R.E.G. full-evidence judgment

Reviews normalized evidence and model intermediates, can explore dates with diagnostic tools, and may keep or replace any soft coded recommendation after recording evidence, counterevidence, alternatives, and uncertainty.

board=2026-08-22; judgment receipt=passed; applied=true
Boundary: The current reasoning receipt, exact final-board binding, override count, subsequent authority receipt, and Guesty readback do not all agree.
LIVE + VERIFIEDD.O.U.G. blind-first adversarial review

Forms its attack docket before seeing G.R.E.G., challenges the objective, commercial diagnosis, code, tools, and recovery paths, and may veto dates or block provider authority without mutating anything itself.

review completion=completed_validated; result=passed/surface
RESEARCH ONLYProtected Geometry / Tetris Guard

Analyzes orphan-producing stay paths without changing guest bookability.

candidate gaps=5; live controlled arrival/departure dates=0; previously observed BookBy dates=10
Boundary: Candidate controls are analysis-only. BookBy has zero new Protected Geometry write authority until representative Airbnb shopper-path proof succeeds; previously applied controls remain a separately disclosed release obligation.
LIVE + VERIFIEDSunday-cleaner inventory protection and release

Blocks either side of a Sunday turnover and removes only obsolete BookBy-owned protection after a cancellation or alteration.

status=live_inventory_reconciled; protected edges=5
Boundary: Cleaner-message delivery is a separate automation and is not proven by the inventory receipt.
LIVE, GAP STATEDBooking/cancellation/alteration trigger

Re-runs cleaner protection, geometry, and the full 365-date price decision after the board changes.

listener running=true; last exit=255
Boundary: The listener and authoritative event operator are healthy, and the geometry step is installed and tested. The last real event predates the geometry receipt contract, so the next real booking, cancellation, or alteration must prove that combined path end to end.
LIVE, GAP STATEDPrivacy-safe owner email after an event

Sends the event kind, dates/pace/Protected-Geometry result, cleaner result, price result, and whether attention is needed—without guest identity.

latest send=2026-08-12T01:05:47.084Z; provider status=200
Boundary: Email delivery is proven, and the new geometry-aware notification passes privacy and idempotency tests. The next real booking, cancellation, or alteration must produce the first delivered version-2 geometry receipt.
LIVE, GAP STATEDBinary owner email after every morning run

Makes email the primary owner interface: Greg leads with whether the owner is needed, then reports verified pricing, pace, geometry, cleaner protection, and only the decisions Greg cannot make alone.

latest send=2026-08-20T17:05:47.401Z; provider=resend/200
Boundary: The notifier is installed and tested, but today’s production delivery receipt is missing or incomplete.
LIVE + VERIFIED3:45 unattended evidence refresh

Refreshes Guesty, Wheelhouse, settings, the daily Airbnb journal, and read-only model inputs before the 5:15 operator.

LaunchAgent loaded=true; runs=6; last exit=0
LIVE, GAP STATED5:15 unattended operating run

Refreshes authority, reconciles constraints, prices every day, writes eligible changes, verifies Guesty, tests, and rebuilds receipts.

LaunchAgent loaded=true; runs=6; last exit=1
Boundary: The scheduler may be healthy, but today's target/validation/authority/channel-readback chain is not completely proven in this copy.
LIVE, GAP STATED6:00 bounded recovery and terminal-receipt watchdog

Waits for an in-progress 5:15 run instead of racing it, retries one failed or missing run when the lock is free, and proves the matching success-or-failure email state.

LaunchAgent loaded=true; runs=6; last exit=1
Boundary: The watchdog code or plist may exist, but it is not live until the explicit installer loads the LaunchAgent and a current terminal receipt proves the run.
LIVE + VERIFIEDExact-date Wheelhouse market prior and momentum

Directly changes confidence, protects strong-demand inventory from premature cuts, and helps detect chronic underpricing.

exact-date neighborhood prices=719; occupancy dates=371
Boundary: Wheelhouse aggregates are revision-prone, so BookBy uses relative movement and corroboration rather than calling them literal competitor bookings.
LIVE + VERIFIEDWheelhouse alert health

Turns an already-captured Wheelhouse alert surface into a privacy-safe secondary operator-health signal.

status=complete; source=2026-08-22T07:45:11.347Z
Boundary: This is secondary alert evidence. Direct channel price readback remains authoritative, and BookBy never dismisses or changes Wheelhouse alerts automatically.
LIVE + VERIFIEDSelected-market clearance engine

Separates expensive unsold asks from actual market clearance, so BookBy can protect tightening dates and refuse comp-driven raises when comparable supply remains plentiful.

exact dates=62; pickup window=7 days
Boundary: The current report exposes selected-set aggregates rather than individual shopper eligibility. It corroborates or vetoes direction but never sets a dollar by itself.
LIVE + VERIFIEDSelected-panel exact-date Calendar history

Turns the maintained 24-listing panel into anonymous exact-date current asks, clean stay availability, and longitudinal inferred pickup evidence that G.R.E.G. can inspect for a specific stay.

members=23; dates=344; observations=7912
Boundary: Booked versus blocked is inferred from the supported Calendar display, and the last-observed asking rate is not a transaction price. This remains corroborating evidence, not independent price authority.
LIVE + VERIFIEDListing-specific Book By clock

Learns which exact weeks for this listing tend to book early, late, high, or low and adjusts a market-first target only when corroborated.

dates=365; high-confidence=365; medium-confidence=0
Boundary: The clock is descriptive and bounded; it cannot authorize a write by itself.
LIVE, GAP STATEDAirbnb Performance capture and daily journal

Adds visibility, wishlist, conversion, achieved-rate, lead-time, and cancellation weather that Wheelhouse does not have.

journal date=2026-08-22; status=fresh_capture_today
Boundary: The journal runs unattended, but a fresh Airbnb website capture still depends on an authorized signed-in browser session; credentials alone do not make browser login durable or safe. Funnel data changes broad diagnosis/confidence, not a date's exact dollar.
RESEARCH ONLY10,956-listing competitive telescope

Challenges the market prior and exposes likely underpricing or an implausible cohort; it does not currently write prices.

candidate census=10022; endpoint complete=false
Boundary: The broad paid candidate census is analyzed in best-1/5/20/100/market rings, but individual exact-date eligibility and current restrictions are unavailable. It is deliberately not live price authority yet.
LIVE, GAP STATEDMaintained 24-listing competitive research panel

Maintains a channel-balanced panel for near-term couple, long-lead family, and hyperlocal demand. Sixteen core members preserve a continuous time series while eight scouts test whether better substitutes should be promoted.

qualified universe=4896; selected members=24
Boundary: The selector and private activation plan exist, but the current paid-set membership is not independently proven as an exact match.
RESEARCH ONLYStay-level option value and joint-calendar optimizer

Research layer for valuing what a booking would permanently foreclose across the rest of a gap.

clean stay paths analyzed=1222
Boundary: The joint solver currently fails its reconciliation gate and has zero live actions. The live price engine uses only the already-validated bounded geometry/option-value features.
LIVE, GAP STATEDDecision recording and outcome learning

Creates accountable evidence for future calibration without claiming a price caused a booking.

graded decision states=eligible:41499, observed-booked:2556, shadow:4619, shadow-booked:236
Boundary: Decisions and later outcomes are recorded and graded, but the system does not yet automatically retrain or recalibrate its core parameters from those grades.
LIVE, GAP STATEDNon-causal success and regret scoreboard

Separates verified work, observed outcomes, frozen counterfactuals, and causal claims so Greg can be credited and held accountable without inventing attribution.

verified channel changes=88; realized option-value nights=1
Boundary: The outcome scorecard is missing or stale.
LIVE, GAP STATEDGuesty/Wheelhouse structural settings

Audits available settings and can change supported controls under owner authority, but only after an exact preflight and readback contract exists.

latest audit=2026-08-22T17:08:41.937Z; controls audited=12
Boundary: Airbnb host-fee translation, channel markup parity, and a cancellation-policy conflict require an explicit economic/policy decision. BookBy must not silently invent one.