import { GetTimeSlotsRequest as GetTimeSlotsRequest$1, GetTimeSlotsResponse as GetTimeSlotsResponse$1, CheckTimeSlotRequest as CheckTimeSlotRequest$1, CheckTimeSlotResponse as CheckTimeSlotResponse$1, GetScheduledTimeSlotsRequest as GetScheduledTimeSlotsRequest$1, GetScheduledTimeSlotsResponse as GetScheduledTimeSlotsResponse$1 } from './index.typings.js'; import '@wix/sdk-types'; interface TimeSlot { /** Start date and time of this time slot. */ startDate?: Date | null; /** Duration in minutes of this time slot. */ duration?: number; /** Availability status of this time slot. */ status?: StatusWithLiterals; /** Whether manual approval is required to make a reservation in this time slot. */ manualApproval?: boolean | null; } /** Table combination. */ interface TimeSlotTableCombination { /** * Table IDs of the tables in the combination. * @format GUID * @maxSize 100 */ tableIds?: string[]; } declare enum Status { /** The restaurant can accommodate a party of the given size in this time slot. */ AVAILABLE = "AVAILABLE", /** The restaurant can't accommodate a party of the given size in this time slot. */ UNAVAILABLE = "UNAVAILABLE", /** The restaurant is not open during this time slot. Time slots retrieved by Get Scheduled Time Slots never have this status. */ NON_WORKING_HOURS = "NON_WORKING_HOURS" } /** @enumType */ type StatusWithLiterals = Status | 'AVAILABLE' | 'UNAVAILABLE' | 'NON_WORKING_HOURS'; /** Wrapper for table combinations. */ interface MaybeTableCombinations { } interface GetTimeSlotsRequest { /** * ID of the reservation location for which to retrieve time slots. * @format GUID */ reservationLocationId: string; /** Date and time for which to retrieve a time slot in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#coordinated_Universal_Time_(UTC)) format. */ date: Date | null; /** * Duration in minutes of the time slot. * * Min: `5` * @min 5 * @max 1000 */ duration?: number | null; /** * Size of the party that needs to be seated during this time slot. * * Min: `1` * @min 1 * @max 10000 */ partySize: number | null; /** * The number of time slots to retrieve before the specified `date`. * @max 50 */ slotsBefore?: number | null; /** * The number of time slots to retrieve after the specified `date`. * @max 50 */ slotsAfter?: number | null; } interface GetTimeSlotsResponse { /** A list of time slots and their availability according to the specified party size. */ timeSlots?: TimeSlot[]; } interface CheckReservationDetailsRequest { /** * Reservation location ID. * @format GUID */ reservationLocationId?: string; /** Date. */ date?: Date | null; /** * Duration. * @min 5 * @max 1000 */ duration?: number | null; /** * Party size. * @min 1 * @max 10000 */ partySize?: number | null; /** * Reservation, that should be ignored during the check. * @format GUID */ excludeReservationId?: string | null; /** * Requested table combination. * @format GUID * @deprecated * @replacedBy maybe_table_ids * @targetRemovalDate 2025-12-05 */ tableIds?: string[]; } interface MaybeTableIds { /** * @format GUID * @maxSize 2000 */ tableIds?: string[]; } interface CheckReservationDetailsResponse { /** * Tables states. * @deprecated * @targetRemovalDate 2025-12-05 */ tables?: Table[]; /** * Table combinations states. * @deprecated * @replacedBy time_slot_availability * @targetRemovalDate 2025-12-05 */ tableCombinations?: TableCombination[]; /** * Reservation location conflicts. * @deprecated * @replacedBy time_slot_availability * @targetRemovalDate 2025-12-05 */ reservationLocationConflicts?: ReservationLocationConflict[]; /** * Requested table combination state. * @deprecated * @replacedBy time_slot_availability * @targetRemovalDate 2025-12-05 */ requestedTableCombination?: TableCombination; /** * List of reserved tables with corresponding reservation ids. * @maxSize 100 * @deprecated * @replacedBy time_slot_availability * @targetRemovalDate 2025-12-05 */ tableReservedConflicts?: TableReservedConflict[]; /** Whether manual approval is required to make a reservation in this time slot. */ manualApproval?: boolean | null; /** Whether payment is required to make a reservation in this time slot. */ paymentRequired?: boolean | null; /** Time slot availability. */ timeSlotAvailability?: TimeSlotAvailability; } interface TableCombinationAvailability { /** * IDs of the tables in the table combination. * @format GUID * @maxSize 2000 */ tableIds?: string[]; /** * Conflicts that would be generated by attempting to accommodate the proposed reservation using the table combination. * @maxSize 2 */ tableCombinationConflicts?: TableCombinationConflictTypeWithLiterals[]; } declare enum TableCombinationConflictType { /** Undefined conflict type. */ UNKNOWN = "UNKNOWN", /** One or more of the chosen tables are already reserved. */ RESERVED = "RESERVED", /** The party is too big for the selected table. */ TOO_BIG = "TOO_BIG", /** The party is too small for the selected table. */ TOO_SMALL = "TOO_SMALL", /** The restaurant does not allow online reservations. */ OFFLINE_ONLY = "OFFLINE_ONLY", /** The table is reserved for an active experience. */ RESERVED_FOR_EXPERIENCE = "RESERVED_FOR_EXPERIENCE", /** The table is not in the requested area. */ TABLE_NOT_IN_AREA = "TABLE_NOT_IN_AREA" } /** @enumType */ type TableCombinationConflictTypeWithLiterals = TableCombinationConflictType | 'UNKNOWN' | 'RESERVED' | 'TOO_BIG' | 'TOO_SMALL' | 'OFFLINE_ONLY' | 'RESERVED_FOR_EXPERIENCE' | 'TABLE_NOT_IN_AREA'; declare enum ReservationLocationConflictType { /** Undefined reservation location conflict type. */ UNKNOWN = "UNKNOWN", /** The restaurant cannot accommodate a party of the given size according to party pacing settings. */ PARTY_PACING = "PARTY_PACING", /** The required number of seats are unavailable according to seat pacing settings. */ SEAT_PACING = "SEAT_PACING" } /** @enumType */ type ReservationLocationConflictTypeWithLiterals = ReservationLocationConflictType | 'UNKNOWN' | 'PARTY_PACING' | 'SEAT_PACING'; declare enum Type { /** Undefined experience blocking conflict type. */ UNKNOWN = "UNKNOWN", /** Standard reservations are blocked by an active experience schedule. */ BLOCKED_BY_EXPERIENCE = "BLOCKED_BY_EXPERIENCE" } /** @enumType */ type TypeWithLiterals = Type | 'UNKNOWN' | 'BLOCKED_BY_EXPERIENCE'; interface ExperienceTableCombinationAvailability { /** * IDs of the tables in the table combination. * @format GUID * @maxSize 2000 */ tableIds?: string[]; /** * Conflicts that would be generated by attempting to accommodate the proposed reservation using the table combination. * @maxSize 2 */ experienceTableCombinationConflicts?: ExperienceTableCombinationConflictTypeWithLiterals[]; } declare enum ExperienceTableCombinationConflictType { /** Undefined conflict type. */ UNKNOWN = "UNKNOWN", /** One or more of the chosen tables are already reserved. */ RESERVED = "RESERVED", /** The party is too big for the selected table. */ TOO_BIG = "TOO_BIG", /** The party is too small for the selected table. */ TOO_SMALL = "TOO_SMALL", /** The table or combination is not in the experience's specific table list. */ OUTSIDE_EXPERIENCE_TABLE_LIST = "OUTSIDE_EXPERIENCE_TABLE_LIST", /** The table is not in the requested area. */ TABLE_NOT_IN_AREA = "TABLE_NOT_IN_AREA" } /** @enumType */ type ExperienceTableCombinationConflictTypeWithLiterals = ExperienceTableCombinationConflictType | 'UNKNOWN' | 'RESERVED' | 'TOO_BIG' | 'TOO_SMALL' | 'OUTSIDE_EXPERIENCE_TABLE_LIST' | 'TABLE_NOT_IN_AREA'; declare enum ExperienceConflictType { /** Undefined reservation location conflict type. */ UNKNOWN = "UNKNOWN", /** The number of guests exceeds the allowed limit. */ MAXIMUM_NUMBER_OF_GUESTS = "MAXIMUM_NUMBER_OF_GUESTS" } /** @enumType */ type ExperienceConflictTypeWithLiterals = ExperienceConflictType | 'UNKNOWN' | 'MAXIMUM_NUMBER_OF_GUESTS'; declare enum TimeSlotAvailabilityType { STANDARD = "STANDARD", EXPERIENCE = "EXPERIENCE" } /** @enumType */ type TimeSlotAvailabilityTypeWithLiterals = TimeSlotAvailabilityType | 'STANDARD' | 'EXPERIENCE'; interface StandardOptions { /** * Table combinations and their availability information. * @maxSize 2000 */ tableCombinationAvailabilities?: TableCombinationAvailability[]; /** * Requested table combinations. * @maxSize 2000 */ requestedTableCombinations?: TableCombinationAvailability[]; /** * Reservation location conflicts that would occur by making a reservation for the specified party size in the specified time slot. * @maxSize 3 */ reservationLocationConflicts?: ReservationLocationConflictTypeWithLiterals[]; /** * Experience blocking conflicts that would occur by making a standard reservation when an experience is active. * @maxSize 3 */ experienceBlockingConflicts?: TypeWithLiterals[]; } interface ExperienceOptions { /** * Table combinations and their availability information. * @maxSize 2000 */ tableCombinationAvailabilities?: ExperienceTableCombinationAvailability[]; /** * Requested table combinations. * @maxSize 2000 */ requestedTableCombinations?: ExperienceTableCombinationAvailability[]; /** * Experience availability conflicts that would occur by making a reservation for the specified party size in the specified time slot. * @maxSize 5 */ experienceConflicts?: ExperienceConflictTypeWithLiterals[]; } interface Table { /** @format GUID */ id?: string; /** * Table conflicts. * @maxSize 1000 */ tableConflicts?: TableConflict[]; } interface TableConflict { /** Conflict type. */ type?: TableConflictTypeWithLiterals; } declare enum TableConflictType { UNKNOWN = "UNKNOWN", TABLE_RESERVED = "TABLE_RESERVED", TABLE_TOO_BIG = "TABLE_TOO_BIG", TABLE_TOO_SMALL = "TABLE_TOO_SMALL", OFFLINE_ONLY = "OFFLINE_ONLY", RESERVED_FOR_EXPERIENCE = "RESERVED_FOR_EXPERIENCE", TABLE_NOT_IN_AREA = "TABLE_NOT_IN_AREA" } /** @enumType */ type TableConflictTypeWithLiterals = TableConflictType | 'UNKNOWN' | 'TABLE_RESERVED' | 'TABLE_TOO_BIG' | 'TABLE_TOO_SMALL' | 'OFFLINE_ONLY' | 'RESERVED_FOR_EXPERIENCE' | 'TABLE_NOT_IN_AREA'; interface TableCombination { /** @format GUID */ tableIds?: string[]; /** @maxSize 2 */ tableCombinationConflicts?: TableCombinationConflict[]; } interface TableCombinationConflict { /** Conflict type. */ type?: TableCombinationConflictTypeWithLiterals; } interface ReservationLocationConflict { /** Reservation location conflict type. */ type?: ReservationLocationConflictTypeWithLiterals; } interface TableReservedConflict { /** * Table id. * @format GUID */ tableId?: string; /** * List of reservation ids. * @format GUID * @maxSize 1000 */ reservationIds?: string[]; } interface TimeSlotAvailability extends TimeSlotAvailabilityOptionsOneOf { /** Response for standard reservation. */ standardOptions?: StandardOptions; /** Response for a reservation that contains experience. */ experienceOptions?: ExperienceOptions; /** Type of availability. */ timeSlotAvailabilityType?: TimeSlotAvailabilityTypeWithLiterals; } /** @oneof */ interface TimeSlotAvailabilityOptionsOneOf { /** Response for standard reservation. */ standardOptions?: StandardOptions; /** Response for a reservation that contains experience. */ experienceOptions?: ExperienceOptions; } interface CheckTimeSlotRequest { /** * ID of the reservation location for which to check the time slot. * @format GUID */ reservationLocationId: string; /** Date and time of the time slot to check. */ date: Date | null; /** * Duration of the time slot in minutes . * * Min: `5` * @min 5 * @max 1000 */ duration: number | null; /** * Party size to check the restaurant's availability for. * @min 1 * @max 10000 */ partySize: number | null; /** * ID of a reservation to ignore during the check. * * Use this when rescheduling a reservation to exclude it in its current state from the availability calculations. * @format GUID */ excludeReservationId?: string | null; } interface CheckTimeSlotResponse { /** * Table combinations and their availability information. * @deprecated * @replacedBy time_slot_availability * @targetRemovalDate 2025-12-05 */ tableCombinationAvailabilities?: TableCombinationAvailability[]; /** * Reservation location conflicts that would occur by making a reservation for the specified party size in the specified time slot. * @deprecated * @replacedBy time_slot_availability * @targetRemovalDate 2025-12-05 */ reservationLocationConflicts?: ReservationLocationConflictTypeWithLiterals[]; /** Time slot availability */ timeSlotAvailability?: V1TimeSlotAvailability; } interface V1TimeSlotAvailability extends V1TimeSlotAvailabilityOptionsOneOf { /** Response for standard reservation. */ standardOptions?: TimeSlotAvailabilityStandardOptions; /** Response for a reservation that contains experience. */ experienceOptions?: TimeSlotAvailabilityExperienceOptions; /** Type of availability. */ timeSlotAvailabilityType?: TimeSlotAvailabilityTimeSlotAvailabilityTypeWithLiterals; } /** @oneof */ interface V1TimeSlotAvailabilityOptionsOneOf { /** Response for standard reservation. */ standardOptions?: TimeSlotAvailabilityStandardOptions; /** Response for a reservation that contains experience. */ experienceOptions?: TimeSlotAvailabilityExperienceOptions; } declare enum TimeSlotAvailabilityTimeSlotAvailabilityType { STANDARD = "STANDARD", EXPERIENCE = "EXPERIENCE" } /** @enumType */ type TimeSlotAvailabilityTimeSlotAvailabilityTypeWithLiterals = TimeSlotAvailabilityTimeSlotAvailabilityType | 'STANDARD' | 'EXPERIENCE'; interface TimeSlotAvailabilityStandardOptions { /** * Table combinations and their availability information. * @maxSize 2000 */ tableCombinationAvailabilities?: TableCombinationAvailability[]; /** * Reservation location conflicts that would occur by making a reservation for the specified party size in the specified time slot. * @maxSize 3 */ reservationLocationConflicts?: ReservationLocationConflictTypeWithLiterals[]; /** * Experience blocking conflicts that would occur by making a standard reservation when an experience is active. * @maxSize 3 */ experienceBlockingConflicts?: TypeWithLiterals[]; } interface TimeSlotAvailabilityExperienceOptions { /** * Table combinations and their availability information. * @maxSize 2000 */ tableCombinationAvailabilities?: ExperienceTableCombinationAvailability[]; /** * Experience availability conflicts that would occur by making a reservation for the specified party size in the specified time slot. * @maxSize 5 */ experienceConflicts?: ExperienceConflictTypeWithLiterals[]; } interface GetScheduledTimeSlotsRequest { /** * ID of the reservation location for which to retrieve time slots. * @format GUID */ reservationLocationId: string; /** Time range from which to retrieve time slots. */ timeRange: TimeRange; /** * Size of the party that needs to be seated during this time slot. * * Min: `1` * @min 1 * @max 10000 */ partySize: number | null; } interface TimeRange { /** Date and time from which to retrieve time slots in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#coordinated_Universal_Time_(UTC)) format. */ startDate?: Date | null; /** Date and time to which to retrieve time slots in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#coordinated_Universal_Time_(UTC)) format. */ endDate?: Date | null; } interface GetScheduledTimeSlotsResponse { /** * A list of time slots and their availability according to the specified party size. * @maxSize 100 */ timeSlots?: TimeSlot[]; } type __PublicMethodMetaInfo = { getUrl: (context: any) => string; httpMethod: K; path: string; pathParams: M; __requestType: T; __originalRequestType: S; __responseType: Q; __originalResponseType: R; }; declare function getTimeSlots(): __PublicMethodMetaInfo<'POST', {}, GetTimeSlotsRequest$1, GetTimeSlotsRequest, GetTimeSlotsResponse$1, GetTimeSlotsResponse>; declare function checkTimeSlot(): __PublicMethodMetaInfo<'POST', {}, CheckTimeSlotRequest$1, CheckTimeSlotRequest, CheckTimeSlotResponse$1, CheckTimeSlotResponse>; declare function getScheduledTimeSlots(): __PublicMethodMetaInfo<'POST', {}, GetScheduledTimeSlotsRequest$1, GetScheduledTimeSlotsRequest, GetScheduledTimeSlotsResponse$1, GetScheduledTimeSlotsResponse>; export { type CheckReservationDetailsRequest as CheckReservationDetailsRequestOriginal, type CheckReservationDetailsResponse as CheckReservationDetailsResponseOriginal, type CheckTimeSlotRequest as CheckTimeSlotRequestOriginal, type CheckTimeSlotResponse as CheckTimeSlotResponseOriginal, ExperienceConflictType as ExperienceConflictTypeOriginal, type ExperienceConflictTypeWithLiterals as ExperienceConflictTypeWithLiteralsOriginal, type ExperienceOptions as ExperienceOptionsOriginal, type ExperienceTableCombinationAvailability as ExperienceTableCombinationAvailabilityOriginal, ExperienceTableCombinationConflictType as ExperienceTableCombinationConflictTypeOriginal, type ExperienceTableCombinationConflictTypeWithLiterals as ExperienceTableCombinationConflictTypeWithLiteralsOriginal, type GetScheduledTimeSlotsRequest as GetScheduledTimeSlotsRequestOriginal, type GetScheduledTimeSlotsResponse as GetScheduledTimeSlotsResponseOriginal, type GetTimeSlotsRequest as GetTimeSlotsRequestOriginal, type GetTimeSlotsResponse as GetTimeSlotsResponseOriginal, type MaybeTableCombinations as MaybeTableCombinationsOriginal, type MaybeTableIds as MaybeTableIdsOriginal, type ReservationLocationConflict as ReservationLocationConflictOriginal, ReservationLocationConflictType as ReservationLocationConflictTypeOriginal, type ReservationLocationConflictTypeWithLiterals as ReservationLocationConflictTypeWithLiteralsOriginal, type StandardOptions as StandardOptionsOriginal, Status as StatusOriginal, type StatusWithLiterals as StatusWithLiteralsOriginal, type TableCombinationAvailability as TableCombinationAvailabilityOriginal, type TableCombinationConflict as TableCombinationConflictOriginal, TableCombinationConflictType as TableCombinationConflictTypeOriginal, type TableCombinationConflictTypeWithLiterals as TableCombinationConflictTypeWithLiteralsOriginal, type TableCombination as TableCombinationOriginal, type TableConflict as TableConflictOriginal, TableConflictType as TableConflictTypeOriginal, type TableConflictTypeWithLiterals as TableConflictTypeWithLiteralsOriginal, type Table as TableOriginal, type TableReservedConflict as TableReservedConflictOriginal, type TimeRange as TimeRangeOriginal, type TimeSlotAvailabilityExperienceOptions as TimeSlotAvailabilityExperienceOptionsOriginal, type TimeSlotAvailabilityOptionsOneOf as TimeSlotAvailabilityOptionsOneOfOriginal, type TimeSlotAvailability as TimeSlotAvailabilityOriginal, type TimeSlotAvailabilityStandardOptions as TimeSlotAvailabilityStandardOptionsOriginal, TimeSlotAvailabilityTimeSlotAvailabilityType as TimeSlotAvailabilityTimeSlotAvailabilityTypeOriginal, type TimeSlotAvailabilityTimeSlotAvailabilityTypeWithLiterals as TimeSlotAvailabilityTimeSlotAvailabilityTypeWithLiteralsOriginal, TimeSlotAvailabilityType as TimeSlotAvailabilityTypeOriginal, type TimeSlotAvailabilityTypeWithLiterals as TimeSlotAvailabilityTypeWithLiteralsOriginal, type TimeSlot as TimeSlotOriginal, type TimeSlotTableCombination as TimeSlotTableCombinationOriginal, Type as TypeOriginal, type TypeWithLiterals as TypeWithLiteralsOriginal, type V1TimeSlotAvailabilityOptionsOneOf as V1TimeSlotAvailabilityOptionsOneOfOriginal, type V1TimeSlotAvailability as V1TimeSlotAvailabilityOriginal, type __PublicMethodMetaInfo, checkTimeSlot, getScheduledTimeSlots, getTimeSlots };