Listing Channel Mappings
Per-listing, per-channel pricing overrides for meals and VAS
📄️ List meal overrides for a channel across all listings (paginated)
A channel holds one override per listing per meal, which on the live agent channel is over a thousand rows, so this reads a page at a time. Default size is 50, capped at 200. The response is a page envelope: `data`, `total`, `page`, `size`.
📄️ List meals for a listing across all channels
List meals for a listing across all channels
📄️ List VAS overrides for a channel across all listings (paginated)
A channel holds one override per listing per VAS, which on the live agent channel is over a thousand rows, so this reads a page at a time. Default size is 50, capped at 200. The response is a page envelope: `data`, `total`, `page`, `size`.
📄️ List VAS for a listing across all channels
List VAS for a listing across all channels
📄️ Get a listing-channel-meal override
Get a listing-channel-meal override
📄️ Delete a listing-channel-meal override
Delete a listing-channel-meal override
📄️ Get a listing-channel-VAS override
Get a listing-channel-VAS override
📄️ Delete a listing-channel-VAS override
Delete a listing-channel-VAS override
📄️ Upsert a listing-channel-meal override
Creates or overwrites the (listingId, channelId, mealId) row for every listing in `listingId`. The field takes an array, so one save can cover the whole set a user picked in the listing selector — `'listingId': ['lst_0143ua', 'lst_9xKq2']` writes two overrides, each priced, enabled and deleted on its own. A bare string still works and gives one override back.
📄️ Upsert a listing-channel-VAS override
Creates or overwrites the (listingId, channelId, vasId) row for every listing in `listingId`, which takes an array so one save can cover the whole set a user picked in the listing selector. `vasCostId` carries provenance (including variant context) back to the catalog row. An optional `pricingConfig` lets a single listing override the pricing strategy.