@wix/auto_sdk_table-reservations_experiences 1.0.40 → 1.0.42

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.
Files changed (53) hide show
  1. package/build/cjs/index.d.ts +22 -3
  2. package/build/cjs/index.js +378 -0
  3. package/build/cjs/index.js.map +1 -1
  4. package/build/cjs/index.typings.d.ts +2 -2
  5. package/build/cjs/index.typings.js +369 -0
  6. package/build/cjs/index.typings.js.map +1 -1
  7. package/build/cjs/meta.d.ts +22 -5
  8. package/build/cjs/meta.js +312 -0
  9. package/build/cjs/meta.js.map +1 -1
  10. package/build/cjs/schemas.d.ts +361 -1
  11. package/build/cjs/schemas.js +595 -0
  12. package/build/cjs/schemas.js.map +1 -1
  13. package/build/cjs/{table-reservations-v1-experience-experiences.universal-1Acqg8lu.d.ts → table-reservations-v1-experience-experiences.universal-y3E_tS1X.d.ts} +50 -4
  14. package/build/es/index.d.mts +22 -3
  15. package/build/es/index.mjs +377 -0
  16. package/build/es/index.mjs.map +1 -1
  17. package/build/es/index.typings.d.mts +2 -2
  18. package/build/es/index.typings.mjs +368 -0
  19. package/build/es/index.typings.mjs.map +1 -1
  20. package/build/es/meta.d.mts +22 -5
  21. package/build/es/meta.mjs +311 -0
  22. package/build/es/meta.mjs.map +1 -1
  23. package/build/es/schemas.d.mts +361 -1
  24. package/build/es/schemas.mjs +593 -0
  25. package/build/es/schemas.mjs.map +1 -1
  26. package/build/es/{table-reservations-v1-experience-experiences.universal-1Acqg8lu.d.mts → table-reservations-v1-experience-experiences.universal-y3E_tS1X.d.mts} +50 -4
  27. package/build/internal/cjs/index.d.ts +22 -3
  28. package/build/internal/cjs/index.js +378 -0
  29. package/build/internal/cjs/index.js.map +1 -1
  30. package/build/internal/cjs/index.typings.d.ts +2 -2
  31. package/build/internal/cjs/index.typings.js +369 -0
  32. package/build/internal/cjs/index.typings.js.map +1 -1
  33. package/build/internal/cjs/meta.d.ts +22 -5
  34. package/build/internal/cjs/meta.js +312 -0
  35. package/build/internal/cjs/meta.js.map +1 -1
  36. package/build/internal/cjs/schemas.d.ts +361 -1
  37. package/build/internal/cjs/schemas.js +595 -0
  38. package/build/internal/cjs/schemas.js.map +1 -1
  39. package/build/internal/cjs/{table-reservations-v1-experience-experiences.universal-1Acqg8lu.d.ts → table-reservations-v1-experience-experiences.universal-y3E_tS1X.d.ts} +50 -4
  40. package/build/internal/es/index.d.mts +22 -3
  41. package/build/internal/es/index.mjs +377 -0
  42. package/build/internal/es/index.mjs.map +1 -1
  43. package/build/internal/es/index.typings.d.mts +2 -2
  44. package/build/internal/es/index.typings.mjs +368 -0
  45. package/build/internal/es/index.typings.mjs.map +1 -1
  46. package/build/internal/es/meta.d.mts +22 -5
  47. package/build/internal/es/meta.mjs +311 -0
  48. package/build/internal/es/meta.mjs.map +1 -1
  49. package/build/internal/es/schemas.d.mts +361 -1
  50. package/build/internal/es/schemas.mjs +593 -0
  51. package/build/internal/es/schemas.mjs.map +1 -1
  52. package/build/internal/es/{table-reservations-v1-experience-experiences.universal-1Acqg8lu.d.mts → table-reservations-v1-experience-experiences.universal-y3E_tS1X.d.mts} +50 -4
  53. package/package.json +2 -2
@@ -2748,6 +2748,597 @@ var SearchExperiencesResponse = z.object({
2748
2748
  ).max(1e3).optional()
2749
2749
  }).describe("Aggregation data.").optional()
2750
2750
  });
