Booking lifecycle
The supplier contract gives Kaptio one consistent lifecycle for accommodation, activities, and transfers. A supplier adapter translates each lifecycle action into the operations supported by that supplier.
Lifecycle at a glance
Search → Reserve → Book → Retrieve → Amend → Retrieve → Cancel
│ │
Cost then confirm Cost then confirm
| Stage | What Kaptio requests | What the supplier adapter does | What Kaptio records |
|---|---|---|---|
| Search | Availability and rates for dates, travellers, and product criteria | Authenticates to the supplier, searches its inventory, and maps products, prices, policies, and availability | Search response and supplier product identifiers for the next action |
| Reserve | Hold the selected option where the supplier supports a hold | Creates a supplier hold, or records a local pre-booking state when the supplier only supports immediate booking | Tenant, itinerary context, selected product, and reservation status |
| Book | Confirm the selected option | Sends the booking request once and captures the supplier confirmation | Supplier booking reference, confirmed status, and response snapshot |
| Retrieve | Refresh the latest booking details | Reads the booking from the supplier using its reference | Current status and supplier-confirmed details |
| Cost amendment | Quote the impact of a proposed change | Requests a supplier quote or derives the available policy result | Quoted cost and any restrictions |
| Confirm amendment | Apply the approved change | Submits the amendment and retrieves the updated booking | Updated booking details and status |
| Cost cancellation | Quote the cancellation impact | Requests the supplier's cancellation quote or evaluates the returned policy | Cancellation cost and deadline information |
| Confirm cancellation | Cancel the booking | Submits the cancellation and captures the supplier result | Cancelled status and supplier response |
| Reconcile | Check for changes made outside Kaptio | Polls or receives supplier updates and compares them with stored state | Refreshed status and an auditable change trail |
Search and availability
A search starts in the Kaptio workflow with criteria such as destination, dates, number of travellers, rooms, or service type. KTAPI sends those criteria through Edge Connect using the common contract.
The adapter translates them into the supplier's search message and normalizes the response:
- supplier product and rate identifiers,
- availability status,
- price and currency,
- room, board, or service details,
- cancellation and amendment policies,
- request-only or confirmation conditions.
The normalized response means the Salesforce workflow does not need supplier-specific fields to present the available options.
Reserve and book
Suppliers do not all separate a temporary reservation from a confirmed booking.
- If the supplier supports a hold, Reserve creates that hold and Book confirms it.
- If the supplier only supports immediate booking, the adapter records the selection as a local reservation and waits until Book before calling the supplier.
The adapter documents the mapping for each supplier. It never creates a supplier booking during search, and it does not report a confirmed hold when the supplier did not provide one.
Duplicate-submission protection
Booking actions may be retried because of a browser refresh, a network interruption, or an upstream timeout. Edge Connect stores an idempotency result for each action.
If the same action arrives again, Edge Connect returns the stored response instead of creating a second supplier booking. The stored result is tenant-scoped and tied to the route and request identity.
See Performance and reliability for how duplicate protection, session reuse, caching, and reconciliation are applied to native adapters.
Retrieve
Retrieve asks the supplier for the current booking rather than relying only on the response captured when it was created. It is used:
- after booking to confirm the supplier's final state,
- after an amendment or cancellation,
- during support investigation,
- during reconciliation.
The supplier booking reference links the Kaptio item to the external booking. That reference is stored as structured booking state, not inferred from display text.
Amendments
Amendments use a cost-then-confirm pattern:
- Cost amendment describes the proposed change and requests its financial and operational impact.
- Kaptio presents the result for review.
- Confirm amendment applies the change only after approval.
- Retrieve refreshes the booking from the supplier.
If the supplier does not expose a separate quote operation, the adapter uses policy data already returned by the supplier where possible. If no reliable cost is available, the response says that explicitly; it does not assume a zero cost.
Cancellations
Cancellations follow the same safety pattern:
- Cost cancellation returns the supplier's current cancellation charge and policy.
- The user reviews the effect.
- Confirm cancellation submits the cancellation.
- Retrieve confirms the final supplier status.
A cancellation is not marked complete solely because the request was sent. The adapter records the outcome returned by the supplier, including request-only, pending, rejected, or confirmed states where relevant.
Supplier sessions
Some suppliers issue an authentication token that must be reused across calls. Edge Connect keeps that token in tenant-scoped session storage:
- Use an unexpired session when one exists.
- Log in when no valid session is available.
- If the supplier reports an expired session, invalidate it, log in again, and retry the business action once.
- Propagate any further failure instead of repeatedly submitting the action.
Supplier tokens and passwords are never included in logs or returned to Salesforce.
Reconciliation
A supplier booking may change outside Kaptio — for example, a supplier may confirm an on-request service or an operator may update it in the supplier portal.
Reconciliation checks the supplier's latest state and links it to the stored booking reference. Each run records its progress so it can resume without scanning the same range indefinitely.
Reconciliation complements Retrieve:
- Retrieve refreshes one booking in response to a user or workflow action.
- Reconciliation checks a set of bookings on a schedule or from supplier updates.
Errors and unsupported capabilities
Supplier errors are mapped into the common error contract while preserving the supplier's error code and useful description. The connectivity layer distinguishes:
- authentication or expired-session errors,
- supplier validation errors,
- unavailable inventory,
- transport or supplier service failures,
- capabilities the supplier does not expose.
An unsupported capability is explicit. It is not converted into a successful response, an assumed zero cost, or a fabricated supplier reference.