node-calendly
Version:
Node module to access calendly api.
87 lines • 2.63 kB
TypeScript
/******************************************
* Author : Dr. Sebastian Herden
* Created On : Fri Sep 16 2022
* File : EventType.ts
*******************************************/
declare type EventTypeDefinition = {
uri: string;
name: string | null;
active: boolean;
slug: string | null;
scheduling_url: string;
duration: number;
kind: 'solo' | 'group';
pooling_type: 'round_robin' | 'collective' | null;
type: 'StandardEventType' | 'AdhocEventType';
color: string;
created_at: Date;
updated_at: Date;
internal_notes: string | null;
description_plain: string | null;
description_html: string | null;
profile: {
type: 'User' | 'Team';
name: string;
owner: string;
};
secret: boolean;
booking_method: 'instant' | 'poll';
custom_questions: null | {
name: string;
type: 'string' | 'text' | ' phone_number' | 'single_select' | 'multi_select';
position: number;
enabled: boolean;
required: boolean;
answer_choices: string[];
include_other: boolean;
}[];
deleted_at: null | Date;
};
/**
* A configuration for an Event. Provides two methods:
* - fromJson: Creates an event type object from a json object.
* - getUUID: Returns the uuid of the event type.
* @export default
* @interface EventType
* @implements {EventTypeDefinition}
* @see https://developer.calendly.com/api-docs/f3185c91567db-event-type
*/
export default class EventType implements EventTypeDefinition {
uri: string;
name: string | null;
active: boolean;
slug: string | null;
scheduling_url: string;
duration: number;
kind: 'solo' | 'group';
pooling_type: 'round_robin' | 'collective' | null;
type: 'StandardEventType' | 'AdhocEventType';
color: string;
created_at: Date;
updated_at: Date;
internal_notes: string | null;
description_plain: string | null;
description_html: string | null;
profile: {
type: 'User' | 'Team';
name: string;
owner: string;
};
secret: boolean;
booking_method: 'instant' | 'poll';
custom_questions: null | {
name: string;
type: 'string' | 'text' | ' phone_number' | 'single_select' | 'multi_select';
position: number;
enabled: boolean;
required: boolean;
answer_choices: string[];
include_other: boolean;
}[];
deleted_at: null | Date;
private constructor();
static fromJson(data: EventTypeDefinition): EventType;
getUuid(): string;
}
export {};
//# sourceMappingURL=EventType.d.ts.map