URL Structure
How to construct Storefront URLs with path segments and query parameters.
URL format
Storefront URLs are constructed from three parts:
https://[base-url]/[path-segments]?[query-parameters]
Base URL
The base URL can take one of two formats:
Partner channel URL
https://<prefix>.v3.experiences.holibob.tech
Where <prefix> identifies the partner channel (e.g. your-brand).
Vanity URL
https://experiences.your-brand.com
A custom domain assigned to the partner.
Path segments
Path segments control the initial state of the Storefront. The colon (:) delimiter is optional but recommended for readability.
Required — consumer trip identifier
You must provide one of the following to identify the consumer trip:
| Segment | Description |
|---|---|
/c:{consumerTripCode} | Identifies by consumer trip code |
/e:{partnerExternalReference} | Identifies by partner external reference |
Special paths
These paths use a different format and do not require a consumer trip identifier:
| Path | Description |
|---|---|
/booking/{bookingId} | Opens the booking checkout view (requires valid UUID) |
Optional segments
The following segments provide additional functionality and can be combined with the consumer trip identifier:
| Segment | Description |
|---|---|
/a:{analyticsCode} | Sets the analytics origin code for tracking |
/p:{productId} | Opens the product availability view and shows saved products list |
/r:{productId} | Opens the main stack and scrolls to the specified product |
/s | Opens the saved products list |
Example URLs
# Basic — consumer trip only
https://partner.v3.experiences.holibob.tech/c:JZYPWEYD
# With analytics tracking
https://partner.v3.experiences.holibob.tech/c:JZYPWEYD/a:9VJ69DGQ
# Deep link to a specific product
https://partner.v3.experiences.holibob.tech/c:JZYPWEYD/a:9VJ69DGQ/p:abc-123
# Open saved products
https://partner.v3.experiences.holibob.tech/c:JZYPWEYD/s
# Booking checkout
https://partner.v3.experiences.holibob.tech/booking/550e8400-e29b-41d4-a716-446655440000
Query parameters
Query parameters control localisation, product display, and UI behaviour.
Example: ?language=en-US¤cy=USD&showBackButton=true
Consumer trip identification
These parameters are alternatives to the path segment equivalents:
| Parameter | Example | Description |
|---|---|---|
consumerTripCode | consumerTripCode=JZYPWEYD | Alternative to /c: segment. Identifies by trip code. |
partnerExternalReference | partnerExternalReference=ext123 | Alternative to /e: segment. Identifies by partner reference. |
analyticsCode | analyticsCode=9VJ69DGQ | Alternative to /a: segment. Sets analytics origin code. |
Product display
| Parameter | Example | Description |
|---|---|---|
productCode | productCode=ABC123 | Opens a specific product. Behaviour depends on productMode. |
productMode | productMode=story | Controls product display: story (discovery view, same as /r:) or details (availability view, same as /p:). Defaults to details. |
Search and discovery
| Parameter | Example | Description |
|---|---|---|
where | where=Paris | Sets the destination name context. |
what | what=cooking+class | Opens product discovery with the specified search term. |
Localisation
| Parameter | Example | Description |
|---|---|---|
currency | currency=USD | Sets the display currency for prices and checkout. Unsupported values are ignored. |
language | language=en-US | Sets the interface language. Falls back to the base language if the locale is not supported. |
UI behaviour
| Parameter | Example | Description |
|---|---|---|
showBackButton | showBackButton=true | Displays a back button on the first frame. See the integration guide for event handling details. |
Internal state
| Parameter | Example | Description |
|---|---|---|
s | s=eyJ... | Encoded state (base64 JSON). Set by Storefront redirects or deep links. Do not construct manually. |