Guides
Build your own tour pages
Render the tours your site sells on your own pages and let the Panion checkout take the booking.
Use this when you build your own website (Next.js, Astro, WordPress or a static site) and want Panion to handle prices, availability and payment.
Pick a key
- In the browser or a static build: your site's publishable key (
pk_widget_...), thedata-panion-keyalready in your checkout tag. Pass it as?key=. It reads only public data for its own site. - On your server: a secret key (
pnn_live_...) with thetours:readscope, sent asAuthorization: Bearer. Keep it out of the browser.
List your tours
curl "https://www.panion.travel/api/v1/tours?key=pk_widget_...&locale=en"Read one tour for its page
Title, description, photos, inclusions, meeting point, departure times, From price, season and who operates it:
curl "https://www.panion.travel/api/v1/tours/<tour id>?key=pk_widget_...&locale=nb"Add the Panion checkout
Use the tour's checkout.activity_id. The checkout quotes each date, takes payment and books in the operator's booking system.
<script src="https://www.panion.travel/sdk/core.js" data-panion-key="pk_widget_..." defer></script>
<div data-panion-checkout data-activity-id="<tour id>"></div>Show the real operator
When
operator.is_host is false, someone else runs the tour: say "Operated by" with operator.name and keep your own ratings off it.Rules, availability and caching
Which price to show, translations, live availability and cache headers are in the Tours reference.