SazitoSazito SDKv1.2.2
API Reference

Booking

Scheduler events, availabilities, and booking management APIs.

Methods

List Events

Use: booking.listEvents(filters?, options?).

Legacy scheduler event listing endpoint.

FieldTypeRequiredDescription
filters.startDatestringOptionalStart date filter (YYYY-MM-DD).
filters.endDatestringOptionalEnd date filter (YYYY-MM-DD).
filters.availableOnlybooleanOptionalShow only available events.
filters.pagenumberOptionalPage number.
filters.pageSizenumberOptionalPage size.
optionsRequestOptionsOptionalPer-request controls.

Returns: SazitoResponse<PaginatedResponse<Event>>.

Get Event

Use: booking.getEvent(entityId, options?).

Fetches scheduler event details from /api/v1/scheduler/events/{entityId}.

ParameterTypeRequiredDescription
entityIdnumberRequiredEvent entity ID.
optionsRequestOptionsOptionalPer-request controls.

Returns: SazitoResponse<SchedulerEvent>.

Get Event Availabilities

Use: booking.getEventAvailabilities(filters, options?).

Fetches available days and slots from /api/v1/scheduler/availabilities.

FieldTypeRequiredDescription
filters.eventEntityIdnumberRequiredEvent entity ID.
filters.durationnumberRequiredSelected slot duration in minutes.
filters.fromDatestringRequiredStart date (YYYY-MM-DD).
filters.toDatestringRequiredEnd date (YYYY-MM-DD).
filters.timezonestringOptionalTimezone (example: Asia/Tehran).
optionsRequestOptionsOptionalPer-request controls.

Returns: SazitoResponse<{ availableDays: BookingAvailableDay[] }>.

Create Booking

Use: booking.createBooking(input, options?).

Legacy booking creation endpoint.

FieldTypeRequiredDescription
input.eventEntityIdnumberRequiredEvent entity ID.
input.timezonestringRequiredBooking timezone.
input.attendeeNamestringRequiredAttendee name.
input.attendeeEmailstringOptionalAttendee email.
input.attendeePhonestringOptionalAttendee phone.
optionsRequestOptionsOptionalPer-request controls.

Returns: SazitoResponse<Booking>.

List Bookings

Use: booking.listBookings(options?).

Returns authenticated user bookings.

Cancel Booking

Use: booking.cancelBooking(bookingId, options?).

Cancels booking by ID.

Key types

Scheduler Event

FieldTypeDescription
entityIdnumberEvent ID used by scheduler APIs.
titlestringEvent title.
descriptionstringEvent description.
durationsMinutenumber[]Supported durations for booking slots.

Booking Available Day

FieldTypeDescription
datestringDate (YYYY-MM-DD).
timeSlotsBookingTimeSlot[]Slots for the day.

Booking Time Slot

FieldTypeDescription
startTimeLocalstringStart time (HH:mm).
endTimeLocalstringEnd time (HH:mm).
isAvailablebooleanSlot availability.
remainingCapacitynumberRemaining capacity for slot.

Usage examples

const eventRes = await client.booking.getEvent(15);
if (eventRes.error) throw new Error(eventRes.error.message);

const duration = eventRes.data?.durationsMinute?.[0] ?? 30;
const slotsRes = await client.booking.getEventAvailabilities({
  eventEntityId: 15,
  duration,
  fromDate: '2026-02-16',
  toDate: '2026-03-15',
  timezone: 'Asia/Tehran'
});

if (slotsRes.error) throw new Error(slotsRes.error.message);

List Events

Use: booking.listEvents(...).

const eventsRes = await client.booking.listEvents({
  startDate: '2026-02-16',
  endDate: '2026-03-15',
  availableOnly: true,
  page: 1,
  pageSize: 10
});

if (eventsRes.error) throw new Error(eventsRes.error.message);
const events = eventsRes.data?.items ?? [];

Get Event

Use: booking.getEvent(...).

const eventRes = await client.booking.getEvent(15);
if (eventRes.error) throw new Error(eventRes.error.message);

const event = eventRes.data;
const defaultDuration = event?.durationsMinute?.[0] ?? 30;

Get Event Availabilities

Use: booking.getEventAvailabilities(...).

const availabilityRes = await client.booking.getEventAvailabilities({
  eventEntityId: 15,
  duration: 30,
  fromDate: '2026-02-16',
  toDate: '2026-03-15',
  timezone: 'Asia/Tehran'
});

if (availabilityRes.error) throw new Error(availabilityRes.error.message);
const availableDays = availabilityRes.data?.availableDays ?? [];

Create Booking (legacy endpoint)

Use: booking.createBooking(...).

const createRes = await client.booking.createBooking({
  eventEntityId: 15,
  timezone: 'Asia/Tehran',
  attendeeName: 'Reza Mahmoudi',
  attendeeEmail: 'reza@example.com',
  attendeePhone: '09123456789'
});

if (createRes.error) throw new Error(createRes.error.message);
const booking = createRes.data;

List Bookings

Use: booking.listBookings(...).

client.setAuthToken(idToken); // required for authenticated booking list

const bookingsRes = await client.booking.listBookings();
if (bookingsRes.error) throw new Error(bookingsRes.error.message);

const myBookings = bookingsRes.data?.items ?? [];

Cancel Booking

Use: booking.cancelBooking(...).

client.setAuthToken(idToken); // required for authenticated booking actions

const cancelRes = await client.booking.cancelBooking(10001);
if (cancelRes.error) throw new Error(cancelRes.error.message);

const cancelledBooking = cancelRes.data;

Type Details

The following tables are generated from SDK TypeScript types and include nested object fields.

EventFilters

Source: src/api/booking.ts

FieldTypeRequired
startDatestringOptional
start_datestringOptional
endDatestringOptional
end_datestringOptional
availableOnlybooleanOptional
available_onlybooleanOptional
pagenumberOptional
pageSizenumberOptional
page_sizenumberOptional

CreateBookingInput

Source: src/api/booking.ts

FieldTypeRequired
eventEntityIdnumberOptional
event_entity_idnumberOptional
timezonestringRequired
attendeeNamestringOptional
attendee_namestringOptional
attendeeEmailstringOptional
attendee_emailstringOptional
attendeePhonestringOptional
attendee_phonestringOptional

Event

Source: src/api/booking.ts

FieldTypeRequired
idnumberRequired
titlestringRequired
descriptionstringOptional
startTimestringOptional
endTimestringOptional
capacitynumberOptional
bookedCountnumberOptional
availableSlotsnumberOptional
pricenumberOptional
locationstringOptional
createdAtstringOptional

Booking

Source: src/api/booking.ts

FieldTypeRequired
idnumberRequired
eventIdnumberRequired
eventEventRequired
userIdnumberOptional
attendeeNamestringRequired
attendeeEmailstringOptional
attendeePhonestringOptional
status'pending' | 'confirmed' | 'cancelled'Required
bookingTimestringRequired
createdAtstringRequired

On this page