Skip to main content
A trip your customer approved moved as a whole. Show your customer where the trip stands without asking Agentcard. When your customer says yes to the review of a flight, a hotel and a car, Agentcard books them as one plan: the flight first, then the hotel and the car together, each with the flight’s confirmed details. plan.updated tells you when the plan starts, when it finishes, and when it waits for your customer.

Read why the plan moved

reason says what happened. plan carries the whole trip, so you can redraw it from this one event.

Keep the newest version

version moves with every change, and a retried delivery can arrive after a newer one. Keep the highest version you have seen for each booking’s item.key, from both plan.updated and plan.item.updated. When a plan.updated arrives, take each booking in plan.items only when the event’s version is higher than the one you hold for that booking, so a late plan snapshot never resets a booking a newer plan.item.updated already moved. Keep a second highest version for the plan itself, from plan.updated alone, and update status, total_cents, charged_cents and hold_until only when an event’s version is higher than that one.

Read the plan at any time

Read the same plan whenever you need it with GET /buy/plans/:id, using the shopper’s access token. A plan that belongs to another shopper answers 404.