50 lines
		
	
	
	
		
			988 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			50 lines
		
	
	
	
		
			988 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
|   | export type OpeningHours = { | ||
|  |   days: number[]; | ||
|  |   startTime: number; | ||
|  |   endTime: number; | ||
|  | }; | ||
|  | 
 | ||
|  | export type DateOverride = { | ||
|  |   date: string; | ||
|  |   startTime: number; | ||
|  |   endTime: number; | ||
|  | }; | ||
|  | 
 | ||
|  | export type AdvancedOptions = { | ||
|  |   eventName?: string; | ||
|  |   periodType?: string; | ||
|  |   periodDays?: number; | ||
|  |   periodStartDate?: Date | string; | ||
|  |   periodEndDate?: Date | string; | ||
|  |   periodCountCalendarDays?: boolean; | ||
|  |   requiresConfirmation?: boolean; | ||
|  | }; | ||
|  | 
 | ||
|  | export type EventTypeCustomInput = { | ||
|  |   id: number; | ||
|  |   label: string; | ||
|  |   placeholder: string; | ||
|  |   required: boolean; | ||
|  |   type: string; | ||
|  | }; | ||
|  | 
 | ||
|  | export type CreateEventType = { | ||
|  |   title: string; | ||
|  |   slug: string; | ||
|  |   description: string; | ||
|  |   length: number; | ||
|  | }; | ||
|  | 
 | ||
|  | export type EventTypeInput = AdvancedOptions & { | ||
|  |   id: number; | ||
|  |   title: string; | ||
|  |   slug: string; | ||
|  |   description: string; | ||
|  |   length: number; | ||
|  |   hidden: boolean; | ||
|  |   locations: unknown; | ||
|  |   customInputs: EventTypeCustomInput[]; | ||
|  |   timeZone: string; | ||
|  |   availability?: { openingHours: OpeningHours[]; dateOverrides: DateOverride[] }; | ||
|  | }; |