UNPKG

skedify-types

Version:
126 lines (110 loc) 3.07 kB
import { MeetingType } from "."; export interface DayTemplate { id: string; contact_id: string; name: string; color: string; is_unavailable?: boolean; order: number; created_at: string; updated_at: string; } export interface UnvailableDayTemplate extends DayTemplate { is_unavailable: true; } export interface AppliedDayTemplate { id: string; contact_id: string; day_template_id: string; date: string; is_unavailable: boolean; created_at: string; updated_at: string; } export interface AppliedDayTemplateWithDayTemplate extends AppliedDayTemplate { day_template: DayTemplate; } export interface WeekTemplate { id: string; contact_id: string; name: string; color: string; order: number; created_at: string; updated_at: string; } export interface WithWeekTimeSlots { week_time_slots: WeekTimeSlot[]; } export interface WithDayTimeSlots { day_time_slots: DayTimeSlot[]; } export interface AppliedWeekTemplate { id: string; contact_id: string; week_template_id: string; end: string; start: string; created_at: string; updated_at: string; } export interface ContactOfficeSubjectAvailabilitySettings { contact_office_subject_id: string; created_at: string; id: string; is_meeting_type_enabled: null | boolean; max_concurrent_appointments: number | null; meeting_type: MeetingType; updated_at: string; } export interface WeekContactOfficeSubjectAvailabilitySettings extends ContactOfficeSubjectAvailabilitySettings { week_timeslot_id: string; } export interface DayContactOfficeSubjectAvailabilitySettings extends ContactOfficeSubjectAvailabilitySettings { day_timeslot_id: string; } export interface WeekTimeSlot { id: string; week_template_id: string; day_of_week: number; end: string; start: string; created_at: string; updated_at: string; } export interface DayTimeSlot { id: string; day_template_id: string; day_of_week: undefined; end: string; start: string; created_at: string; updated_at: string; } export interface ContactOfficeAvailabilitySettings { id: string; contact_office_id: string; auto_accept: boolean | null; uses_subject_specific_settings: boolean; created_at: string; updated_at: string; } export interface WeekContactOfficeAvailabilitySettings extends ContactOfficeAvailabilitySettings { week_timeslot_id: string; } export interface DayContactOfficeAvailabilitySettings extends ContactOfficeAvailabilitySettings { day_timeslot_id: string; } export interface AppliedWeekTemplateWithWeekTemplate extends AppliedWeekTemplate { week_template: WeekTemplate; } export interface WithWeekAvailabilitySettings { contact_office_availability_settings: WeekContactOfficeAvailabilitySettings[]; contact_office_subject_availability_settings: WeekContactOfficeSubjectAvailabilitySettings[]; } export interface WithDayAvailabilitySettings { contact_office_availability_settings: DayContactOfficeAvailabilitySettings[]; contact_office_subject_availability_settings: DayContactOfficeSubjectAvailabilitySettings[]; }