/** * Builds the request payload(s) for a single APPOINTMENT service whose * duration is configured as a DAY range. * * The slot list comes from availability — the user picks a start + end date * and the picker emits one slot per day in `rangeTimeSlots`. The client just * packages them as one Booking each. Routing is decided by `bookings.length` * in `createBookingsForCart`: * - length 1 -> `createBooking` * - length 2-8 -> `createMultiServiceBooking` * * With `allDay`, the picked slots collapse into one Booking spanning the full * range, so that case routes through `createBooking`. * * The 8-day cap is enforced server-side; the builder does not gate on it. */ import type { Booking, ParticipantNotification } from '@wix/auto_sdk_bookings_bookings'; import type { FormValues } from '@wix/forms/components'; import type { BookActionParams } from './types.js'; export interface BuildDayRangeBookingRequest { /** * The Bookings to create. With `allDay`, this is a single Booking spanning * the whole range. Otherwise it is one Booking per picked per-day slot: * length 1 routes to createBooking, length >=2 routes to * createMultiServiceBooking. */ bookings: Booking[]; /** Notification settings forwarded to the server. */ participantNotification?: ParticipantNotification; /** Whether to send SMS reminder. */ sendSmsReminder: boolean; /** Form submission data forwarded to booking creation. */ formSubmission?: FormValues | null; } /** * Builds N Bookings from a DAY-range selection. * * The base Booking (service, resource, location, payment, participants) is * produced by `buildBookingRequest` from the singular `timeSlot`; per-slot * cloning then overrides only `bookedEntity.slot.startDate` / `endDate` from * the multi-slot input. * * @throws if no service selection or no slots are available. */ export declare function buildDayRangeBookingRequest(params: BookActionParams): BuildDayRangeBookingRequest;