@surfiran/public-api-client 0.34.0 → 0.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/client.d.ts +13 -1
- package/dist/client.js +16 -0
- package/dist/generated/public-api-v1.d.ts +6 -6
- package/dist/index.d.ts +1 -1
- package/dist/types.d.ts +357 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Public API Client
|
|
2
2
|
|
|
3
|
-
Zero-runtime-dependency TypeScript types and fetch client for SURFIRAN Public API V1
|
|
3
|
+
Zero-runtime-dependency TypeScript types and fetch client for SURFIRAN Public API V1, generated from a checked-in package-local contract snapshot.
|
|
4
4
|
|
|
5
5
|
Repository: `SURFIRAN/surfiran-public-api-client`
|
|
6
6
|
|
|
@@ -18,7 +18,7 @@ The repository split and production cutover are complete. This repository is the
|
|
|
18
18
|
|
|
19
19
|
`contract/public-api-v1.yaml` is the package-local immutable snapshot used for generation. `contract/provenance.json` records its source identity, immutable source revision, checksums, and, for standalone releases, the exact API artifact identity.
|
|
20
20
|
|
|
21
|
-
The checked-in `
|
|
21
|
+
The package version, contract version, source commit, and API release identity of the checked-in snapshot are recorded in `package.json`, `info.version` of the snapshot, and `contract/provenance.json`; read them there rather than from this README. Every current snapshot comes from a `SURFIRAN/surfiran-crm-api` main-branch contract release. Published `0.20.0` and earlier keep their historical provenance, which may still reference the former monorepo owner or path. Do not rewrite an already published package version solely to rename historical provenance.
|
|
22
22
|
|
|
23
23
|
New client versions must consume the exact immutable GitHub Release assets produced from a successful `SURFIRAN/surfiran-crm-api` main-branch CI run. The release tag is `public-api-contract/<source SHA>-<run ID>-<attempt>` and contains only `public-api-v1.yaml` and `manifest.json`. Publication verifies the immutable release and both GitHub release attestations, the tag SHA, final successful source run, asset digests, manifest identity, and checked-in snapshot bytes. If any check is unavailable, publication stops. Pull-request artifacts are verification evidence only and are not valid release inputs. This repository must never read another repository's private working tree at build time.
|
|
24
24
|
|
|
@@ -95,6 +95,6 @@ Published versions are immutable. Rollback means pinning consumers to the previo
|
|
|
95
95
|
- This README owns local setup, contract synchronization, CI, publication, and rollback guidance.
|
|
96
96
|
- [AGENTS.md](AGENTS.md) owns agent operating instructions.
|
|
97
97
|
- [Repository boundaries and documentation governance](https://github.com/SURFIRAN/surfiran-crm-api/blob/main/docs/architecture/REPOSITORY_BOUNDARIES.md) own shared architecture and current system state.
|
|
98
|
-
- [Contract snapshot](contract/public-api-v1.yaml) and [provenance](contract/provenance.json) are immutable evidence for `
|
|
98
|
+
- [Contract snapshot](contract/public-api-v1.yaml) and [provenance](contract/provenance.json) are immutable evidence for the package version recorded in `package.json`, not current API ownership authorities.
|
|
99
99
|
|
|
100
100
|
Update existing guidance instead of creating duplicate contract or publication authorities. Preserve the historical snapshot, provenance, and generated bytes until a reviewed new package version imports a verified API artifact.
|
package/dist/client.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { GetPublicSearchResultsParams, GetPublicDestinationParams, GetPublicSearchSuggestionsParams, GetPublicSitemapParams, GetPublicTourPreviewParams, GetPublicTravelKnowledgeParams, ListPublicDeparturesParams, ListPublicDestinationsParams, ListPublicTourAccommodationsParams, ListPublicTourAvailabilityParams, ListPublicTourCategoriesParams, ListPublicTourExperiencesParams, ListPublicTravellerStoriesParams, ListPublicTourQuestionsParams, ListPublicTourReviewsParams, ListPublicSiteReviewsParams, ListPublicTourItineraryParams, ListPublicTourRouteParams, ListPublicToursParams, GetPublicTourParams, PublicApiResult, PublicAvailabilityListResponse, PublicBookingIntentRequest, PublicBookingIntentResponse, PublicBrochureLeadRequest, PublicBrochureLeadResponse, PublicDepartureListResponse, PublicDestinationDetailResponse, PublicDestinationListResponse, PublicHomepageResponse, PublicInquiryRequest, PublicInquiryResponse, PublicSupportRequest, PublicSupportRequestResponse, PublicMarketingUnsubscribeRequest, PublicMarketingUnsubscribeResponse, PublicNewsletterSubscriptionOptions, PublicNewsletterSubscriptionRequest, PublicNewsletterSubscriptionResponse, PublicSearchResultsResponse, PublicSearchSuggestionsResponse, PublicSitemapResponse, PublicSiteChromeContentResponse, PublicSiteFeaturesResponse, PublicBotProtectionResponse, PublicTravelInsuranceRatesResponse, PublicLocaleRegistryResponse, PublicLocalizationCandidatePreviewResponse, PublicLocalizationReleaseResponse, PublicUiCatalogResponse, LocalizationReleaseId, LocalizationPreviewCapability, UiCatalogSnapshotId, PublicSiteHomeContentResponse, PublicSiteNavigationResponse, PublicSiteTrustPageContentResponse, PublicSiteBlockPageContentResponse, PublicTourAccommodationListResponse, PublicTourCategoryListResponse, PublicTourDetailResponse, PublicTourExperienceListResponse, PublicTravellerStoryListResponse, PublicTourListResponse, PublicTourQuestionListResponse, PublicTourReviewsSummaryResponse, PublicTourReviewListResponse, PublicSiteReviewListResponse, PublicTourItineraryResponse, PublicTourRouteResponse, PublicTravelKnowledgeResponse, PublicTravelStatusResponse } from './types.js';
|
|
1
|
+
import type { GetPublicSearchResultsParams, GetPublicDestinationParams, GetPublicSearchSuggestionsParams, GetPublicSitemapParams, GetPublicTourPreviewParams, GetPublicTravelKnowledgeParams, ListPublicDeparturesParams, ListPublicDestinationsParams, ListPublicTourAccommodationsParams, ListPublicTourAvailabilityParams, ListPublicTourCategoriesParams, ListPublicTourExperiencesParams, ListPublicTravellerStoriesParams, ListPublicTourQuestionsParams, ListPublicTourReviewsParams, ListPublicSiteReviewsParams, ListPublicTourItineraryParams, ListPublicTourRouteParams, ListPublicToursParams, GetPublicTourParams, PublicApiResult, PublicAvailabilityListResponse, PublicBookingIntentRequest, PublicBookingIntentResponse, PublicBrochureLeadRequest, PublicBrochureLeadResponse, PublicDepartureListResponse, PublicDestinationDetailResponse, PublicDestinationListResponse, PublicHomepageResponse, PublicInquiryRequest, PublicInquiryResponse, PublicSupportRequest, PublicSupportRequestResponse, PublicMarketingUnsubscribeRequest, PublicMarketingUnsubscribeResponse, PublicNewsletterSubscriptionOptions, PublicNewsletterSubscriptionRequest, PublicNewsletterSubscriptionResponse, PublicSearchResultsResponse, PublicSearchSuggestionsResponse, PublicSitemapResponse, PublicSiteChromeContentResponse, PublicSiteFeaturesResponse, PublicBotProtectionResponse, PublicTravelInsuranceRatesResponse, PublicLocaleRegistryResponse, PublicLocalizationCandidatePreviewResponse, PublicLocalizationReleaseResponse, PublicUiCatalogResponse, LocalizationReleaseId, LocalizationPreviewCapability, UiCatalogSnapshotId, PublicSiteHomeContentResponse, PublicSiteNavigationResponse, PublicSiteTrustPageContentResponse, PublicSiteBlockPageContentResponse, PublicTourAccommodationListResponse, PublicTourCategoryListResponse, PublicTourDetailResponse, PublicTourPageResponse, PublicTourExperienceListResponse, PublicTravellerStoryListResponse, PublicTourListResponse, PublicTourQuestionListResponse, PublicTourReviewsSummaryResponse, PublicTourReviewListResponse, PublicSiteReviewListResponse, PublicTourItineraryResponse, PublicTourRouteResponse, PublicTravelKnowledgeResponse, PublicTravelStatusResponse } from './types.js';
|
|
2
2
|
export type PublicApiClientOptions = {
|
|
3
3
|
baseUrl: string;
|
|
4
4
|
fetchImpl?: typeof fetch;
|
|
@@ -20,6 +20,18 @@ export declare const createPublicApiClient: (options: PublicApiClientOptions) =>
|
|
|
20
20
|
* objects) — there is no unauthenticated variant of this call.
|
|
21
21
|
*/
|
|
22
22
|
getPublicTourPreviewBySlug(slug: string, params: GetPublicTourPreviewParams): Promise<PublicApiResult<PublicTourDetailResponse>>;
|
|
23
|
+
/**
|
|
24
|
+
* One read for the tour detail page: the complete projection with every
|
|
25
|
+
* derived display value computed by the API. Takes the same content
|
|
26
|
+
* `locale` as getPublicTourBySlug.
|
|
27
|
+
*/
|
|
28
|
+
getPublicTourPageBySlug(slug: string, params?: GetPublicTourParams): Promise<PublicApiResult<PublicTourPageResponse>>;
|
|
29
|
+
/**
|
|
30
|
+
* Candidate preview of the tour page projection (ADR-0022): the shape of
|
|
31
|
+
* getPublicTourPageBySlug with the unpublished Edition overlaid. `token`
|
|
32
|
+
* is the short-lived signed token minted by the CRM and is required.
|
|
33
|
+
*/
|
|
34
|
+
getPublicTourPagePreviewBySlug(slug: string, token: string): Promise<PublicApiResult<PublicTourPageResponse>>;
|
|
23
35
|
listPublicTourDepartures(slug: string, params?: ListPublicDeparturesParams): Promise<PublicApiResult<PublicDepartureListResponse>>;
|
|
24
36
|
listPublicTourQuestions(slug: string, params?: ListPublicTourQuestionsParams): Promise<PublicApiResult<PublicTourQuestionListResponse>>;
|
|
25
37
|
listPublicTourExperiences(slug: string, params?: ListPublicTourExperiencesParams): Promise<PublicApiResult<PublicTourExperienceListResponse>>;
|
package/dist/client.js
CHANGED
|
@@ -219,6 +219,22 @@ export const createPublicApiClient = (options) => {
|
|
|
219
219
|
getPublicTourPreviewBySlug(slug, params) {
|
|
220
220
|
return requestJson(`${baseUrl}/api/v1/tours/${encodeURIComponent(slug)}/preview?token=${encodeURIComponent(params.token)}`, options);
|
|
221
221
|
},
|
|
222
|
+
/**
|
|
223
|
+
* One read for the tour detail page: the complete projection with every
|
|
224
|
+
* derived display value computed by the API. Takes the same content
|
|
225
|
+
* `locale` as getPublicTourBySlug.
|
|
226
|
+
*/
|
|
227
|
+
getPublicTourPageBySlug(slug, params) {
|
|
228
|
+
return requestJson(`${baseUrl}/api/v1/tours/${encodeURIComponent(slug)}/page${toContentLocaleQueryString(params)}`, options);
|
|
229
|
+
},
|
|
230
|
+
/**
|
|
231
|
+
* Candidate preview of the tour page projection (ADR-0022): the shape of
|
|
232
|
+
* getPublicTourPageBySlug with the unpublished Edition overlaid. `token`
|
|
233
|
+
* is the short-lived signed token minted by the CRM and is required.
|
|
234
|
+
*/
|
|
235
|
+
getPublicTourPagePreviewBySlug(slug, token) {
|
|
236
|
+
return requestJson(`${baseUrl}/api/v1/tours/${encodeURIComponent(slug)}/preview/page?token=${encodeURIComponent(token)}`, options);
|
|
237
|
+
},
|
|
222
238
|
listPublicTourDepartures(slug, params) {
|
|
223
239
|
return requestJson(`${baseUrl}/api/v1/tours/${encodeURIComponent(slug)}/departures${toPaginationQueryString(params)}`, options);
|
|
224
240
|
},
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export type GeneratedPublicApiVersion = '0.
|
|
2
|
-
export type GeneratedPublicApiPath = '/booking-intents' | '/booking-intents/{id}' | '/bot-protection' | '/brochure-leads' | '/destinations' | '/destinations/{slug}' | '/homepage' | '/inquiries' | '/locales' | '/localization/previews/{candidateId}' | '/localization/releases/{releaseId}' | '/localization/ui-catalogs/{snapshotId}' | '/marketing-unsubscribes' | '/newsletter/confirm' | '/newsletter/subscriptions' | '/reviews' | '/search' | '/search-suggestions' | '/site-content/about' | '/site-content/accessibility-statement' | '/site-content/booking-cancellation-policy' | '/site-content/contact' | '/site-content/cookie-policy' | '/site-content/destination-iran' | '/site-content/destinations/{country}' | '/site-content/faqs' | '/site-content/footer' | '/site-content/header' | '/site-content/health-safety-support' | '/site-content/home' | '/site-content/iran-travel-status' | '/site-content/iran-visa-information' | '/site-content/money-in-iran' | '/site-content/privacy' | '/site-content/responsible-travel' | '/site-content/tailor-made' | '/site-content/terms' | '/site-content/travel-insurance' | '/site-features' | '/site-navigation' | '/sitemap' | '/support-requests' | '/tour-categories' | '/tours' | '/tours/{slug}' | '/tours/{slug}/accommodations' | '/tours/{slug}/availability' | '/tours/{slug}/departures' | '/tours/{slug}/experiences' | '/tours/{slug}/itinerary' | '/tours/{slug}/preview' | '/tours/{slug}/questions' | '/tours/{slug}/reviews' | '/tours/{slug}/reviews-summary' | '/tours/{slug}/route' | '/travel-insurance/rates' | '/travel-knowledge' | '/travel-status' | '/traveller-stories';
|
|
3
|
-
export type GeneratedPublicApiOperation = 'GET /booking-intents/{id}' | 'GET /bot-protection' | 'GET /destinations' | 'GET /destinations/{slug}' | 'GET /homepage' | 'GET /locales' | 'GET /localization/previews/{candidateId}' | 'GET /localization/releases/{releaseId}' | 'GET /localization/ui-catalogs/{snapshotId}' | 'GET /marketing-unsubscribes' | 'GET /newsletter/confirm' | 'GET /reviews' | 'GET /search' | 'GET /search-suggestions' | 'GET /site-content/about' | 'GET /site-content/accessibility-statement' | 'GET /site-content/booking-cancellation-policy' | 'GET /site-content/contact' | 'GET /site-content/cookie-policy' | 'GET /site-content/destination-iran' | 'GET /site-content/destinations/{country}' | 'GET /site-content/faqs' | 'GET /site-content/footer' | 'GET /site-content/header' | 'GET /site-content/health-safety-support' | 'GET /site-content/home' | 'GET /site-content/iran-travel-status' | 'GET /site-content/iran-visa-information' | 'GET /site-content/money-in-iran' | 'GET /site-content/privacy' | 'GET /site-content/responsible-travel' | 'GET /site-content/tailor-made' | 'GET /site-content/terms' | 'GET /site-content/travel-insurance' | 'GET /site-features' | 'GET /site-navigation' | 'GET /sitemap' | 'GET /tour-categories' | 'GET /tours' | 'GET /tours/{slug}' | 'GET /tours/{slug}/accommodations' | 'GET /tours/{slug}/availability' | 'GET /tours/{slug}/departures' | 'GET /tours/{slug}/experiences' | 'GET /tours/{slug}/itinerary' | 'GET /tours/{slug}/preview' | 'GET /tours/{slug}/questions' | 'GET /tours/{slug}/reviews' | 'GET /tours/{slug}/reviews-summary' | 'GET /tours/{slug}/route' | 'GET /travel-insurance/rates' | 'GET /travel-knowledge' | 'GET /travel-status' | 'GET /traveller-stories' | 'POST /booking-intents' | 'POST /brochure-leads' | 'POST /inquiries' | 'POST /marketing-unsubscribes' | 'POST /newsletter/subscriptions' | 'POST /support-requests';
|
|
4
|
-
export type GeneratedPublicApiActiveOperation = 'GET /bot-protection' | 'GET /destinations' | 'GET /destinations/{slug}' | 'GET /homepage' | 'GET /locales' | 'GET /localization/previews/{candidateId}' | 'GET /localization/releases/{releaseId}' | 'GET /localization/ui-catalogs/{snapshotId}' | 'GET /marketing-unsubscribes' | 'GET /newsletter/confirm' | 'GET /reviews' | 'GET /search' | 'GET /search-suggestions' | 'GET /site-content/about' | 'GET /site-content/accessibility-statement' | 'GET /site-content/booking-cancellation-policy' | 'GET /site-content/contact' | 'GET /site-content/cookie-policy' | 'GET /site-content/destination-iran' | 'GET /site-content/destinations/{country}' | 'GET /site-content/faqs' | 'GET /site-content/footer' | 'GET /site-content/header' | 'GET /site-content/health-safety-support' | 'GET /site-content/home' | 'GET /site-content/iran-travel-status' | 'GET /site-content/iran-visa-information' | 'GET /site-content/money-in-iran' | 'GET /site-content/privacy' | 'GET /site-content/responsible-travel' | 'GET /site-content/tailor-made' | 'GET /site-content/terms' | 'GET /site-content/travel-insurance' | 'GET /site-features' | 'GET /site-navigation' | 'GET /sitemap' | 'GET /tour-categories' | 'GET /tours' | 'GET /tours/{slug}' | 'GET /tours/{slug}/accommodations' | 'GET /tours/{slug}/availability' | 'GET /tours/{slug}/departures' | 'GET /tours/{slug}/experiences' | 'GET /tours/{slug}/itinerary' | 'GET /tours/{slug}/preview' | 'GET /tours/{slug}/questions' | 'GET /tours/{slug}/reviews' | 'GET /tours/{slug}/reviews-summary' | 'GET /tours/{slug}/route' | 'GET /travel-insurance/rates' | 'GET /travel-knowledge' | 'GET /travel-status' | 'GET /traveller-stories' | 'POST /booking-intents' | 'POST /brochure-leads' | 'POST /inquiries' | 'POST /marketing-unsubscribes' | 'POST /newsletter/subscriptions' | 'POST /support-requests';
|
|
1
|
+
export type GeneratedPublicApiVersion = '0.27.0';
|
|
2
|
+
export type GeneratedPublicApiPath = '/booking-intents' | '/booking-intents/{id}' | '/bot-protection' | '/brochure-leads' | '/destinations' | '/destinations/{slug}' | '/homepage' | '/inquiries' | '/locales' | '/localization/previews/{candidateId}' | '/localization/releases/{releaseId}' | '/localization/ui-catalogs/{snapshotId}' | '/marketing-unsubscribes' | '/newsletter/confirm' | '/newsletter/subscriptions' | '/reviews' | '/search' | '/search-suggestions' | '/site-content/about' | '/site-content/accessibility-statement' | '/site-content/booking-cancellation-policy' | '/site-content/contact' | '/site-content/cookie-policy' | '/site-content/destination-iran' | '/site-content/destinations/{country}' | '/site-content/faqs' | '/site-content/footer' | '/site-content/header' | '/site-content/health-safety-support' | '/site-content/home' | '/site-content/iran-travel-status' | '/site-content/iran-visa-information' | '/site-content/money-in-iran' | '/site-content/privacy' | '/site-content/responsible-travel' | '/site-content/tailor-made' | '/site-content/terms' | '/site-content/travel-insurance' | '/site-features' | '/site-navigation' | '/sitemap' | '/support-requests' | '/tour-categories' | '/tours' | '/tours/{slug}' | '/tours/{slug}/accommodations' | '/tours/{slug}/availability' | '/tours/{slug}/departures' | '/tours/{slug}/experiences' | '/tours/{slug}/itinerary' | '/tours/{slug}/page' | '/tours/{slug}/preview' | '/tours/{slug}/preview/page' | '/tours/{slug}/questions' | '/tours/{slug}/reviews' | '/tours/{slug}/reviews-summary' | '/tours/{slug}/route' | '/travel-insurance/rates' | '/travel-knowledge' | '/travel-status' | '/traveller-stories';
|
|
3
|
+
export type GeneratedPublicApiOperation = 'GET /booking-intents/{id}' | 'GET /bot-protection' | 'GET /destinations' | 'GET /destinations/{slug}' | 'GET /homepage' | 'GET /locales' | 'GET /localization/previews/{candidateId}' | 'GET /localization/releases/{releaseId}' | 'GET /localization/ui-catalogs/{snapshotId}' | 'GET /marketing-unsubscribes' | 'GET /newsletter/confirm' | 'GET /reviews' | 'GET /search' | 'GET /search-suggestions' | 'GET /site-content/about' | 'GET /site-content/accessibility-statement' | 'GET /site-content/booking-cancellation-policy' | 'GET /site-content/contact' | 'GET /site-content/cookie-policy' | 'GET /site-content/destination-iran' | 'GET /site-content/destinations/{country}' | 'GET /site-content/faqs' | 'GET /site-content/footer' | 'GET /site-content/header' | 'GET /site-content/health-safety-support' | 'GET /site-content/home' | 'GET /site-content/iran-travel-status' | 'GET /site-content/iran-visa-information' | 'GET /site-content/money-in-iran' | 'GET /site-content/privacy' | 'GET /site-content/responsible-travel' | 'GET /site-content/tailor-made' | 'GET /site-content/terms' | 'GET /site-content/travel-insurance' | 'GET /site-features' | 'GET /site-navigation' | 'GET /sitemap' | 'GET /tour-categories' | 'GET /tours' | 'GET /tours/{slug}' | 'GET /tours/{slug}/accommodations' | 'GET /tours/{slug}/availability' | 'GET /tours/{slug}/departures' | 'GET /tours/{slug}/experiences' | 'GET /tours/{slug}/itinerary' | 'GET /tours/{slug}/page' | 'GET /tours/{slug}/preview' | 'GET /tours/{slug}/preview/page' | 'GET /tours/{slug}/questions' | 'GET /tours/{slug}/reviews' | 'GET /tours/{slug}/reviews-summary' | 'GET /tours/{slug}/route' | 'GET /travel-insurance/rates' | 'GET /travel-knowledge' | 'GET /travel-status' | 'GET /traveller-stories' | 'POST /booking-intents' | 'POST /brochure-leads' | 'POST /inquiries' | 'POST /marketing-unsubscribes' | 'POST /newsletter/subscriptions' | 'POST /support-requests';
|
|
4
|
+
export type GeneratedPublicApiActiveOperation = 'GET /bot-protection' | 'GET /destinations' | 'GET /destinations/{slug}' | 'GET /homepage' | 'GET /locales' | 'GET /localization/previews/{candidateId}' | 'GET /localization/releases/{releaseId}' | 'GET /localization/ui-catalogs/{snapshotId}' | 'GET /marketing-unsubscribes' | 'GET /newsletter/confirm' | 'GET /reviews' | 'GET /search' | 'GET /search-suggestions' | 'GET /site-content/about' | 'GET /site-content/accessibility-statement' | 'GET /site-content/booking-cancellation-policy' | 'GET /site-content/contact' | 'GET /site-content/cookie-policy' | 'GET /site-content/destination-iran' | 'GET /site-content/destinations/{country}' | 'GET /site-content/faqs' | 'GET /site-content/footer' | 'GET /site-content/header' | 'GET /site-content/health-safety-support' | 'GET /site-content/home' | 'GET /site-content/iran-travel-status' | 'GET /site-content/iran-visa-information' | 'GET /site-content/money-in-iran' | 'GET /site-content/privacy' | 'GET /site-content/responsible-travel' | 'GET /site-content/tailor-made' | 'GET /site-content/terms' | 'GET /site-content/travel-insurance' | 'GET /site-features' | 'GET /site-navigation' | 'GET /sitemap' | 'GET /tour-categories' | 'GET /tours' | 'GET /tours/{slug}' | 'GET /tours/{slug}/accommodations' | 'GET /tours/{slug}/availability' | 'GET /tours/{slug}/departures' | 'GET /tours/{slug}/experiences' | 'GET /tours/{slug}/itinerary' | 'GET /tours/{slug}/page' | 'GET /tours/{slug}/preview' | 'GET /tours/{slug}/preview/page' | 'GET /tours/{slug}/questions' | 'GET /tours/{slug}/reviews' | 'GET /tours/{slug}/reviews-summary' | 'GET /tours/{slug}/route' | 'GET /travel-insurance/rates' | 'GET /travel-knowledge' | 'GET /travel-status' | 'GET /traveller-stories' | 'POST /booking-intents' | 'POST /brochure-leads' | 'POST /inquiries' | 'POST /marketing-unsubscribes' | 'POST /newsletter/subscriptions' | 'POST /support-requests';
|
|
5
5
|
export type GeneratedPublicApiBlockedOperation = 'GET /booking-intents/{id}';
|
|
6
|
-
export type GeneratedPublicApiOperationId = 'getBookingIntent' | 'getPublicBotProtection' | 'listPublicDestinations' | 'getPublicDestinationBySlug' | 'getPublicHomepage' | 'listPublicLocales' | 'getPublicLocalizationCandidatePreview' | 'getPublicLocalizationRelease' | 'getPublicUiCatalog' | 'redirectPublicMarketingUnsubscribe' | 'confirmPublicNewsletterSubscription' | 'listPublicSiteReviews' | 'getPublicSearchResults' | 'getPublicSearchSuggestions' | 'getPublicSiteContentAbout' | 'getPublicSiteContentAccessibilityStatement' | 'getPublicSiteContentBookingCancellationPolicy' | 'getPublicSiteContentContact' | 'getPublicSiteContentCookiePolicy' | 'getPublicSiteContentDestinationIran' | 'getPublicSiteContentDestinationCountry' | 'getPublicSiteContentFaqs' | 'getPublicSiteContentFooter' | 'getPublicSiteContentHeader' | 'getPublicSiteContentHealthSafetySupport' | 'getPublicSiteContentHome' | 'getPublicSiteContentIranTravelStatus' | 'getPublicSiteContentIranVisaInformation' | 'getPublicSiteContentMoneyInIran' | 'getPublicSiteContentPrivacy' | 'getPublicSiteContentResponsibleTravel' | 'getPublicSiteContentTailorMade' | 'getPublicSiteContentTerms' | 'getPublicSiteContentTravelInsurance' | 'getPublicSiteFeatures' | 'getPublicSiteNavigation' | 'getPublicSitemap' | 'listPublicTourCategories' | 'listPublicTours' | 'getPublicTourBySlug' | 'listPublicTourAccommodations' | 'listPublicTourAvailability' | 'listPublicTourDepartures' | 'listPublicTourExperiences' | 'listPublicTourItinerary' | 'getPublicTourPreviewBySlug' | 'listPublicTourQuestions' | 'listPublicTourReviews' | 'getPublicTourReviewsSummary' | 'listPublicTourRoute' | 'getPublicTravelInsuranceRates' | 'listPublicTravelKnowledge' | 'getPublicTravelStatus' | 'listPublicTravellerStories' | 'createPublicBookingIntent' | 'createPublicBrochureLead' | 'createPublicInquiry' | 'createPublicMarketingUnsubscribe' | 'createPublicNewsletterSubscription' | 'createPublicSupportRequest';
|
|
7
|
-
export type GeneratedPublicApiSchemaName = 'BookingIntentConflictErrorResponse' | 'BookingIntentResponse' | 'CanonicalIntakeAttribution' | 'CanonicalIntakeConsent' | 'CreateBookingIntentRequest' | 'CreateBookingIntentSuccessResponse' | 'CreateBrochureLeadRequest' | 'CreateBrochureLeadResponse' | 'CreateInquiryRequest' | 'CreateInquiryResponse' | 'CreateMarketingUnsubscribeRequest' | 'CreateMarketingUnsubscribeResponse' | 'CreateNewsletterSubscriptionRequest' | 'CreateNewsletterSubscriptionResponse' | 'CreateSupportRequestRequest' | 'CreateSupportRequestResponse' | 'GetBookingIntentStatusResponse' | 'NewsletterInvalidEmailError' | 'NewsletterRateLimitError' | 'PaginationMeta' | 'PublicApiAbuseBlockedError' | 'PublicApiBotCheckError' | 'PublicApiError' | 'PublicApiInternalError' | 'PublicApiNotFoundError' | 'PublicApiNotImplementedError' | 'PublicApiRateLimitError' | 'PublicApiTravelStatusUnavailableError' | 'PublicApiValidationError' | 'PublicAvailabilityListItem' | 'PublicAvailabilityListResponse' | 'PublicBookingIntentLinks' | 'PublicBookingIntentPublicStatus' | 'PublicBookingIntentStatus' | 'PublicBotProtectionResponse' | 'PublicCityDestinationContent' | 'PublicCityExperience' | 'PublicCityImage' | 'PublicCityLabelledValue' | 'PublicCityLink' | 'PublicCityNextPlace' | 'PublicCityReason' | 'PublicCityResource' | 'PublicCityRoutePattern' | 'PublicCityStayLink' | 'PublicCmsContentSnapshotId' | 'PublicDepartureListItem' | 'PublicDepartureListResponse' | 'PublicDestinationDetail' | 'PublicDestinationDetailResponse' | 'PublicDestinationListItem' | 'PublicDestinationListResponse' | 'PublicError' | 'PublicErrorEnvelope' | 'PublicHomepageResponse' | 'PublicHomepageSeo' | 'PublicHomepageStats' | 'PublicLocaleRegistryData' | 'PublicLocaleRegistryItem' | 'PublicLocaleRegistryResponse' | 'PublicLocaleTag' | 'PublicLocalizationCandidatePreview' | 'PublicLocalizationCandidatePreviewResponse' | 'PublicLocalizationRelease' | 'PublicLocalizationReleaseId' | 'PublicLocalizationReleaseResponse' | 'PublicLocalizationSnapshotReferences' | 'PublicNavLink' | 'PublicOfficialSourceCard' | 'PublicPriceDisplayByCurrency' | 'PublicSearchResultGroup' | 'PublicSearchResultItem' | 'PublicSearchResultsResponse' | 'PublicSearchSuggestion' | 'PublicSearchSuggestionsResponse' | 'PublicSeo' | 'PublicSiteBlockPageContentResponse' | 'PublicSiteChromeContent' | 'PublicSiteChromeContentResponse' | 'PublicSiteCta' | 'PublicSiteFeaturesResponse' | 'PublicSiteFeatureStates' | 'PublicSiteFooterNavGroup' | 'PublicSiteFooterNavGroupLink' | 'PublicSiteFooterPaymentNote' | 'PublicSiteFooterSupportBand' | 'PublicSiteHeaderMenuCategory' | 'PublicSiteHeaderMenuEditorial' | 'PublicSiteHeaderOffice' | 'PublicSiteHeaderQuickLink' | 'PublicSiteHeaderSearchShortcuts' | 'PublicSiteHomeContent' | 'PublicSiteHomeContentResponse' | 'PublicSiteHomeSection' | 'PublicSitemapEntry' | 'PublicSitemapResponse' | 'PublicSiteNavigationResponse' | 'PublicSiteNavItem' | 'PublicSiteReviewListResponse' | 'PublicSiteRouteKey' | 'PublicSiteSocialLink' | 'PublicSiteTrustPageContent' | 'PublicSiteTrustPageContentResponse' | 'PublicSiteTrustPageSeo' | 'PublicSiteTrustSection' | 'PublicSiteTrustTitledItem' | 'PublicStaticLink' | 'PublicSurfiranOperationalUpdate' | 'PublicTourAccommodationListItem' | 'PublicTourAccommodationListResponse' | 'PublicTourCatalogDepartureSummary' | 'PublicTourCatalogFacetOption' | 'PublicTourCatalogMetadata' | 'PublicTourCatalogStartingFrom' | 'PublicTourCategoryListItem' | 'PublicTourCategoryListResponse' | 'PublicTourDetail' | 'PublicTourDetailEditorial' | 'PublicTourDetailResponse' | 'PublicTourExperienceFrame' | 'PublicTourExperienceListItem' | 'PublicTourExperienceListResponse' | 'PublicTourItineraryDay' | 'PublicTourItineraryResponse' | 'PublicTourListItem' | 'PublicTourListResponse' | 'PublicTourMediaItem' | 'PublicTourQuestionListItem' | 'PublicTourQuestionListResponse' | 'PublicTourRatingBreakdownItem' | 'PublicTourReviewListItem' | 'PublicTourReviewListResponse' | 'PublicTourReviewsAggregate' | 'PublicTourReviewsSummary' | 'PublicTourReviewsSummaryResponse' | 'PublicTourRouteResponse' | 'PublicTourRouteStop' | 'PublicTourTailorJourney' | 'PublicTravelInsuranceAgeBand' | 'PublicTravelInsuranceDurationBand' | 'PublicTravelInsuranceRates' | 'PublicTravelInsuranceRatesResponse' | 'PublicTravelKnowledgeItem' | 'PublicTravelKnowledgeResponse' | 'PublicTravellerStoryListItem' | 'PublicTravellerStoryListResponse' | 'PublicTravelStatusCorrectionNotice' | 'PublicTravelStatusFreshness' | 'PublicTravelStatusHandoff' | 'PublicTravelStatusResponse' | 'PublicTravelStatusReviewerLabel' | 'PublicTravelStatusSection' | 'PublicTravelStatusState' | 'PublicTripBrief' | 'PublicUiCatalog' | 'PublicUiCatalogFallbackSummary' | 'PublicUiCatalogMessage' | 'PublicUiCatalogResponse' | 'PublicUiCatalogSnapshotId' | 'SupportRequestRecaptchaEvidence';
|
|
6
|
+
export type GeneratedPublicApiOperationId = 'getBookingIntent' | 'getPublicBotProtection' | 'listPublicDestinations' | 'getPublicDestinationBySlug' | 'getPublicHomepage' | 'listPublicLocales' | 'getPublicLocalizationCandidatePreview' | 'getPublicLocalizationRelease' | 'getPublicUiCatalog' | 'redirectPublicMarketingUnsubscribe' | 'confirmPublicNewsletterSubscription' | 'listPublicSiteReviews' | 'getPublicSearchResults' | 'getPublicSearchSuggestions' | 'getPublicSiteContentAbout' | 'getPublicSiteContentAccessibilityStatement' | 'getPublicSiteContentBookingCancellationPolicy' | 'getPublicSiteContentContact' | 'getPublicSiteContentCookiePolicy' | 'getPublicSiteContentDestinationIran' | 'getPublicSiteContentDestinationCountry' | 'getPublicSiteContentFaqs' | 'getPublicSiteContentFooter' | 'getPublicSiteContentHeader' | 'getPublicSiteContentHealthSafetySupport' | 'getPublicSiteContentHome' | 'getPublicSiteContentIranTravelStatus' | 'getPublicSiteContentIranVisaInformation' | 'getPublicSiteContentMoneyInIran' | 'getPublicSiteContentPrivacy' | 'getPublicSiteContentResponsibleTravel' | 'getPublicSiteContentTailorMade' | 'getPublicSiteContentTerms' | 'getPublicSiteContentTravelInsurance' | 'getPublicSiteFeatures' | 'getPublicSiteNavigation' | 'getPublicSitemap' | 'listPublicTourCategories' | 'listPublicTours' | 'getPublicTourBySlug' | 'listPublicTourAccommodations' | 'listPublicTourAvailability' | 'listPublicTourDepartures' | 'listPublicTourExperiences' | 'listPublicTourItinerary' | 'getPublicTourPageBySlug' | 'getPublicTourPreviewBySlug' | 'getPublicTourPagePreviewBySlug' | 'listPublicTourQuestions' | 'listPublicTourReviews' | 'getPublicTourReviewsSummary' | 'listPublicTourRoute' | 'getPublicTravelInsuranceRates' | 'listPublicTravelKnowledge' | 'getPublicTravelStatus' | 'listPublicTravellerStories' | 'createPublicBookingIntent' | 'createPublicBrochureLead' | 'createPublicInquiry' | 'createPublicMarketingUnsubscribe' | 'createPublicNewsletterSubscription' | 'createPublicSupportRequest';
|
|
7
|
+
export type GeneratedPublicApiSchemaName = 'BookingIntentConflictErrorResponse' | 'BookingIntentResponse' | 'CanonicalIntakeAttribution' | 'CanonicalIntakeConsent' | 'CreateBookingIntentRequest' | 'CreateBookingIntentSuccessResponse' | 'CreateBrochureLeadRequest' | 'CreateBrochureLeadResponse' | 'CreateInquiryRequest' | 'CreateInquiryResponse' | 'CreateMarketingUnsubscribeRequest' | 'CreateMarketingUnsubscribeResponse' | 'CreateNewsletterSubscriptionRequest' | 'CreateNewsletterSubscriptionResponse' | 'CreateSupportRequestRequest' | 'CreateSupportRequestResponse' | 'GetBookingIntentStatusResponse' | 'NewsletterInvalidEmailError' | 'NewsletterRateLimitError' | 'PaginationMeta' | 'PublicApiAbuseBlockedError' | 'PublicApiBotCheckError' | 'PublicApiError' | 'PublicApiInternalError' | 'PublicApiNotFoundError' | 'PublicApiNotImplementedError' | 'PublicApiRateLimitError' | 'PublicApiTravelStatusUnavailableError' | 'PublicApiValidationError' | 'PublicAvailabilityListItem' | 'PublicAvailabilityListResponse' | 'PublicAvailabilityState' | 'PublicBookingIntentLinks' | 'PublicBookingIntentPublicStatus' | 'PublicBookingIntentStatus' | 'PublicBotProtectionResponse' | 'PublicCityDestinationContent' | 'PublicCityExperience' | 'PublicCityImage' | 'PublicCityLabelledValue' | 'PublicCityLink' | 'PublicCityNextPlace' | 'PublicCityReason' | 'PublicCityResource' | 'PublicCityRoutePattern' | 'PublicCityStayLink' | 'PublicCmsContentSnapshotId' | 'PublicDepartureListItem' | 'PublicDepartureListResponse' | 'PublicDestinationDetail' | 'PublicDestinationDetailResponse' | 'PublicDestinationListItem' | 'PublicDestinationListResponse' | 'PublicError' | 'PublicErrorEnvelope' | 'PublicHomepageResponse' | 'PublicHomepageSeo' | 'PublicHomepageStats' | 'PublicLocaleRegistryData' | 'PublicLocaleRegistryItem' | 'PublicLocaleRegistryResponse' | 'PublicLocaleTag' | 'PublicLocalizationCandidatePreview' | 'PublicLocalizationCandidatePreviewResponse' | 'PublicLocalizationRelease' | 'PublicLocalizationReleaseId' | 'PublicLocalizationReleaseResponse' | 'PublicLocalizationSnapshotReferences' | 'PublicNavLink' | 'PublicOfficialSourceCard' | 'PublicPriceDisplayByCurrency' | 'PublicSearchResultGroup' | 'PublicSearchResultItem' | 'PublicSearchResultsResponse' | 'PublicSearchSuggestion' | 'PublicSearchSuggestionsResponse' | 'PublicSeo' | 'PublicSiteBlockPageContentResponse' | 'PublicSiteChromeContent' | 'PublicSiteChromeContentResponse' | 'PublicSiteCta' | 'PublicSiteFeaturesResponse' | 'PublicSiteFeatureStates' | 'PublicSiteFooterNavGroup' | 'PublicSiteFooterNavGroupLink' | 'PublicSiteFooterPaymentNote' | 'PublicSiteFooterSupportBand' | 'PublicSiteHeaderMenuCategory' | 'PublicSiteHeaderMenuEditorial' | 'PublicSiteHeaderOffice' | 'PublicSiteHeaderQuickLink' | 'PublicSiteHeaderSearchShortcuts' | 'PublicSiteHomeContent' | 'PublicSiteHomeContentResponse' | 'PublicSiteHomeSection' | 'PublicSitemapEntry' | 'PublicSitemapResponse' | 'PublicSiteNavigationResponse' | 'PublicSiteNavItem' | 'PublicSiteReviewListResponse' | 'PublicSiteRouteKey' | 'PublicSiteSocialLink' | 'PublicSiteTrustPageContent' | 'PublicSiteTrustPageContentResponse' | 'PublicSiteTrustPageSeo' | 'PublicSiteTrustSection' | 'PublicSiteTrustTitledItem' | 'PublicStaticLink' | 'PublicSurfiranOperationalUpdate' | 'PublicTourAccommodationListItem' | 'PublicTourAccommodationListResponse' | 'PublicTourCatalogDepartureSummary' | 'PublicTourCatalogFacetOption' | 'PublicTourCatalogMetadata' | 'PublicTourCatalogStartingFrom' | 'PublicTourCategoryListItem' | 'PublicTourCategoryListResponse' | 'PublicTourDetail' | 'PublicTourDetailEditorial' | 'PublicTourDetailResponse' | 'PublicTourExperienceFrame' | 'PublicTourExperienceListItem' | 'PublicTourExperienceListResponse' | 'PublicTourItineraryDay' | 'PublicTourItineraryResponse' | 'PublicTourListItem' | 'PublicTourListResponse' | 'PublicTourMediaItem' | 'PublicTourPage' | 'PublicTourPageBadge' | 'PublicTourPageBrochure' | 'PublicTourPageByline' | 'PublicTourPageChecked' | 'PublicTourPageCredibility' | 'PublicTourPageDeparture' | 'PublicTourPageDeparturesEmpty' | 'PublicTourPageExperience' | 'PublicTourPageExperienceFrame' | 'PublicTourPageFact' | 'PublicTourPageGalleryGroup' | 'PublicTourPageHero' | 'PublicTourPageImage' | 'PublicTourPageItineraryDay' | 'PublicTourPageKeyValue' | 'PublicTourPageKnowExtra' | 'PublicTourPageMap' | 'PublicTourPageMonth' | 'PublicTourPageOpenGraphImage' | 'PublicTourPageOperator' | 'PublicTourPagePlace' | 'PublicTourPagePriceFrom' | 'PublicTourPagePrivateOverride' | 'PublicTourPageQuestion' | 'PublicTourPageQuote' | 'PublicTourPageRelatedCard' | 'PublicTourPageResponse' | 'PublicTourPageReviewItem' | 'PublicTourPageReviewReply' | 'PublicTourPageReviews' | 'PublicTourPageReviewSubRating' | 'PublicTourPageRoomOption' | 'PublicTourPageStay' | 'PublicTourPageStop' | 'PublicTourPageTailorBand' | 'PublicTourPageTitledBody' | 'PublicTourPageVideo' | 'PublicTourQuestionListItem' | 'PublicTourQuestionListResponse' | 'PublicTourRatingBreakdownItem' | 'PublicTourReviewListItem' | 'PublicTourReviewListResponse' | 'PublicTourReviewsAggregate' | 'PublicTourReviewsSummary' | 'PublicTourReviewsSummaryResponse' | 'PublicTourRouteResponse' | 'PublicTourRouteStop' | 'PublicTourTailorJourney' | 'PublicTravelInsuranceAgeBand' | 'PublicTravelInsuranceDurationBand' | 'PublicTravelInsuranceRates' | 'PublicTravelInsuranceRatesResponse' | 'PublicTravelKnowledgeItem' | 'PublicTravelKnowledgeResponse' | 'PublicTravellerStoryListItem' | 'PublicTravellerStoryListResponse' | 'PublicTravelStatusCorrectionNotice' | 'PublicTravelStatusFreshness' | 'PublicTravelStatusHandoff' | 'PublicTravelStatusResponse' | 'PublicTravelStatusReviewerLabel' | 'PublicTravelStatusSection' | 'PublicTravelStatusState' | 'PublicTripBrief' | 'PublicUiCatalog' | 'PublicUiCatalogFallbackSummary' | 'PublicUiCatalogMessage' | 'PublicUiCatalogResponse' | 'PublicUiCatalogSnapshotId' | 'SupportRequestRecaptchaEvidence';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { createPublicApiClient } from './client.js';
|
|
2
|
-
export type { PublicApiErrorCode, PublicApiV1Path, PublicApiV1RouteMap, PublicError, PublicErrorEnvelope, PublicApiError, PublicApiNotImplementedError, PublicApiValidationError, PublicApiRateLimitError, PublicApiAbuseBlockedError, PublicTourListItem, PublicTourRegion, PublicTourDetail, PublicTourDetailEditorial, PublicDepartureListItem, PublicAvailabilityStatus, PublicAvailabilityListItem, PublicAvailabilityListResponse, PublicDestinationListItem, PublicCityDestinationContent, PublicCityExperience, PublicCityImage, PublicCityLabelledValue, PublicCityLink, PublicCityNextPlace, PublicCityReason, PublicCityResource, PublicCityStayLink, PublicDestinationDetail, PublicTourListResponse, PublicTourCatalogMetadata, PublicTourCatalogFacetKey, PublicTourCatalogFacetOption, PublicTourCatalogSort, PublicTourCatalogStartingFrom, PublicTourCatalogDepartureSummary, PublicTourDetailResponse, PublicDepartureListResponse, PublicDestinationListResponse, PublicDestinationDetailResponse, PublicApiResult, ListPublicToursParams, GetPublicTourParams, GetPublicDestinationParams, PublicContentLocale, GetPublicTourPreviewParams, ListPublicDeparturesParams, ListPublicTourAvailabilityParams, ListPublicDestinationsParams, PublicInquiryRequest, PublicTourTailorJourney, PublicInquiryResponse, PublicSupportRequestCategory, PublicSupportRequest, PublicSupportRequestRecaptcha, PublicSupportRequestResponse, PublicMarketingUnsubscribeRequest, PublicMarketingUnsubscribeResponse, PublicNewsletterSubscriptionSource, PublicNewsletterSubscriptionLocale, PublicNewsletterSubscriptionRequest, PublicNewsletterSubscriptionResponse, PublicNewsletterSubscriptionOptions, PublicBookingIntentRequest, PublicBookingIntentData, PublicBookingIntentResponse, PublicHomepageStats, PublicHomepageSeo, PublicHomepageResponse, PublicSitemapEntry, PublicSitemapResponse, PublicNavLink, PublicStaticLink, PublicSiteNavigationResponse, PublicTourCategoryListItem, PublicTourCategoryListResponse, PublicPriceDisplayByCurrency, PublicSearchResultItem, PublicSearchResultGroup, PublicSearchResultsResponse, PublicSearchSuggestion, PublicSearchSuggestionsResponse, PublicSiteRouteKey, PublicSiteCta, PublicSiteHomeSectionType, PublicSiteHomeSection, PublicSiteHomeContent, PublicSiteHomeContentResponse, PublicSiteNavItem, PublicSiteSocialPlatform, PublicSiteSocialLink, PublicSiteHeaderOffice, PublicSiteHeaderMenuCategory, PublicSiteHeaderMenuEditorial, PublicSiteHeaderQuickLink, PublicSiteHeaderSearchShortcuts, PublicSiteFooterNavGroupLink, PublicSiteFooterNavGroup, PublicSiteFooterSupportBand, PublicSiteFooterPaymentNote, PublicSiteChromeContent, PublicSiteChromeContentResponse, PublicSiteFeatureStates, PublicSiteFeaturesResponse, PublicBotCheckErrorCode, PublicBotProtectionRecaptcha, PublicBotProtectionResponse, PublicTravelInsuranceAgeBand, PublicTravelInsuranceDurationBand, PublicTravelInsuranceRates, PublicTravelInsuranceRatesResponse, LocaleTag, LocalizationReleaseId, UiCatalogSnapshotId, CmsContentSnapshotId, PublicLocaleRegistryItem, PublicLocaleRegistryResponse, PublicLocalizationRelease, PublicLocalizationReleaseResponse, PublicUiCatalogMessage, PublicUiCatalog, PublicUiCatalogResponse, PublicSiteTrustSectionType, PublicSiteTrustTitledItem, PublicSiteTrustParagraphGroup, PublicSiteTrustTitledItemList, PublicSiteTrustBulletList, PublicSiteTrustSection, PublicSiteTrustPageSeo, PublicSiteTrustPageContent, PublicSiteTrustPageContentResponse, PublicSiteBlock, PublicSiteBlockPageContent, PublicSiteBlockPageContentResponse, PublicTravelStatusState, PublicTravelStatusFreshness, PublicSurfiranOperationalUpdate, PublicTravelStatusResponse, PublicTravelKnowledgeType, PublicTravelKnowledgeItem, PublicTravelKnowledgeResponse, GetPublicSitemapParams, GetPublicSearchResultsParams, GetPublicSearchSuggestionsParams, GetPublicTravelKnowledgeParams, ListPublicTourCategoriesParams, PublicTravellerStoryListItem, PublicTravellerStoryListResponse, ListPublicTravellerStoriesParams, PublicTourQuestionListItem, PublicTourQuestionListResponse, ListPublicTourQuestionsParams, PublicTourExperienceFrame, PublicTourExperienceListItem, PublicTourExperienceListResponse, ListPublicTourExperiencesParams, PublicTourAccommodationListItem, PublicTourAccommodationListResponse, ListPublicTourAccommodationsParams, PublicTourReviewsAggregate, PublicTourRatingBreakdownItem, PublicTourReviewsSummary, PublicTourReviewsSummaryResponse, PublicTourReviewListItem, PublicTourReviewListResponse, PublicSiteReviewListResponse, ListPublicSiteReviewsParams, PublicTourReviewsLimit, ListPublicTourReviewsParams, PublicTourRouteStop, PublicRouteTransportMode, PublicTourRouteResponse, ListPublicTourRouteParams, PublicItineraryMealCode, PublicTourItineraryDay, PublicTourItineraryResponse, ListPublicTourItineraryParams, PublicBrochureLeadRequest, PublicBrochureLeadResponse, } from './types.js';
|
|
2
|
+
export type { PublicApiErrorCode, PublicApiV1Path, PublicApiV1RouteMap, PublicError, PublicErrorEnvelope, PublicApiError, PublicApiNotImplementedError, PublicApiValidationError, PublicApiRateLimitError, PublicApiAbuseBlockedError, PublicTourListItem, PublicTourRegion, PublicTourDetail, PublicTourDetailEditorial, PublicDepartureListItem, PublicAvailabilityStatus, PublicAvailabilityListItem, PublicAvailabilityListResponse, PublicDestinationListItem, PublicCityDestinationContent, PublicCityExperience, PublicCityImage, PublicCityLabelledValue, PublicCityLink, PublicCityNextPlace, PublicCityReason, PublicCityResource, PublicCityStayLink, PublicDestinationDetail, PublicTourListResponse, PublicTourCatalogMetadata, PublicTourCatalogFacetKey, PublicTourCatalogFacetOption, PublicTourCatalogSort, PublicTourCatalogStartingFrom, PublicTourCatalogDepartureSummary, PublicTourDetailResponse, PublicAvailabilityState, PublicTourPageFormat, PublicTourPagePrivateOption, PublicTourPageLeg, PublicTourPageMeal, PublicTourPageKnowSlot, PublicTourPageBadgeTone, PublicTourPageFactKey, PublicTourPageFactIcon, PublicTourPageGalleryKey, PublicTourPageRoomOptionId, PublicTourPageImage, PublicTourPageKeyValue, PublicTourPageBadge, PublicTourPageOpenGraphImage, PublicTourPageByline, PublicTourPageChecked, PublicTourPagePrivateOverride, PublicTourPageFact, PublicTourPageHero, PublicTourPageVideo, PublicTourPageQuote, PublicTourPageGalleryGroup, PublicTourPageExperienceFrame, PublicTourPageExperience, PublicTourPageMap, PublicTourPageStop, PublicTourPageItineraryDay, PublicTourPagePlace, PublicTourPageStay, PublicTourPageTitledBody, PublicTourPageDeparturesEmpty, PublicTourPageMonth, PublicTourPageRoomOption, PublicTourPageDeparture, PublicTourPagePriceFrom, PublicTourPageReviewSubRating, PublicTourPageReviewReply, PublicTourPageReviewItem, PublicTourPageReviews, PublicTourPageQuestion, PublicTourPageKnowExtra, PublicTourPageCredibility, PublicTourPageOperator, PublicTourPageTailorBand, PublicTourPageBrochure, PublicTourPageRelatedCard, PublicTourPage, PublicTourPageResponse, PublicDepartureListResponse, PublicDestinationListResponse, PublicDestinationDetailResponse, PublicApiResult, ListPublicToursParams, GetPublicTourParams, GetPublicDestinationParams, PublicContentLocale, GetPublicTourPreviewParams, ListPublicDeparturesParams, ListPublicTourAvailabilityParams, ListPublicDestinationsParams, PublicInquiryRequest, PublicTourTailorJourney, PublicInquiryResponse, PublicSupportRequestCategory, PublicSupportRequest, PublicSupportRequestRecaptcha, PublicSupportRequestResponse, PublicMarketingUnsubscribeRequest, PublicMarketingUnsubscribeResponse, PublicNewsletterSubscriptionSource, PublicNewsletterSubscriptionLocale, PublicNewsletterSubscriptionRequest, PublicNewsletterSubscriptionResponse, PublicNewsletterSubscriptionOptions, PublicBookingIntentRequest, PublicBookingIntentData, PublicBookingIntentResponse, PublicHomepageStats, PublicHomepageSeo, PublicHomepageResponse, PublicSitemapEntry, PublicSitemapResponse, PublicNavLink, PublicStaticLink, PublicSiteNavigationResponse, PublicTourCategoryListItem, PublicTourCategoryListResponse, PublicPriceDisplayByCurrency, PublicSearchResultItem, PublicSearchResultGroup, PublicSearchResultsResponse, PublicSearchSuggestion, PublicSearchSuggestionsResponse, PublicSiteRouteKey, PublicSiteCta, PublicSiteHomeSectionType, PublicSiteHomeSection, PublicSiteHomeContent, PublicSiteHomeContentResponse, PublicSiteNavItem, PublicSiteSocialPlatform, PublicSiteSocialLink, PublicSiteHeaderOffice, PublicSiteHeaderMenuCategory, PublicSiteHeaderMenuEditorial, PublicSiteHeaderQuickLink, PublicSiteHeaderSearchShortcuts, PublicSiteFooterNavGroupLink, PublicSiteFooterNavGroup, PublicSiteFooterSupportBand, PublicSiteFooterPaymentNote, PublicSiteChromeContent, PublicSiteChromeContentResponse, PublicSiteFeatureStates, PublicSiteFeaturesResponse, PublicBotCheckErrorCode, PublicBotProtectionRecaptcha, PublicBotProtectionResponse, PublicTravelInsuranceAgeBand, PublicTravelInsuranceDurationBand, PublicTravelInsuranceRates, PublicTravelInsuranceRatesResponse, LocaleTag, LocalizationReleaseId, UiCatalogSnapshotId, CmsContentSnapshotId, PublicLocaleRegistryItem, PublicLocaleRegistryResponse, PublicLocalizationRelease, PublicLocalizationReleaseResponse, PublicUiCatalogMessage, PublicUiCatalog, PublicUiCatalogResponse, PublicSiteTrustSectionType, PublicSiteTrustTitledItem, PublicSiteTrustParagraphGroup, PublicSiteTrustTitledItemList, PublicSiteTrustBulletList, PublicSiteTrustSection, PublicSiteTrustPageSeo, PublicSiteTrustPageContent, PublicSiteTrustPageContentResponse, PublicSiteBlock, PublicSiteBlockPageContent, PublicSiteBlockPageContentResponse, PublicTravelStatusState, PublicTravelStatusFreshness, PublicSurfiranOperationalUpdate, PublicTravelStatusResponse, PublicTravelKnowledgeType, PublicTravelKnowledgeItem, PublicTravelKnowledgeResponse, GetPublicSitemapParams, GetPublicSearchResultsParams, GetPublicSearchSuggestionsParams, GetPublicTravelKnowledgeParams, ListPublicTourCategoriesParams, PublicTravellerStoryListItem, PublicTravellerStoryListResponse, ListPublicTravellerStoriesParams, PublicTourQuestionListItem, PublicTourQuestionListResponse, ListPublicTourQuestionsParams, PublicTourExperienceFrame, PublicTourExperienceListItem, PublicTourExperienceListResponse, ListPublicTourExperiencesParams, PublicTourAccommodationListItem, PublicTourAccommodationListResponse, ListPublicTourAccommodationsParams, PublicTourReviewsAggregate, PublicTourRatingBreakdownItem, PublicTourReviewsSummary, PublicTourReviewsSummaryResponse, PublicTourReviewListItem, PublicTourReviewListResponse, PublicSiteReviewListResponse, ListPublicSiteReviewsParams, PublicTourReviewsLimit, ListPublicTourReviewsParams, PublicTourRouteStop, PublicRouteTransportMode, PublicTourRouteResponse, ListPublicTourRouteParams, PublicItineraryMealCode, PublicTourItineraryDay, PublicTourItineraryResponse, ListPublicTourItineraryParams, PublicBrochureLeadRequest, PublicBrochureLeadResponse, } from './types.js';
|
|
3
3
|
export type { PublicApiClientOptions } from './client.js';
|
|
4
4
|
export type { GeneratedPublicApiVersion, GeneratedPublicApiPath, GeneratedPublicApiOperation, GeneratedPublicApiActiveOperation, GeneratedPublicApiBlockedOperation, GeneratedPublicApiOperationId, GeneratedPublicApiSchemaName, } from './generated/public-api-v1.js';
|
package/dist/types.d.ts
CHANGED
|
@@ -71,6 +71,8 @@ export type PublicPriceDisplayByCurrency = {
|
|
|
71
71
|
*/
|
|
72
72
|
export type PublicTourRegion = 'iran' | 'beyond-iran';
|
|
73
73
|
export type PublicTourListItem = {
|
|
74
|
+
/** Tour-level six-state availability. */
|
|
75
|
+
availabilityState: PublicAvailabilityState;
|
|
74
76
|
/** Published dates, independent of capacity; present in catalog mode. */
|
|
75
77
|
departureSummary?: PublicTourCatalogDepartureSummary;
|
|
76
78
|
id: number;
|
|
@@ -302,6 +304,9 @@ export type PublicDepartureListItem = {
|
|
|
302
304
|
priceDisplay: string | null;
|
|
303
305
|
currency: string | null;
|
|
304
306
|
bookingStatus: string | null;
|
|
307
|
+
state: PublicAvailabilityState;
|
|
308
|
+
/** Places left, published only for the limited state (1 to 4); otherwise null. */
|
|
309
|
+
left: number | null;
|
|
305
310
|
};
|
|
306
311
|
export type PublicTourQuestionListItem = {
|
|
307
312
|
id: number;
|
|
@@ -451,6 +456,9 @@ export type PublicAvailabilityListItem = {
|
|
|
451
456
|
availabilityLabel?: string;
|
|
452
457
|
capacityStatus: PublicAvailabilityStatus;
|
|
453
458
|
bookingStatus: 'open' | 'closed' | null;
|
|
459
|
+
state: PublicAvailabilityState;
|
|
460
|
+
/** Places left, published only for the limited state (1 to 4); otherwise null. */
|
|
461
|
+
left: number | null;
|
|
454
462
|
currency: string | null;
|
|
455
463
|
priceDisplay: string | null;
|
|
456
464
|
priceDisplayByCurrency: PublicPriceDisplayByCurrency;
|
|
@@ -693,6 +701,353 @@ export type PublicTourCatalogSort = 'departure-soonest' | 'duration-asc' | 'dura
|
|
|
693
701
|
export type PublicTourDetailResponse = {
|
|
694
702
|
data: PublicTourDetail;
|
|
695
703
|
};
|
|
704
|
+
/**
|
|
705
|
+
* Six-state availability from the API's single normaliser. At tour level,
|
|
706
|
+
* dates means a group tour with no offered departure (new dates to come, no
|
|
707
|
+
* bookable price).
|
|
708
|
+
*/
|
|
709
|
+
export type PublicAvailabilityState = 'available' | 'limited' | 'soldout' | 'dates' | 'request' | 'unpublished';
|
|
710
|
+
/**
|
|
711
|
+
* Tour detail page projection (GET /tours/{slug}/page). Every property is
|
|
712
|
+
* always present: an absent optional value is null and an empty list is [].
|
|
713
|
+
* Money is a number in major units of the record's currency. Display strings
|
|
714
|
+
* are finished text; consumers never recompute them.
|
|
715
|
+
*/
|
|
716
|
+
export type PublicTourPageFormat = 'group' | 'private';
|
|
717
|
+
export type PublicTourPagePrivateOption = 'exact' | 'similar' | 'none';
|
|
718
|
+
export type PublicTourPageLeg = 'start' | 'road' | 'flight';
|
|
719
|
+
export type PublicTourPageMeal = 'B' | 'L' | 'D';
|
|
720
|
+
export type PublicTourPageKnowSlot = 'visa' | 'money' | 'dress' | 'connectivity' | 'safety';
|
|
721
|
+
export type PublicTourPageBadgeTone = 'brand' | 'neutral';
|
|
722
|
+
export type PublicTourPageFactKey = 'Duration' | 'Group size' | 'Pace' | 'Comfort' | 'Guide' | 'Start / end';
|
|
723
|
+
export type PublicTourPageFactIcon = 'clock' | 'people' | 'route' | 'bed' | 'globe' | 'pin';
|
|
724
|
+
export type PublicTourPageGalleryKey = 'route' | 'people' | 'activities' | 'stay' | 'transport';
|
|
725
|
+
export type PublicTourPageRoomOptionId = 'twin' | 'single';
|
|
726
|
+
export type PublicTourPageImage = {
|
|
727
|
+
img: string;
|
|
728
|
+
alt: string;
|
|
729
|
+
pos: string;
|
|
730
|
+
caption: string | null;
|
|
731
|
+
};
|
|
732
|
+
export type PublicTourPageKeyValue = {
|
|
733
|
+
k: string;
|
|
734
|
+
v: string;
|
|
735
|
+
};
|
|
736
|
+
export type PublicTourPageBadge = {
|
|
737
|
+
label: string;
|
|
738
|
+
tone: PublicTourPageBadgeTone;
|
|
739
|
+
};
|
|
740
|
+
export type PublicTourPageOpenGraphImage = {
|
|
741
|
+
url: string;
|
|
742
|
+
w: number;
|
|
743
|
+
h: number;
|
|
744
|
+
alt: string;
|
|
745
|
+
};
|
|
746
|
+
export type PublicTourPageByline = {
|
|
747
|
+
name: string;
|
|
748
|
+
href: string;
|
|
749
|
+
role: string | null;
|
|
750
|
+
};
|
|
751
|
+
export type PublicTourPageChecked = {
|
|
752
|
+
iso: string;
|
|
753
|
+
label: string;
|
|
754
|
+
};
|
|
755
|
+
export type PublicTourPagePrivateOverride = {
|
|
756
|
+
title: string;
|
|
757
|
+
body: string;
|
|
758
|
+
bodyLong: string | null;
|
|
759
|
+
cta: string;
|
|
760
|
+
href: string;
|
|
761
|
+
};
|
|
762
|
+
export type PublicTourPageFact = {
|
|
763
|
+
k: PublicTourPageFactKey;
|
|
764
|
+
v: string;
|
|
765
|
+
note: string | null;
|
|
766
|
+
icon: PublicTourPageFactIcon;
|
|
767
|
+
};
|
|
768
|
+
export type PublicTourPageHero = {
|
|
769
|
+
main: PublicTourPageImage | null;
|
|
770
|
+
sideA: PublicTourPageImage | null;
|
|
771
|
+
sideB: PublicTourPageImage | null;
|
|
772
|
+
};
|
|
773
|
+
export type PublicTourPageVideo = {
|
|
774
|
+
label: string;
|
|
775
|
+
aria: string;
|
|
776
|
+
url: string;
|
|
777
|
+
posterUrl: string | null;
|
|
778
|
+
};
|
|
779
|
+
export type PublicTourPageQuote = {
|
|
780
|
+
text: string;
|
|
781
|
+
author: string | null;
|
|
782
|
+
score: number;
|
|
783
|
+
};
|
|
784
|
+
export type PublicTourPageGalleryGroup = {
|
|
785
|
+
key: PublicTourPageGalleryKey;
|
|
786
|
+
label: string;
|
|
787
|
+
note: string | null;
|
|
788
|
+
items: PublicTourPageImage[];
|
|
789
|
+
};
|
|
790
|
+
/** One frame of an experience story: a photograph, or a placeholder note while footage is awaited (img null). */
|
|
791
|
+
export type PublicTourPageExperienceFrame = {
|
|
792
|
+
img: string | null;
|
|
793
|
+
alt: string | null;
|
|
794
|
+
pos: string | null;
|
|
795
|
+
note: string | null;
|
|
796
|
+
caption: string | null;
|
|
797
|
+
};
|
|
798
|
+
export type PublicTourPageExperience = {
|
|
799
|
+
title: string;
|
|
800
|
+
meta: string;
|
|
801
|
+
badge: string;
|
|
802
|
+
day: number | null;
|
|
803
|
+
frames: PublicTourPageExperienceFrame[];
|
|
804
|
+
};
|
|
805
|
+
export type PublicTourPageMap = {
|
|
806
|
+
route: boolean;
|
|
807
|
+
img: string | null;
|
|
808
|
+
alt: string;
|
|
809
|
+
};
|
|
810
|
+
export type PublicTourPageStop = {
|
|
811
|
+
name: string;
|
|
812
|
+
meta: string | null;
|
|
813
|
+
lat: number | null;
|
|
814
|
+
lon: number | null;
|
|
815
|
+
leg: PublicTourPageLeg | null;
|
|
816
|
+
nights: number | null;
|
|
817
|
+
};
|
|
818
|
+
export type PublicTourPageItineraryDay = {
|
|
819
|
+
n: number;
|
|
820
|
+
title: string;
|
|
821
|
+
meta: string | null;
|
|
822
|
+
meals: PublicTourPageMeal[];
|
|
823
|
+
body: string;
|
|
824
|
+
rows: PublicTourPageKeyValue[];
|
|
825
|
+
img: string | null;
|
|
826
|
+
alt: string | null;
|
|
827
|
+
pos: string | null;
|
|
828
|
+
};
|
|
829
|
+
export type PublicTourPagePlace = {
|
|
830
|
+
city: string;
|
|
831
|
+
country: string;
|
|
832
|
+
airport: string | null;
|
|
833
|
+
};
|
|
834
|
+
export type PublicTourPageStay = {
|
|
835
|
+
name: string;
|
|
836
|
+
note: string | null;
|
|
837
|
+
nights: number | null;
|
|
838
|
+
nightsLabel: string;
|
|
839
|
+
};
|
|
840
|
+
export type PublicTourPageTitledBody = {
|
|
841
|
+
title: string;
|
|
842
|
+
body: string;
|
|
843
|
+
};
|
|
844
|
+
export type PublicTourPageDeparturesEmpty = {
|
|
845
|
+
title: string;
|
|
846
|
+
body: string;
|
|
847
|
+
cta: string;
|
|
848
|
+
href: string;
|
|
849
|
+
note: string | null;
|
|
850
|
+
};
|
|
851
|
+
export type PublicTourPageMonth = {
|
|
852
|
+
key: string;
|
|
853
|
+
label: string;
|
|
854
|
+
};
|
|
855
|
+
export type PublicTourPageRoomOption = {
|
|
856
|
+
id: PublicTourPageRoomOptionId;
|
|
857
|
+
label: string;
|
|
858
|
+
note: string;
|
|
859
|
+
base: PublicTourPageRoomOptionId;
|
|
860
|
+
};
|
|
861
|
+
export type PublicTourPageDeparture = {
|
|
862
|
+
id: string;
|
|
863
|
+
departureId: number;
|
|
864
|
+
startDate: string;
|
|
865
|
+
endDate: string;
|
|
866
|
+
iso: string;
|
|
867
|
+
startLabel: string;
|
|
868
|
+
endLabel: string;
|
|
869
|
+
range: string;
|
|
870
|
+
dow: string;
|
|
871
|
+
month: string;
|
|
872
|
+
monthLabel: string;
|
|
873
|
+
monthShort: string;
|
|
874
|
+
state: PublicAvailabilityState;
|
|
875
|
+
stateLabel: string;
|
|
876
|
+
stateShort: string;
|
|
877
|
+
left: number | null;
|
|
878
|
+
stateNote: string | null;
|
|
879
|
+
requestNote: string | null;
|
|
880
|
+
price: string | null;
|
|
881
|
+
priceNote: string | null;
|
|
882
|
+
twin: number | null;
|
|
883
|
+
single: number | null;
|
|
884
|
+
priv: number | null;
|
|
885
|
+
currency: string;
|
|
886
|
+
};
|
|
887
|
+
export type PublicTourPagePriceFrom = {
|
|
888
|
+
amount: number | null;
|
|
889
|
+
currency: string;
|
|
890
|
+
basis: string | null;
|
|
891
|
+
singleSupp: number | null;
|
|
892
|
+
onRequest: boolean;
|
|
893
|
+
note: string | null;
|
|
894
|
+
state: PublicAvailabilityState;
|
|
895
|
+
stateLabel: string;
|
|
896
|
+
display: string;
|
|
897
|
+
prefix: string;
|
|
898
|
+
unit: string;
|
|
899
|
+
chip: string;
|
|
900
|
+
};
|
|
901
|
+
export type PublicTourPageReviewSubRating = {
|
|
902
|
+
k: string;
|
|
903
|
+
v: string;
|
|
904
|
+
pct: number;
|
|
905
|
+
};
|
|
906
|
+
export type PublicTourPageReviewReply = {
|
|
907
|
+
by: string;
|
|
908
|
+
body: string;
|
|
909
|
+
};
|
|
910
|
+
export type PublicTourPageReviewItem = {
|
|
911
|
+
i: string;
|
|
912
|
+
name: string;
|
|
913
|
+
meta: string;
|
|
914
|
+
score: string;
|
|
915
|
+
date: string | null;
|
|
916
|
+
title: string;
|
|
917
|
+
body: string;
|
|
918
|
+
reply: PublicTourPageReviewReply | null;
|
|
919
|
+
};
|
|
920
|
+
export type PublicTourPageReviews = {
|
|
921
|
+
count: number;
|
|
922
|
+
countLabel: string;
|
|
923
|
+
badgeLabel: string;
|
|
924
|
+
rating: string | null;
|
|
925
|
+
source: string | null;
|
|
926
|
+
sourceUrl: string | null;
|
|
927
|
+
checked: PublicTourPageChecked | null;
|
|
928
|
+
sub: PublicTourPageReviewSubRating[];
|
|
929
|
+
items: PublicTourPageReviewItem[];
|
|
930
|
+
};
|
|
931
|
+
export type PublicTourPageQuestion = {
|
|
932
|
+
q: string;
|
|
933
|
+
asked: string | null;
|
|
934
|
+
i: string | null;
|
|
935
|
+
by: string | null;
|
|
936
|
+
a: string;
|
|
937
|
+
};
|
|
938
|
+
export type PublicTourPageKnowExtra = {
|
|
939
|
+
t: string;
|
|
940
|
+
b: string;
|
|
941
|
+
cta: string | null;
|
|
942
|
+
href: string | null;
|
|
943
|
+
icon: string | null;
|
|
944
|
+
after: PublicTourPageKnowSlot | null;
|
|
945
|
+
};
|
|
946
|
+
export type PublicTourPageCredibility = {
|
|
947
|
+
v: string;
|
|
948
|
+
k: string;
|
|
949
|
+
};
|
|
950
|
+
export type PublicTourPageOperator = {
|
|
951
|
+
body: string;
|
|
952
|
+
};
|
|
953
|
+
export type PublicTourPageTailorBand = {
|
|
954
|
+
kicker: string | null;
|
|
955
|
+
title: string;
|
|
956
|
+
body: string;
|
|
957
|
+
image: PublicTourPageImage | null;
|
|
958
|
+
};
|
|
959
|
+
export type PublicTourPageBrochure = {
|
|
960
|
+
blurb: string;
|
|
961
|
+
};
|
|
962
|
+
export type PublicTourPageRelatedCard = {
|
|
963
|
+
name: string;
|
|
964
|
+
kind: 'Small Group' | 'Private';
|
|
965
|
+
diff: string;
|
|
966
|
+
price: string;
|
|
967
|
+
days: number;
|
|
968
|
+
basis: string;
|
|
969
|
+
daysLabel: string;
|
|
970
|
+
state: PublicAvailabilityState;
|
|
971
|
+
stateLabel: string;
|
|
972
|
+
href: string;
|
|
973
|
+
img: string | null;
|
|
974
|
+
alt: string | null;
|
|
975
|
+
pos: string | null;
|
|
976
|
+
};
|
|
977
|
+
export type PublicTourPage = {
|
|
978
|
+
id: string;
|
|
979
|
+
slug: string;
|
|
980
|
+
title: string;
|
|
981
|
+
titleShort: string;
|
|
982
|
+
metaTitle: string;
|
|
983
|
+
metaDescription: string;
|
|
984
|
+
ogDescription: string;
|
|
985
|
+
ogImage: PublicTourPageOpenGraphImage | null;
|
|
986
|
+
schemaDescription: string;
|
|
987
|
+
badges: PublicTourPageBadge[];
|
|
988
|
+
countries: string[];
|
|
989
|
+
format: PublicTourPageFormat | null;
|
|
990
|
+
days: number;
|
|
991
|
+
nights: number | null;
|
|
992
|
+
durationLabel: string;
|
|
993
|
+
touristType: string[];
|
|
994
|
+
maxTravellers: number | null;
|
|
995
|
+
runsFrom: number | null;
|
|
996
|
+
privateOption: PublicTourPagePrivateOption;
|
|
997
|
+
privateOverride: PublicTourPagePrivateOverride | null;
|
|
998
|
+
summary: string[];
|
|
999
|
+
byline: PublicTourPageByline | null;
|
|
1000
|
+
checked: PublicTourPageChecked | null;
|
|
1001
|
+
routeChain: string[];
|
|
1002
|
+
route: string;
|
|
1003
|
+
facts: PublicTourPageFact[];
|
|
1004
|
+
highlights: string[];
|
|
1005
|
+
hero: PublicTourPageHero;
|
|
1006
|
+
video: PublicTourPageVideo | null;
|
|
1007
|
+
quote: PublicTourPageQuote | null;
|
|
1008
|
+
gallery: PublicTourPageGalleryGroup[];
|
|
1009
|
+
experiences: PublicTourPageExperience[];
|
|
1010
|
+
experiencesIntro: string | null;
|
|
1011
|
+
experiencesNote: string | null;
|
|
1012
|
+
routeNote: string | null;
|
|
1013
|
+
map: PublicTourPageMap | null;
|
|
1014
|
+
mapEmpty: string | null;
|
|
1015
|
+
stops: PublicTourPageStop[];
|
|
1016
|
+
itinerary: PublicTourPageItineraryDay[];
|
|
1017
|
+
included: PublicTourPageKeyValue[];
|
|
1018
|
+
excluded: PublicTourPageKeyValue[];
|
|
1019
|
+
includedNote: string | null;
|
|
1020
|
+
stays: PublicTourPageStay[];
|
|
1021
|
+
staysNote: string | null;
|
|
1022
|
+
staysEmpty: PublicTourPageTitledBody | null;
|
|
1023
|
+
departures: PublicTourPageDeparture[];
|
|
1024
|
+
departuresEmpty: PublicTourPageDeparturesEmpty | null;
|
|
1025
|
+
/** False when no departure is offered: the page shows departuresEmpty, or its own default copy when that is null (D25). */
|
|
1026
|
+
departuresOffered: boolean;
|
|
1027
|
+
months: PublicTourPageMonth[];
|
|
1028
|
+
priceFrom: PublicTourPagePriceFrom;
|
|
1029
|
+
roomOptions: PublicTourPageRoomOption[];
|
|
1030
|
+
soldOutNote: string | null;
|
|
1031
|
+
ctaNote: string | null;
|
|
1032
|
+
deposit: string | null;
|
|
1033
|
+
reassurance: string[];
|
|
1034
|
+
start: PublicTourPagePlace;
|
|
1035
|
+
end: PublicTourPagePlace;
|
|
1036
|
+
reviews: PublicTourPageReviews | null;
|
|
1037
|
+
qa: PublicTourPageQuestion[];
|
|
1038
|
+
knowSlots: PublicTourPageKnowSlot[];
|
|
1039
|
+
knowExtra: PublicTourPageKnowExtra[];
|
|
1040
|
+
credibility: PublicTourPageCredibility[];
|
|
1041
|
+
replyTime: string | null;
|
|
1042
|
+
operator: PublicTourPageOperator | null;
|
|
1043
|
+
tailorBand: PublicTourPageTailorBand | null;
|
|
1044
|
+
related: PublicTourPageRelatedCard[];
|
|
1045
|
+
brochure: PublicTourPageBrochure | null;
|
|
1046
|
+
newsletterNote: string | null;
|
|
1047
|
+
};
|
|
1048
|
+
export type PublicTourPageResponse = {
|
|
1049
|
+
data: PublicTourPage;
|
|
1050
|
+
};
|
|
696
1051
|
export type PublicDepartureListResponse = {
|
|
697
1052
|
data: PublicDepartureListItem[];
|
|
698
1053
|
nextCursor: string | null;
|
|
@@ -1571,6 +1926,8 @@ export type PublicApiV1RouteMap = {
|
|
|
1571
1926
|
'GET /tours': PublicTourListResponse;
|
|
1572
1927
|
'GET /tours/{slug}': PublicTourDetailResponse;
|
|
1573
1928
|
'GET /tours/{slug}/preview': PublicTourDetailResponse;
|
|
1929
|
+
'GET /tours/{slug}/page': PublicTourPageResponse;
|
|
1930
|
+
'GET /tours/{slug}/preview/page': PublicTourPageResponse;
|
|
1574
1931
|
'GET /tours/{slug}/departures': PublicDepartureListResponse;
|
|
1575
1932
|
'GET /tours/{slug}/availability': PublicAvailabilityListResponse;
|
|
1576
1933
|
'GET /tours/{slug}/reviews': PublicTourReviewListResponse;
|