Product Quote Card Integration Harness
Submit a QuoteRequestInput payload to the BFF, review the API response, then mount the Stencil product card with the same request input. Test URL-based CTA behavior or selectedPlan event-driven host behavior.
For partner-auth testing, first issue an embed token from the partner credentials, then send only Authorization: Bearer <embedToken> on quote APIs. The harness no longer mints tokens implicitly during quote calls.
1. Integration Settings
Partner Credentials
Issue an embed token before creating or loading a quote.
Quote Request Input
Set the traveler, residency, dates, and destination sent to the quote API.
Component Style and Actions
Configure layout, behavior, feature visibility, and theme overrides.
language, currency, and trip-type are HTML attributes set by the partner at embed time — not toggled at runtime. The fields above simulate this; the snippet below shows what the partner's HTML looks like.
Note: language drives both the quote API request and the component's UI chrome text (translated labels, buttons, tab names).
Event semantics: selectedPlan and coverageChanged are emitted as bubbling + composed CustomEvents from the custom element for broad host integration support.
Host-first control: Internal navigation is disabled by default. URL mode in this harness explicitly enables internal navigation only when a target URL is configured.
URL mode: Use button-url for a full destination template or buy-now-url for an external base URL. Without either one, the host must navigate after selectedPlan.
Stylesheet injection: Leave
custom-stylesheet-url empty to use agency-number-based stylesheet lookup. When provided, it must come from an allowlisted origin (same-origin is always allowed).Theme overrides: CSS variable controls below still apply on top of the agency/default stylesheet for further customization.
Container variant: Use
comparison-shell to demo the Bermuda Air grouped shell experience.
2. API + Render Output
Waiting for request...
Waiting for response...
Waiting for selectedPlan event...
Waiting for host handler...
Waiting for coverageChanged event...