Skip to main content

Observability

Bundleport records what happens to your requests so you can monitor, trace, and debug your integration without guessing. This page summarizes the observability tools available to you and when to use each.

ToolWhat it answersWhere
Dashboard"How is my traffic doing?" — volumes, KPIs, funnel, top destinationsapp.bundleport.com
Transactions console"What happened on this exact operation?" — status, latency, captured bodiesapp.bundleport.com
Request IDs"How do I reference one request with support?"requestId / X-Request-ID
Audit traces"What did the supplier actually send back?"settings.auditTransactionsauditData
Funnel tracking"How many searches turn into bookings?"search_id / quote_id

Dashboard

The Dashboard in app.bundleport.com is your high-level view of activity for your organization and agencies:

  • KPIs and volumes by product and over time.
  • Booking trend time series.
  • Top destinations with searches, conversion %, and cancel %.
  • API key usage and limits (see Rate limits).

Use it for day-to-day monitoring and trend analysis. For a single request, use the Transactions console instead.

Transactions console

Every commercial operation is recorded as a transaction you can inspect: status, duration, connection, references, and — when audit was captured — the raw request/response bodies exchanged with the supplier.

OperationRecorded as a transaction
Quote, Book, CancelAlways
Booking detail, Booking list, MetadataAlways
Availability / SearchSampled (see What gets audited)

This is the fastest way to answer "what happened on booking X?" or "why did this quote fail?".

Request IDs and tracing

Send a requestId in settings (surfaced back as X-Request-ID) to correlate a request across your logs, the Transactions console, and Bundleport support.

{
"settings": {
"connectionCodes": ["testb-hbds-1876"],
"requestId": "req-123456789"
}
}
tip

Always keep the requestId (or the X-Request-ID from the response) when opening a support ticket — it lets us locate the exact transaction immediately.

If you don't send one, Bundleport still assigns an internal correlation ID, but a client-supplied requestId is easier for you to search on your side.

Audit traces (supplier-level debugging)

Set settings.auditTransactions: true to include supplier-level traces in the response under auditData.transactions. This shows the raw protocol exchange with each supplier, which is invaluable when a result looks wrong.

{
"settings": {
"connectionCodes": ["testb-hbds-1876"],
"auditTransactions": true
}
}
warning

Audit payloads can contain sensitive data (guest/holder details, references). Use audit traces for debugging, and never store or log full audit payloads in production without redaction, nor commit them to source control.

See Debugging supplier behaviour with audit traces for a worked example.

Funnel tracking

To measure conversion across the booking funnel, pass the search_id (and quote_id) returned by earlier steps into the next call:

Search    → returns search_id

Quote → send search_id, returns quote_id

Book → send search_id + quote_id

When you forward these IDs, the Dashboard can report accurate Search → Quote → Book conversion. If you omit them, Bundleport falls back to request context or the correlation ID, but explicit IDs give the most reliable metrics.

What gets audited

To keep traceability high while controlling volume, Bundleport audits operations as follows:

  • Bookings and management (quote, book, cancel, booking detail/list, metadata) are always audited — they always appear in the Transactions console with their captured bodies.
  • Availability / search is always audited for interactive (agency-user) traffic. For high-throughput API-key traffic it is sampled: low-volume connections are fully audited, and as the rate rises a representative sample is kept. This means not every API-key search appears as a transaction by design.

If you need a specific API-key connection fully audited for a debugging session, contact support@bundleport.com — sampling can be turned on for a connection temporarily.