# OTA Calendar Feed Integrity Report — September 2026

Source: https://lemon.cy/data/ical-feed-integrity/  
Period: 2026-08-11 to 2026-09-10 (30 days) · generated 2026-09-10T15:05:00Z · licence CC BY 4.0

**What this is:** every 5 minutes Lemon.cy fetches every connected Airbnb and Booking.com calendar, keeps a snapshot, and logs every decision the sync makes about a booking. This is the aggregate.

## Observation

- Feed fetches: 129351
- Calendar events observed: 540461
- Active feeds: 18 (9 airbnb, 9 booking_com)

## Decisions (1445)

| decision | count | meaning |
|---|---|---|
| elapsed_checkin_pinned | 1240 | The feed re-exported an in-progress stay with its elapsed nights removed (a forward-trim). Lemon kept the original check-in. |
| rekey_adopted | 78 | A stay vanished under one UID and reappeared under another with the same checkout. Lemon re-linked it instead of cancelling. |
| checkin_only_change | 67 | Only the check-in date moved. The cleaning job (which follows the checkout) was left untouched. |
| date_change_applied | 29 | The checkout moved, so the cleaning job was rescheduled and the cleaner told. |
| imminent_protected | 11 | A confirmed booking within 24 hours of checkout vanished from the feed. Lemon held it for host review instead of cancelling. |
| auto_cancelled | 10 | A booking was absent from a healthy feed for the full confirmation window and was cancelled, with its cleaner notified. |
| uncovered_surfaced | 8 | A merged block covered nights no tracked booking explained. Lemon asked the host whether they are a real stay. |
| synthetic_promoted | 2 | The feed later split a merged block into its real reservations; the placeholder row adopted the real one. |

## Derived

- rekeysPerFeedPerMonth: 4.3
- autoCancelShareOfDecisions: 0.007
- autoCancelsPerFeedPerMonth: 0.56
- decisionsPerFeedPerDay: 2.7
- protectedVersusCancelled: 11 held for review vs 10 cancelled

## Lifetime since 2026-02-12

- bookingsTracked: 591
- confirmedNow: 121
- withdrawnOrReclassified: 464
- withdrawnByFeedPlatform: {"booking_com":276,"airbnb":114,"manual_or_other":74}
- withdrawalRatioBookingComToAirbnb: 2.4
- cleaningJobs: 533
- jobsCompleted: 282
- jobsByType: {"checkout":506,"manual":20,"mid_stay":6}
- offersAccepted: 360
- offersDeclined: 32
- offerAcceptanceRate: 0.918
- medianMinutesToAccept: 37
- medianCleaningMinutes: 93
- cleaningDurationSample: 182
- photosSubmitted: 916
- checklistReports: 152
- outboundMessages: 2906

## Method

Read-only aggregate queries over Lemon.cy production tables ical_feed_snapshots and booking_decisions (every fetch of every connected feed is snapshotted; every booking-affecting decision the sync makes is logged with its kind and reason). No property, guest or host identifiers are included. Lifetime figures include cancellations caused by Lemon's own pre-August-2026 booking-identity bug, fixed 2026-08-05; the 30-day decision series is the clean one.