2751
+ var BulkUpdateExperiencesRequest = z.object({
2752
+ experiences: z.array(
2753
+ z.object({
2754
+ experience: z.object({
2755
+ _id: z.string().describe("Experience ID.").regex(
2756
+ /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
2757
+ "Must be a valid GUID"
2758
+ ),
2759
+ reservationLocationId: z.string().describe(
2760
+ "ID of the reservation location this experience is assigned to."
2761
+ ).regex(
2762
+ /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
2763
+ "Must be a valid GUID"
2764
+ ).optional().nullable(),
2765
+ revision: z.string().regex(/^-?\d+$/, "Must be a valid Int64 string").describe(
2766
+ "Revision number, which increments by 1 each time the experience is updated.\nTo prevent conflicting changes, the current revision must be passed when updating the experience.\n\nIgnored when creating an experience."
2767
+ ),
2768
+ _createdDate: z.date().describe("Date and time the experience was created.").optional().nullable(),
2769
+ _updatedDate: z.date().describe("Date and time the experience was last updated.").optional().nullable(),
2770
+ configuration: z.object({
2771
+ displayInfo: z.object({
2772
+ name: z.string().describe("Experience name.").min(1).max(120).optional().nullable(),
2773
+ shortDescription: z.string().describe("Brief description of the experience.").max(300).optional().nullable(),
2774
+ coverImage: z.string().describe("Cover image for the experience.").optional(),
2775
+ richContent: z.any().describe(
2776
+ "Detailed description of the experience using rich content formatting."
2777
+ ).optional()
2778
+ }).describe("Display information for the experience.").optional(),
2779
+ paymentPolicy: z.intersection(
2780
+ z.object({
2781
+ paymentPolicyType: z.enum(["PER_GUEST", "FREE"]).optional()
2782
+ }),
2783
+ z.xor([
2784
+ z.object({ perGuestOptions: z.never().optional() }),
2785
+ z.object({
2786
+ perGuestOptions: z.object({
2787
+ price: z.string().describe(
2788
+ 'Monetary amount to charge. Decimal string with a period as a decimal separator. For example, `"3.99"`.'
2789
+ ).optional().nullable()
2790
+ }).describe("Per-guest pricing settings.")
2791
+ })
2792
+ ])
2793
+ ).describe(
2794
+ "Payment policy for the experience. This policy determines how the restaurant charges for reservations."
2795
+ ).optional(),
2796
+ onlineReservations: z.object({
2797
+ partySize: z.object({
2798
+ min: z.number().int().describe(
2799
+ "Minimum number of guests allowed for a reservation."
2800
+ ).min(1).max(1e4).optional().nullable(),
2801
+ max: z.number().int().describe(
2802
+ "Maximum number of guests allowed for a reservation."
2803
+ ).min(1).max(1e4).optional().nullable()
2804
+ }).describe("Party size.").optional(),
2805
+ minimumReservationNotice: z.object({
2806
+ number: z.number().int().describe(
2807
+ "Number of time units for the notice period. For example, `2` for 2 hours or `30` for 30 days."
2808
+ ).min(1).max(1e3).optional().nullable(),
2809
+ unit: z.enum(["MINUTES", "HOURS", "DAYS"]).optional()
2810
+ }).describe("Minimum reservation notice.").optional(),
2811
+ maximumReservationNotice: z.object({
2812
+ number: z.number().int().describe(
2813
+ "Number of time units for the notice period. For example, `2` for 2 hours or `30` for 30 days."
2814
+ ).min(1).max(1e3).optional().nullable(),
2815
+ unit: z.enum(["MINUTES", "HOURS", "DAYS"]).optional()
2816
+ }).describe("Maximum reservation notice.").optional(),
2817
+ approval: z.object({
2818
+ mode: z.enum(["AUTOMATIC", "MANUAL"]).optional()
2819
+ }).describe("Approval.").optional(),
2820
+ maxGuests: z.object({
2821
+ number: z.number().int().describe(
2822
+ "Maximum total number of guests that can have active reservations for this experience at the same time."
2823
+ ).min(0).max(1e4).optional().nullable()
2824
+ }).describe("Maximum number of guests.").optional(),
2825
+ businessSchedule: z.object({
2826
+ durationInMinutes: z.number().int().describe("Duration of the experience in minutes.").min(1).max(1440).optional().nullable(),
2827
+ entries: z.array(
2828
+ z.intersection(
2829
+ z.object({
2830
+ recurrence: z.enum(["WEEKLY", "ONE_TIME"]).optional()
2831
+ }),
2832
+ z.xor([
2833
+ z.object({
2834
+ weeklyOptions: z.never().optional(),
2835
+ oneTimeOptions: z.never().optional()
2836
+ }),
2837
+ z.object({
2838
+ oneTimeOptions: z.never().optional(),
2839
+ weeklyOptions: z.object({
2840
+ startDate: z.string().describe("Start date.").optional().nullable(),
2841
+ endDate: z.string().describe("End date.").optional().nullable(),
2842
+ startDaysAndTimes: z.array(
2843
+ z.object({
2844
+ day: z.enum([
2845
+ "MONDAY",
2846
+ "TUESDAY",
2847
+ "WEDNESDAY",
2848
+ "THURSDAY",
2849
+ "FRIDAY",
2850
+ "SATURDAY",
2851
+ "SUNDAY"
2852
+ ]).optional(),
2853
+ time: z.string().describe(
2854
+ 'Start time. ISO-8601 extended local time format (hh:mm). For example, `"11:00"`, or `"23:30"`.'
2855
+ ).max(5).min(5).optional().nullable()
2856
+ })
2857
+ ).max(100).optional()
2858
+ }).describe("Weekly recurrence settings.")
2859
+ }),
2860
+ z.object({
2861
+ weeklyOptions: z.never().optional(),
2862
+ oneTimeOptions: z.object({
2863
+ startDate: z.string().describe("Start date.").optional().nullable(),
2864
+ startTime: z.string().describe(
2865
+ 'Start time. ISO-8601 extended local time format (hh:mm). For example, `"11:00"`, or `"23:30"`.'
2866
+ ).max(5).min(5).optional().nullable()
2867
+ }).describe("1-time event settings.")
2868
+ })
2869
+ ])
2870
+ )
2871
+ ).max(10).optional()
2872
+ }).describe("Business schedule.").optional()
2873
+ }).describe(
2874
+ "Settings for this experience that are used to determine restaurant availability for reservations made online."
2875
+ ).optional(),
2876
+ reservationForm: z.object({
2877
+ submitMessage: z.string().describe(
2878
+ "Message displayed to customers when they submit the reservation form."
2879
+ ).max(1e6).optional().nullable(),
2880
+ policiesEnabled: z.boolean().describe(
2881
+ "Whether to display privacy policy and terms and conditions to customers."
2882
+ ).optional().nullable(),
2883
+ privacyPolicy: z.intersection(
2884
+ z.object({
2885
+ enabled: z.boolean().describe(
2886
+ "Whether the privacy policy is displayed to customers.\n\nDefault: `false`"
2887
+ ).optional().nullable()
2888
+ }),
2889
+ z.xor([
2890
+ z.object({
2891
+ url: z.never().optional(),
2892
+ text: z.never().optional()
2893
+ }),
2894
+ z.object({
2895
+ text: z.never().optional(),
2896
+ url: z.string().describe("Privacy policy URL.")
2897
+ }),
2898
+ z.object({
2899
+ url: z.never().optional(),
2900
+ text: z.string().describe("Privacy policy text.").max(1e6)
2901
+ })
2902
+ ])
2903
+ ).describe("Privacy policy display settings.").optional(),
2904
+ termsAndConditions: z.intersection(
2905
+ z.object({
2906
+ enabled: z.boolean().describe(
2907
+ "Whether the terms and conditions are displayed to customers.\n\nDefault: `false`"
2908
+ ).optional().nullable()
2909
+ }),
2910
+ z.xor([
2911
+ z.object({
2912
+ url: z.never().optional(),
2913
+ text: z.never().optional()
2914
+ }),
2915
+ z.object({
2916
+ text: z.never().optional(),
2917
+ url: z.string().describe("Terms and conditions URL.")
2918
+ }),
2919
+ z.object({
2920
+ url: z.never().optional(),
2921
+ text: z.string().describe("Terms and conditions text.").max(1e6)
2922
+ })
2923
+ ])
2924
+ ).describe("Terms and conditions display settings.").optional(),
2925
+ customFieldDefinitions: z.array(
2926
+ z.object({
2927
+ _id: z.string().describe("Custom field ID.").regex(
2928
+ /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
2929
+ "Must be a valid GUID"
2930
+ ).optional().nullable(),
2931
+ name: z.string().describe("Custom field name.").min(1).max(1e3).optional().nullable(),
2932
+ required: z.boolean().describe(
2933
+ "Whether the custom field is required.\n\nDefault: `false`"
2934
+ ).optional().nullable()
2935
+ })
2936
+ ).max(1e3).optional(),
2937
+ lastNameRequired: z.boolean().describe(
2938
+ "Whether a last name is required in the reservation form.\n\nDefault: `false`"
2939
+ ).optional().nullable(),
2940
+ emailRequired: z.boolean().describe(
2941
+ "Whether an email is required in the reservation form.\n\nDefault: `false`"
2942
+ ).optional().nullable(),
2943
+ emailMarketingCheckbox: z.object({
2944
+ enabled: z.boolean().describe(
2945
+ "Whether the email marketing checkbox is displayed to customers.\n\nDefault: `false`"
2946
+ ).optional().nullable(),
2947
+ checkedByDefault: z.boolean().describe(
2948
+ "Whether the email marketing checkbox is checked by default.\n\nDefault: `false`"
2949
+ ).optional().nullable()
2950
+ }).describe("Email marketing checkbox settings.").optional()
2951
+ }).describe(
2952
+ "Custom form fields and settings for the reservation booking form."
2953
+ ).optional(),
2954
+ visible: z.boolean().describe(
2955
+ "Whether the experience is visible on the live site."
2956
+ ).optional().nullable()
2957
+ }).describe("Experience configuration.").optional(),
2958
+ currency: z.string().describe(
2959
+ "3-letter currency code in ISO-4217 alphabetic format. For exampled, `USD`."
2960
+ ).optional().nullable(),
2961
+ extendedFields: z.object({
2962
+ namespaces: z.record(z.string(), z.record(z.string(), z.any())).describe(
2963
+ "Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\nThe value of each key is structured according to the schema defined when the extended fields were configured.\n\nYou can only access fields for which you have the appropriate permissions.\n\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields)."
2964
+ ).optional()
2965
+ }).describe("Extended fields.").optional(),
2966
+ tags: z.object({
2967
+ privateTags: z.object({ tagIds: z.array(z.string()).max(100).optional() }).describe(
2968
+ "Tags that require an additional permission in order to access them, normally not given to site members or visitors."
2969
+ ).optional(),
2970
+ publicTags: z.object({ tagIds: z.array(z.string()).max(100).optional() }).describe(
2971
+ "Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors."
2972
+ ).optional()
2973
+ }).describe(
2974
+ "Tags assigned to the experience. Tags must be created using the [Tags API](https://dev.wix.com/docs/api-reference/business-management/tags/introduction) before they can be assigned."
2975
+ ).optional(),
2976
+ slug: z.string().describe(
2977
+ 'URL-friendly identifier for the experience page, derived from the experience display name in kebab-case format (e.g., "wine-tasting-event"). Used to create readable URLs for the experience page.'
2978
+ ).max(300).optional().nullable(),
2979
+ seoSettings: z.object({
2980
+ seoSchema: z.object({
2981
+ tags: z.array(
2982
+ z.object({
2983
+ type: z.string().describe(
2984
+ "SEO tag type.\n\n\nSupported values: `title`, `meta`, `script`, `link`."
2985
+ ).optional(),
2986
+ props: z.record(z.string(), z.any()).describe(
2987
+ 'A `{"key": "value"}` pair object where each SEO tag property (`"name"`, `"content"`, `"rel"`, `"href"`) contains a value.\nFor example: `{"name": "description", "content": "the description itself"}`.'
2988
+ ).optional().nullable(),
2989
+ meta: z.record(z.string(), z.any()).describe(
2990
+ 'SEO tag metadata. For example, `{"height": 300, "width": 240}`.'
2991
+ ).optional().nullable(),
2992
+ children: z.string().describe(
2993
+ "SEO tag inner content. For example, `<title> inner content </title>`."
2994
+ ).optional(),
2995
+ custom: z.boolean().describe(
2996
+ "Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages)."
2997
+ ).optional(),
2998
+ disabled: z.boolean().describe(
2999
+ "Whether the tag is disabled. If the tag is disabled, people can't find your page when searching for this phrase in search engines."
3000
+ ).optional()
3001
+ })
3002
+ ).optional(),
3003
+ settings: z.object({
3004
+ preventAutoRedirect: z.boolean().describe(
3005
+ "Whether the [automatical redirect visits](https://support.wix.com/en/article/customizing-your-pages-seo-settings-in-the-seo-panel) from the old URL to the new one is enabled.\n\n\nDefault: `false` (automatical redirect is enabled)."
3006
+ ).optional(),
3007
+ keywords: z.array(
3008
+ z.object({
3009
+ term: z.string().describe("Keyword value.").optional(),
3010
+ isMain: z.boolean().describe(
3011
+ "Whether the keyword is the main focus keyword."
3012
+ ).optional(),
3013
+ origin: z.string().describe(
3014
+ "The source that added the keyword terms to the SEO settings."
3015
+ ).max(1e3).optional().nullable()
3016
+ })
3017
+ ).max(5).optional()
3018
+ }).describe("SEO general settings.").optional()
3019
+ }).describe(
3020
+ "SEO schema data for customizing meta tags and search engine settings."
3021
+ ).optional()
3022
+ }).describe("SEO settings for the experience page.").optional()
3023
+ }).describe("Experience to update. May be partial.").optional()
3024
+ })
3025
+ ).min(1).max(100),
3026
+ options: z.object({
3027
+ returnEntity: z.boolean().describe(
3028
+ "Whether to include the updated experiences in the response. When `true`, each successfully updated experience is returned in the corresponding result's `item` field.\n\nDefault: `false`"
3029
+ ).optional()
3030
+ }).optional()
3031
+ });
3032
+ var BulkUpdateExperiencesResponse = z.object({
3033
+ results: z.array(
3034
+ z.object({
3035
+ itemMetadata: z.object({
3036
+ _id: z.string().describe(
3037
+ "Item ID. Provided only whenever possible. For example, `itemId` can't be provided when item creation has failed."
3038
+ ).regex(
3039
+ /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
3040
+ "Must be a valid GUID"
3041
+ ).optional().nullable(),
3042
+ originalIndex: z.number().int().describe(
3043
+ "Index of the item within the request array. Allows for correlation between request and response items."
3044
+ ).min(0).optional(),
3045
+ success: z.boolean().describe(
3046
+ "Whether the requested action for this item was successful. When `false`, the `error` field is returned."
3047
+ ).optional(),
3048
+ error: z.object({
3049
+ code: z.string().describe("Error code.").optional(),
3050
+ description: z.string().describe("Description of the error.").optional(),
3051
+ data: z.record(z.string(), z.any()).describe("Data related to the error.").optional().nullable()
3052
+ }).describe("Details about the error in case of failure.").optional()
3053
+ }).describe(
3054
+ "Update status for an individual experience, including success or failure information and error details when the update failed."
3055
+ ).optional(),
3056
+ item: z.object({
3057
+ _id: z.string().describe("Experience ID.").regex(
3058
+ /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
3059
+ "Must be a valid GUID"
3060
+ ).optional().nullable(),
3061
+ reservationLocationId: z.string().describe(
3062
+ "ID of the reservation location this experience is assigned to."
3063
+ ).regex(
3064
+ /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
3065
+ "Must be a valid GUID"
3066
+ ).optional().nullable(),
3067
+ revision: z.string().regex(/^-?\d+$/, "Must be a valid Int64 string").describe(
3068
+ "Revision number, which increments by 1 each time the experience is updated.\nTo prevent conflicting changes, the current revision must be passed when updating the experience.\n\nIgnored when creating an experience."
3069
+ ).optional().nullable(),
3070
+ _createdDate: z.date().describe("Date and time the experience was created.").optional().nullable(),
3071
+ _updatedDate: z.date().describe("Date and time the experience was last updated.").optional().nullable(),
3072
+ configuration: z.object({
3073
+ displayInfo: z.object({
3074
+ name: z.string().describe("Experience name.").min(1).max(120).optional().nullable(),
3075
+ shortDescription: z.string().describe("Brief description of the experience.").max(300).optional().nullable(),
3076
+ coverImage: z.string().describe("Cover image for the experience.").optional(),
3077
+ richContent: z.any().describe(
3078
+ "Detailed description of the experience using rich content formatting."
3079
+ ).optional()
3080
+ }).describe("Display information for the experience.").optional(),
3081
+ paymentPolicy: z.intersection(
3082
+ z.object({
3083
+ paymentPolicyType: z.enum(["PER_GUEST", "FREE"]).describe("Payment policy type for the experience.").optional()
3084
+ }),
3085
+ z.xor([
3086
+ z.object({ perGuestOptions: z.never().optional() }),
3087
+ z.object({
3088
+ perGuestOptions: z.object({
3089
+ price: z.string().describe(
3090
+ 'Monetary amount to charge. Decimal string with a period as a decimal separator. For example, `"3.99"`.'
3091
+ ).optional().nullable()
3092
+ }).describe("Per-guest pricing settings.")
3093
+ })
3094
+ ])
3095
+ ).describe(
3096
+ "Payment policy for the experience. This policy determines how the restaurant charges for reservations."
3097
+ ).optional(),
3098
+ onlineReservations: z.object({
3099
+ partySize: z.object({
3100
+ min: z.number().int().describe(
3101
+ "Minimum number of guests allowed for a reservation."
3102
+ ).min(1).max(1e4).optional().nullable(),
3103
+ max: z.number().int().describe(
3104
+ "Maximum number of guests allowed for a reservation."
3105
+ ).min(1).max(1e4).optional().nullable()
3106
+ }).describe("Party size.").optional(),
3107
+ minimumReservationNotice: z.object({
3108
+ number: z.number().int().describe(
3109
+ "Number of time units for the notice period. For example, `2` for 2 hours or `30` for 30 days."
3110
+ ).min(1).max(1e3).optional().nullable(),
3111
+ unit: z.enum(["MINUTES", "HOURS", "DAYS"]).describe("Time unit for the notice period.").optional()
3112
+ }).describe("Minimum reservation notice.").optional(),
3113
+ maximumReservationNotice: z.object({
3114
+ number: z.number().int().describe(
3115
+ "Number of time units for the notice period. For example, `2` for 2 hours or `30` for 30 days."
3116
+ ).min(1).max(1e3).optional().nullable(),
3117
+ unit: z.enum(["MINUTES", "HOURS", "DAYS"]).describe("Time unit for the notice period.").optional()
3118
+ }).describe("Maximum reservation notice.").optional(),
3119
+ approval: z.object({
3120
+ mode: z.enum(["AUTOMATIC", "MANUAL"]).describe("Approval mode.").optional()
3121
+ }).describe("Approval.").optional(),
3122
+ maxGuests: z.object({
3123
+ number: z.number().int().describe(
3124
+ "Maximum total number of guests that can have active reservations for this experience at the same time."
3125
+ ).min(0).max(1e4).optional().nullable()
3126
+ }).describe("Maximum number of guests.").optional(),
3127
+ businessSchedule: z.object({
3128
+ durationInMinutes: z.number().int().describe("Duration of the experience in minutes.").min(1).max(1440).optional().nullable(),
3129
+ entries: z.array(
3130
+ z.intersection(
3131
+ z.object({
3132
+ recurrence: z.enum(["WEEKLY", "ONE_TIME"]).describe(
3133
+ "Recurrence settings for this entry."
3134
+ ).optional()
3135
+ }),
3136
+ z.xor([
3137
+ z.object({
3138
+ weeklyOptions: z.never().optional(),
3139
+ oneTimeOptions: z.never().optional()
3140
+ }),
3141
+ z.object({
3142
+ oneTimeOptions: z.never().optional(),
3143
+ weeklyOptions: z.object({
3144
+ startDate: z.string().describe("Start date.").optional().nullable(),
3145
+ endDate: z.string().describe("End date.").optional().nullable(),
3146
+ startDaysAndTimes: z.array(
3147
+ z.object({
3148
+ day: z.enum([
3149
+ "MONDAY",
3150
+ "TUESDAY",
3151
+ "WEDNESDAY",
3152
+ "THURSDAY",
3153
+ "FRIDAY",
3154
+ "SATURDAY",
3155
+ "SUNDAY"
3156
+ ]).describe("Day of week.").optional(),
3157
+ time: z.string().describe(
3158
+ 'Start time. ISO-8601 extended local time format (hh:mm). For example, `"11:00"`, or `"23:30"`.'
3159
+ ).max(5).min(5).optional().nullable()
3160
+ })
3161
+ ).max(100).optional()
3162
+ }).describe("Weekly recurrence settings.")
3163
+ }),
3164
+ z.object({
3165
+ weeklyOptions: z.never().optional(),
3166
+ oneTimeOptions: z.object({
3167
+ startDate: z.string().describe("Start date.").optional().nullable(),
3168
+ startTime: z.string().describe(
3169
+ 'Start time. ISO-8601 extended local time format (hh:mm). For example, `"11:00"`, or `"23:30"`.'
3170
+ ).max(5).min(5).optional().nullable()
3171
+ }).describe("1-time event settings.")
3172
+ })
3173
+ ])
3174
+ )
3175
+ ).max(10).optional()
3176
+ }).describe("Business schedule.").optional()
3177
+ }).describe(
3178
+ "Settings for this experience that are used to determine restaurant availability for reservations made online."
3179
+ ).optional(),
3180
+ reservationForm: z.object({
3181
+ submitMessage: z.string().describe(
3182
+ "Message displayed to customers when they submit the reservation form."
3183
+ ).max(1e6).optional().nullable(),
3184
+ policiesEnabled: z.boolean().describe(
3185
+ "Whether to display privacy policy and terms and conditions to customers."
3186
+ ).optional().nullable(),
3187
+ privacyPolicy: z.intersection(
3188
+ z.object({
3189
+ enabled: z.boolean().describe(
3190
+ "Whether the privacy policy is displayed to customers.\n\nDefault: `false`"
3191
+ ).optional().nullable()
3192
+ }),
3193
+ z.xor([
3194
+ z.object({
3195
+ url: z.never().optional(),
3196
+ text: z.never().optional()
3197
+ }),
3198
+ z.object({
3199
+ text: z.never().optional(),
3200
+ url: z.string().describe("Privacy policy URL.")
3201
+ }),
3202
+ z.object({
3203
+ url: z.never().optional(),
3204
+ text: z.string().describe("Privacy policy text.").max(1e6)
3205
+ })
3206
+ ])
3207
+ ).describe("Privacy policy display settings.").optional(),
3208
+ termsAndConditions: z.intersection(
3209
+ z.object({
3210
+ enabled: z.boolean().describe(
3211
+ "Whether the terms and conditions are displayed to customers.\n\nDefault: `false`"
3212
+ ).optional().nullable()
3213
+ }),
3214
+ z.xor([
3215
+ z.object({
3216
+ url: z.never().optional(),
3217
+ text: z.never().optional()
3218
+ }),
3219
+ z.object({
3220
+ text: z.never().optional(),
3221
+ url: z.string().describe("Terms and conditions URL.")
3222
+ }),
3223
+ z.object({
3224
+ url: z.never().optional(),
3225
+ text: z.string().describe("Terms and conditions text.").max(1e6)
3226
+ })
3227
+ ])
3228
+ ).describe("Terms and conditions display settings.").optional(),
3229
+ customFieldDefinitions: z.array(
3230
+ z.object({
3231
+ _id: z.string().describe("Custom field ID.").regex(
3232
+ /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,
3233
+ "Must be a valid GUID"
3234
+ ).optional().nullable(),
3235
+ name: z.string().describe("Custom field name.").min(1).max(1e3).optional().nullable(),
3236
+ required: z.boolean().describe(
3237
+ "Whether the custom field is required.\n\nDefault: `false`"
3238
+ ).optional().nullable()
3239
+ })
3240
+ ).max(1e3).optional(),
3241
+ lastNameRequired: z.boolean().describe(
3242
+ "Whether a last name is required in the reservation form.\n\nDefault: `false`"
3243
+ ).optional().nullable(),
3244
+ emailRequired: z.boolean().describe(
3245
+ "Whether an email is required in the reservation form.\n\nDefault: `false`"
3246
+ ).optional().nullable(),
3247
+ emailMarketingCheckbox: z.object({
3248
+ enabled: z.boolean().describe(
3249
+ "Whether the email marketing checkbox is displayed to customers.\n\nDefault: `false`"
3250
+ ).optional().nullable(),
3251
+ checkedByDefault: z.boolean().describe(
3252
+ "Whether the email marketing checkbox is checked by default.\n\nDefault: `false`"
3253
+ ).optional().nullable()
3254
+ }).describe("Email marketing checkbox settings.").optional()
3255
+ }).describe(
3256
+ "Custom form fields and settings for the reservation booking form."
3257
+ ).optional(),
3258
+ visible: z.boolean().describe(
3259
+ "Whether the experience is visible on the live site."
3260
+ ).optional().nullable()
3261
+ }).describe("Experience configuration.").optional(),
3262
+ currency: z.string().describe(
3263
+ "3-letter currency code in ISO-4217 alphabetic format. For exampled, `USD`."
3264
+ ).optional().nullable(),
3265
+ extendedFields: z.object({
3266
+ namespaces: z.record(z.string(), z.record(z.string(), z.any())).describe(
3267
+ "Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\nThe value of each key is structured according to the schema defined when the extended fields were configured.\n\nYou can only access fields for which you have the appropriate permissions.\n\nLearn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields)."
3268
+ ).optional()
3269
+ }).describe("Extended fields.").optional(),
3270
+ tags: z.object({
3271
+ privateTags: z.object({ tagIds: z.array(z.string()).max(100).optional() }).describe(
3272
+ "Tags that require an additional permission in order to access them, normally not given to site members or visitors."
3273
+ ).optional(),
3274
+ publicTags: z.object({ tagIds: z.array(z.string()).max(100).optional() }).describe(
3275
+ "Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors."
3276
+ ).optional()
3277
+ }).describe(
3278
+ "Tags assigned to the experience. Tags must be created using the [Tags API](https://dev.wix.com/docs/api-reference/business-management/tags/introduction) before they can be assigned."
3279
+ ).optional(),
3280
+ slug: z.string().describe(
3281
+ 'URL-friendly identifier for the experience page, derived from the experience display name in kebab-case format (e.g., "wine-tasting-event"). Used to create readable URLs for the experience page.'
3282
+ ).max(300).optional().nullable(),
3283
+ seoSettings: z.object({
3284
+ seoSchema: z.object({
3285
+ tags: z.array(
3286
+ z.object({
3287
+ type: z.string().describe(
3288
+ "SEO tag type.\n\n\nSupported values: `title`, `meta`, `script`, `link`."
3289
+ ).optional(),
3290
+ props: z.record(z.string(), z.any()).describe(
3291
+ 'A `{"key": "value"}` pair object where each SEO tag property (`"name"`, `"content"`, `"rel"`, `"href"`) contains a value.\nFor example: `{"name": "description", "content": "the description itself"}`.'
3292
+ ).optional().nullable(),
3293
+ meta: z.record(z.string(), z.any()).describe(
3294
+ 'SEO tag metadata. For example, `{"height": 300, "width": 240}`.'
3295
+ ).optional().nullable(),
3296
+ children: z.string().describe(
3297
+ "SEO tag inner content. For example, `<title> inner content </title>`."
3298
+ ).optional(),
3299
+ custom: z.boolean().describe(
3300
+ "Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages)."
3301
+ ).optional(),
3302
+ disabled: z.boolean().describe(
3303
+ "Whether the tag is disabled. If the tag is disabled, people can't find your page when searching for this phrase in search engines."
3304
+ ).optional()
3305
+ })
3306
+ ).optional(),
3307
+ settings: z.object({
3308
+ preventAutoRedirect: z.boolean().describe(
3309
+ "Whether the [automatical redirect visits](https://support.wix.com/en/article/customizing-your-pages-seo-settings-in-the-seo-panel) from the old URL to the new one is enabled.\n\n\nDefault: `false` (automatical redirect is enabled)."
3310
+ ).optional(),
3311
+ keywords: z.array(
3312
+ z.object({
3313
+ term: z.string().describe("Keyword value.").optional(),
3314
+ isMain: z.boolean().describe(
3315
+ "Whether the keyword is the main focus keyword."
3316
+ ).optional(),
3317
+ origin: z.string().describe(
3318
+ "The source that added the keyword terms to the SEO settings."
3319
+ ).max(1e3).optional().nullable()
3320
+ })
3321
+ ).max(5).optional()
3322
+ }).describe("SEO general settings.").optional()
3323
+ }).describe(
3324
+ "SEO schema data for customizing meta tags and search engine settings."
3325
+ ).optional()
3326
+ }).describe("SEO settings for the experience page.").optional()
3327
+ }).describe(
3328
+ "Updated experience.\n\nReturned only when `returnEntity` is `true` in the request and the update succeeded."
3329
+ ).optional()
3330
+ })
3331
+ ).min(1).max(100).optional(),
3332
+ bulkActionMetadata: z.object({
3333
+ totalSuccesses: z.number().int().describe("Number of items that were successfully processed.").min(0).optional(),
3334
+ totalFailures: z.number().int().describe("Number of items that couldn't be processed.").min(0).optional(),
3335
+ undetailedFailures: z.number().int().describe(
3336
+ "Number of failures without details because detailed failure threshold was exceeded."
3337
+ ).min(0).optional()
3338
+ }).describe(
3339
+ "Metadata for the bulk update, including the total number of successful and failed updates."
3340
+ ).optional()
3341
+ });
2751
3342
  var BulkUpdateExperienceTagsRequest = z.object({
2752
3343
  experienceIds: z.array(z.string()).min(1).max(100),
2753
3344
  options: z.object({
@@ -2909,6 +3500,8 @@ export {
2909
3500
  BulkUpdateExperienceTagsByFilterResponse,
2910
3501
  BulkUpdateExperienceTagsRequest,
2911
3502
  BulkUpdateExperienceTagsResponse,
3503
+ BulkUpdateExperiencesRequest,
3504
+ BulkUpdateExperiencesResponse,
2912
3505
  CreateExperienceRequest,
2913
3506
  CreateExperienceResponse,
2914
3507
  GetExperienceBySlugRequest,