@v-office/website-sdk 2.4.3 → 2.5.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/dist/cli.mjs CHANGED
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env node
2
- import { Pt as defineWebsiteSDKOptions, t as createWebsiteSDK } from "./client-BORwUo4_.mjs";
2
+ import { Pt as defineWebsiteSDKOptions, t as createWebsiteSDK } from "./client-Cnf-pbry.mjs";
3
+ import { SearchSearchSortSchema } from "@v-office/sdk-core";
3
4
  import { Console, Effect, FileSystem, Layer, Option, Path, Schema, Stdio, Terminal } from "effect";
4
5
  import { Command, Flag } from "effect/unstable/cli";
5
6
  import { inspect } from "node:util";
@@ -15,7 +16,7 @@ var CLICheckFailed = class extends Error {
15
16
  const toCLIError = (message, cause) => cause instanceof Error ? new CLICheckFailed(`${message}: ${cause.message}`, { cause }) : new CLICheckFailed(message, { cause });
16
17
  //#endregion
17
18
  //#region package.json
18
- var version = "2.4.3";
19
+ var version = "2.5.0";
19
20
  //#endregion
20
21
  //#region src/cli/output.ts
21
22
  const toJson = (value) => Effect.try({
@@ -72,6 +73,7 @@ const WebsiteV9CLIConfigSchema = Schema.Struct({
72
73
  const WebsiteV10CLIConfigSchema = Schema.Struct({
73
74
  backend: Schema.optionalKey(Schema.Literal("v10")),
74
75
  apiEndpoint: NonBlankStringSchema,
76
+ searchEndpoint: NonBlankStringSchema,
75
77
  accessToken: NonBlankStringSchema,
76
78
  imageBaseUrl: NonBlankStringSchema
77
79
  });
@@ -110,6 +112,7 @@ const fromEnvironment = (root) => Effect.gen(function* () {
110
112
  config: {
111
113
  backend: "v10",
112
114
  apiEndpoint: yield* getRequiredEnv("VOFFICE_API_ENDPOINT"),
115
+ searchEndpoint: yield* getRequiredEnv("VOFFICE_SEARCH_ENDPOINT"),
113
116
  accessToken: yield* getRequiredEnv("VOFFICE_LOCAL_DEV_ACCESS_TOKEN"),
114
117
  imageBaseUrl: yield* getRequiredEnv("VOFFICE_IMAGE_BASE_URL")
115
118
  },
@@ -193,6 +196,7 @@ const env = Command.make("env", {}, Effect.fn(function* () {
193
196
  "IMAGE_PROXY_BASE_URL"
194
197
  ] : [
195
198
  "VOFFICE_API_ENDPOINT",
199
+ "VOFFICE_SEARCH_ENDPOINT",
196
200
  "VOFFICE_LOCAL_DEV_ACCESS_TOKEN",
197
201
  "VOFFICE_IMAGE_BASE_URL"
198
202
  ],
@@ -251,6 +255,9 @@ const liveCommands = [
251
255
  Command.make("booking").pipe(Command.withDescription("Run live booking operations."), Command.withSubcommands([bookingBook])),
252
256
  Command.make("contact").pipe(Command.withDescription("Run live contact operations."), Command.withSubcommands([contactSubmit]))
253
257
  ];
258
+ //#endregion
259
+ //#region src/cli/commands/static.ts
260
+ const parseSearchSort = (input) => parseJson(input, "--sort").pipe(Effect.flatMap((value) => Schema.decodeUnknownEffect(SearchSearchSortSchema, { onExcessProperty: "error" })(value).pipe(Effect.mapError((cause) => toCLIError("Invalid --sort value", cause)))));
254
261
  const staticCommands = [
255
262
  Command.make("filters", { locale: localeFlag }, ({ locale }) => websiteSdkCommand.pipe(Effect.flatMap((root) => withSDK(root, (sdk) => sdk.static.filter.getFilters({ locale })).pipe(Effect.flatMap((result) => printOutput(root, result)))))).pipe(Command.withDescription("Fetch unified filter definitions."), Command.withExamples([{
256
263
  command: "website-sdk --backend v10 filters --locale de-DE",
@@ -266,21 +273,34 @@ const staticCommands = [
266
273
  limit: Flag.integer("limit").pipe(Flag.optional, Flag.withDescription("Optional positive result limit.")),
267
274
  cursor: Flag.string("cursor").pipe(Flag.optional, Flag.withDescription("Optional pagination cursor.")),
268
275
  rentalIdsIn: Flag.string("rental-ids-in").pipe(Flag.optional, Flag.withDescription("Optional comma-separated rental IDs to restrict v10 search results.")),
269
- voucher: Flag.string("voucher").pipe(Flag.optional, Flag.withDescription("Optional voucher code for v10 search pricing."))
270
- }, ({ locale, query, limit, cursor, rentalIdsIn, voucher }) => websiteSdkCommand.pipe(Effect.flatMap((root) => {
271
- const parsedRentalIdsIn = Option.isSome(rentalIdsIn) ? rentalIdsIn.value.split(",").map((rentalId) => rentalId.trim()).filter((rentalId) => rentalId.length > 0) : [];
272
- const input = {
273
- locale,
274
- query,
275
- ...parsedRentalIdsIn.length > 0 ? { rentalIdsIn: parsedRentalIdsIn } : {},
276
- ...Option.isSome(voucher) ? { voucher: voucher.value } : {},
277
- ...Option.isSome(limit) ? { limit: limit.value } : {},
278
- ...Option.isSome(cursor) ? { cursor: cursor.value } : {}
279
- };
280
- return withSDK(root, (sdk) => sdk.live.search.search(input)).pipe(Effect.flatMap((result) => printOutput(root, result)));
276
+ voucher: Flag.string("voucher").pipe(Flag.optional, Flag.withDescription("Optional voucher code for v10 search pricing.")),
277
+ sort: Flag.string("sort").pipe(Flag.optional, Flag.withDescription("Optional SearchSearchSort JSON, for example '{\"by\":\"price\",\"direction\":\"ASC\"}'."))
278
+ }, ({ locale, query, limit, cursor, rentalIdsIn, voucher, sort }) => websiteSdkCommand.pipe(Effect.flatMap((root) => {
279
+ return Effect.gen(function* () {
280
+ const parsedRentalIdsIn = Option.isSome(rentalIdsIn) ? rentalIdsIn.value.split(",").map((rentalId) => rentalId.trim()).filter((rentalId) => rentalId.length > 0) : [];
281
+ const parsedSort = Option.isSome(sort) ? yield* parseSearchSort(sort.value) : void 0;
282
+ if (root.backend === "v9" && parsedSort?.by === "field") return yield* Effect.fail(toCLIError("Invalid --sort value", /* @__PURE__ */ new Error("Field sorting requires v10.")));
283
+ const v9Sort = parsedSort?.by === "field" ? void 0 : parsedSort;
284
+ const input = {
285
+ locale,
286
+ query,
287
+ ...Option.isSome(limit) ? { limit: limit.value } : {},
288
+ ...Option.isSome(cursor) ? { cursor: cursor.value } : {},
289
+ ...v9Sort === void 0 ? {} : { sort: v9Sort }
290
+ };
291
+ return yield* withSDK(root, (sdk) => sdk.backend === "v9" ? sdk.live.search.search(input) : sdk.live.search.search({
292
+ ...input,
293
+ ...parsedRentalIdsIn.length > 0 ? { rentalIdsIn: parsedRentalIdsIn } : {},
294
+ ...Option.isSome(voucher) ? { voucher: voucher.value } : {},
295
+ ...parsedSort === void 0 ? {} : { sort: parsedSort }
296
+ })).pipe(Effect.flatMap((result) => printOutput(root, result)));
297
+ });
281
298
  }))).pipe(Command.withDescription("Run a live rental search."), Command.withExamples([{
282
299
  command: "website-sdk --backend v10 search --locale de-DE --query \"adults=2\"",
283
300
  description: "Search v10 rentals with a query string."
301
+ }, {
302
+ command: "website-sdk --backend v9 search --locale de-DE --query \"adults=2\" --sort '{\"by\":\"random\"}'",
303
+ description: "Search v9 rentals in random order."
284
304
  }]))
285
305
  ];
286
306
  //#endregion
@@ -6,6 +6,7 @@ import { print } from "graphql";
6
6
  const normalizeWebsiteSDKOptions = (options = {}) => ({
7
7
  ...options.translationOverrides === void 0 ? {} : { translationOverrides: options.translationOverrides },
8
8
  customAttributeFilterDefinitions: options.customAttributeFilterDefinitions ?? [],
9
+ ...options.customAttributeDefinitionManifest === void 0 ? {} : { customAttributeDefinitionManifest: options.customAttributeDefinitionManifest },
9
10
  rentalHighlightPrioritization: options.rentalHighlightPrioritization ?? DEFAULT_RENTAL_HIGHLIGHT_PRIORITIZATION,
10
11
  rentalPropertyHighlightPrioritization: options.rentalPropertyHighlightPrioritization ?? DEFAULT_RENTAL_PROPERTY_HIGHLIGHT_PRIORITIZATION,
11
12
  rentalScope: options.rentalScope ?? {},
@@ -4672,7 +4673,7 @@ const parseV9SearchCursor = (cursor) => Effect.gen(function* () {
4672
4673
  return page;
4673
4674
  });
4674
4675
  const loadV9SearchRuntime = Effect.tryPromise({
4675
- try: () => import("./search-Ckz48lwV.mjs"),
4676
+ try: () => import("./search-D1_b2t11.mjs"),
4676
4677
  catch: (cause) => new CoreSDKError({
4677
4678
  source: "v10",
4678
4679
  operation: "v9.search.runtime",
@@ -4705,7 +4706,8 @@ const makeV9SearchApi = ({ config, options }) => {
4705
4706
  locale: input.locale,
4706
4707
  translations,
4707
4708
  customAttributeFilterDefinitions: options.customAttributeFilterDefinitions,
4708
- query: input.query
4709
+ query: input.query,
4710
+ sort: input.sort
4709
4711
  });
4710
4712
  const scopedQueryInput = applyV9RentalScopeToSearchQueryInput(queryInput, options.rentalScope);
4711
4713
  if (scopedQueryInput === void 0) return {
package/dist/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { AdditionalServiceLimitExceeded, AvailabilityGetInitialAvailabilityInput, AvailabilityGetInitialAvailabilityInput as AvailabilityGetInitialAvailabilityInput$1, AvailabilityGetInitialAvailabilityOutput, AvailabilityGetInitialAvailabilityOutput as AvailabilityGetInitialAvailabilityOutput$1, AvailabilityGetStartDateSelectedAvailabilityInput, AvailabilityGetStartDateSelectedAvailabilityInput as AvailabilityGetStartDateSelectedAvailabilityInput$1, AvailabilityGetStartDateSelectedAvailabilityOutput, AvailabilityGetStartDateSelectedAvailabilityOutput as AvailabilityGetStartDateSelectedAvailabilityOutput$1, AvailabilityService, BackendKind, BookingBookInput, BookingBookInput as BookingBookInput$1, BookingBookOutput, BookingBookOutput as BookingBookOutput$1, BookingPaymentOption, BookingService, ContactService, ContactSubmitInput, ContactSubmitInput as ContactSubmitInput$1, ContactSubmitOutput, ContactSubmitOutput as ContactSubmitOutput$1, ContactSubmitValidationIssue, ContactSubmitValidationIssueCode, CoreSDKError, CoreSDKError as CMSError, CoreSDKError as CoreSDKError$1, CustomAttributeDefinition, CustomAttributeFilterCategoryKey, CustomAttributeFilterDefinition, CustomAttributeFilterDefinition as CustomAttributeFilterDefinition$1, CustomAttributeFilterExpression, CustomAttributeFilterLabel, CustomAttributeFilterNumericBounds, CustomAttributeFilterOption, DocumentsGetTermsAndPrivacyPolicyInput, DocumentsGetTermsAndPrivacyPolicyInput as DocumentsGetTermsAndPrivacyPolicyInput$1, DocumentsGetTermsAndPrivacyPolicyOutput, DocumentsGetTermsAndPrivacyPolicyOutput as DocumentsGetTermsAndPrivacyPolicyOutput$1, DocumentsService, FilterGetFiltersInput, FilterGetFiltersInput as FilterGetFiltersInput$1, FilterGetFiltersOutput, FilterGetFiltersOutput as FilterGetFiltersOutput$1, FilterService, GuestQuote, GuestQuoteInput, GuestQuoteInsurance, GuestQuoteResult, GuestQuoteSchema, GuestQuoteSelectionResult, GuestQuoteVoucher, InsuranceBookingOutput, InsuranceCustomerInformationInput, InsurancePaymentInformationInput, InsurancePaymentOptionOutput, InsurancePreContractOutput, InvalidAdditionalServiceQuantity, Locale, LocaleSchema, QuoteAddAdditionalServiceInput, QuoteAddAdditionalServiceOutput, QuoteBookInsuranceInput, QuoteBookInsuranceOutput, QuoteClearAdditionalServicesInput, QuoteClearAdditionalServicesOutput, QuoteCreateInsurancePreContractInput, QuoteCreateInsurancePreContractOutput, QuoteQuoteInput, QuoteQuoteInput as QuoteQuoteInput$1, QuoteQuoteOutput, QuoteQuoteOutput as QuoteQuoteOutput$1, QuoteRemoveAdditionalServiceInput, QuoteRemoveAdditionalServiceOutput, QuoteSelectCancellationPolicyInput, QuoteSelectCancellationPolicyOutput, QuoteSelectInsuranceInput, QuoteSelectInsuranceOutput, QuoteSelectInsurancePaymentInput, QuoteSelectInsurancePaymentOutput, QuoteService as QuoteService$1, RentalGetRentalsInput, RentalGetRentalsInput as RentalGetRentalsInput$1, RentalGetRentalsOutput, RentalGetRentalsOutput as RentalGetRentalsOutput$1, RentalHighlightPrioritizationKey, RentalHighlightPrioritizationKey as RentalHighlightPrioritizationKey$1, RentalPropertyHighlightPrioritizationKey, RentalPropertyHighlightPrioritizationKey as RentalPropertyHighlightPrioritizationKey$1, RentalScope, RentalService, SearchSearchInput, SearchSearchInput as SearchSearchInput$1, SearchSearchInputSchema, SearchSearchOutput, SearchSearchOutput as SearchSearchOutput$1, SearchSearchOutputSchema, SearchService, SelectableInsuranceOptionOutput, SelectedInsuranceInformationInput, SubmittableBookingPaymentOption, SubmittableBookingPaymentOption as SubmittableBookingPaymentOption$1, TranslationOverrides, TranslationOverrides as TranslationOverrides$1, UnknownAdditionalService, V10CoreConfig, validateContactSubmitInput } from "@v-office/sdk-core";
1
+ import { AdditionalServiceLimitExceeded, AvailabilityGetInitialAvailabilityInput, AvailabilityGetInitialAvailabilityInput as AvailabilityGetInitialAvailabilityInput$1, AvailabilityGetInitialAvailabilityOutput, AvailabilityGetInitialAvailabilityOutput as AvailabilityGetInitialAvailabilityOutput$1, AvailabilityGetStartDateSelectedAvailabilityInput, AvailabilityGetStartDateSelectedAvailabilityInput as AvailabilityGetStartDateSelectedAvailabilityInput$1, AvailabilityGetStartDateSelectedAvailabilityOutput, AvailabilityGetStartDateSelectedAvailabilityOutput as AvailabilityGetStartDateSelectedAvailabilityOutput$1, AvailabilityService, BackendKind, BookingBookInput, BookingBookInput as BookingBookInput$1, BookingBookOutput, BookingBookOutput as BookingBookOutput$1, BookingPaymentOption, BookingService, ContactService, ContactSubmitInput, ContactSubmitInput as ContactSubmitInput$1, ContactSubmitOutput, ContactSubmitOutput as ContactSubmitOutput$1, ContactSubmitValidationIssue, ContactSubmitValidationIssueCode, CoreSDKError, CoreSDKError as CMSError, CoreSDKError as CoreSDKError$1, CustomAttributeDefinition, CustomAttributeDefinitionManifest, CustomAttributeDefinitionManifest as CustomAttributeDefinitionManifest$1, CustomAttributeDefinitionManifestEntry, CustomAttributeFilterCategoryKey, CustomAttributeFilterDefinition, CustomAttributeFilterDefinition as CustomAttributeFilterDefinition$1, CustomAttributeFilterExpression, CustomAttributeFilterLabel, CustomAttributeFilterNumericBounds, CustomAttributeFilterOption, DocumentsGetTermsAndPrivacyPolicyInput, DocumentsGetTermsAndPrivacyPolicyInput as DocumentsGetTermsAndPrivacyPolicyInput$1, DocumentsGetTermsAndPrivacyPolicyOutput, DocumentsGetTermsAndPrivacyPolicyOutput as DocumentsGetTermsAndPrivacyPolicyOutput$1, DocumentsService, FilterGetFiltersInput, FilterGetFiltersInput as FilterGetFiltersInput$1, FilterGetFiltersOutput, FilterGetFiltersOutput as FilterGetFiltersOutput$1, FilterService, GuestQuote, GuestQuoteInput, GuestQuoteInsurance, GuestQuoteResult, GuestQuoteSchema, GuestQuoteSelectionResult, GuestQuoteVoucher, InsuranceBookingOutput, InsuranceCustomerInformationInput, InsurancePaymentInformationInput, InsurancePaymentOptionOutput, InsurancePreContractOutput, InvalidAdditionalServiceQuantity, Locale, LocaleSchema, QuoteAddAdditionalServiceInput, QuoteAddAdditionalServiceOutput, QuoteBookInsuranceInput, QuoteBookInsuranceOutput, QuoteClearAdditionalServicesInput, QuoteClearAdditionalServicesOutput, QuoteCreateInsurancePreContractInput, QuoteCreateInsurancePreContractOutput, QuoteQuoteInput, QuoteQuoteInput as QuoteQuoteInput$1, QuoteQuoteOutput, QuoteQuoteOutput as QuoteQuoteOutput$1, QuoteRemoveAdditionalServiceInput, QuoteRemoveAdditionalServiceOutput, QuoteSelectCancellationPolicyInput, QuoteSelectCancellationPolicyOutput, QuoteSelectInsuranceInput, QuoteSelectInsuranceOutput, QuoteSelectInsurancePaymentInput, QuoteSelectInsurancePaymentOutput, QuoteService as QuoteService$1, RentalGetRentalsInput, RentalGetRentalsInput as RentalGetRentalsInput$1, RentalGetRentalsOutput, RentalGetRentalsOutput as RentalGetRentalsOutput$1, RentalHighlightPrioritizationKey, RentalHighlightPrioritizationKey as RentalHighlightPrioritizationKey$1, RentalPropertyHighlightPrioritizationKey, RentalPropertyHighlightPrioritizationKey as RentalPropertyHighlightPrioritizationKey$1, RentalScope, RentalService, SearchSearchFieldOrderBy, SearchSearchFieldOrderBySchema, SearchSearchFieldSort, SearchSearchFieldSort as SearchSearchFieldSort$1, SearchSearchFieldSortSchema, SearchSearchInput, SearchSearchInput as SearchSearchInput$1, SearchSearchInputSchema, SearchSearchOutput, SearchSearchOutput as SearchSearchOutput$1, SearchSearchOutputSchema, SearchSearchPriceSort, SearchSearchPriceSortSchema, SearchSearchRandomSort, SearchSearchRandomSortSchema, SearchSearchRatingSort, SearchSearchRatingSortSchema, SearchSearchSort, SearchSearchSort as SearchSearchSort$1, SearchSearchSortSchema, SearchService, SearchSortDirection, SearchSortDirectionSchema, SelectableInsuranceOptionOutput, SelectedInsuranceInformationInput, SubmittableBookingPaymentOption, SubmittableBookingPaymentOption as SubmittableBookingPaymentOption$1, TranslationOverrides, TranslationOverrides as TranslationOverrides$1, UnknownAdditionalService, V10CoreConfig, validateContactSubmitInput } from "@v-office/sdk-core";
2
2
  import { Context, Effect, Layer, Schema } from "effect";
3
3
  import { HttpClient } from "effect/unstable/http";
4
4
 
@@ -21,6 +21,7 @@ type WebsiteSDKConfig = WebsiteV10Config | WebsiteV9Config;
21
21
  type WebsiteSDKOptions = {
22
22
  readonly translationOverrides?: TranslationOverrides$1;
23
23
  readonly customAttributeFilterDefinitions?: readonly CustomAttributeFilterDefinition$1[];
24
+ readonly customAttributeDefinitionManifest?: CustomAttributeDefinitionManifest$1;
24
25
  readonly rentalHighlightPrioritization?: readonly RentalHighlightPrioritizationKey$1[];
25
26
  readonly rentalPropertyHighlightPrioritization?: readonly RentalPropertyHighlightPrioritizationKey$1[];
26
27
  readonly rentalScope?: RentalScope;
@@ -28,6 +29,14 @@ type WebsiteSDKOptions = {
28
29
  };
29
30
  declare const defineWebsiteSDKOptions: <Options extends WebsiteSDKOptions>(options: Options) => Options;
30
31
  //#endregion
32
+ //#region src/legacy-v9/search-input.d.ts
33
+ type V9SearchSearchSort = Exclude<SearchSearchSort$1, SearchSearchFieldSort$1>;
34
+ type V9SearchSearchInput = Omit<SearchSearchInput$1, "rentalIdsIn" | "voucher" | "sort"> & {
35
+ readonly rentalIdsIn?: never;
36
+ readonly voucher?: never;
37
+ readonly sort?: V9SearchSearchSort;
38
+ };
39
+ //#endregion
31
40
  //#region src/client.d.ts
32
41
  type WebsiteSDKSharedStatic = {
33
42
  readonly rentals: {
@@ -70,12 +79,17 @@ type WebsiteSDKSharedLive = {
70
79
  };
71
80
  };
72
81
  type WebsiteSDKV10Live = WebsiteSDKSharedLive;
73
- type WebsiteSDKBase<Static extends WebsiteSDKSharedStatic, Live extends WebsiteSDKSharedLive> = {
82
+ type WebsiteSDKV9Live = Omit<WebsiteSDKSharedLive, "search"> & {
83
+ readonly search: {
84
+ readonly search: (input: V9SearchSearchInput) => Promise<SearchSearchOutput$1>;
85
+ };
86
+ };
87
+ type WebsiteSDKBase<Static extends WebsiteSDKSharedStatic, Live> = {
74
88
  readonly static: Static;
75
89
  readonly live: Live;
76
90
  readonly dispose: () => Promise<void>;
77
91
  };
78
- type WebsiteSDKV9 = WebsiteSDKBase<WebsiteSDKSharedStatic, WebsiteSDKSharedLive> & {
92
+ type WebsiteSDKV9 = WebsiteSDKBase<WebsiteSDKSharedStatic, WebsiteSDKV9Live> & {
79
93
  readonly backend: "v9";
80
94
  };
81
95
  type WebsiteSDKV10 = WebsiteSDKBase<WebsiteSDKV10Static, WebsiteSDKV10Live> & {
@@ -7166,4 +7180,4 @@ type RentalRentalsOutput = RentalGetRentalsOutput$1[number];
7166
7180
  type RentalSearchInput = SearchSearchInput$1;
7167
7181
  type RentalSearchOutput = SearchSearchOutput$1;
7168
7182
  //#endregion
7169
- export { AdditionalServiceLimitExceeded, ApiEnvelopeBase, ApiEnvelopeBaseSchema, type AvailabilityGetInitialAvailabilityInput, type AvailabilityGetInitialAvailabilityOutput, type AvailabilityGetStartDateSelectedAvailabilityInput, type AvailabilityGetStartDateSelectedAvailabilityOutput, type BackendKind, type BookingBookInput, type BookingBookOutput, BookingInput, BookingOutput, type BookingPaymentOption, CMSError, CalendarDay, CalendarDaySchema, CalendarResponse, CalendarResponseSchema, ContactInput, type ContactSubmitInput, type ContactSubmitOutput, type ContactSubmitValidationIssue, type ContactSubmitValidationIssueCode, CoreSDKError, CurrentMemberResponse, CurrentMemberResponseSchema, type CustomAttributeDefinition, type CustomAttributeFilterCategoryKey, type CustomAttributeFilterDefinition, type CustomAttributeFilterExpression, type CustomAttributeFilterLabel, type CustomAttributeFilterNumericBounds, type CustomAttributeFilterOption, type CustomDataAttribute, CustomerUnitSummary, CustomerUnitSummarySchema, type DataAttribute, DefineDataAttributes, DocumentCollectionResponse, DocumentCollectionResponseSchema, DocumentResource, DocumentResourceResponse, DocumentResourceResponseSchema, DocumentResourceSchema, DocumentStatus, DocumentStatusSchema, DocumentStatusUpdateRequest, DocumentStatusUpdateRequestSchema, DocumentSummary, DocumentSummarySchema, DocumentType, DocumentTypeSchema, type DocumentsGetTermsAndPrivacyPolicyInput, type DocumentsGetTermsAndPrivacyPolicyOutput, ErgoAddress, ErgoAddressSchema, ErgoBank, ErgoBankSchema, ErgoBookRequest, ErgoBookRequestSchema, ErgoCommonFields, ErgoCommonFieldsSchema, ErgoCreatePreContractRequest, ErgoCreatePreContractRequestSchema, ErgoPerson, ErgoPersonSchema, ErgoPlanSearchRequest, ErgoPlanSearchRequestSchema, ErgoPolicyNumberRequest, ErgoPolicyNumberRequestSchema, ErgoReadPreContractRequest, ErgoReadPreContractRequestSchema, ErgoTripAndCustomerRequest, ErgoTripAndCustomerRequestSchema, FacilityListResponse, FacilityListResponseSchema, type FilterGetFiltersInput, type FilterGetFiltersOutput, type GeoLocation, type GuestQuote, type GuestQuoteInput, type GuestQuoteInsurance, type GuestQuoteResult, GuestQuoteSchema, type GuestQuoteSelectionResult, type GuestQuoteVoucher, type ImageData, InitialAvailabilityInput, InitialAvailabilityOutput, type InsuranceBookingOutput, type InsuranceCustomerInformationInput, type InsurancePaymentInformationInput, type InsurancePaymentOptionOutput, type InsurancePreContractOutput, InvalidAdditionalServiceQuantity, type KnownVofficeFacilityData, type KnownVofficeFacilityDataAttribute, type KnownVofficeFeedbackData, type KnownVofficeFeedbackDataAttribute, type KnownVofficeImageData, type KnownVofficeImageDataAttribute, type KnownVofficeOfferData, type KnownVofficeOfferDataAttribute, type KnownVofficePriceData, type KnownVofficePriceDataAttribute, type KnownVofficeRatingData, type KnownVofficeRatingDataAttribute, type KnownVofficeServiceData, type KnownVofficeServiceDataAttribute, type KnownVofficeTotalRatingData, type KnownVofficeTotalRatingDataAttribute, type KnownVofficeUnitData, type KnownVofficeUnitDataAttribute, type Locale, LocaleSchema, OnOfficeUnit, OnOfficeUnitCollectionResponse, OnOfficeUnitCollectionResponseSchema, OnOfficeUnitSchema, type ParsedJsonData, type ParsedVofficeFacilityData, type ParsedVofficeFeedbackData, type ParsedVofficeImageData, type ParsedVofficeOfferData, type ParsedVofficePriceData, type ParsedVofficeRatingData, type ParsedVofficeServiceData, type ParsedVofficeTotalRatingData, type ParsedVofficeUnitData, PaymentSchedule, PaymentScheduleItem, PaymentScheduleItemSchema, PaymentScheduleSchema, Quote, QuoteLine, QuoteLineSchema, QuotePricesPayload, QuotePricesPayloadSchema, QuotePricesResponse, QuotePricesResponseSchema, type QuoteQuoteInput, type QuoteQuoteOutput, QuoteSchema, QuoteService, QuoteServiceSchema, RawObjectResponse, RawObjectResponseSchema, RawVofficeObject, RawVofficeObjectSchema, RegionListResponse, RegionListResponseSchema, type RentalGetRentalsInput, type RentalGetRentalsOutput, type RentalHighlightPrioritizationKey, type RentalPropertyHighlightPrioritizationKey, RentalRentalsInput, RentalRentalsOutput, RentalSearchInput, RentalSearchOutput, RoomImage, RoomImageSchema, SearchPropertiesResponse, SearchPropertiesResponseSchema, type SearchSearchInput, SearchSearchInputSchema, type SearchSearchOutput, SearchSearchOutputSchema, type SelectableInsuranceOptionOutput, type SelectedInsuranceInformationInput, ServiceBeonData, ServiceBeonDataSchema, ServiceImage, ServiceImageSchema, ServiceLimit, ServiceLimitSchema, ServiceListResponse, ServiceListResponseSchema, SetupData, SetupDataSchema, SetupResponse, SetupResponseSchema, StartDateSelectedAvailabilityInput, StartDateSelectedAvailabilityOutput, type SubmittableBookingPaymentOption, Tile, TileCollectionResponse, TileCollectionResponseSchema, TileSchema, TileTag, TileTagSchema, type TranslationOverrides, TravelInsuranceBooking, TravelInsuranceBookingSchema, TravelInsuranceBookingStoreRequest, TravelInsuranceBookingStoreRequestSchema, UnitIdsResponse, UnitIdsResponseSchema, UnitListItem, UnitListItemSchema, UnitListResponse, UnitListResponseSchema, UnitOffer, UnitOfferSchema, UnitResponse, UnitResponseSchema, UnitServicePrice, UnitServicePriceSchema, UnknownAdditionalService, V0OpenApiClient, V0OpenApiClientError, type V0OpenApiClientOptions, type V0OpenApiOperationId, type V0OpenApiOperationRequest, type V0OpenApiOperationResponse, V1DecodedResponse, V1HttpMethod, V1OpenApiClient, V1OpenApiClientError, type V1OpenApiClientOptions, type components as V1OpenApiComponents, type V1OpenApiOperationId, type V1OpenApiOperationRequest, type V1OpenApiOperationResponse, type operations as V1OpenApiOperations, type paths as V1OpenApiPaths, V1OperationId, V1OperationRuntime, V1OperationSchema, V1SchemaDecodeError, V1_BASE_URL, V1_OPERATIONS, VideoResponse, VideoResponseSchema, type VofficeFacilityDataAttribute, type VofficeFacilityDataAttributes, type VofficeFeedbackDataAttribute, type VofficeFeedbackDataAttributes, type VofficeImageDataAttribute, type VofficeImageDataAttributes, type VofficeOfferDataAttribute, type VofficeOfferDataAttributes, type VofficePriceDataAttribute, type VofficePriceDataAttributes, type VofficeRatingDataAttribute, type VofficeRatingDataAttributes, type VofficeServiceDataAttribute, type VofficeServiceDataAttributes, type VofficeTotalRatingDataAttribute, type VofficeTotalRatingDataAttributes, type VofficeUnitDataAttribute, type VofficeUnitDataAttributes, type WebsiteSDK, type WebsiteSDKConfig, type WebsiteSDKOptions, type WebsiteSDKSharedLive, type WebsiteSDKSharedStatic, type WebsiteSDKV10, type WebsiteSDKV10Live, type WebsiteSDKV10Static, type WebsiteSDKV9, addAdditionalServiceEffect, bookEffect, bookInsuranceEffect, clearAdditionalServicesEffect, createInsurancePreContractEffect, createWebsiteSDK, customDataAttribute, decodeV1OperationResponse, defineWebsiteSDKOptions as defineCMSSDKOptions, defineWebsiteSDKOptions, defineDataAttributes, defineVofficeFacilityDataAttributes, defineVofficeFeedbackDataAttributes, defineVofficeImageDataAttributes, defineVofficeOfferDataAttributes, defineVofficePriceDataAttributes, defineVofficeRatingDataAttributes, defineVofficeServiceDataAttributes, defineVofficeTotalRatingDataAttributes, defineVofficeUnitDataAttributes, getFiltersEffect, getInitialAvailabilityEffect, getRentalsEffect, getStartDateSelectedAvailabilityEffect, getTermsAndPrivacyPolicyEffect, makeV0OpenApiClientFetchLive, makeV0OpenApiClientLive, makeV1OpenApiClientFetchLive, makeV1OpenApiClientLive, quoteEffect, removeAdditionalServiceEffect, searchEffect, selectCancellationPolicyEffect, selectInsuranceEffect, selectInsurancePaymentEffect, submitContactEffect, submitPaymentOption, submitPaymentOptionEffect, validateContactSubmitInput };
7183
+ export { AdditionalServiceLimitExceeded, ApiEnvelopeBase, ApiEnvelopeBaseSchema, type AvailabilityGetInitialAvailabilityInput, type AvailabilityGetInitialAvailabilityOutput, type AvailabilityGetStartDateSelectedAvailabilityInput, type AvailabilityGetStartDateSelectedAvailabilityOutput, type BackendKind, type BookingBookInput, type BookingBookOutput, BookingInput, BookingOutput, type BookingPaymentOption, CMSError, CalendarDay, CalendarDaySchema, CalendarResponse, CalendarResponseSchema, ContactInput, type ContactSubmitInput, type ContactSubmitOutput, type ContactSubmitValidationIssue, type ContactSubmitValidationIssueCode, CoreSDKError, CurrentMemberResponse, CurrentMemberResponseSchema, type CustomAttributeDefinition, type CustomAttributeDefinitionManifest, type CustomAttributeDefinitionManifestEntry, type CustomAttributeFilterCategoryKey, type CustomAttributeFilterDefinition, type CustomAttributeFilterExpression, type CustomAttributeFilterLabel, type CustomAttributeFilterNumericBounds, type CustomAttributeFilterOption, type CustomDataAttribute, CustomerUnitSummary, CustomerUnitSummarySchema, type DataAttribute, DefineDataAttributes, DocumentCollectionResponse, DocumentCollectionResponseSchema, DocumentResource, DocumentResourceResponse, DocumentResourceResponseSchema, DocumentResourceSchema, DocumentStatus, DocumentStatusSchema, DocumentStatusUpdateRequest, DocumentStatusUpdateRequestSchema, DocumentSummary, DocumentSummarySchema, DocumentType, DocumentTypeSchema, type DocumentsGetTermsAndPrivacyPolicyInput, type DocumentsGetTermsAndPrivacyPolicyOutput, ErgoAddress, ErgoAddressSchema, ErgoBank, ErgoBankSchema, ErgoBookRequest, ErgoBookRequestSchema, ErgoCommonFields, ErgoCommonFieldsSchema, ErgoCreatePreContractRequest, ErgoCreatePreContractRequestSchema, ErgoPerson, ErgoPersonSchema, ErgoPlanSearchRequest, ErgoPlanSearchRequestSchema, ErgoPolicyNumberRequest, ErgoPolicyNumberRequestSchema, ErgoReadPreContractRequest, ErgoReadPreContractRequestSchema, ErgoTripAndCustomerRequest, ErgoTripAndCustomerRequestSchema, FacilityListResponse, FacilityListResponseSchema, type FilterGetFiltersInput, type FilterGetFiltersOutput, type GeoLocation, type GuestQuote, type GuestQuoteInput, type GuestQuoteInsurance, type GuestQuoteResult, GuestQuoteSchema, type GuestQuoteSelectionResult, type GuestQuoteVoucher, type ImageData, InitialAvailabilityInput, InitialAvailabilityOutput, type InsuranceBookingOutput, type InsuranceCustomerInformationInput, type InsurancePaymentInformationInput, type InsurancePaymentOptionOutput, type InsurancePreContractOutput, InvalidAdditionalServiceQuantity, type KnownVofficeFacilityData, type KnownVofficeFacilityDataAttribute, type KnownVofficeFeedbackData, type KnownVofficeFeedbackDataAttribute, type KnownVofficeImageData, type KnownVofficeImageDataAttribute, type KnownVofficeOfferData, type KnownVofficeOfferDataAttribute, type KnownVofficePriceData, type KnownVofficePriceDataAttribute, type KnownVofficeRatingData, type KnownVofficeRatingDataAttribute, type KnownVofficeServiceData, type KnownVofficeServiceDataAttribute, type KnownVofficeTotalRatingData, type KnownVofficeTotalRatingDataAttribute, type KnownVofficeUnitData, type KnownVofficeUnitDataAttribute, type Locale, LocaleSchema, OnOfficeUnit, OnOfficeUnitCollectionResponse, OnOfficeUnitCollectionResponseSchema, OnOfficeUnitSchema, type ParsedJsonData, type ParsedVofficeFacilityData, type ParsedVofficeFeedbackData, type ParsedVofficeImageData, type ParsedVofficeOfferData, type ParsedVofficePriceData, type ParsedVofficeRatingData, type ParsedVofficeServiceData, type ParsedVofficeTotalRatingData, type ParsedVofficeUnitData, PaymentSchedule, PaymentScheduleItem, PaymentScheduleItemSchema, PaymentScheduleSchema, Quote, QuoteLine, QuoteLineSchema, QuotePricesPayload, QuotePricesPayloadSchema, QuotePricesResponse, QuotePricesResponseSchema, type QuoteQuoteInput, type QuoteQuoteOutput, QuoteSchema, QuoteService, QuoteServiceSchema, RawObjectResponse, RawObjectResponseSchema, RawVofficeObject, RawVofficeObjectSchema, RegionListResponse, RegionListResponseSchema, type RentalGetRentalsInput, type RentalGetRentalsOutput, type RentalHighlightPrioritizationKey, type RentalPropertyHighlightPrioritizationKey, RentalRentalsInput, RentalRentalsOutput, RentalSearchInput, RentalSearchOutput, RoomImage, RoomImageSchema, SearchPropertiesResponse, SearchPropertiesResponseSchema, type SearchSearchFieldOrderBy, SearchSearchFieldOrderBySchema, type SearchSearchFieldSort, SearchSearchFieldSortSchema, type SearchSearchInput, SearchSearchInputSchema, type SearchSearchOutput, SearchSearchOutputSchema, type SearchSearchPriceSort, SearchSearchPriceSortSchema, type SearchSearchRandomSort, SearchSearchRandomSortSchema, type SearchSearchRatingSort, SearchSearchRatingSortSchema, type SearchSearchSort, SearchSearchSortSchema, type SearchSortDirection, SearchSortDirectionSchema, type SelectableInsuranceOptionOutput, type SelectedInsuranceInformationInput, ServiceBeonData, ServiceBeonDataSchema, ServiceImage, ServiceImageSchema, ServiceLimit, ServiceLimitSchema, ServiceListResponse, ServiceListResponseSchema, SetupData, SetupDataSchema, SetupResponse, SetupResponseSchema, StartDateSelectedAvailabilityInput, StartDateSelectedAvailabilityOutput, type SubmittableBookingPaymentOption, Tile, TileCollectionResponse, TileCollectionResponseSchema, TileSchema, TileTag, TileTagSchema, type TranslationOverrides, TravelInsuranceBooking, TravelInsuranceBookingSchema, TravelInsuranceBookingStoreRequest, TravelInsuranceBookingStoreRequestSchema, UnitIdsResponse, UnitIdsResponseSchema, UnitListItem, UnitListItemSchema, UnitListResponse, UnitListResponseSchema, UnitOffer, UnitOfferSchema, UnitResponse, UnitResponseSchema, UnitServicePrice, UnitServicePriceSchema, UnknownAdditionalService, V0OpenApiClient, V0OpenApiClientError, type V0OpenApiClientOptions, type V0OpenApiOperationId, type V0OpenApiOperationRequest, type V0OpenApiOperationResponse, V1DecodedResponse, V1HttpMethod, V1OpenApiClient, V1OpenApiClientError, type V1OpenApiClientOptions, type components as V1OpenApiComponents, type V1OpenApiOperationId, type V1OpenApiOperationRequest, type V1OpenApiOperationResponse, type operations as V1OpenApiOperations, type paths as V1OpenApiPaths, V1OperationId, V1OperationRuntime, V1OperationSchema, V1SchemaDecodeError, V1_BASE_URL, V1_OPERATIONS, type V9SearchSearchInput, type V9SearchSearchSort, VideoResponse, VideoResponseSchema, type VofficeFacilityDataAttribute, type VofficeFacilityDataAttributes, type VofficeFeedbackDataAttribute, type VofficeFeedbackDataAttributes, type VofficeImageDataAttribute, type VofficeImageDataAttributes, type VofficeOfferDataAttribute, type VofficeOfferDataAttributes, type VofficePriceDataAttribute, type VofficePriceDataAttributes, type VofficeRatingDataAttribute, type VofficeRatingDataAttributes, type VofficeServiceDataAttribute, type VofficeServiceDataAttributes, type VofficeTotalRatingDataAttribute, type VofficeTotalRatingDataAttributes, type VofficeUnitDataAttribute, type VofficeUnitDataAttributes, type WebsiteSDK, type WebsiteSDKConfig, type WebsiteSDKOptions, type WebsiteSDKSharedLive, type WebsiteSDKSharedStatic, type WebsiteSDKV10, type WebsiteSDKV10Live, type WebsiteSDKV10Static, type WebsiteSDKV9, type WebsiteSDKV9Live, addAdditionalServiceEffect, bookEffect, bookInsuranceEffect, clearAdditionalServicesEffect, createInsurancePreContractEffect, createWebsiteSDK, customDataAttribute, decodeV1OperationResponse, defineWebsiteSDKOptions as defineCMSSDKOptions, defineWebsiteSDKOptions, defineDataAttributes, defineVofficeFacilityDataAttributes, defineVofficeFeedbackDataAttributes, defineVofficeImageDataAttributes, defineVofficeOfferDataAttributes, defineVofficePriceDataAttributes, defineVofficeRatingDataAttributes, defineVofficeServiceDataAttributes, defineVofficeTotalRatingDataAttributes, defineVofficeUnitDataAttributes, getFiltersEffect, getInitialAvailabilityEffect, getRentalsEffect, getStartDateSelectedAvailabilityEffect, getTermsAndPrivacyPolicyEffect, makeV0OpenApiClientFetchLive, makeV0OpenApiClientLive, makeV1OpenApiClientFetchLive, makeV1OpenApiClientLive, quoteEffect, removeAdditionalServiceEffect, searchEffect, selectCancellationPolicyEffect, selectInsuranceEffect, selectInsurancePaymentEffect, submitContactEffect, submitPaymentOption, submitPaymentOptionEffect, validateContactSubmitInput };
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
- import { $ as SetupResponseSchema, A as ErgoPolicyNumberRequestSchema, At as selectInsurancePaymentEffect, B as QuotePricesResponseSchema, C as ErgoAddressSchema, Ct as getStartDateSelectedAvailabilityEffect, D as ErgoCreatePreContractRequestSchema, Dt as searchEffect, E as ErgoCommonFieldsSchema, Et as removeAdditionalServiceEffect, F as OnOfficeUnitSchema, G as RegionListResponseSchema, H as QuoteServiceSchema, I as PaymentScheduleItemSchema, J as ServiceBeonDataSchema, K as RoomImageSchema, L as PaymentScheduleSchema, M as ErgoTripAndCustomerRequestSchema, Mt as submitPaymentOption, N as FacilityListResponseSchema, Nt as submitPaymentOptionEffect, O as ErgoPersonSchema, Ot as selectCancellationPolicyEffect, P as OnOfficeUnitCollectionResponseSchema, Pt as defineWebsiteSDKOptions, Q as SetupDataSchema, R as QuoteLineSchema, S as DocumentTypeSchema, St as getRentalsEffect, T as ErgoBookRequestSchema, Tt as quoteEffect, U as RawObjectResponseSchema, V as QuoteSchema, W as RawVofficeObjectSchema, X as ServiceLimitSchema, Y as ServiceImageSchema, Z as ServiceListResponseSchema, _ as DocumentResourceResponseSchema, _t as bookInsuranceEffect, a as makeV0OpenApiClientFetchLive, at as UnitIdsResponseSchema, b as DocumentStatusUpdateRequestSchema, bt as getFiltersEffect, c as V1OpenApiClientError, ct as UnitOfferSchema, d as ApiEnvelopeBaseSchema, dt as V1_BASE_URL, et as TileCollectionResponseSchema, f as CalendarDaySchema, ft as V1_OPERATIONS, g as DocumentCollectionResponseSchema, gt as bookEffect, h as CustomerUnitSummarySchema, ht as addAdditionalServiceEffect, i as V0OpenApiClientError, it as TravelInsuranceBookingStoreRequestSchema, j as ErgoReadPreContractRequestSchema, jt as submitContactEffect, k as ErgoPlanSearchRequestSchema, kt as selectInsuranceEffect, l as makeV1OpenApiClientFetchLive, lt as UnitResponseSchema, m as CurrentMemberResponseSchema, mt as decodeV1OperationResponse, nt as TileTagSchema, o as makeV0OpenApiClientLive, ot as UnitListItemSchema, p as CalendarResponseSchema, pt as VideoResponseSchema, q as SearchPropertiesResponseSchema, r as V0OpenApiClient, rt as TravelInsuranceBookingSchema, s as V1OpenApiClient, st as UnitListResponseSchema, t as createWebsiteSDK, tt as TileSchema, u as makeV1OpenApiClientLive, ut as UnitServicePriceSchema, v as DocumentResourceSchema, vt as clearAdditionalServicesEffect, w as ErgoBankSchema, wt as getTermsAndPrivacyPolicyEffect, x as DocumentSummarySchema, xt as getInitialAvailabilityEffect, y as DocumentStatusSchema, yt as createInsurancePreContractEffect, z as QuotePricesPayloadSchema } from "./client-BORwUo4_.mjs";
2
- import { AdditionalServiceLimitExceeded, CoreSDKError, CoreSDKError as CMSError, GuestQuoteSchema, InvalidAdditionalServiceQuantity, LocaleSchema, SearchSearchInputSchema, SearchSearchOutputSchema, UnknownAdditionalService, validateContactSubmitInput } from "@v-office/sdk-core";
1
+ import { $ as SetupResponseSchema, A as ErgoPolicyNumberRequestSchema, At as selectInsurancePaymentEffect, B as QuotePricesResponseSchema, C as ErgoAddressSchema, Ct as getStartDateSelectedAvailabilityEffect, D as ErgoCreatePreContractRequestSchema, Dt as searchEffect, E as ErgoCommonFieldsSchema, Et as removeAdditionalServiceEffect, F as OnOfficeUnitSchema, G as RegionListResponseSchema, H as QuoteServiceSchema, I as PaymentScheduleItemSchema, J as ServiceBeonDataSchema, K as RoomImageSchema, L as PaymentScheduleSchema, M as ErgoTripAndCustomerRequestSchema, Mt as submitPaymentOption, N as FacilityListResponseSchema, Nt as submitPaymentOptionEffect, O as ErgoPersonSchema, Ot as selectCancellationPolicyEffect, P as OnOfficeUnitCollectionResponseSchema, Pt as defineWebsiteSDKOptions, Q as SetupDataSchema, R as QuoteLineSchema, S as DocumentTypeSchema, St as getRentalsEffect, T as ErgoBookRequestSchema, Tt as quoteEffect, U as RawObjectResponseSchema, V as QuoteSchema, W as RawVofficeObjectSchema, X as ServiceLimitSchema, Y as ServiceImageSchema, Z as ServiceListResponseSchema, _ as DocumentResourceResponseSchema, _t as bookInsuranceEffect, a as makeV0OpenApiClientFetchLive, at as UnitIdsResponseSchema, b as DocumentStatusUpdateRequestSchema, bt as getFiltersEffect, c as V1OpenApiClientError, ct as UnitOfferSchema, d as ApiEnvelopeBaseSchema, dt as V1_BASE_URL, et as TileCollectionResponseSchema, f as CalendarDaySchema, ft as V1_OPERATIONS, g as DocumentCollectionResponseSchema, gt as bookEffect, h as CustomerUnitSummarySchema, ht as addAdditionalServiceEffect, i as V0OpenApiClientError, it as TravelInsuranceBookingStoreRequestSchema, j as ErgoReadPreContractRequestSchema, jt as submitContactEffect, k as ErgoPlanSearchRequestSchema, kt as selectInsuranceEffect, l as makeV1OpenApiClientFetchLive, lt as UnitResponseSchema, m as CurrentMemberResponseSchema, mt as decodeV1OperationResponse, nt as TileTagSchema, o as makeV0OpenApiClientLive, ot as UnitListItemSchema, p as CalendarResponseSchema, pt as VideoResponseSchema, q as SearchPropertiesResponseSchema, r as V0OpenApiClient, rt as TravelInsuranceBookingSchema, s as V1OpenApiClient, st as UnitListResponseSchema, t as createWebsiteSDK, tt as TileSchema, u as makeV1OpenApiClientLive, ut as UnitServicePriceSchema, v as DocumentResourceSchema, vt as clearAdditionalServicesEffect, w as ErgoBankSchema, wt as getTermsAndPrivacyPolicyEffect, x as DocumentSummarySchema, xt as getInitialAvailabilityEffect, y as DocumentStatusSchema, yt as createInsurancePreContractEffect, z as QuotePricesPayloadSchema } from "./client-Cnf-pbry.mjs";
2
+ import { AdditionalServiceLimitExceeded, CoreSDKError, CoreSDKError as CMSError, GuestQuoteSchema, InvalidAdditionalServiceQuantity, LocaleSchema, SearchSearchFieldOrderBySchema, SearchSearchFieldSortSchema, SearchSearchInputSchema, SearchSearchOutputSchema, SearchSearchPriceSortSchema, SearchSearchRandomSortSchema, SearchSearchRatingSortSchema, SearchSearchSortSchema, SearchSortDirectionSchema, UnknownAdditionalService, validateContactSubmitInput } from "@v-office/sdk-core";
3
3
  //#region codegen/v9/heuristic-generation/public-api.ts
4
4
  const customDataAttribute = (name) => name;
5
5
  const defineDataAttributes = () => (attributes) => attributes;
@@ -13,4 +13,4 @@ const defineVofficeOfferDataAttributes = defineDataAttributes();
13
13
  const defineVofficeRatingDataAttributes = defineDataAttributes();
14
14
  const defineVofficeTotalRatingDataAttributes = defineDataAttributes();
15
15
  //#endregion
16
- export { AdditionalServiceLimitExceeded, ApiEnvelopeBaseSchema, CMSError, CalendarDaySchema, CalendarResponseSchema, CoreSDKError, CurrentMemberResponseSchema, CustomerUnitSummarySchema, DocumentCollectionResponseSchema, DocumentResourceResponseSchema, DocumentResourceSchema, DocumentStatusSchema, DocumentStatusUpdateRequestSchema, DocumentSummarySchema, DocumentTypeSchema, ErgoAddressSchema, ErgoBankSchema, ErgoBookRequestSchema, ErgoCommonFieldsSchema, ErgoCreatePreContractRequestSchema, ErgoPersonSchema, ErgoPlanSearchRequestSchema, ErgoPolicyNumberRequestSchema, ErgoReadPreContractRequestSchema, ErgoTripAndCustomerRequestSchema, FacilityListResponseSchema, GuestQuoteSchema, InvalidAdditionalServiceQuantity, LocaleSchema, OnOfficeUnitCollectionResponseSchema, OnOfficeUnitSchema, PaymentScheduleItemSchema, PaymentScheduleSchema, QuoteLineSchema, QuotePricesPayloadSchema, QuotePricesResponseSchema, QuoteSchema, QuoteServiceSchema, RawObjectResponseSchema, RawVofficeObjectSchema, RegionListResponseSchema, RoomImageSchema, SearchPropertiesResponseSchema, SearchSearchInputSchema, SearchSearchOutputSchema, ServiceBeonDataSchema, ServiceImageSchema, ServiceLimitSchema, ServiceListResponseSchema, SetupDataSchema, SetupResponseSchema, TileCollectionResponseSchema, TileSchema, TileTagSchema, TravelInsuranceBookingSchema, TravelInsuranceBookingStoreRequestSchema, UnitIdsResponseSchema, UnitListItemSchema, UnitListResponseSchema, UnitOfferSchema, UnitResponseSchema, UnitServicePriceSchema, UnknownAdditionalService, V0OpenApiClient, V0OpenApiClientError, V1OpenApiClient, V1OpenApiClientError, V1_BASE_URL, V1_OPERATIONS, VideoResponseSchema, addAdditionalServiceEffect, bookEffect, bookInsuranceEffect, clearAdditionalServicesEffect, createInsurancePreContractEffect, createWebsiteSDK, customDataAttribute, decodeV1OperationResponse, defineWebsiteSDKOptions as defineCMSSDKOptions, defineWebsiteSDKOptions, defineDataAttributes, defineVofficeFacilityDataAttributes, defineVofficeFeedbackDataAttributes, defineVofficeImageDataAttributes, defineVofficeOfferDataAttributes, defineVofficePriceDataAttributes, defineVofficeRatingDataAttributes, defineVofficeServiceDataAttributes, defineVofficeTotalRatingDataAttributes, defineVofficeUnitDataAttributes, getFiltersEffect, getInitialAvailabilityEffect, getRentalsEffect, getStartDateSelectedAvailabilityEffect, getTermsAndPrivacyPolicyEffect, makeV0OpenApiClientFetchLive, makeV0OpenApiClientLive, makeV1OpenApiClientFetchLive, makeV1OpenApiClientLive, quoteEffect, removeAdditionalServiceEffect, searchEffect, selectCancellationPolicyEffect, selectInsuranceEffect, selectInsurancePaymentEffect, submitContactEffect, submitPaymentOption, submitPaymentOptionEffect, validateContactSubmitInput };
16
+ export { AdditionalServiceLimitExceeded, ApiEnvelopeBaseSchema, CMSError, CalendarDaySchema, CalendarResponseSchema, CoreSDKError, CurrentMemberResponseSchema, CustomerUnitSummarySchema, DocumentCollectionResponseSchema, DocumentResourceResponseSchema, DocumentResourceSchema, DocumentStatusSchema, DocumentStatusUpdateRequestSchema, DocumentSummarySchema, DocumentTypeSchema, ErgoAddressSchema, ErgoBankSchema, ErgoBookRequestSchema, ErgoCommonFieldsSchema, ErgoCreatePreContractRequestSchema, ErgoPersonSchema, ErgoPlanSearchRequestSchema, ErgoPolicyNumberRequestSchema, ErgoReadPreContractRequestSchema, ErgoTripAndCustomerRequestSchema, FacilityListResponseSchema, GuestQuoteSchema, InvalidAdditionalServiceQuantity, LocaleSchema, OnOfficeUnitCollectionResponseSchema, OnOfficeUnitSchema, PaymentScheduleItemSchema, PaymentScheduleSchema, QuoteLineSchema, QuotePricesPayloadSchema, QuotePricesResponseSchema, QuoteSchema, QuoteServiceSchema, RawObjectResponseSchema, RawVofficeObjectSchema, RegionListResponseSchema, RoomImageSchema, SearchPropertiesResponseSchema, SearchSearchFieldOrderBySchema, SearchSearchFieldSortSchema, SearchSearchInputSchema, SearchSearchOutputSchema, SearchSearchPriceSortSchema, SearchSearchRandomSortSchema, SearchSearchRatingSortSchema, SearchSearchSortSchema, SearchSortDirectionSchema, ServiceBeonDataSchema, ServiceImageSchema, ServiceLimitSchema, ServiceListResponseSchema, SetupDataSchema, SetupResponseSchema, TileCollectionResponseSchema, TileSchema, TileTagSchema, TravelInsuranceBookingSchema, TravelInsuranceBookingStoreRequestSchema, UnitIdsResponseSchema, UnitListItemSchema, UnitListResponseSchema, UnitOfferSchema, UnitResponseSchema, UnitServicePriceSchema, UnknownAdditionalService, V0OpenApiClient, V0OpenApiClientError, V1OpenApiClient, V1OpenApiClientError, V1_BASE_URL, V1_OPERATIONS, VideoResponseSchema, addAdditionalServiceEffect, bookEffect, bookInsuranceEffect, clearAdditionalServicesEffect, createInsurancePreContractEffect, createWebsiteSDK, customDataAttribute, decodeV1OperationResponse, defineWebsiteSDKOptions as defineCMSSDKOptions, defineWebsiteSDKOptions, defineDataAttributes, defineVofficeFacilityDataAttributes, defineVofficeFeedbackDataAttributes, defineVofficeImageDataAttributes, defineVofficeOfferDataAttributes, defineVofficePriceDataAttributes, defineVofficeRatingDataAttributes, defineVofficeServiceDataAttributes, defineVofficeTotalRatingDataAttributes, defineVofficeUnitDataAttributes, getFiltersEffect, getInitialAvailabilityEffect, getRentalsEffect, getStartDateSelectedAvailabilityEffect, getTermsAndPrivacyPolicyEffect, makeV0OpenApiClientFetchLive, makeV0OpenApiClientLive, makeV1OpenApiClientFetchLive, makeV1OpenApiClientLive, quoteEffect, removeAdditionalServiceEffect, searchEffect, selectCancellationPolicyEffect, selectInsuranceEffect, selectInsurancePaymentEffect, submitContactEffect, submitPaymentOption, submitPaymentOptionEffect, validateContactSubmitInput };
@@ -4,6 +4,7 @@ This file is the versioned changelog index for the website SDK instructions.
4
4
 
5
5
  ## Versions
6
6
 
7
+ - `versions/2.5.0/CHANGELOG.md`: `@v-office/website-sdk` 2.5.0 release notes.
7
8
  - `versions/2.4.3/CHANGELOG.md`: `@v-office/website-sdk` 2.4.3 documentation release notes.
8
9
  - `versions/2.4.2/CHANGELOG.md`: `@v-office/website-sdk` 2.4.2 release notes.
9
10
  - `versions/2.4.0/CHANGELOG.md`: `@v-office/website-sdk` 2.4.0 release notes.
@@ -4,6 +4,7 @@ This file is the versioned migration index for the website SDK instructions.
4
4
 
5
5
  ## Available Guides
6
6
 
7
+ - `versions/2.5.0/MIGRATION.md`: migrate from `@v-office/website-sdk` 2.4.3 to 2.5.0.
7
8
  - `versions/2.4.3/MIGRATION.md`: migrate from `@v-office/website-sdk` 2.4.2 to 2.4.3.
8
9
  - `versions/2.4.2/MIGRATION.md`: migrate from `@v-office/website-sdk` 2.4.1 to 2.4.2.
9
10
  - `versions/2.4.0/MIGRATION.md`: migrate from `@v-office/website-sdk` 2.3.x to 2.4.0.
@@ -1,6 +1,6 @@
1
1
  # Website SDK Instructions
2
2
 
3
- These instructions describe `@v-office/website-sdk` 2.4.3.
3
+ These instructions describe `@v-office/website-sdk` 2.5.0.
4
4
 
5
5
  Use this directory as the consumer-facing reference for the package:
6
6
 
@@ -15,6 +15,7 @@ Use this directory as the consumer-facing reference for the package:
15
15
  - `document-structured-json.md`: `sdk.static.documents.getTermsAndPrivacyPolicy` and structured document JSON rendering rules.
16
16
  - `CHANGELOG.md`: versioned changelog index.
17
17
  - `MIGRATION.md`: versioned migration index.
18
+ - `versions/2.5.0/`: 2.5.0 release notes and 2.4.3-to-2.5.0 migration guide.
18
19
  - `versions/2.4.3/`: 2.4.3 documentation release notes and migration guide.
19
20
  - `versions/2.4.2/`: 2.4.2 release notes and 2.4.1-to-2.4.2 migration guide.
20
21
  - `versions/2.4.0/`: 2.4.0 release notes and 2.3.x-to-2.4.0 migration guide.
@@ -39,6 +40,7 @@ const sdk = createWebsiteSDK({
39
40
  config: {
40
41
  backend: "v10",
41
42
  apiEndpoint: "https://api.example.com/graphql",
43
+ searchEndpoint: "https://search.example.com/search",
42
44
  accessToken: "...",
43
45
  imageBaseUrl: "https://images.example.com",
44
46
  },
@@ -63,6 +65,7 @@ try {
63
65
  website-sdk --backend v10 rentals --locale de-DE
64
66
  website-sdk --backend v9 filters --locale en-US
65
67
  website-sdk --backend v10 search --locale de-DE --query "adults=2"
68
+ website-sdk --backend v10 search --locale de-DE --query "adults=2" --sort '{"by":"field","orderBy":{"label":"ASC"}}'
66
69
  ```
67
70
 
68
- Config file examples in these docs use the flat `WebsiteSDKConfig` shape introduced in 2.0.0 and kept in 2.4.3.
71
+ Config file examples in these docs use the flat `WebsiteSDKConfig` shape introduced in 2.0.0 and kept in 2.5.0. v10 config additionally requires `searchEndpoint` as of 2.5.0.
@@ -118,6 +118,7 @@ Use flat `WebsiteSDKConfig` files.
118
118
  {
119
119
  "backend": "v10",
120
120
  "apiEndpoint": "https://api.example.com/graphql",
121
+ "searchEndpoint": "https://search.example.com/search",
121
122
  "accessToken": "...",
122
123
  "imageBaseUrl": "https://images.example.com"
123
124
  }
@@ -154,4 +155,4 @@ website-sdk --backend v10 availability initial --rental-id 123 --calculate-from-
154
155
  Environment variables:
155
156
 
156
157
  - `v9`: `HUB_GRAPHQL_URL`, `HUB_V1_API_BASE_URL`, optional `HUB_V0_API_BASE_URL`, `HUB_API_KEY`, `IMAGE_PROXY_BASE_URL`.
157
- - `v10`: `VOFFICE_API_ENDPOINT`, `VOFFICE_LOCAL_DEV_ACCESS_TOKEN`, `VOFFICE_IMAGE_BASE_URL`.
158
+ - `v10`: `VOFFICE_API_ENDPOINT`, `VOFFICE_SEARCH_ENDPOINT`, `VOFFICE_LOCAL_DEV_ACCESS_TOKEN`, `VOFFICE_IMAGE_BASE_URL`.
@@ -162,4 +162,4 @@ website-sdk --backend v10 --config ./website-sdk-config.json booking book --quot
162
162
  Environment variables:
163
163
 
164
164
  - `v9`: `HUB_GRAPHQL_URL`, `HUB_V1_API_BASE_URL`, optional `HUB_V0_API_BASE_URL`, `HUB_API_KEY`, `IMAGE_PROXY_BASE_URL`.
165
- - `v10`: `VOFFICE_API_ENDPOINT`, `VOFFICE_LOCAL_DEV_ACCESS_TOKEN`, `VOFFICE_IMAGE_BASE_URL`.
165
+ - `v10`: `VOFFICE_API_ENDPOINT`, `VOFFICE_SEARCH_ENDPOINT`, `VOFFICE_LOCAL_DEV_ACCESS_TOKEN`, `VOFFICE_IMAGE_BASE_URL`.
@@ -107,4 +107,4 @@ Without `--yes`, the command fails before submitting because contact requests se
107
107
  Environment variables:
108
108
 
109
109
  - `v9`: `HUB_GRAPHQL_URL`, `HUB_V1_API_BASE_URL`, optional `HUB_V0_API_BASE_URL`, `HUB_API_KEY`, `IMAGE_PROXY_BASE_URL`.
110
- - `v10`: `VOFFICE_API_ENDPOINT`, `VOFFICE_LOCAL_DEV_ACCESS_TOKEN`, `VOFFICE_IMAGE_BASE_URL`.
110
+ - `v10`: `VOFFICE_API_ENDPOINT`, `VOFFICE_SEARCH_ENDPOINT`, `VOFFICE_LOCAL_DEV_ACCESS_TOKEN`, `VOFFICE_IMAGE_BASE_URL`.
@@ -11,6 +11,7 @@ const sdk = createWebsiteSDK({
11
11
  config: {
12
12
  backend: "v10",
13
13
  apiEndpoint: "https://api.example.com/graphql",
14
+ searchEndpoint: "https://search.example.com/search",
14
15
  accessToken: "...",
15
16
  imageBaseUrl: "https://images.example.com",
16
17
  },
@@ -58,6 +59,7 @@ const sdk = createWebsiteSDK({
58
59
  config: {
59
60
  backend: "v10",
60
61
  apiEndpoint: "https://api.example.com/graphql",
62
+ searchEndpoint: "https://search.example.com/search",
61
63
  accessToken: "...",
62
64
  imageBaseUrl: "https://images.example.com",
63
65
  },
@@ -66,6 +68,8 @@ const sdk = createWebsiteSDK({
66
68
 
67
69
  For v10, `backend: "v10"` is optional in TypeScript, but including it is clearer when config files are shared with the CLI.
68
70
 
71
+ For v10, `searchEndpoint` is required as of 2.5.0. It is the full REST search URL including the `/search` path and is a separate host from `apiEndpoint` (which still serves rentals, filters, quote, availability, booking, and contact over GraphQL). Configure it explicitly rather than deriving it from `apiEndpoint`.
72
+
69
73
  ## WebsiteSDKOptions
70
74
 
71
75
  `options` is optional and is passed separately from backend config:
@@ -88,6 +92,7 @@ const options = defineWebsiteSDKOptions({
88
92
  type WebsiteSDKOptions = {
89
93
  translationOverrides?: TranslationOverrides;
90
94
  customAttributeFilterDefinitions?: readonly CustomAttributeFilterDefinition[];
95
+ customAttributeDefinitionManifest?: CustomAttributeDefinitionManifest;
91
96
  rentalHighlightPrioritization?: readonly RentalHighlightPrioritizationKey[];
92
97
  rentalPropertyHighlightPrioritization?: readonly RentalPropertyHighlightPrioritizationKey[];
93
98
  rentalScope?: RentalScope;
@@ -98,6 +103,7 @@ type WebsiteSDKOptions = {
98
103
  Unset options are normalized by the SDK:
99
104
 
100
105
  - `customAttributeFilterDefinitions` defaults to `[]`.
106
+ - `customAttributeDefinitionManifest` is omitted unless provided; an absent manifest is treated as empty.
101
107
  - `rentalHighlightPrioritization` defaults to the SDK default rental highlight order.
102
108
  - `rentalPropertyHighlightPrioritization` defaults to the SDK default property highlight order.
103
109
  - `rentalScope` defaults to `{}`.
@@ -176,6 +182,43 @@ Visibility:
176
182
  - `internal: true` keeps filters usable by search and compositions but hides them from `getFilters`.
177
183
  - `searchable: false` keeps custom attributes as display metadata only.
178
184
 
185
+ ## Custom Attribute Definition Manifest
186
+
187
+ The v10 REST search backend filters and returns custom attributes by definition ID, while SDK configuration and query strings use keys. Because definition IDs are workspace/environment specific, use `customAttributeDefinitionManifest` to give the SDK a key-to-ID and ID-to-key mapping:
188
+
189
+ ```ts
190
+ const options = defineWebsiteSDKOptions({
191
+ customAttributeDefinitionManifest: {
192
+ byKey: {
193
+ region: { id: "def-1", key: "region", type: "OPTION", visibility: "PUBLIC" },
194
+ },
195
+ byId: {
196
+ "def-1": { id: "def-1", key: "region", type: "OPTION", visibility: "PUBLIC" },
197
+ },
198
+ },
199
+ });
200
+ ```
201
+
202
+ ```ts
203
+ type CustomAttributeDefinitionManifestEntry = {
204
+ id: string;
205
+ key: string;
206
+ type: "BOOLEAN" | "INT" | "STRING" | "OPTION";
207
+ visibility: "PUBLIC" | string | null;
208
+ options?: readonly { value: string; label?: Record<string, string> }[];
209
+ };
210
+
211
+ type CustomAttributeDefinitionManifest = {
212
+ byKey: Record<string, CustomAttributeDefinitionManifestEntry>;
213
+ byId: Record<string, CustomAttributeDefinitionManifestEntry>;
214
+ };
215
+ ```
216
+
217
+ - Generate the manifest at build time from your definitions source, and pass a separate manifest per workspace/environment because IDs are not portable.
218
+ - Custom-attribute keys that have no manifest entry are left in `unusedFilterKeys` instead of being applied as filters.
219
+ - Only definitions with `visibility` of `PUBLIC` (or `null`) are surfaced as v10 search highlights; others are ignored.
220
+ - The manifest is only used by v10 search. v9 and the non-search v10 endpoints ignore it.
221
+
179
222
  ## Translation Overrides
180
223
 
181
224
  Use `translationOverrides` to override SDK translation keys:
@@ -206,6 +249,7 @@ Example `website-sdk-config.v10.json`:
206
249
  {
207
250
  "backend": "v10",
208
251
  "apiEndpoint": "https://api.example.com/graphql",
252
+ "searchEndpoint": "https://search.example.com/search",
209
253
  "accessToken": "...",
210
254
  "imageBaseUrl": "https://images.example.com"
211
255
  }
@@ -91,6 +91,7 @@ Filter variants:
91
91
  {
92
92
  "backend": "v10",
93
93
  "apiEndpoint": "https://api.example.com/graphql",
94
+ "searchEndpoint": "https://search.example.com/search",
94
95
  "accessToken": "...",
95
96
  "imageBaseUrl": "https://images.example.com"
96
97
  }
@@ -155,4 +156,4 @@ website-sdk --backend v10 filters --locale de-DE --output pretty
155
156
  Environment variables:
156
157
 
157
158
  - `v9`: `HUB_GRAPHQL_URL`, `HUB_V1_API_BASE_URL`, optional `HUB_V0_API_BASE_URL`, `HUB_API_KEY`, `IMAGE_PROXY_BASE_URL`.
158
- - `v10`: `VOFFICE_API_ENDPOINT`, `VOFFICE_LOCAL_DEV_ACCESS_TOKEN`, `VOFFICE_IMAGE_BASE_URL`.
159
+ - `v10`: `VOFFICE_API_ENDPOINT`, `VOFFICE_SEARCH_ENDPOINT`, `VOFFICE_LOCAL_DEV_ACCESS_TOKEN`, `VOFFICE_IMAGE_BASE_URL`.
@@ -344,4 +344,4 @@ The CLI only creates the initial quote. Additional service, cancellation policy,
344
344
  Environment variables:
345
345
 
346
346
  - `v9`: `HUB_GRAPHQL_URL`, `HUB_V1_API_BASE_URL`, optional `HUB_V0_API_BASE_URL`, `HUB_API_KEY`, `IMAGE_PROXY_BASE_URL`.
347
- - `v10`: `VOFFICE_API_ENDPOINT`, `VOFFICE_LOCAL_DEV_ACCESS_TOKEN`, `VOFFICE_IMAGE_BASE_URL`.
347
+ - `v10`: `VOFFICE_API_ENDPOINT`, `VOFFICE_SEARCH_ENDPOINT`, `VOFFICE_LOCAL_DEV_ACCESS_TOKEN`, `VOFFICE_IMAGE_BASE_URL`.
@@ -137,6 +137,7 @@ For v10, public answers with the same form-response ID are combined into one rev
137
137
  {
138
138
  "backend": "v10",
139
139
  "apiEndpoint": "https://api.example.com/graphql",
140
+ "searchEndpoint": "https://search.example.com/search",
140
141
  "accessToken": "...",
141
142
  "imageBaseUrl": "https://images.example.com"
142
143
  }
@@ -179,4 +180,4 @@ website-sdk --backend v10 rentals --locale de-DE --output pretty
179
180
  Environment variables:
180
181
 
181
182
  - `v9`: `HUB_GRAPHQL_URL`, `HUB_V1_API_BASE_URL`, optional `HUB_V0_API_BASE_URL`, `HUB_API_KEY`, `IMAGE_PROXY_BASE_URL`.
182
- - `v10`: `VOFFICE_API_ENDPOINT`, `VOFFICE_LOCAL_DEV_ACCESS_TOKEN`, `VOFFICE_IMAGE_BASE_URL`.
183
+ - `v10`: `VOFFICE_API_ENDPOINT`, `VOFFICE_SEARCH_ENDPOINT`, `VOFFICE_LOCAL_DEV_ACCESS_TOKEN`, `VOFFICE_IMAGE_BASE_URL`.
@@ -23,9 +23,38 @@ type RentalSearchInput = {
23
23
  voucher?: string;
24
24
  limit?: number;
25
25
  cursor?: string;
26
+ sort?: SearchSearchSort;
27
+ };
28
+
29
+ type SearchSearchSort =
30
+ | { by: "price"; direction: "ASC" | "DESC" }
31
+ | { by: "random" }
32
+ | { by: "rating" }
33
+ | { by: "field"; orderBy: SearchSearchFieldOrderBy };
34
+
35
+ type SearchSearchFieldOrderBy = {
36
+ label?: "ASC" | "DESC";
37
+ name?: "ASC" | "DESC";
38
+ roomSummary?: {
39
+ bathrooms?: "ASC" | "DESC";
40
+ bedrooms?: "ASC" | "DESC";
41
+ livingrooms?: "ASC" | "DESC";
42
+ maxAdults?: "ASC" | "DESC";
43
+ maxPersons?: "ASC" | "DESC";
44
+ rooms?: "ASC" | "DESC";
45
+ };
46
+ attributes?: {
47
+ squareMeters?: "ASC" | "DESC";
48
+ };
49
+ vicinity?: {
50
+ beachdistance?: "ASC" | "DESC";
51
+ citydistance?: "ASC" | "DESC";
52
+ };
26
53
  };
27
54
  ```
28
55
 
56
+ The v9 facade narrows `sort` to price, random, or rating. The closed field-sorting contract is v10-only. The SDK also exports the corresponding `SearchSearchSortSchema`, variant schemas, types, and `V9SearchSearchSort`.
57
+
29
58
  Sample:
30
59
 
31
60
  ```json
@@ -34,7 +63,11 @@ Sample:
34
63
  "query": "start=01-07-2026&end=08-07-2026&adults=2&children=1&wifi=true",
35
64
  "rentalIdsIn": ["123", "456"],
36
65
  "voucher": "SUMMER26",
37
- "limit": 20
66
+ "limit": 20,
67
+ "sort": {
68
+ "by": "price",
69
+ "direction": "ASC"
70
+ }
38
71
  }
39
72
  ```
40
73
 
@@ -130,6 +163,66 @@ For v10, `pets` is a mapped BooleanFilter exposed by `getFilters` and maps to on
130
163
 
131
164
  `limit` defaults to `20`. Treat `cursor` as opaque and pass back `pageInfo.nextCursor` unchanged.
132
165
 
166
+ ## Sorting
167
+
168
+ Sorting is optional. The discriminated `sort` union allows exactly one ordering mode per request.
169
+
170
+ Price, random, and rating use the same input in v9 and v10:
171
+
172
+ ```ts
173
+ await sdk.live.search.search({
174
+ locale: "de-DE",
175
+ query: "start=01-08-2026&end=08-08-2026&adults=2",
176
+ sort: { by: "price", direction: "ASC" },
177
+ });
178
+
179
+ await sdk.live.search.search({
180
+ locale: "de-DE",
181
+ query: "adults=2",
182
+ sort: { by: "random" },
183
+ });
184
+
185
+ await sdk.live.search.search({
186
+ locale: "de-DE",
187
+ query: "adults=2",
188
+ sort: { by: "rating" },
189
+ });
190
+ ```
191
+
192
+ Backend behavior:
193
+
194
+ - `price`: v9 maps to `price_asc` or `price_desc`. v10 orders priced alternatives by total and direction. v10 price sorting requires a fixed-period or flexible-date query with occupancy; the SDK rejects incomplete requests before transport.
195
+ - `random`: v9 requests the backend's random ordering. v10 currently keeps the default backend ordering.
196
+ - `rating`: v9 requests the backend's rating ordering. v10 currently keeps the default backend ordering until rating ordering is implemented.
197
+ - v9 may retain backend-promoted results ahead of the requested business order, and its random ordering may be deterministic.
198
+ - v10 price ordering follows the backend's boost-first, total-second behavior, so different boost groups are not globally ordered only by price.
199
+
200
+ v10 additionally supports a stable subset of rental-summary field ordering:
201
+
202
+ ```ts
203
+ await sdk.live.search.search({
204
+ locale: "de-DE",
205
+ query: "adults=2",
206
+ sort: {
207
+ by: "field",
208
+ orderBy: {
209
+ label: "ASC",
210
+ roomSummary: {
211
+ bedrooms: "DESC",
212
+ },
213
+ attributes: {
214
+ squareMeters: "DESC",
215
+ },
216
+ vicinity: {
217
+ beachdistance: "ASC",
218
+ },
219
+ },
220
+ },
221
+ });
222
+ ```
223
+
224
+ The supported fields are `label`, `name`, all six `roomSummary` counters, `attributes.squareMeters`, `vicinity.beachdistance`, and `vicinity.citydistance`. Unknown fields and nesting are not part of the public type and are rejected before transport by the SDK and CLI. The field variant is excluded from `V9SearchSearchSort` and rejected by the CLI when `--backend v9` is selected.
225
+
133
226
  ## Output
134
227
 
135
228
  Returns `Promise<RentalSearchOutput>`.
@@ -192,10 +285,22 @@ Sample:
192
285
 
193
286
  Search items share the rental base fields and may include `scope`, `address`, `property`, `highlights`, and `formattedTotal`. Exact-period results are returned in `items`; alternative-period suggestions are returned in root-level `alternatives`.
194
287
 
288
+ ## v10 Backend
289
+
290
+ v10 search runs against the dedicated REST search backend (`POST` to the configured `searchEndpoint`). Existing calls and the output type remain compatible, while the input additionally supports optional sorting. v10 results reflect the REST projection:
291
+
292
+ - At most five images per item, and no image `category`.
293
+ - `property` is the minimal `{ id, nameOrLabel }` shape. Hydrate `property.location`, `property.images`, or `property.address` from `sdk.static.rentals.getRentals(...)` when a card needs them.
294
+ - Custom-attribute search filters and highlights require a `customAttributeDefinitionManifest`; without it, custom-attribute query keys are left in `unusedFilterKeys` and no custom-attribute highlights are added.
295
+ - Fixed-period and flexible searches are priced by the REST backend and require occupancy.
296
+ - Pagination uses the backend `from`/`size` window behind the same opaque `cursor`, capped at 1,000 results.
297
+
195
298
  ## Configuration
196
299
 
197
300
  Use flat `WebsiteSDKConfig` files and optional `WebsiteSDKOptions`.
198
301
 
302
+ For v10, config requires `searchEndpoint` (the full REST search URL) as of 2.5.0. See `creation.md` for `searchEndpoint` and the `customAttributeDefinitionManifest` option.
303
+
199
304
  Custom filter definitions can extend accepted search query keys. Search requests are rate-limited to one backend request per second with a queue size of five.
200
305
 
201
306
  ## CLI Usage
@@ -220,6 +325,14 @@ website-sdk --backend v10 search --locale de-DE --query "adults=2" --rental-ids-
220
325
  website-sdk --backend v10 search --locale de-DE --query "adults=2" --voucher SUMMER26
221
326
  ```
222
327
 
328
+ Pass sorting as schema-validated JSON:
329
+
330
+ ```sh
331
+ website-sdk --backend v9 search --locale de-DE --query "adults=2" --sort '{"by":"random"}'
332
+ website-sdk --backend v10 search --locale de-DE --query "start=01-08-2026&end=08-08-2026&adults=2" --sort '{"by":"price","direction":"ASC"}'
333
+ website-sdk --backend v10 search --locale de-DE --query "adults=2" --sort '{"by":"field","orderBy":{"label":"ASC"}}'
334
+ ```
335
+
223
336
  Use files instead of environment variables:
224
337
 
225
338
  ```sh
@@ -235,4 +348,4 @@ website-sdk --backend v10 search --locale de-DE --query "adults=2" --output pret
235
348
  Environment variables:
236
349
 
237
350
  - `v9`: `HUB_GRAPHQL_URL`, `HUB_V1_API_BASE_URL`, optional `HUB_V0_API_BASE_URL`, `HUB_API_KEY`, `IMAGE_PROXY_BASE_URL`.
238
- - `v10`: `VOFFICE_API_ENDPOINT`, `VOFFICE_LOCAL_DEV_ACCESS_TOKEN`, `VOFFICE_IMAGE_BASE_URL`.
351
+ - `v10`: `VOFFICE_API_ENDPOINT`, `VOFFICE_SEARCH_ENDPOINT`, `VOFFICE_LOCAL_DEV_ACCESS_TOKEN`, `VOFFICE_IMAGE_BASE_URL`.