# Synthetic row

Source: https://lemon.cy/glossary/synthetic-row/  
Publisher: Lemon.cy (Red Tribe Media Ltd, Limassol, Cyprus)  
Updated: 2026-09-10 · Verified against production: 2026-09-10

**Short answer:** A booking Lemon creates itself rather than reading from a feed — today, the placeholder for uncovered nights. Because no feed will ever carry its identifier, a synthetic row is a snapshot, not a subscription, and needs its own answer to "what keeps this in step with reality?".

Synthetic rows exist to ask the host a question the feed cannot answer. Two properties follow from that. They must never be treated as "missing from the feed", because they were never in it — so the missing-booking engine shields them. And they must not block the real event if the OTA later exports it — so promotion runs before the duplicate guards: a real event whose UID is unclaimed and which overlaps exactly one synthetic row adopts that row (`synthetic_promoted`).

Lemon learned the second property the hard way: an earlier version left synthetic rows frozen and skipped every real event underneath them, so a host had to fix dates by hand.

## Related

- [Uncovered nights](https://lemon.cy/glossary/uncovered-nights/)
- [Merged block](https://lemon.cy/glossary/merged-block/)
