Moving a hotel's pricing without moving it twice.
The pipeline upserts in 6,000-row chunks via mavinoo/laravel-batch and pushes back in 10-row chunks, sized to the channel manager's limits. Extraction is chunked too — 50 properties and 15 rate plans per call — and CarbonPeriod explodes every date range so a price exists for every night.
