@vendasta/meetings 0.99.2 → 0.99.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"vendasta-meetings.mjs","sources":["../../../meetings_sdk/src/lib/_internal/enums/meeting-source.enum.ts","../../../meetings_sdk/src/lib/_internal/enums/zoom.enum.ts","../../../meetings_sdk/src/lib/_internal/enums/shared.enum.ts","../../../meetings_sdk/src/lib/_internal/enums/meeting-type.enum.ts","../../../meetings_sdk/src/lib/_internal/enums/dayofweek.enum.ts","../../../meetings_sdk/src/lib/_internal/enums/index.ts","../../../meetings_sdk/src/lib/_internal/objects/zoom.ts","../../../meetings_sdk/src/lib/_internal/objects/google-meet.ts","../../../meetings_sdk/src/lib/_internal/objects/meeting-source.ts","../../../meetings_sdk/src/lib/_internal/objects/shared.ts","../../../meetings_sdk/src/lib/_internal/objects/date-range.ts","../../../meetings_sdk/src/lib/_internal/objects/meeting-type.ts","../../../meetings_sdk/src/lib/_internal/objects/groups-and-services.ts","../../../meetings_sdk/src/lib/_internal/objects/meeting-guest.ts","../../../meetings_sdk/src/lib/_internal/objects/field-mask.ts","../../../meetings_sdk/src/lib/_internal/objects/meeting-host.ts","../../../meetings_sdk/src/lib/_internal/objects/timeofday.ts","../../../meetings_sdk/src/lib/_internal/objects/datetime.ts","../../../meetings_sdk/src/lib/_internal/objects/index.ts","../../../meetings_sdk/src/lib/_generated/host.service.ts","../../../meetings_sdk/src/lib/_internal/meeting-source-api.api.service.ts","../../../meetings_sdk/src/lib/_internal/zoom.api.service.ts","../../../meetings_sdk/src/lib/_internal/google-meet.api.service.ts","../../../meetings_sdk/src/lib/meetings.service.ts","../../../meetings_sdk/src/lib/shared/time-span.ts","../../../meetings_sdk/src/lib/shared/host.ts","../../../meetings_sdk/src/lib/shared/environment.ts","../../../meetings_sdk/src/lib/host/url.ts","../../../meetings_sdk/src/lib/shared/meeting-type.ts","../../../meetings_sdk/src/lib/shared/meeting.ts","../../../meetings_sdk/src/lib/shared/paged-response.ts","../../../meetings_sdk/src/lib/_internal/meeting-guest.api.service.ts","../../../meetings_sdk/src/lib/_internal/meeting-host.api.service.ts","../../../meetings_sdk/src/lib/_internal/index.ts","../../../meetings_sdk/src/lib/shared/calendar.ts","../../../meetings_sdk/src/lib/shared/preferences.ts","../../../meetings_sdk/src/lib/shared/duration.ts","../../../meetings_sdk/src/lib/shared/fieldmask.ts","../../../meetings_sdk/src/lib/shared/host-id.ts","../../../meetings_sdk/src/lib/shared/host-user.ts","../../../meetings_sdk/src/lib/shared/groups-and-services.ts","../../../meetings_sdk/src/lib/shared/origin.ts","../../../meetings_sdk/src/lib/guest/guest.service.ts","../../../meetings_sdk/src/lib/host/host.service.ts","../../../meetings_sdk/src/vendasta-meetings.ts"],"sourcesContent":["// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum CalendarSource {\n CALENDAR_SOURCE_GOOGLE = 0,\n CALENDAR_SOURCE_MICROSOFT = 1,\n CALENDAR_SOURCE_INVALID = -1,\n}\n\nexport enum MeetingSource {\n MEETING_SOURCE_INVALID = 0,\n MEETING_SOURCE_ZOOM = 1,\n MEETING_SOURCE_GOOGLE_MEET = 2,\n MEETING_SOURCE_MICROSOFT = 3,\n}\n\nexport enum MeetingSourceStatus {\n MEETING_SOURCE_STATUS_INVALID = 0,\n MEETING_SOURCE_STATUS_CONNECTED = 1,\n MEETING_SOURCE_STATUS_DISCONNECTED = 2,\n MEETING_SOURCE_STATUS_BROKEN = 3,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum ZoomApprovalType {\n ZOOM_APPROVAL_TYPE_INVALID = 0,\n ZOOM_APPROVAL_TYPE_ATUO_APPROVE = 1,\n ZOOM_APPROVAL_TYPE_MANUALLY_APPROVE = 2,\n ZOOM_APPROVAL_TYPE_NO_REGISTRATION_REQUIRED = 3,\n}\n\nexport enum ZoomMeetingRecurrenceType {\n ZOOM_MEETING_RECURRENCE_TYPE_INVALID = 0,\n ZOOM_MEETING_RECURRENCE_TYPE_DAILY = 1,\n ZOOM_MEETING_RECURRENCE_TYPE_WEEKLY = 2,\n ZOOM_MEETING_RECURRENCE_TYPE_MONTHLY = 3,\n}\n\nexport enum ZoomMeetingType {\n ZOOM_MEETING_TYPE_INVALID = 0,\n ZOOM_MEETING_TYPE_INSTANT = 1,\n ZOOM_MEETING_TYPE_SCHEDULED = 2,\n ZOOM_MEETING_TYPE_RECURRING_NO_FIXED = 3,\n ZOOM_MEETING_TYPE_RECURRING_FIXED = 8,\n}\n\nexport enum ZoomMonthlyWeek {\n ZOOM_MONTHLY_WEEK_INVALD = 0,\n ZOOM_MONTHLY_WEEK_LAST_WEEK = -1,\n ZOOM_MONTHLY_WEEK_FIRST_WEEK = 1,\n ZOOM_MONTHLY_WEEK_SECOND_WEEK = 2,\n ZOOM_MONTHLY_WEEK_THIRD_WEEK = 3,\n ZOOM_MONTHLY_WEEK_FOURTH_WEEK = 4,\n}\n\nexport enum ZoomMonthlyWeekDay {\n ZOOM_MONTHLY_WEEK_DAY_INVALID = 0,\n ZOOM_MONTHLY_WEEK_DAY_SUNDAY = 1,\n ZOOM_MONTHLY_WEEK_DAY_MONDAY = 2,\n ZOOM_MONTHLY_WEEK_DAY_TUESDAY = 3,\n ZOOM_MONTHLY_WEEK_DAY_WEDNESDAY = 4,\n ZOOM_MONTHLY_WEEK_DAY_THURSDAY = 5,\n ZOOM_MONTHLY_WEEK_DAY_FRIDAY = 6,\n ZOOM_MONTHLY_WEEK_DAY_SATURDAY = 7,\n}\n\nexport enum ZoomRegistrationType {\n ZOOM_REGISTRATION_TYPE_INVALID = 0,\n ZOOM_REGISTRATION_TYPE_RESGITER_ONCE_FOR_ALL = 1,\n ZOOM_REGISTRATION_TYPE_REGISTER_FOR_EACH = 2,\n ZOOM_REGISTRATION_TYPE_RESGITER_ONCE_FOR_ONE_OR_MORE = 3,\n}\n\nexport enum ZoomWeeklyDay {\n ZOOM_WEEKLY_DAY_INVALID = 0,\n ZOOM_WEEKLY_DAY_SUNDAY = 1,\n ZOOM_WEEKLY_DAY_MONDAY = 2,\n ZOOM_WEEKLY_DAY_TUESDAY = 3,\n ZOOM_WEEKLY_DAY_WEDNESDAY = 4,\n ZOOM_WEEKLY_DAY_THURSDAY = 5,\n ZOOM_WEEKLY_DAY_FRIDAY = 6,\n ZOOM_WEEKLY_DAY_SATURDAY = 7,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum CalendarType {\n CALENDAR_TYPE_INVALID = 0,\n CALENDAR_TYPE_PERSONAL = 1,\n CALENDAR_TYPE_GROUP = 2,\n}\n\nexport enum FormFieldType {\n FORM_FIELD_TYPE_INVALID = 0,\n FORM_FIELD_TYPE_TEXT = 1,\n FORM_FIELD_TYPE_EMAIL = 2,\n FORM_FIELD_TYPE_PHONE_NUMBER = 3,\n FORM_FIELD_TYPE_SELECT = 4,\n}\n\nexport enum OnBoardingState {\n COMPLETED_SETUP = 0,\n NOT_YET_STARTED = 1,\n SLUG_CREATED = 2,\n CALENDAR_CONNECTED = 3,\n MEETING_APP_CONNECTED = 4,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum DateRangeType {\n RELATIVE = 0,\n CUSTOM = 1,\n}\n\nexport enum MeetingLocationType {\n VIDEO = 0,\n IN_PERSON_USER_SITE = 1,\n IN_PERSON_CLIENT_SITE = 2,\n}\n\nexport enum RelativeTimeUnit {\n DAYS = 0,\n WEEKS = 1,\n MONTHS = 2,\n}\n\nexport enum TeamEventMeetingType {\n ROUND_ROBIN = 0,\n CLIENT_CHOICE = 1,\n MULTI_HOST = 2,\n PRIORITY_ROUND_ROBIN = 3,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum DayOfWeek {\n DAY_OF_WEEK_UNSPECIFIED = 0,\n MONDAY = 1,\n TUESDAY = 2,\n WEDNESDAY = 3,\n THURSDAY = 4,\n FRIDAY = 5,\n SATURDAY = 6,\n SUNDAY = 7,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums Index.\n// *********************************\nexport {\n CalendarSource,\n MeetingSource,\n MeetingSourceStatus,\n} from './meeting-source.enum';\nexport {\n ZoomApprovalType,\n ZoomMeetingRecurrenceType,\n ZoomMeetingType,\n ZoomMonthlyWeek,\n ZoomMonthlyWeekDay,\n ZoomRegistrationType,\n ZoomWeeklyDay,\n} from './zoom.enum';\nexport {\n CalendarType,\n FormFieldType,\n OnBoardingState,\n} from './shared.enum';\nexport {\n DateRangeType,\n MeetingLocationType,\n RelativeTimeUnit,\n TeamEventMeetingType,\n} from './meeting-type.enum';\nexport { DayOfWeek, } from './dayofweek.enum';\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class CreateZoomMeetingRequest implements i.CreateZoomMeetingRequestInterface {\n iamUserId: string;\n topic: string;\n type: e.ZoomMeetingType;\n startTime: string;\n duration: number;\n timezone: string;\n password: string;\n agenda: string;\n trackingFields: ZoomMeetingTrackingField[];\n recurrence: ZoomMeetingRecurrence;\n settings: ZoomMeetingSettings;\n\n static fromProto(proto: any): CreateZoomMeetingRequest {\n let m = new CreateZoomMeetingRequest();\n m = Object.assign(m, proto);\n if (proto.type) {m.type = enumStringToValue<e.ZoomMeetingType>(e.ZoomMeetingType, proto.type);}\n if (proto.duration) {m.duration = parseInt(proto.duration, 10);}\n if (proto.trackingFields) {m.trackingFields = proto.trackingFields.map(ZoomMeetingTrackingField.fromProto);}\n if (proto.recurrence) {m.recurrence = ZoomMeetingRecurrence.fromProto(proto.recurrence);}\n if (proto.settings) {m.settings = ZoomMeetingSettings.fromProto(proto.settings);}\n return m;\n }\n\n constructor(kwargs?: i.CreateZoomMeetingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.iamUserId !== 'undefined') {toReturn['iamUserId'] = this.iamUserId;}\n if (typeof this.topic !== 'undefined') {toReturn['topic'] = this.topic;}\n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.startTime !== 'undefined') {toReturn['startTime'] = this.startTime;}\n if (typeof this.duration !== 'undefined') {toReturn['duration'] = this.duration;}\n if (typeof this.timezone !== 'undefined') {toReturn['timezone'] = this.timezone;}\n if (typeof this.password !== 'undefined') {toReturn['password'] = this.password;}\n if (typeof this.agenda !== 'undefined') {toReturn['agenda'] = this.agenda;}\n if (typeof this.trackingFields !== 'undefined' && this.trackingFields !== null) {toReturn['trackingFields'] = 'toApiJson' in this.trackingFields ? (this.trackingFields as any).toApiJson() : this.trackingFields;}\n if (typeof this.recurrence !== 'undefined' && this.recurrence !== null) {toReturn['recurrence'] = 'toApiJson' in this.recurrence ? (this.recurrence as any).toApiJson() : this.recurrence;}\n if (typeof this.settings !== 'undefined' && this.settings !== null) {toReturn['settings'] = 'toApiJson' in this.settings ? (this.settings as any).toApiJson() : this.settings;}\n return toReturn;\n }\n}\n\nexport class CreateZoomMeetingResponse implements i.CreateZoomMeetingResponseInterface {\n iamUserId: string;\n meetingId: number;\n topic: string;\n type: e.ZoomMeetingType;\n startTime: string;\n duration: number;\n timezone: string;\n createdAt: string;\n agenda: string;\n startUrl: string;\n joinUrl: string;\n password: string;\n h323Password: string;\n pmi: number;\n trackingFields: ZoomMeetingTrackingField[];\n occurrences: ZoomOccurrence[];\n settings: ZoomMeetingSettings;\n recurrence: ZoomMeetingRecurrence;\n\n static fromProto(proto: any): CreateZoomMeetingResponse {\n let m = new CreateZoomMeetingResponse();\n m = Object.assign(m, proto);\n if (proto.meetingId) {m.meetingId = parseInt(proto.meetingId, 10);}\n if (proto.type) {m.type = enumStringToValue<e.ZoomMeetingType>(e.ZoomMeetingType, proto.type);}\n if (proto.duration) {m.duration = parseInt(proto.duration, 10);}\n if (proto.pmi) {m.pmi = parseInt(proto.pmi, 10);}\n if (proto.trackingFields) {m.trackingFields = proto.trackingFields.map(ZoomMeetingTrackingField.fromProto);}\n if (proto.occurrences) {m.occurrences = proto.occurrences.map(ZoomOccurrence.fromProto);}\n if (proto.settings) {m.settings = ZoomMeetingSettings.fromProto(proto.settings);}\n if (proto.recurrence) {m.recurrence = ZoomMeetingRecurrence.fromProto(proto.recurrence);}\n return m;\n }\n\n constructor(kwargs?: i.CreateZoomMeetingResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.iamUserId !== 'undefined') {toReturn['iamUserId'] = this.iamUserId;}\n if (typeof this.meetingId !== 'undefined') {toReturn['meetingId'] = this.meetingId;}\n if (typeof this.topic !== 'undefined') {toReturn['topic'] = this.topic;}\n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.startTime !== 'undefined') {toReturn['startTime'] = this.startTime;}\n if (typeof this.duration !== 'undefined') {toReturn['duration'] = this.duration;}\n if (typeof this.timezone !== 'undefined') {toReturn['timezone'] = this.timezone;}\n if (typeof this.createdAt !== 'undefined') {toReturn['createdAt'] = this.createdAt;}\n if (typeof this.agenda !== 'undefined') {toReturn['agenda'] = this.agenda;}\n if (typeof this.startUrl !== 'undefined') {toReturn['startUrl'] = this.startUrl;}\n if (typeof this.joinUrl !== 'undefined') {toReturn['joinUrl'] = this.joinUrl;}\n if (typeof this.password !== 'undefined') {toReturn['password'] = this.password;}\n if (typeof this.h323Password !== 'undefined') {toReturn['h323Password'] = this.h323Password;}\n if (typeof this.pmi !== 'undefined') {toReturn['pmi'] = this.pmi;}\n if (typeof this.trackingFields !== 'undefined' && this.trackingFields !== null) {toReturn['trackingFields'] = 'toApiJson' in this.trackingFields ? (this.trackingFields as any).toApiJson() : this.trackingFields;}\n if (typeof this.occurrences !== 'undefined' && this.occurrences !== null) {toReturn['occurrences'] = 'toApiJson' in this.occurrences ? (this.occurrences as any).toApiJson() : this.occurrences;}\n if (typeof this.settings !== 'undefined' && this.settings !== null) {toReturn['settings'] = 'toApiJson' in this.settings ? (this.settings as any).toApiJson() : this.settings;}\n if (typeof this.recurrence !== 'undefined' && this.recurrence !== null) {toReturn['recurrence'] = 'toApiJson' in this.recurrence ? (this.recurrence as any).toApiJson() : this.recurrence;}\n return toReturn;\n }\n}\n\nexport class ZoomMeetingRecurrence implements i.ZoomMeetingRecurrenceInterface {\n type: e.ZoomMeetingRecurrenceType;\n repeatInterval: number;\n weeklyDays: string;\n monthlyDay: number;\n monthlyWeek: e.ZoomMonthlyWeek;\n monthlyWeekDay: e.ZoomMonthlyWeekDay;\n endTimes: number;\n endDateTime: string;\n\n static fromProto(proto: any): ZoomMeetingRecurrence {\n let m = new ZoomMeetingRecurrence();\n m = Object.assign(m, proto);\n if (proto.type) {m.type = enumStringToValue<e.ZoomMeetingRecurrenceType>(e.ZoomMeetingRecurrenceType, proto.type);}\n if (proto.repeatInterval) {m.repeatInterval = parseInt(proto.repeatInterval, 10);}\n if (proto.monthlyDay) {m.monthlyDay = parseInt(proto.monthlyDay, 10);}\n if (proto.monthlyWeek) {m.monthlyWeek = enumStringToValue<e.ZoomMonthlyWeek>(e.ZoomMonthlyWeek, proto.monthlyWeek);}\n if (proto.monthlyWeekDay) {m.monthlyWeekDay = enumStringToValue<e.ZoomMonthlyWeekDay>(e.ZoomMonthlyWeekDay, proto.monthlyWeekDay);}\n if (proto.endTimes) {m.endTimes = parseInt(proto.endTimes, 10);}\n return m;\n }\n\n constructor(kwargs?: i.ZoomMeetingRecurrenceInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.repeatInterval !== 'undefined') {toReturn['repeatInterval'] = this.repeatInterval;}\n if (typeof this.weeklyDays !== 'undefined') {toReturn['weeklyDays'] = this.weeklyDays;}\n if (typeof this.monthlyDay !== 'undefined') {toReturn['monthlyDay'] = this.monthlyDay;}\n if (typeof this.monthlyWeek !== 'undefined') {toReturn['monthlyWeek'] = this.monthlyWeek;}\n if (typeof this.monthlyWeekDay !== 'undefined') {toReturn['monthlyWeekDay'] = this.monthlyWeekDay;}\n if (typeof this.endTimes !== 'undefined') {toReturn['endTimes'] = this.endTimes;}\n if (typeof this.endDateTime !== 'undefined') {toReturn['endDateTime'] = this.endDateTime;}\n return toReturn;\n }\n}\n\nexport class ZoomMeetingSettings implements i.ZoomMeetingSettingsInterface {\n hostVideo: boolean;\n participantVideo: boolean;\n cnMeeting: boolean;\n inMeeting: boolean;\n joinBeforeHost: boolean;\n muteUponEntry: boolean;\n watermark: boolean;\n usePmi: boolean;\n approvalType: e.ZoomApprovalType;\n registrationType: e.ZoomRegistrationType;\n audio: string;\n autoRecording: string;\n alternativeHosts: string;\n closeRegistration: boolean;\n waitingRoom: boolean;\n globalDialInCountries: string[];\n contactName: string;\n contactEmail: string;\n registrationEmailNotification: boolean;\n meetingAuthentication: boolean;\n authenticationOptions: string;\n authenticationDomains: string;\n enforceLogin: boolean;\n enforceLoginDomains: string;\n\n static fromProto(proto: any): ZoomMeetingSettings {\n let m = new ZoomMeetingSettings();\n m = Object.assign(m, proto);\n if (proto.approvalType) {m.approvalType = enumStringToValue<e.ZoomApprovalType>(e.ZoomApprovalType, proto.approvalType);}\n if (proto.registrationType) {m.registrationType = enumStringToValue<e.ZoomRegistrationType>(e.ZoomRegistrationType, proto.registrationType);}\n return m;\n }\n\n constructor(kwargs?: i.ZoomMeetingSettingsInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostVideo !== 'undefined') {toReturn['hostVideo'] = this.hostVideo;}\n if (typeof this.participantVideo !== 'undefined') {toReturn['participantVideo'] = this.participantVideo;}\n if (typeof this.cnMeeting !== 'undefined') {toReturn['cnMeeting'] = this.cnMeeting;}\n if (typeof this.inMeeting !== 'undefined') {toReturn['inMeeting'] = this.inMeeting;}\n if (typeof this.joinBeforeHost !== 'undefined') {toReturn['joinBeforeHost'] = this.joinBeforeHost;}\n if (typeof this.muteUponEntry !== 'undefined') {toReturn['muteUponEntry'] = this.muteUponEntry;}\n if (typeof this.watermark !== 'undefined') {toReturn['watermark'] = this.watermark;}\n if (typeof this.usePmi !== 'undefined') {toReturn['usePmi'] = this.usePmi;}\n if (typeof this.approvalType !== 'undefined') {toReturn['approvalType'] = this.approvalType;}\n if (typeof this.registrationType !== 'undefined') {toReturn['registrationType'] = this.registrationType;}\n if (typeof this.audio !== 'undefined') {toReturn['audio'] = this.audio;}\n if (typeof this.autoRecording !== 'undefined') {toReturn['autoRecording'] = this.autoRecording;}\n if (typeof this.alternativeHosts !== 'undefined') {toReturn['alternativeHosts'] = this.alternativeHosts;}\n if (typeof this.closeRegistration !== 'undefined') {toReturn['closeRegistration'] = this.closeRegistration;}\n if (typeof this.waitingRoom !== 'undefined') {toReturn['waitingRoom'] = this.waitingRoom;}\n if (typeof this.globalDialInCountries !== 'undefined') {toReturn['globalDialInCountries'] = this.globalDialInCountries;}\n if (typeof this.contactName !== 'undefined') {toReturn['contactName'] = this.contactName;}\n if (typeof this.contactEmail !== 'undefined') {toReturn['contactEmail'] = this.contactEmail;}\n if (typeof this.registrationEmailNotification !== 'undefined') {toReturn['registrationEmailNotification'] = this.registrationEmailNotification;}\n if (typeof this.meetingAuthentication !== 'undefined') {toReturn['meetingAuthentication'] = this.meetingAuthentication;}\n if (typeof this.authenticationOptions !== 'undefined') {toReturn['authenticationOptions'] = this.authenticationOptions;}\n if (typeof this.authenticationDomains !== 'undefined') {toReturn['authenticationDomains'] = this.authenticationDomains;}\n if (typeof this.enforceLogin !== 'undefined') {toReturn['enforceLogin'] = this.enforceLogin;}\n if (typeof this.enforceLoginDomains !== 'undefined') {toReturn['enforceLoginDomains'] = this.enforceLoginDomains;}\n return toReturn;\n }\n}\n\nexport class ZoomMeetingTrackingField implements i.ZoomMeetingTrackingFieldInterface {\n field: string;\n value: string;\n\n static fromProto(proto: any): ZoomMeetingTrackingField {\n let m = new ZoomMeetingTrackingField();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ZoomMeetingTrackingFieldInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.field !== 'undefined') {toReturn['field'] = this.field;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\nexport class ZoomOccurrence implements i.ZoomOccurrenceInterface {\n occurrenceId: string;\n startTime: string;\n duration: number;\n status: string;\n\n static fromProto(proto: any): ZoomOccurrence {\n let m = new ZoomOccurrence();\n m = Object.assign(m, proto);\n if (proto.duration) {m.duration = parseInt(proto.duration, 10);}\n return m;\n }\n\n constructor(kwargs?: i.ZoomOccurrenceInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.occurrenceId !== 'undefined') {toReturn['occurrenceId'] = this.occurrenceId;}\n if (typeof this.startTime !== 'undefined') {toReturn['startTime'] = this.startTime;}\n if (typeof this.duration !== 'undefined') {toReturn['duration'] = this.duration;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class GoogleMeetConferenceData implements i.GoogleMeetConferenceDataInterface {\n conferenceId: string;\n conferenceSolution: GoogleMeetConferenceSolution;\n createRequest: GoogleMeetCreateConferenceRequest;\n entryPoints: GoogleMeetEntryPoint[];\n notes: string;\n signature: string;\n\n static fromProto(proto: any): GoogleMeetConferenceData {\n let m = new GoogleMeetConferenceData();\n m = Object.assign(m, proto);\n if (proto.conferenceSolution) {m.conferenceSolution = GoogleMeetConferenceSolution.fromProto(proto.conferenceSolution);}\n if (proto.createRequest) {m.createRequest = GoogleMeetCreateConferenceRequest.fromProto(proto.createRequest);}\n if (proto.entryPoints) {m.entryPoints = proto.entryPoints.map(GoogleMeetEntryPoint.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetConferenceDataInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conferenceId !== 'undefined') {toReturn['conferenceId'] = this.conferenceId;}\n if (typeof this.conferenceSolution !== 'undefined' && this.conferenceSolution !== null) {toReturn['conferenceSolution'] = 'toApiJson' in this.conferenceSolution ? (this.conferenceSolution as any).toApiJson() : this.conferenceSolution;}\n if (typeof this.createRequest !== 'undefined' && this.createRequest !== null) {toReturn['createRequest'] = 'toApiJson' in this.createRequest ? (this.createRequest as any).toApiJson() : this.createRequest;}\n if (typeof this.entryPoints !== 'undefined' && this.entryPoints !== null) {toReturn['entryPoints'] = 'toApiJson' in this.entryPoints ? (this.entryPoints as any).toApiJson() : this.entryPoints;}\n if (typeof this.notes !== 'undefined') {toReturn['notes'] = this.notes;}\n if (typeof this.signature !== 'undefined') {toReturn['signature'] = this.signature;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetConferenceRequestStatus implements i.GoogleMeetConferenceRequestStatusInterface {\n statusCode: string;\n\n static fromProto(proto: any): GoogleMeetConferenceRequestStatus {\n let m = new GoogleMeetConferenceRequestStatus();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetConferenceRequestStatusInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.statusCode !== 'undefined') {toReturn['statusCode'] = this.statusCode;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetConferenceSolution implements i.GoogleMeetConferenceSolutionInterface {\n iconUri: string;\n key: GoogleMeetConferenceSolutionKey;\n name: string;\n\n static fromProto(proto: any): GoogleMeetConferenceSolution {\n let m = new GoogleMeetConferenceSolution();\n m = Object.assign(m, proto);\n if (proto.key) {m.key = GoogleMeetConferenceSolutionKey.fromProto(proto.key);}\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetConferenceSolutionInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.iconUri !== 'undefined') {toReturn['iconUri'] = this.iconUri;}\n if (typeof this.key !== 'undefined' && this.key !== null) {toReturn['key'] = 'toApiJson' in this.key ? (this.key as any).toApiJson() : this.key;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetConferenceSolutionKey implements i.GoogleMeetConferenceSolutionKeyInterface {\n type: string;\n\n static fromProto(proto: any): GoogleMeetConferenceSolutionKey {\n let m = new GoogleMeetConferenceSolutionKey();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetConferenceSolutionKeyInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetCreateConferenceRequest implements i.GoogleMeetCreateConferenceRequestInterface {\n conferenceSolutionKey: GoogleMeetConferenceSolutionKey;\n requestId: string;\n status: GoogleMeetConferenceRequestStatus;\n\n static fromProto(proto: any): GoogleMeetCreateConferenceRequest {\n let m = new GoogleMeetCreateConferenceRequest();\n m = Object.assign(m, proto);\n if (proto.conferenceSolutionKey) {m.conferenceSolutionKey = GoogleMeetConferenceSolutionKey.fromProto(proto.conferenceSolutionKey);}\n if (proto.status) {m.status = GoogleMeetConferenceRequestStatus.fromProto(proto.status);}\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetCreateConferenceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conferenceSolutionKey !== 'undefined' && this.conferenceSolutionKey !== null) {toReturn['conferenceSolutionKey'] = 'toApiJson' in this.conferenceSolutionKey ? (this.conferenceSolutionKey as any).toApiJson() : this.conferenceSolutionKey;}\n if (typeof this.requestId !== 'undefined') {toReturn['requestId'] = this.requestId;}\n if (typeof this.status !== 'undefined' && this.status !== null) {toReturn['status'] = 'toApiJson' in this.status ? (this.status as any).toApiJson() : this.status;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetCreateMeetingRequest implements i.GoogleMeetCreateMeetingRequestInterface {\n calenderId: string;\n meeting: GoogleMeetMeeting;\n\n static fromProto(proto: any): GoogleMeetCreateMeetingRequest {\n let m = new GoogleMeetCreateMeetingRequest();\n m = Object.assign(m, proto);\n if (proto.meeting) {m.meeting = GoogleMeetMeeting.fromProto(proto.meeting);}\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetCreateMeetingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calenderId !== 'undefined') {toReturn['calenderId'] = this.calenderId;}\n if (typeof this.meeting !== 'undefined' && this.meeting !== null) {toReturn['meeting'] = 'toApiJson' in this.meeting ? (this.meeting as any).toApiJson() : this.meeting;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetCreateMeetingResponse implements i.GoogleMeetCreateMeetingResponseInterface {\n iamUserId: string;\n calenderId: string;\n meeting: GoogleMeetMeeting;\n\n static fromProto(proto: any): GoogleMeetCreateMeetingResponse {\n let m = new GoogleMeetCreateMeetingResponse();\n m = Object.assign(m, proto);\n if (proto.meeting) {m.meeting = GoogleMeetMeeting.fromProto(proto.meeting);}\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetCreateMeetingResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.iamUserId !== 'undefined') {toReturn['iamUserId'] = this.iamUserId;}\n if (typeof this.calenderId !== 'undefined') {toReturn['calenderId'] = this.calenderId;}\n if (typeof this.meeting !== 'undefined' && this.meeting !== null) {toReturn['meeting'] = 'toApiJson' in this.meeting ? (this.meeting as any).toApiJson() : this.meeting;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetEntryPoint implements i.GoogleMeetEntryPointInterface {\n accessCode: string;\n entryPointFeatures: string[];\n entryPointType: string;\n label: string;\n meetingCode: string;\n passcode: string;\n password: string;\n pin: string;\n regionCode: string;\n uri: string;\n\n static fromProto(proto: any): GoogleMeetEntryPoint {\n let m = new GoogleMeetEntryPoint();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetEntryPointInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.accessCode !== 'undefined') {toReturn['accessCode'] = this.accessCode;}\n if (typeof this.entryPointFeatures !== 'undefined') {toReturn['entryPointFeatures'] = this.entryPointFeatures;}\n if (typeof this.entryPointType !== 'undefined') {toReturn['entryPointType'] = this.entryPointType;}\n if (typeof this.label !== 'undefined') {toReturn['label'] = this.label;}\n if (typeof this.meetingCode !== 'undefined') {toReturn['meetingCode'] = this.meetingCode;}\n if (typeof this.passcode !== 'undefined') {toReturn['passcode'] = this.passcode;}\n if (typeof this.password !== 'undefined') {toReturn['password'] = this.password;}\n if (typeof this.pin !== 'undefined') {toReturn['pin'] = this.pin;}\n if (typeof this.regionCode !== 'undefined') {toReturn['regionCode'] = this.regionCode;}\n if (typeof this.uri !== 'undefined') {toReturn['uri'] = this.uri;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetListMeetingsRequest implements i.GoogleMeetListMeetingsRequestInterface {\n userId: string;\n pageSize: number;\n pageToken: string;\n syncToken: string;\n timeMin: Date;\n timeMax: Date;\n\n static fromProto(proto: any): GoogleMeetListMeetingsRequest {\n let m = new GoogleMeetListMeetingsRequest();\n m = Object.assign(m, proto);\n if (proto.pageSize) {m.pageSize = parseInt(proto.pageSize, 10);}\n if (proto.timeMin) {m.timeMin = new Date(proto.timeMin);}\n if (proto.timeMax) {m.timeMax = new Date(proto.timeMax);}\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetListMeetingsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n if (typeof this.pageSize !== 'undefined') {toReturn['pageSize'] = this.pageSize;}\n if (typeof this.pageToken !== 'undefined') {toReturn['pageToken'] = this.pageToken;}\n if (typeof this.syncToken !== 'undefined') {toReturn['syncToken'] = this.syncToken;}\n if (typeof this.timeMin !== 'undefined' && this.timeMin !== null) {toReturn['timeMin'] = 'toApiJson' in this.timeMin ? (this.timeMin as any).toApiJson() : this.timeMin;}\n if (typeof this.timeMax !== 'undefined' && this.timeMax !== null) {toReturn['timeMax'] = 'toApiJson' in this.timeMax ? (this.timeMax as any).toApiJson() : this.timeMax;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetListMeetingsResponse implements i.GoogleMeetListMeetingsResponseInterface {\n meetings: GoogleMeetMeeting[];\n nextPageToken: string;\n nextSyncToken: string;\n\n static fromProto(proto: any): GoogleMeetListMeetingsResponse {\n let m = new GoogleMeetListMeetingsResponse();\n m = Object.assign(m, proto);\n if (proto.meetings) {m.meetings = proto.meetings.map(GoogleMeetMeeting.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetListMeetingsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetings !== 'undefined' && this.meetings !== null) {toReturn['meetings'] = 'toApiJson' in this.meetings ? (this.meetings as any).toApiJson() : this.meetings;}\n if (typeof this.nextPageToken !== 'undefined') {toReturn['nextPageToken'] = this.nextPageToken;}\n if (typeof this.nextSyncToken !== 'undefined') {toReturn['nextSyncToken'] = this.nextSyncToken;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetMeeting implements i.GoogleMeetMeetingInterface {\n anyoneCanAddSelf: boolean;\n attendees: GoogleMeetMeetingAttendee[];\n attendeesOmitted: boolean;\n colorId: string;\n conferenceData: GoogleMeetConferenceData;\n description: string;\n end: GoogleMeetMeetingDateTime;\n endTimeUnspecified: boolean;\n etag: string;\n icalUid: string;\n id: string;\n kind: string;\n location: string;\n locked: boolean;\n originalStartTime: GoogleMeetMeetingDateTime;\n recurrence: string[];\n recurringMeetingId: string;\n reminders: GoogleMeetMeetingReminders;\n sequence: number;\n start: GoogleMeetMeetingDateTime;\n status: string;\n summary: string;\n transparency: string;\n visibility: string;\n hangoutLink: string;\n htmlLink: string;\n created: string;\n creator: GoogleMeetMeetingCreator;\n updated: string;\n organizer: GoogleMeetMeetingOrganizer;\n\n static fromProto(proto: any): GoogleMeetMeeting {\n let m = new GoogleMeetMeeting();\n m = Object.assign(m, proto);\n if (proto.attendees) {m.attendees = proto.attendees.map(GoogleMeetMeetingAttendee.fromProto);}\n if (proto.conferenceData) {m.conferenceData = GoogleMeetConferenceData.fromProto(proto.conferenceData);}\n if (proto.end) {m.end = GoogleMeetMeetingDateTime.fromProto(proto.end);}\n if (proto.originalStartTime) {m.originalStartTime = GoogleMeetMeetingDateTime.fromProto(proto.originalStartTime);}\n if (proto.reminders) {m.reminders = GoogleMeetMeetingReminders.fromProto(proto.reminders);}\n if (proto.sequence) {m.sequence = parseInt(proto.sequence, 10);}\n if (proto.start) {m.start = GoogleMeetMeetingDateTime.fromProto(proto.start);}\n if (proto.creator) {m.creator = GoogleMeetMeetingCreator.fromProto(proto.creator);}\n if (proto.organizer) {m.organizer = GoogleMeetMeetingOrganizer.fromProto(proto.organizer);}\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetMeetingInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.anyoneCanAddSelf !== 'undefined') {toReturn['anyoneCanAddSelf'] = this.anyoneCanAddSelf;}\n if (typeof this.attendees !== 'undefined' && this.attendees !== null) {toReturn['attendees'] = 'toApiJson' in this.attendees ? (this.attendees as any).toApiJson() : this.attendees;}\n if (typeof this.attendeesOmitted !== 'undefined') {toReturn['attendeesOmitted'] = this.attendeesOmitted;}\n if (typeof this.colorId !== 'undefined') {toReturn['colorId'] = this.colorId;}\n if (typeof this.conferenceData !== 'undefined' && this.conferenceData !== null) {toReturn['conferenceData'] = 'toApiJson' in this.conferenceData ? (this.conferenceData as any).toApiJson() : this.conferenceData;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.end !== 'undefined' && this.end !== null) {toReturn['end'] = 'toApiJson' in this.end ? (this.end as any).toApiJson() : this.end;}\n if (typeof this.endTimeUnspecified !== 'undefined') {toReturn['endTimeUnspecified'] = this.endTimeUnspecified;}\n if (typeof this.etag !== 'undefined') {toReturn['etag'] = this.etag;}\n if (typeof this.icalUid !== 'undefined') {toReturn['icalUid'] = this.icalUid;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.kind !== 'undefined') {toReturn['kind'] = this.kind;}\n if (typeof this.location !== 'undefined') {toReturn['location'] = this.location;}\n if (typeof this.locked !== 'undefined') {toReturn['locked'] = this.locked;}\n if (typeof this.originalStartTime !== 'undefined' && this.originalStartTime !== null) {toReturn['originalStartTime'] = 'toApiJson' in this.originalStartTime ? (this.originalStartTime as any).toApiJson() : this.originalStartTime;}\n if (typeof this.recurrence !== 'undefined') {toReturn['recurrence'] = this.recurrence;}\n if (typeof this.recurringMeetingId !== 'undefined') {toReturn['recurringMeetingId'] = this.recurringMeetingId;}\n if (typeof this.reminders !== 'undefined' && this.reminders !== null) {toReturn['reminders'] = 'toApiJson' in this.reminders ? (this.reminders as any).toApiJson() : this.reminders;}\n if (typeof this.sequence !== 'undefined') {toReturn['sequence'] = this.sequence;}\n if (typeof this.start !== 'undefined' && this.start !== null) {toReturn['start'] = 'toApiJson' in this.start ? (this.start as any).toApiJson() : this.start;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n if (typeof this.summary !== 'undefined') {toReturn['summary'] = this.summary;}\n if (typeof this.transparency !== 'undefined') {toReturn['transparency'] = this.transparency;}\n if (typeof this.visibility !== 'undefined') {toReturn['visibility'] = this.visibility;}\n if (typeof this.hangoutLink !== 'undefined') {toReturn['hangoutLink'] = this.hangoutLink;}\n if (typeof this.htmlLink !== 'undefined') {toReturn['htmlLink'] = this.htmlLink;}\n if (typeof this.created !== 'undefined') {toReturn['created'] = this.created;}\n if (typeof this.creator !== 'undefined' && this.creator !== null) {toReturn['creator'] = 'toApiJson' in this.creator ? (this.creator as any).toApiJson() : this.creator;}\n if (typeof this.updated !== 'undefined') {toReturn['updated'] = this.updated;}\n if (typeof this.organizer !== 'undefined' && this.organizer !== null) {toReturn['organizer'] = 'toApiJson' in this.organizer ? (this.organizer as any).toApiJson() : this.organizer;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetMeetingAttendee implements i.GoogleMeetMeetingAttendeeInterface {\n additionalGuests: number;\n comment: string;\n displayName: string;\n email: string;\n id: string;\n optional: boolean;\n organizer: boolean;\n resource: boolean;\n responseStatus: string;\n self: boolean;\n\n static fromProto(proto: any): GoogleMeetMeetingAttendee {\n let m = new GoogleMeetMeetingAttendee();\n m = Object.assign(m, proto);\n if (proto.additionalGuests) {m.additionalGuests = parseInt(proto.additionalGuests, 10);}\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetMeetingAttendeeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.additionalGuests !== 'undefined') {toReturn['additionalGuests'] = this.additionalGuests;}\n if (typeof this.comment !== 'undefined') {toReturn['comment'] = this.comment;}\n if (typeof this.displayName !== 'undefined') {toReturn['displayName'] = this.displayName;}\n if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.optional !== 'undefined') {toReturn['optional'] = this.optional;}\n if (typeof this.organizer !== 'undefined') {toReturn['organizer'] = this.organizer;}\n if (typeof this.resource !== 'undefined') {toReturn['resource'] = this.resource;}\n if (typeof this.responseStatus !== 'undefined') {toReturn['responseStatus'] = this.responseStatus;}\n if (typeof this.self !== 'undefined') {toReturn['self'] = this.self;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetMeetingCreator implements i.GoogleMeetMeetingCreatorInterface {\n displayName: string;\n email: string;\n id: string;\n self: boolean;\n\n static fromProto(proto: any): GoogleMeetMeetingCreator {\n let m = new GoogleMeetMeetingCreator();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetMeetingCreatorInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.displayName !== 'undefined') {toReturn['displayName'] = this.displayName;}\n if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.self !== 'undefined') {toReturn['self'] = this.self;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetMeetingDateTime implements i.GoogleMeetMeetingDateTimeInterface {\n date: string;\n dateTime: string;\n timeZone: string;\n\n static fromProto(proto: any): GoogleMeetMeetingDateTime {\n let m = new GoogleMeetMeetingDateTime();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetMeetingDateTimeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.date !== 'undefined') {toReturn['date'] = this.date;}\n if (typeof this.dateTime !== 'undefined') {toReturn['dateTime'] = this.dateTime;}\n if (typeof this.timeZone !== 'undefined') {toReturn['timeZone'] = this.timeZone;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetMeetingOrganizer implements i.GoogleMeetMeetingOrganizerInterface {\n displayName: string;\n email: string;\n id: string;\n self: boolean;\n\n static fromProto(proto: any): GoogleMeetMeetingOrganizer {\n let m = new GoogleMeetMeetingOrganizer();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetMeetingOrganizerInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.displayName !== 'undefined') {toReturn['displayName'] = this.displayName;}\n if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.self !== 'undefined') {toReturn['self'] = this.self;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetMeetingReminder implements i.GoogleMeetMeetingReminderInterface {\n method: string;\n minutes: number;\n\n static fromProto(proto: any): GoogleMeetMeetingReminder {\n let m = new GoogleMeetMeetingReminder();\n m = Object.assign(m, proto);\n if (proto.minutes) {m.minutes = parseInt(proto.minutes, 10);}\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetMeetingReminderInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.method !== 'undefined') {toReturn['method'] = this.method;}\n if (typeof this.minutes !== 'undefined') {toReturn['minutes'] = this.minutes;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetMeetingReminders implements i.GoogleMeetMeetingRemindersInterface {\n overrides: GoogleMeetMeetingReminder[];\n useDefault: boolean;\n\n static fromProto(proto: any): GoogleMeetMeetingReminders {\n let m = new GoogleMeetMeetingReminders();\n m = Object.assign(m, proto);\n if (proto.overrides) {m.overrides = proto.overrides.map(GoogleMeetMeetingReminder.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetMeetingRemindersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.overrides !== 'undefined' && this.overrides !== null) {toReturn['overrides'] = 'toApiJson' in this.overrides ? (this.overrides as any).toApiJson() : this.overrides;}\n if (typeof this.useDefault !== 'undefined') {toReturn['useDefault'] = this.useDefault;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class MeetingSourceInfo implements i.MeetingSourceInfoInterface {\n source: e.MeetingSource;\n status: e.MeetingSourceStatus;\n connectDisconnectUrl: string;\n connectionLabel: string;\n\n static fromProto(proto: any): MeetingSourceInfo {\n let m = new MeetingSourceInfo();\n m = Object.assign(m, proto);\n if (proto.source) {m.source = enumStringToValue<e.MeetingSource>(e.MeetingSource, proto.source);}\n if (proto.status) {m.status = enumStringToValue<e.MeetingSourceStatus>(e.MeetingSourceStatus, proto.status);}\n return m;\n }\n\n constructor(kwargs?: i.MeetingSourceInfoInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.source !== 'undefined') {toReturn['source'] = this.source;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n if (typeof this.connectDisconnectUrl !== 'undefined') {toReturn['connectDisconnectUrl'] = this.connectDisconnectUrl;}\n if (typeof this.connectionLabel !== 'undefined') {toReturn['connectionLabel'] = this.connectionLabel;}\n return toReturn;\n }\n}\n\nexport class MeetingSourceListRequest implements i.MeetingSourceListRequestInterface {\n iamUserId: string;\n queriedSources: MeetingSourceQuery[];\n namespace: string;\n origin: string;\n\n static fromProto(proto: any): MeetingSourceListRequest {\n let m = new MeetingSourceListRequest();\n m = Object.assign(m, proto);\n if (proto.queriedSources) {m.queriedSources = proto.queriedSources.map(MeetingSourceQuery.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.MeetingSourceListRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.iamUserId !== 'undefined') {toReturn['iamUserId'] = this.iamUserId;}\n if (typeof this.queriedSources !== 'undefined' && this.queriedSources !== null) {toReturn['queriedSources'] = 'toApiJson' in this.queriedSources ? (this.queriedSources as any).toApiJson() : this.queriedSources;}\n if (typeof this.namespace !== 'undefined') {toReturn['namespace'] = this.namespace;}\n if (typeof this.origin !== 'undefined') {toReturn['origin'] = this.origin;}\n return toReturn;\n }\n}\n\nexport class MeetingSourceListResponse implements i.MeetingSourceListResponseInterface {\n iamUserId: string;\n sourceInfo: MeetingSourceInfo[];\n\n static fromProto(proto: any): MeetingSourceListResponse {\n let m = new MeetingSourceListResponse();\n m = Object.assign(m, proto);\n if (proto.sourceInfo) {m.sourceInfo = proto.sourceInfo.map(MeetingSourceInfo.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.MeetingSourceListResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.iamUserId !== 'undefined') {toReturn['iamUserId'] = this.iamUserId;}\n if (typeof this.sourceInfo !== 'undefined' && this.sourceInfo !== null) {toReturn['sourceInfo'] = 'toApiJson' in this.sourceInfo ? (this.sourceInfo as any).toApiJson() : this.sourceInfo;}\n return toReturn;\n }\n}\n\nexport class MeetingSourceQuery implements i.MeetingSourceQueryInterface {\n source: e.MeetingSource;\n connectNextUrl: string;\n disconnectNextUrl: string;\n\n static fromProto(proto: any): MeetingSourceQuery {\n let m = new MeetingSourceQuery();\n m = Object.assign(m, proto);\n if (proto.source) {m.source = enumStringToValue<e.MeetingSource>(e.MeetingSource, proto.source);}\n return m;\n }\n\n constructor(kwargs?: i.MeetingSourceQueryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.source !== 'undefined') {toReturn['source'] = this.source;}\n if (typeof this.connectNextUrl !== 'undefined') {toReturn['connectNextUrl'] = this.connectNextUrl;}\n if (typeof this.disconnectNextUrl !== 'undefined') {toReturn['disconnectNextUrl'] = this.disconnectNextUrl;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { TimeZone, TimeOfDay } from './';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class Answer implements i.AnswerInterface {\n id: string;\n label: string;\n type: e.FormFieldType;\n answer: string[];\n\n static fromProto(proto: any): Answer {\n let m = new Answer();\n m = Object.assign(m, proto);\n if (proto.type) {m.type = enumStringToValue<e.FormFieldType>(e.FormFieldType, proto.type);}\n return m;\n }\n\n constructor(kwargs?: i.AnswerInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.label !== 'undefined') {toReturn['label'] = this.label;}\n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.answer !== 'undefined') {toReturn['answer'] = this.answer;}\n return toReturn;\n }\n}\n\nexport class Answers implements i.AnswersInterface {\n formAnswers: Answer[];\n\n static fromProto(proto: any): Answers {\n let m = new Answers();\n m = Object.assign(m, proto);\n if (proto.formAnswers) {m.formAnswers = proto.formAnswers.map(Answer.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.AnswersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.formAnswers !== 'undefined' && this.formAnswers !== null) {toReturn['formAnswers'] = 'toApiJson' in this.formAnswers ? (this.formAnswers as any).toApiJson() : this.formAnswers;}\n return toReturn;\n }\n}\n\nexport class CalendarApplicationContextEntry implements i.CalendarApplicationContextEntryInterface {\n key: string;\n value: string;\n\n static fromProto(proto: any): CalendarApplicationContextEntry {\n let m = new CalendarApplicationContextEntry();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CalendarApplicationContextEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\nexport class Attachment implements i.AttachmentInterface {\n fileTitle: string;\n fileUrl: string;\n fileType: string;\n\n static fromProto(proto: any): Attachment {\n let m = new Attachment();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.AttachmentInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.fileTitle !== 'undefined') {toReturn['fileTitle'] = this.fileTitle;}\n if (typeof this.fileUrl !== 'undefined') {toReturn['fileUrl'] = this.fileUrl;}\n if (typeof this.fileType !== 'undefined') {toReturn['fileType'] = this.fileType;}\n return toReturn;\n }\n}\n\nexport class Attendee implements i.AttendeeInterface {\n firstName: string;\n lastName: string;\n email: string;\n phoneNumber: string;\n timeZone: string;\n isPrimary: boolean;\n\n static fromProto(proto: any): Attendee {\n let m = new Attendee();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.AttendeeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.firstName !== 'undefined') {toReturn['firstName'] = this.firstName;}\n if (typeof this.lastName !== 'undefined') {toReturn['lastName'] = this.lastName;}\n if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n if (typeof this.phoneNumber !== 'undefined') {toReturn['phoneNumber'] = this.phoneNumber;}\n if (typeof this.timeZone !== 'undefined') {toReturn['timeZone'] = this.timeZone;}\n if (typeof this.isPrimary !== 'undefined') {toReturn['isPrimary'] = this.isPrimary;}\n return toReturn;\n }\n}\n\nexport class Calendar implements i.CalendarInterface {\n id: string;\n displayName: string;\n displayProfileUrl: string;\n displayLogoUrl: string;\n bookingUrl: string;\n slug: string;\n externalId: string;\n creatorUserId: string;\n hostUserIds: string[];\n applicationContext: {[key: string]: string};\n calendarType: e.CalendarType;\n encodedApplicationContext: string;\n\n static fromProto(proto: any): Calendar {\n let m = new Calendar();\n m = Object.assign(m, proto);\n if (proto.applicationContext) {m.applicationContext = Object.keys(proto.applicationContext).reduce<any>((obj, k) => { obj[k] = proto.applicationContext[k]; return obj; }, {});}\n if (proto.calendarType) {m.calendarType = enumStringToValue<e.CalendarType>(e.CalendarType, proto.calendarType);}\n return m;\n }\n\n constructor(kwargs?: i.CalendarInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.displayName !== 'undefined') {toReturn['displayName'] = this.displayName;}\n if (typeof this.displayProfileUrl !== 'undefined') {toReturn['displayProfileUrl'] = this.displayProfileUrl;}\n if (typeof this.displayLogoUrl !== 'undefined') {toReturn['displayLogoUrl'] = this.displayLogoUrl;}\n if (typeof this.bookingUrl !== 'undefined') {toReturn['bookingUrl'] = this.bookingUrl;}\n if (typeof this.slug !== 'undefined') {toReturn['slug'] = this.slug;}\n if (typeof this.externalId !== 'undefined') {toReturn['externalId'] = this.externalId;}\n if (typeof this.creatorUserId !== 'undefined') {toReturn['creatorUserId'] = this.creatorUserId;}\n if (typeof this.hostUserIds !== 'undefined') {toReturn['hostUserIds'] = this.hostUserIds;}\n if (typeof this.applicationContext !== 'undefined' && this.applicationContext !== null) {toReturn['applicationContext'] = 'toApiJson' in this.applicationContext ? (this.applicationContext as any).toApiJson() : this.applicationContext;}\n if (typeof this.calendarType !== 'undefined') {toReturn['calendarType'] = this.calendarType;}\n if (typeof this.encodedApplicationContext !== 'undefined') {toReturn['encodedApplicationContext'] = this.encodedApplicationContext;}\n return toReturn;\n }\n}\n\nexport class Contact implements i.ContactInterface {\n firstName: string;\n lastName: string;\n phoneNumber: string;\n email: string;\n timeZone: TimeZone;\n isPrimary: boolean;\n\n static fromProto(proto: any): Contact {\n let m = new Contact();\n m = Object.assign(m, proto);\n if (proto.timeZone) {m.timeZone = TimeZone.fromProto(proto.timeZone);}\n return m;\n }\n\n constructor(kwargs?: i.ContactInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.firstName !== 'undefined') {toReturn['firstName'] = this.firstName;}\n if (typeof this.lastName !== 'undefined') {toReturn['lastName'] = this.lastName;}\n if (typeof this.phoneNumber !== 'undefined') {toReturn['phoneNumber'] = this.phoneNumber;}\n if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n if (typeof this.timeZone !== 'undefined' && this.timeZone !== null) {toReturn['timeZone'] = 'toApiJson' in this.timeZone ? (this.timeZone as any).toApiJson() : this.timeZone;}\n if (typeof this.isPrimary !== 'undefined') {toReturn['isPrimary'] = this.isPrimary;}\n return toReturn;\n }\n}\n\nexport class Host implements i.HostInterface {\n id: string;\n displayName: string;\n displayProfileUrl: string;\n displayLogoUrl: string;\n\n static fromProto(proto: any): Host {\n let m = new Host();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.HostInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.displayName !== 'undefined') {toReturn['displayName'] = this.displayName;}\n if (typeof this.displayProfileUrl !== 'undefined') {toReturn['displayProfileUrl'] = this.displayProfileUrl;}\n if (typeof this.displayLogoUrl !== 'undefined') {toReturn['displayLogoUrl'] = this.displayLogoUrl;}\n return toReturn;\n }\n}\n\nexport class HostUser implements i.HostUserInterface {\n userId: string;\n displayName: string;\n isConfigured: boolean;\n\n static fromProto(proto: any): HostUser {\n let m = new HostUser();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.HostUserInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n if (typeof this.displayName !== 'undefined') {toReturn['displayName'] = this.displayName;}\n if (typeof this.isConfigured !== 'undefined') {toReturn['isConfigured'] = this.isConfigured;}\n return toReturn;\n }\n}\n\nexport class PagedRequestOptions implements i.PagedRequestOptionsInterface {\n cursor: string;\n pageSize: number;\n\n static fromProto(proto: any): PagedRequestOptions {\n let m = new PagedRequestOptions();\n m = Object.assign(m, proto);\n if (proto.pageSize) {m.pageSize = parseInt(proto.pageSize, 10);}\n return m;\n }\n\n constructor(kwargs?: i.PagedRequestOptionsInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.cursor !== 'undefined') {toReturn['cursor'] = this.cursor;}\n if (typeof this.pageSize !== 'undefined') {toReturn['pageSize'] = this.pageSize;}\n return toReturn;\n }\n}\n\nexport class PagedResponseMetadata implements i.PagedResponseMetadataInterface {\n nextCursor: string;\n hasMore: boolean;\n\n static fromProto(proto: any): PagedResponseMetadata {\n let m = new PagedResponseMetadata();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.PagedResponseMetadataInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.nextCursor !== 'undefined') {toReturn['nextCursor'] = this.nextCursor;}\n if (typeof this.hasMore !== 'undefined') {toReturn['hasMore'] = this.hasMore;}\n return toReturn;\n }\n}\n\nexport class Preferences implements i.PreferencesInterface {\n timezone: TimeZone;\n meetingIntegration: e.MeetingSource;\n availabilityIncrement: number;\n bufferDurationAfterMeeting: number;\n noticeTime: number;\n calendarSlug: string;\n bufferDurationBeforeMeeting: number;\n calendarIntegration: e.CalendarSource;\n onBoardingState: e.OnBoardingState;\n\n static fromProto(proto: any): Preferences {\n let m = new Preferences();\n m = Object.assign(m, proto);\n if (proto.timezone) {m.timezone = TimeZone.fromProto(proto.timezone);}\n if (proto.meetingIntegration) {m.meetingIntegration = enumStringToValue<e.MeetingSource>(e.MeetingSource, proto.meetingIntegration);}\n if (proto.availabilityIncrement) {m.availabilityIncrement = parseInt(proto.availabilityIncrement, 10);}\n if (proto.bufferDurationAfterMeeting) {m.bufferDurationAfterMeeting = parseInt(proto.bufferDurationAfterMeeting, 10);}\n if (proto.noticeTime) {m.noticeTime = parseInt(proto.noticeTime, 10);}\n if (proto.bufferDurationBeforeMeeting) {m.bufferDurationBeforeMeeting = parseInt(proto.bufferDurationBeforeMeeting, 10);}\n if (proto.calendarIntegration) {m.calendarIntegration = enumStringToValue<e.CalendarSource>(e.CalendarSource, proto.calendarIntegration);}\n if (proto.onBoardingState) {m.onBoardingState = enumStringToValue<e.OnBoardingState>(e.OnBoardingState, proto.onBoardingState);}\n return m;\n }\n\n constructor(kwargs?: i.PreferencesInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.timezone !== 'undefined' && this.timezone !== null) {toReturn['timezone'] = 'toApiJson' in this.timezone ? (this.timezone as any).toApiJson() : this.timezone;}\n if (typeof this.meetingIntegration !== 'undefined') {toReturn['meetingIntegration'] = this.meetingIntegration;}\n if (typeof this.availabilityIncrement !== 'undefined') {toReturn['availabilityIncrement'] = this.availabilityIncrement;}\n if (typeof this.bufferDurationAfterMeeting !== 'undefined') {toReturn['bufferDurationAfterMeeting'] = this.bufferDurationAfterMeeting;}\n if (typeof this.noticeTime !== 'undefined') {toReturn['noticeTime'] = this.noticeTime;}\n if (typeof this.calendarSlug !== 'undefined') {toReturn['calendarSlug'] = this.calendarSlug;}\n if (typeof this.bufferDurationBeforeMeeting !== 'undefined') {toReturn['bufferDurationBeforeMeeting'] = this.bufferDurationBeforeMeeting;}\n if (typeof this.calendarIntegration !== 'undefined') {toReturn['calendarIntegration'] = this.calendarIntegration;}\n if (typeof this.onBoardingState !== 'undefined') {toReturn['onBoardingState'] = this.onBoardingState;}\n return toReturn;\n }\n}\n\nexport class TimeRange implements i.TimeRangeInterface {\n from: TimeOfDay;\n to: TimeOfDay;\n\n static fromProto(proto: any): TimeRange {\n let m = new TimeRange();\n m = Object.assign(m, proto);\n if (proto.from) {m.from = TimeOfDay.fromProto(proto.from);}\n if (proto.to) {m.to = TimeOfDay.fromProto(proto.to);}\n return m;\n }\n\n constructor(kwargs?: i.TimeRangeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.from !== 'undefined' && this.from !== null) {toReturn['from'] = 'toApiJson' in this.from ? (this.from as any).toApiJson() : this.from;}\n if (typeof this.to !== 'undefined' && this.to !== null) {toReturn['to'] = 'toApiJson' in this.to ? (this.to as any).toApiJson() : this.to;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class DateRange implements i.DateRangeInterface {\n start: Date;\n end: Date;\n\n static fromProto(proto: any): DateRange {\n let m = new DateRange();\n m = Object.assign(m, proto);\n if (proto.start) {m.start = new Date(proto.start);}\n if (proto.end) {m.end = new Date(proto.end);}\n return m;\n }\n\n constructor(kwargs?: i.DateRangeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.start !== 'undefined' && this.start !== null) {toReturn['start'] = 'toApiJson' in this.start ? (this.start as any).toApiJson() : this.start;}\n if (typeof this.end !== 'undefined' && this.end !== null) {toReturn['end'] = 'toApiJson' in this.end ? (this.end as any).toApiJson() : this.end;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { DateRange } from './date-range';\nimport { HostUser } from './shared';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class EventTypeDateRange implements i.EventTypeDateRangeInterface {\n dateRangeType: e.DateRangeType;\n customDateRange: DateRange;\n relativeDateRange: RelativeDateRange;\n\n static fromProto(proto: any): EventTypeDateRange {\n let m = new EventTypeDateRange();\n m = Object.assign(m, proto);\n if (proto.dateRangeType) {m.dateRangeType = enumStringToValue<e.DateRangeType>(e.DateRangeType, proto.dateRangeType);}\n if (proto.customDateRange) {m.customDateRange = DateRange.fromProto(proto.customDateRange);}\n if (proto.relativeDateRange) {m.relativeDateRange = RelativeDateRange.fromProto(proto.relativeDateRange);}\n return m;\n }\n\n constructor(kwargs?: i.EventTypeDateRangeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.dateRangeType !== 'undefined') {toReturn['dateRangeType'] = this.dateRangeType;}\n if (typeof this.customDateRange !== 'undefined' && this.customDateRange !== null) {toReturn['customDateRange'] = 'toApiJson' in this.customDateRange ? (this.customDateRange as any).toApiJson() : this.customDateRange;}\n if (typeof this.relativeDateRange !== 'undefined' && this.relativeDateRange !== null) {toReturn['relativeDateRange'] = 'toApiJson' in this.relativeDateRange ? (this.relativeDateRange as any).toApiJson() : this.relativeDateRange;}\n return toReturn;\n }\n}\n\nexport class Field implements i.FieldInterface {\n id: string;\n label: string;\n type: e.FormFieldType;\n required: boolean;\n\n static fromProto(proto: any): Field {\n let m = new Field();\n m = Object.assign(m, proto);\n if (proto.type) {m.type = enumStringToValue<e.FormFieldType>(e.FormFieldType, proto.type);}\n return m;\n }\n\n constructor(kwargs?: i.FieldInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.label !== 'undefined') {toReturn['label'] = this.label;}\n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.required !== 'undefined') {toReturn['required'] = this.required;}\n return toReturn;\n }\n}\n\nexport class Form implements i.FormInterface {\n fields: Field[];\n\n static fromProto(proto: any): Form {\n let m = new Form();\n m = Object.assign(m, proto);\n if (proto.fields) {m.fields = proto.fields.map(Field.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.FormInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.fields !== 'undefined' && this.fields !== null) {toReturn['fields'] = 'toApiJson' in this.fields ? (this.fields as any).toApiJson() : this.fields;}\n return toReturn;\n }\n}\n\nexport class MeetingType implements i.MeetingTypeInterface {\n id: string;\n name: string;\n duration: string;\n calendarId: string;\n description: string;\n hexColor: string;\n meetingTypeSlug: string;\n isPrivate: boolean;\n form: Form;\n isReserveWithGoogleService: boolean;\n hostUserIds: string[];\n bookingUrl: string;\n availabilityIncrement: number;\n bufferDurationAfterMeeting: number;\n noticeTime: number;\n location: string;\n locationType: e.MeetingLocationType;\n locationGuidelines: string;\n emailSubject: string;\n emailDescription: string;\n isPinned: boolean;\n calendarType: string;\n hostUsers: HostUser[];\n teamName: string;\n isVideoLinkDisabled: boolean;\n bufferDurationBeforeMeeting: number;\n dateRange: EventTypeDateRange;\n meetingType: e.TeamEventMeetingType;\n attendeeCount: number;\n registrationCutoff: number;\n sessionTitle: string;\n\n static fromProto(proto: any): MeetingType {\n let m = new MeetingType();\n m = Object.assign(m, proto);\n if (proto.form) {m.form = Form.fromProto(proto.form);}\n if (proto.availabilityIncrement) {m.availabilityIncrement = parseInt(proto.availabilityIncrement, 10);}\n if (proto.bufferDurationAfterMeeting) {m.bufferDurationAfterMeeting = parseInt(proto.bufferDurationAfterMeeting, 10);}\n if (proto.noticeTime) {m.noticeTime = parseInt(proto.noticeTime, 10);}\n if (proto.locationType) {m.locationType = enumStringToValue<e.MeetingLocationType>(e.MeetingLocationType, proto.locationType);}\n if (proto.hostUsers) {m.hostUsers = proto.hostUsers.map(HostUser.fromProto);}\n if (proto.bufferDurationBeforeMeeting) {m.bufferDurationBeforeMeeting = parseInt(proto.bufferDurationBeforeMeeting, 10);}\n if (proto.dateRange) {m.dateRange = EventTypeDateRange.fromProto(proto.dateRange);}\n if (proto.meetingType) {m.meetingType = enumStringToValue<e.TeamEventMeetingType>(e.TeamEventMeetingType, proto.meetingType);}\n if (proto.attendeeCount) {m.attendeeCount = parseInt(proto.attendeeCount, 10);}\n if (proto.registrationCutoff) {m.registrationCutoff = parseInt(proto.registrationCutoff, 10);}\n return m;\n }\n\n constructor(kwargs?: i.MeetingTypeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.duration !== 'undefined') {toReturn['duration'] = this.duration;}\n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.hexColor !== 'undefined') {toReturn['hexColor'] = this.hexColor;}\n if (typeof this.meetingTypeSlug !== 'undefined') {toReturn['meetingTypeSlug'] = this.meetingTypeSlug;}\n if (typeof this.isPrivate !== 'undefined') {toReturn['isPrivate'] = this.isPrivate;}\n if (typeof this.form !== 'undefined' && this.form !== null) {toReturn['form'] = 'toApiJson' in this.form ? (this.form as any).toApiJson() : this.form;}\n if (typeof this.isReserveWithGoogleService !== 'undefined') {toReturn['isReserveWithGoogleService'] = this.isReserveWithGoogleService;}\n if (typeof this.hostUserIds !== 'undefined') {toReturn['hostUserIds'] = this.hostUserIds;}\n if (typeof this.bookingUrl !== 'undefined') {toReturn['bookingUrl'] = this.bookingUrl;}\n if (typeof this.availabilityIncrement !== 'undefined') {toReturn['availabilityIncrement'] = this.availabilityIncrement;}\n if (typeof this.bufferDurationAfterMeeting !== 'undefined') {toReturn['bufferDurationAfterMeeting'] = this.bufferDurationAfterMeeting;}\n if (typeof this.noticeTime !== 'undefined') {toReturn['noticeTime'] = this.noticeTime;}\n if (typeof this.location !== 'undefined') {toReturn['location'] = this.location;}\n if (typeof this.locationType !== 'undefined') {toReturn['locationType'] = this.locationType;}\n if (typeof this.locationGuidelines !== 'undefined') {toReturn['locationGuidelines'] = this.locationGuidelines;}\n if (typeof this.emailSubject !== 'undefined') {toReturn['emailSubject'] = this.emailSubject;}\n if (typeof this.emailDescription !== 'undefined') {toReturn['emailDescription'] = this.emailDescription;}\n if (typeof this.isPinned !== 'undefined') {toReturn['isPinned'] = this.isPinned;}\n if (typeof this.calendarType !== 'undefined') {toReturn['calendarType'] = this.calendarType;}\n if (typeof this.hostUsers !== 'undefined' && this.hostUsers !== null) {toReturn['hostUsers'] = 'toApiJson' in this.hostUsers ? (this.hostUsers as any).toApiJson() : this.hostUsers;}\n if (typeof this.teamName !== 'undefined') {toReturn['teamName'] = this.teamName;}\n if (typeof this.isVideoLinkDisabled !== 'undefined') {toReturn['isVideoLinkDisabled'] = this.isVideoLinkDisabled;}\n if (typeof this.bufferDurationBeforeMeeting !== 'undefined') {toReturn['bufferDurationBeforeMeeting'] = this.bufferDurationBeforeMeeting;}\n if (typeof this.dateRange !== 'undefined' && this.dateRange !== null) {toReturn['dateRange'] = 'toApiJson' in this.dateRange ? (this.dateRange as any).toApiJson() : this.dateRange;}\n if (typeof this.meetingType !== 'undefined') {toReturn['meetingType'] = this.meetingType;}\n if (typeof this.attendeeCount !== 'undefined') {toReturn['attendeeCount'] = this.attendeeCount;}\n if (typeof this.registrationCutoff !== 'undefined') {toReturn['registrationCutoff'] = this.registrationCutoff;}\n if (typeof this.sessionTitle !== 'undefined') {toReturn['sessionTitle'] = this.sessionTitle;}\n return toReturn;\n }\n}\n\nexport class RelativeDateRange implements i.RelativeDateRangeInterface {\n unit: e.RelativeTimeUnit;\n value: number;\n\n static fromProto(proto: any): RelativeDateRange {\n let m = new RelativeDateRange();\n m = Object.assign(m, proto);\n if (proto.unit) {m.unit = enumStringToValue<e.RelativeTimeUnit>(e.RelativeTimeUnit, proto.unit);}\n if (proto.value) {m.value = parseInt(proto.value, 10);}\n return m;\n }\n\n constructor(kwargs?: i.RelativeDateRangeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.unit !== 'undefined') {toReturn['unit'] = this.unit;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class EventGroupAndServiceAssociations implements i.EventGroupAndServiceAssociationsInterface {\n id: string;\n name: string;\n eventType: string;\n identifier: string;\n isEditable: boolean;\n creatorUserName: string;\n calendarId: string;\n hexColor: string;\n duration: string;\n description: string;\n bookingUrl: string;\n\n static fromProto(proto: any): EventGroupAndServiceAssociations {\n let m = new EventGroupAndServiceAssociations();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.EventGroupAndServiceAssociationsInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.eventType !== 'undefined') {toReturn['eventType'] = this.eventType;}\n if (typeof this.identifier !== 'undefined') {toReturn['identifier'] = this.identifier;}\n if (typeof this.isEditable !== 'undefined') {toReturn['isEditable'] = this.isEditable;}\n if (typeof this.creatorUserName !== 'undefined') {toReturn['creatorUserName'] = this.creatorUserName;}\n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n if (typeof this.hexColor !== 'undefined') {toReturn['hexColor'] = this.hexColor;}\n if (typeof this.duration !== 'undefined') {toReturn['duration'] = this.duration;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.bookingUrl !== 'undefined') {toReturn['bookingUrl'] = this.bookingUrl;}\n return toReturn;\n }\n}\n\nexport class Group implements i.GroupInterface {\n id: string;\n name: string;\n description: string;\n slug: string;\n isPinned: boolean;\n associations: EventGroupAndServiceAssociations[];\n hexColor: string;\n bookingUrl: string;\n\n static fromProto(proto: any): Group {\n let m = new Group();\n m = Object.assign(m, proto);\n if (proto.associations) {m.associations = proto.associations.map(EventGroupAndServiceAssociations.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GroupInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.slug !== 'undefined') {toReturn['slug'] = this.slug;}\n if (typeof this.isPinned !== 'undefined') {toReturn['isPinned'] = this.isPinned;}\n if (typeof this.associations !== 'undefined' && this.associations !== null) {toReturn['associations'] = 'toApiJson' in this.associations ? (this.associations as any).toApiJson() : this.associations;}\n if (typeof this.hexColor !== 'undefined') {toReturn['hexColor'] = this.hexColor;}\n if (typeof this.bookingUrl !== 'undefined') {toReturn['bookingUrl'] = this.bookingUrl;}\n return toReturn;\n }\n}\n\nexport class Service implements i.ServiceInterface {\n id: string;\n name: string;\n description: string;\n slug: string;\n isPinned: boolean;\n associations: EventGroupAndServiceAssociations[];\n hexColor: string;\n bookingUrl: string;\n\n static fromProto(proto: any): Service {\n let m = new Service();\n m = Object.assign(m, proto);\n if (proto.associations) {m.associations = proto.associations.map(EventGroupAndServiceAssociations.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.ServiceInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.slug !== 'undefined') {toReturn['slug'] = this.slug;}\n if (typeof this.isPinned !== 'undefined') {toReturn['isPinned'] = this.isPinned;}\n if (typeof this.associations !== 'undefined' && this.associations !== null) {toReturn['associations'] = 'toApiJson' in this.associations ? (this.associations as any).toApiJson() : this.associations;}\n if (typeof this.hexColor !== 'undefined') {toReturn['hexColor'] = this.hexColor;}\n if (typeof this.bookingUrl !== 'undefined') {toReturn['bookingUrl'] = this.bookingUrl;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { Contact, Answers, Calendar, Host } from './shared';\nimport { DateRange } from './date-range';\nimport { Group, Service } from './groups-and-services';\nimport { MeetingType } from './meeting-type';\nimport { TimeZone } from './';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class BookMeetingRequest implements i.BookMeetingRequestInterface {\n hostId: string;\n meetingTypeId: string;\n timeSlot: DateRange;\n attendees: Contact[];\n start: Date;\n comment: string;\n metadata: {[key: string]: string};\n formAnswers: Answers;\n recaptchaToken: string;\n location: string;\n userId: string;\n\n static fromProto(proto: any): BookMeetingRequest {\n let m = new BookMeetingRequest();\n m = Object.assign(m, proto);\n if (proto.timeSlot) {m.timeSlot = DateRange.fromProto(proto.timeSlot);}\n if (proto.attendees) {m.attendees = proto.attendees.map(Contact.fromProto);}\n if (proto.start) {m.start = new Date(proto.start);}\n if (proto.metadata) {m.metadata = Object.keys(proto.metadata).reduce<any>((obj, k) => { obj[k] = proto.metadata[k]; return obj; }, {});}\n if (proto.formAnswers) {m.formAnswers = Answers.fromProto(proto.formAnswers);}\n return m;\n }\n\n constructor(kwargs?: i.BookMeetingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n if (typeof this.meetingTypeId !== 'undefined') {toReturn['meetingTypeId'] = this.meetingTypeId;}\n if (typeof this.timeSlot !== 'undefined' && this.timeSlot !== null) {toReturn['timeSlot'] = 'toApiJson' in this.timeSlot ? (this.timeSlot as any).toApiJson() : this.timeSlot;}\n if (typeof this.attendees !== 'undefined' && this.attendees !== null) {toReturn['attendees'] = 'toApiJson' in this.attendees ? (this.attendees as any).toApiJson() : this.attendees;}\n if (typeof this.start !== 'undefined' && this.start !== null) {toReturn['start'] = 'toApiJson' in this.start ? (this.start as any).toApiJson() : this.start;}\n if (typeof this.comment !== 'undefined') {toReturn['comment'] = this.comment;}\n if (typeof this.metadata !== 'undefined' && this.metadata !== null) {toReturn['metadata'] = 'toApiJson' in this.metadata ? (this.metadata as any).toApiJson() : this.metadata;}\n if (typeof this.formAnswers !== 'undefined' && this.formAnswers !== null) {toReturn['formAnswers'] = 'toApiJson' in this.formAnswers ? (this.formAnswers as any).toApiJson() : this.formAnswers;}\n if (typeof this.recaptchaToken !== 'undefined') {toReturn['recaptchaToken'] = this.recaptchaToken;}\n if (typeof this.location !== 'undefined') {toReturn['location'] = this.location;}\n if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n return toReturn;\n }\n}\n\nexport class BookMeetingResponse implements i.BookMeetingResponseInterface {\n meetingId: string;\n hostId: string;\n\n static fromProto(proto: any): BookMeetingResponse {\n let m = new BookMeetingResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.BookMeetingResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingId !== 'undefined') {toReturn['meetingId'] = this.meetingId;}\n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class GetCalendarRequest implements i.GetCalendarRequestInterface {\n calendarId: string;\n\n static fromProto(proto: any): GetCalendarRequest {\n let m = new GetCalendarRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetCalendarRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n return toReturn;\n }\n}\n\nexport class GetCalendarResponse implements i.GetCalendarResponseInterface {\n calendar: Calendar;\n\n static fromProto(proto: any): GetCalendarResponse {\n let m = new GetCalendarResponse();\n m = Object.assign(m, proto);\n if (proto.calendar) {m.calendar = Calendar.fromProto(proto.calendar);}\n return m;\n }\n\n constructor(kwargs?: i.GetCalendarResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendar !== 'undefined' && this.calendar !== null) {toReturn['calendar'] = 'toApiJson' in this.calendar ? (this.calendar as any).toApiJson() : this.calendar;}\n return toReturn;\n }\n}\n\nexport class GetGroupRequest implements i.GetGroupRequestInterface {\n groupId: string;\n slug: string;\n hostId: string;\n\n static fromProto(proto: any): GetGroupRequest {\n let m = new GetGroupRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetGroupRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.groupId !== 'undefined') {toReturn['groupId'] = this.groupId;}\n if (typeof this.slug !== 'undefined') {toReturn['slug'] = this.slug;}\n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class GetGroupResponse implements i.GetGroupResponseInterface {\n group: Group;\n businessDisplayLogoUrl: string;\n\n static fromProto(proto: any): GetGroupResponse {\n let m = new GetGroupResponse();\n m = Object.assign(m, proto);\n if (proto.group) {m.group = Group.fromProto(proto.group);}\n return m;\n }\n\n constructor(kwargs?: i.GetGroupResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.group !== 'undefined' && this.group !== null) {toReturn['group'] = 'toApiJson' in this.group ? (this.group as any).toApiJson() : this.group;}\n if (typeof this.businessDisplayLogoUrl !== 'undefined') {toReturn['businessDisplayLogoUrl'] = this.businessDisplayLogoUrl;}\n return toReturn;\n }\n}\n\nexport class GetHostRequest implements i.GetHostRequestInterface {\n hostId: string;\n\n static fromProto(proto: any): GetHostRequest {\n let m = new GetHostRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetHostRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class GetHostResponse implements i.GetHostResponseInterface {\n host: Host;\n\n static fromProto(proto: any): GetHostResponse {\n let m = new GetHostResponse();\n m = Object.assign(m, proto);\n if (proto.host) {m.host = Host.fromProto(proto.host);}\n return m;\n }\n\n constructor(kwargs?: i.GetHostResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.host !== 'undefined' && this.host !== null) {toReturn['host'] = 'toApiJson' in this.host ? (this.host as any).toApiJson() : this.host;}\n return toReturn;\n }\n}\n\nexport class GetMeetingTypeRequest implements i.GetMeetingTypeRequestInterface {\n calendarSlug: string;\n meetingTypeSlug: string;\n\n static fromProto(proto: any): GetMeetingTypeRequest {\n let m = new GetMeetingTypeRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMeetingTypeRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarSlug !== 'undefined') {toReturn['calendarSlug'] = this.calendarSlug;}\n if (typeof this.meetingTypeSlug !== 'undefined') {toReturn['meetingTypeSlug'] = this.meetingTypeSlug;}\n return toReturn;\n }\n}\n\nexport class GetMeetingTypeResponse implements i.GetMeetingTypeResponseInterface {\n meetingType: MeetingType;\n\n static fromProto(proto: any): GetMeetingTypeResponse {\n let m = new GetMeetingTypeResponse();\n m = Object.assign(m, proto);\n if (proto.meetingType) {m.meetingType = MeetingType.fromProto(proto.meetingType);}\n return m;\n }\n\n constructor(kwargs?: i.GetMeetingTypeResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingType !== 'undefined' && this.meetingType !== null) {toReturn['meetingType'] = 'toApiJson' in this.meetingType ? (this.meetingType as any).toApiJson() : this.meetingType;}\n return toReturn;\n }\n}\n\nexport class GetServiceRequest implements i.GetServiceRequestInterface {\n serviceId: string;\n slug: string;\n hostId: string;\n\n static fromProto(proto: any): GetServiceRequest {\n let m = new GetServiceRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetServiceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.serviceId !== 'undefined') {toReturn['serviceId'] = this.serviceId;}\n if (typeof this.slug !== 'undefined') {toReturn['slug'] = this.slug;}\n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class GetServiceResponse implements i.GetServiceResponseInterface {\n service: Service;\n businessDisplayLogoUrl: string;\n\n static fromProto(proto: any): GetServiceResponse {\n let m = new GetServiceResponse();\n m = Object.assign(m, proto);\n if (proto.service) {m.service = Service.fromProto(proto.service);}\n return m;\n }\n\n constructor(kwargs?: i.GetServiceResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.service !== 'undefined' && this.service !== null) {toReturn['service'] = 'toApiJson' in this.service ? (this.service as any).toApiJson() : this.service;}\n if (typeof this.businessDisplayLogoUrl !== 'undefined') {toReturn['businessDisplayLogoUrl'] = this.businessDisplayLogoUrl;}\n return toReturn;\n }\n}\n\nexport class GuestCancelMeetingRequest implements i.GuestCancelMeetingRequestInterface {\n meetingId: string;\n authToken: string;\n cancellationReason: string;\n\n static fromProto(proto: any): GuestCancelMeetingRequest {\n let m = new GuestCancelMeetingRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GuestCancelMeetingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingId !== 'undefined') {toReturn['meetingId'] = this.meetingId;}\n if (typeof this.authToken !== 'undefined') {toReturn['authToken'] = this.authToken;}\n if (typeof this.cancellationReason !== 'undefined') {toReturn['cancellationReason'] = this.cancellationReason;}\n return toReturn;\n }\n}\n\nexport class GuestGetBookedMeetingRequest implements i.GuestGetBookedMeetingRequestInterface {\n meetingId: string;\n authToken: string;\n\n static fromProto(proto: any): GuestGetBookedMeetingRequest {\n let m = new GuestGetBookedMeetingRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GuestGetBookedMeetingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingId !== 'undefined') {toReturn['meetingId'] = this.meetingId;}\n if (typeof this.authToken !== 'undefined') {toReturn['authToken'] = this.authToken;}\n return toReturn;\n }\n}\n\nexport class GuestGetBookedMeetingResponse implements i.GuestGetBookedMeetingResponseInterface {\n startTime: Date;\n endTime: Date;\n timeZone: TimeZone;\n meetingTypeId: string;\n location: string;\n locationType: e.MeetingLocationType;\n locationGuideline: string;\n meetingType: e.TeamEventMeetingType;\n displayName: string;\n calendarId: string;\n\n static fromProto(proto: any): GuestGetBookedMeetingResponse {\n let m = new GuestGetBookedMeetingResponse();\n m = Object.assign(m, proto);\n if (proto.startTime) {m.startTime = new Date(proto.startTime);}\n if (proto.endTime) {m.endTime = new Date(proto.endTime);}\n if (proto.timeZone) {m.timeZone = TimeZone.fromProto(proto.timeZone);}\n if (proto.locationType) {m.locationType = enumStringToValue<e.MeetingLocationType>(e.MeetingLocationType, proto.locationType);}\n if (proto.meetingType) {m.meetingType = enumStringToValue<e.TeamEventMeetingType>(e.TeamEventMeetingType, proto.meetingType);}\n return m;\n }\n\n constructor(kwargs?: i.GuestGetBookedMeetingResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.startTime !== 'undefined' && this.startTime !== null) {toReturn['startTime'] = 'toApiJson' in this.startTime ? (this.startTime as any).toApiJson() : this.startTime;}\n if (typeof this.endTime !== 'undefined' && this.endTime !== null) {toReturn['endTime'] = 'toApiJson' in this.endTime ? (this.endTime as any).toApiJson() : this.endTime;}\n if (typeof this.timeZone !== 'undefined' && this.timeZone !== null) {toReturn['timeZone'] = 'toApiJson' in this.timeZone ? (this.timeZone as any).toApiJson() : this.timeZone;}\n if (typeof this.meetingTypeId !== 'undefined') {toReturn['meetingTypeId'] = this.meetingTypeId;}\n if (typeof this.location !== 'undefined') {toReturn['location'] = this.location;}\n if (typeof this.locationType !== 'undefined') {toReturn['locationType'] = this.locationType;}\n if (typeof this.locationGuideline !== 'undefined') {toReturn['locationGuideline'] = this.locationGuideline;}\n if (typeof this.meetingType !== 'undefined') {toReturn['meetingType'] = this.meetingType;}\n if (typeof this.displayName !== 'undefined') {toReturn['displayName'] = this.displayName;}\n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n return toReturn;\n }\n}\n\nexport class GuestIsHostConfiguredRequest implements i.GuestIsHostConfiguredRequestInterface {\n hostId: string;\n\n static fromProto(proto: any): GuestIsHostConfiguredRequest {\n let m = new GuestIsHostConfiguredRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GuestIsHostConfiguredRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class GuestIsHostConfiguredResponse implements i.GuestIsHostConfiguredResponseInterface {\n isConfigured: boolean;\n\n static fromProto(proto: any): GuestIsHostConfiguredResponse {\n let m = new GuestIsHostConfiguredResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GuestIsHostConfiguredResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.isConfigured !== 'undefined') {toReturn['isConfigured'] = this.isConfigured;}\n return toReturn;\n }\n}\n\nexport class GuestRescheduleMeetingRequest implements i.GuestRescheduleMeetingRequestInterface {\n meetingId: string;\n authToken: string;\n start: Date;\n timeZone: TimeZone;\n location: string;\n\n static fromProto(proto: any): GuestRescheduleMeetingRequest {\n let m = new GuestRescheduleMeetingRequest();\n m = Object.assign(m, proto);\n if (proto.start) {m.start = new Date(proto.start);}\n if (proto.timeZone) {m.timeZone = TimeZone.fromProto(proto.timeZone);}\n return m;\n }\n\n constructor(kwargs?: i.GuestRescheduleMeetingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingId !== 'undefined') {toReturn['meetingId'] = this.meetingId;}\n if (typeof this.authToken !== 'undefined') {toReturn['authToken'] = this.authToken;}\n if (typeof this.start !== 'undefined' && this.start !== null) {toReturn['start'] = 'toApiJson' in this.start ? (this.start as any).toApiJson() : this.start;}\n if (typeof this.timeZone !== 'undefined' && this.timeZone !== null) {toReturn['timeZone'] = 'toApiJson' in this.timeZone ? (this.timeZone as any).toApiJson() : this.timeZone;}\n if (typeof this.location !== 'undefined') {toReturn['location'] = this.location;}\n return toReturn;\n }\n}\n\nexport class IsoDateTimeRange implements i.IsoDateTimeRangeInterface {\n start: string;\n end: string;\n\n static fromProto(proto: any): IsoDateTimeRange {\n let m = new IsoDateTimeRange();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.IsoDateTimeRangeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.start !== 'undefined') {toReturn['start'] = this.start;}\n if (typeof this.end !== 'undefined') {toReturn['end'] = this.end;}\n return toReturn;\n }\n}\n\nexport class ListAvailableTimeSlotsRequest implements i.ListAvailableTimeSlotsRequestInterface {\n hostId: string;\n meetingTypeId: string;\n timeSpan: DateRange;\n timeZone: TimeZone;\n userId: string;\n useIsoDates: boolean;\n\n static fromProto(proto: any): ListAvailableTimeSlotsRequest {\n let m = new ListAvailableTimeSlotsRequest();\n m = Object.assign(m, proto);\n if (proto.timeSpan) {m.timeSpan = DateRange.fromProto(proto.timeSpan);}\n if (proto.timeZone) {m.timeZone = TimeZone.fromProto(proto.timeZone);}\n return m;\n }\n\n constructor(kwargs?: i.ListAvailableTimeSlotsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n if (typeof this.meetingTypeId !== 'undefined') {toReturn['meetingTypeId'] = this.meetingTypeId;}\n if (typeof this.timeSpan !== 'undefined' && this.timeSpan !== null) {toReturn['timeSpan'] = 'toApiJson' in this.timeSpan ? (this.timeSpan as any).toApiJson() : this.timeSpan;}\n if (typeof this.timeZone !== 'undefined' && this.timeZone !== null) {toReturn['timeZone'] = 'toApiJson' in this.timeZone ? (this.timeZone as any).toApiJson() : this.timeZone;}\n if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n if (typeof this.useIsoDates !== 'undefined') {toReturn['useIsoDates'] = this.useIsoDates;}\n return toReturn;\n }\n}\n\nexport class ListAvailableTimeSlotsResponse implements i.ListAvailableTimeSlotsResponseInterface {\n timeSlots: DateRange[];\n isoTimeSlots: IsoDateTimeRange[];\n\n static fromProto(proto: any): ListAvailableTimeSlotsResponse {\n let m = new ListAvailableTimeSlotsResponse();\n m = Object.assign(m, proto);\n if (proto.timeSlots) {m.timeSlots = proto.timeSlots.map(DateRange.fromProto);}\n if (proto.isoTimeSlots) {m.isoTimeSlots = proto.isoTimeSlots.map(IsoDateTimeRange.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.ListAvailableTimeSlotsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.timeSlots !== 'undefined' && this.timeSlots !== null) {toReturn['timeSlots'] = 'toApiJson' in this.timeSlots ? (this.timeSlots as any).toApiJson() : this.timeSlots;}\n if (typeof this.isoTimeSlots !== 'undefined' && this.isoTimeSlots !== null) {toReturn['isoTimeSlots'] = 'toApiJson' in this.isoTimeSlots ? (this.isoTimeSlots as any).toApiJson() : this.isoTimeSlots;}\n return toReturn;\n }\n}\n\nexport class ListMeetingTypesRequest implements i.ListMeetingTypesRequestInterface {\n hostId: string;\n\n static fromProto(proto: any): ListMeetingTypesRequest {\n let m = new ListMeetingTypesRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ListMeetingTypesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class ListMeetingTypesResponse implements i.ListMeetingTypesResponseInterface {\n meetingTypes: MeetingType[];\n\n static fromProto(proto: any): ListMeetingTypesResponse {\n let m = new ListMeetingTypesResponse();\n m = Object.assign(m, proto);\n if (proto.meetingTypes) {m.meetingTypes = proto.meetingTypes.map(MeetingType.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.ListMeetingTypesResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingTypes !== 'undefined' && this.meetingTypes !== null) {toReturn['meetingTypes'] = 'toApiJson' in this.meetingTypes ? (this.meetingTypes as any).toApiJson() : this.meetingTypes;}\n return toReturn;\n }\n}\n\nexport class BookMeetingRequestMetadataEntry implements i.BookMeetingRequestMetadataEntryInterface {\n key: string;\n value: string;\n\n static fromProto(proto: any): BookMeetingRequestMetadataEntry {\n let m = new BookMeetingRequestMetadataEntry();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.BookMeetingRequestMetadataEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class FieldMask implements i.FieldMaskInterface {\n paths: string[];\n\n static fromProto(proto: any): FieldMask {\n let m = new FieldMask();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.FieldMaskInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.paths !== 'undefined') {toReturn['paths'] = this.paths;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { DateRange } from './date-range';\nimport { FieldMask } from './field-mask';\nimport { Group, Service } from './groups-and-services';\nimport { MeetingType } from './meeting-type';\nimport { TimeRange, Calendar, Preferences, HostUser, Contact, PagedRequestOptions, PagedResponseMetadata, Attendee, Answers, Attachment } from './shared';\nimport { TimeZone } from './';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class IsCalendarConfiguredRequestApplicationContextPropertiesEntry implements i.IsCalendarConfiguredRequestApplicationContextPropertiesEntryInterface {\n key: string;\n value: string;\n\n static fromProto(proto: any): IsCalendarConfiguredRequestApplicationContextPropertiesEntry {\n let m = new IsCalendarConfiguredRequestApplicationContextPropertiesEntry();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.IsCalendarConfiguredRequestApplicationContextPropertiesEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\nexport class EnsurePersonalCalendarExistsRequestApplicationContextPropertiesEntry implements i.EnsurePersonalCalendarExistsRequestApplicationContextPropertiesEntryInterface {\n key: string;\n value: string;\n\n static fromProto(proto: any): EnsurePersonalCalendarExistsRequestApplicationContextPropertiesEntry {\n let m = new EnsurePersonalCalendarExistsRequestApplicationContextPropertiesEntry();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.EnsurePersonalCalendarExistsRequestApplicationContextPropertiesEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\nexport class BuildHostIdRequestApplicationContextPropertiesEntry implements i.BuildHostIdRequestApplicationContextPropertiesEntryInterface {\n key: string;\n value: string;\n\n static fromProto(proto: any): BuildHostIdRequestApplicationContextPropertiesEntry {\n let m = new BuildHostIdRequestApplicationContextPropertiesEntry();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.BuildHostIdRequestApplicationContextPropertiesEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\nexport class AvailabilityRule implements i.AvailabilityRuleInterface {\n hostId: string;\n meetingTypeId: string;\n day: e.DayOfWeek;\n timeSlot: TimeRange;\n timeZone: TimeZone;\n\n static fromProto(proto: any): AvailabilityRule {\n let m = new AvailabilityRule();\n m = Object.assign(m, proto);\n if (proto.day) {m.day = enumStringToValue<e.DayOfWeek>(e.DayOfWeek, proto.day);}\n if (proto.timeSlot) {m.timeSlot = TimeRange.fromProto(proto.timeSlot);}\n if (proto.timeZone) {m.timeZone = TimeZone.fromProto(proto.timeZone);}\n return m;\n }\n\n constructor(kwargs?: i.AvailabilityRuleInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n if (typeof this.meetingTypeId !== 'undefined') {toReturn['meetingTypeId'] = this.meetingTypeId;}\n if (typeof this.day !== 'undefined') {toReturn['day'] = this.day;}\n if (typeof this.timeSlot !== 'undefined' && this.timeSlot !== null) {toReturn['timeSlot'] = 'toApiJson' in this.timeSlot ? (this.timeSlot as any).toApiJson() : this.timeSlot;}\n if (typeof this.timeZone !== 'undefined' && this.timeZone !== null) {toReturn['timeZone'] = 'toApiJson' in this.timeZone ? (this.timeZone as any).toApiJson() : this.timeZone;}\n return toReturn;\n }\n}\n\nexport class AvailabilityRuleList implements i.AvailabilityRuleListInterface {\n rules: AvailabilityRule[];\n\n static fromProto(proto: any): AvailabilityRuleList {\n let m = new AvailabilityRuleList();\n m = Object.assign(m, proto);\n if (proto.rules) {m.rules = proto.rules.map(AvailabilityRule.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.AvailabilityRuleListInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.rules !== 'undefined' && this.rules !== null) {toReturn['rules'] = 'toApiJson' in this.rules ? (this.rules as any).toApiJson() : this.rules;}\n return toReturn;\n }\n}\n\nexport class BuildHostIdRequest implements i.BuildHostIdRequestInterface {\n applicationContextProperties: {[key: string]: string};\n userId: string;\n\n static fromProto(proto: any): BuildHostIdRequest {\n let m = new BuildHostIdRequest();\n m = Object.assign(m, proto);\n if (proto.applicationContextProperties) {m.applicationContextProperties = Object.keys(proto.applicationContextProperties).reduce<any>((obj, k) => { obj[k] = proto.applicationContextProperties[k]; return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.BuildHostIdRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.applicationContextProperties !== 'undefined' && this.applicationContextProperties !== null) {toReturn['applicationContextProperties'] = 'toApiJson' in this.applicationContextProperties ? (this.applicationContextProperties as any).toApiJson() : this.applicationContextProperties;}\n if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n return toReturn;\n }\n}\n\nexport class BuildHostIdResponse implements i.BuildHostIdResponseInterface {\n hostId: string;\n\n static fromProto(proto: any): BuildHostIdResponse {\n let m = new BuildHostIdResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.BuildHostIdResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class GetMeetingTypesForCalendarsResponseCalendarMeetingTypesMapEntry implements i.GetMeetingTypesForCalendarsResponseCalendarMeetingTypesMapEntryInterface {\n key: string;\n value: MeetingTypeList;\n\n static fromProto(proto: any): GetMeetingTypesForCalendarsResponseCalendarMeetingTypesMapEntry {\n let m = new GetMeetingTypesForCalendarsResponseCalendarMeetingTypesMapEntry();\n m = Object.assign(m, proto);\n if (proto.value) {m.value = MeetingTypeList.fromProto(proto.value);}\n return m;\n }\n\n constructor(kwargs?: i.GetMeetingTypesForCalendarsResponseCalendarMeetingTypesMapEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined' && this.value !== null) {toReturn['value'] = 'toApiJson' in this.value ? (this.value as any).toApiJson() : this.value;}\n return toReturn;\n }\n}\n\nexport class CalendarMigrationResponse implements i.CalendarMigrationResponseInterface {\n status: boolean;\n\n static fromProto(proto: any): CalendarMigrationResponse {\n let m = new CalendarMigrationResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CalendarMigrationResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n return toReturn;\n }\n}\n\nexport class CancelMeetingRequest implements i.CancelMeetingRequestInterface {\n meetingId: string;\n cancellationReason: string;\n\n static fromProto(proto: any): CancelMeetingRequest {\n let m = new CancelMeetingRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CancelMeetingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingId !== 'undefined') {toReturn['meetingId'] = this.meetingId;}\n if (typeof this.cancellationReason !== 'undefined') {toReturn['cancellationReason'] = this.cancellationReason;}\n return toReturn;\n }\n}\n\nexport class CheckGroupOrServiceSlugExistRequest implements i.CheckGroupOrServiceSlugExistRequestInterface {\n hostId: string;\n slugIdentifier: string;\n category: string;\n\n static fromProto(proto: any): CheckGroupOrServiceSlugExistRequest {\n let m = new CheckGroupOrServiceSlugExistRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CheckGroupOrServiceSlugExistRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n if (typeof this.slugIdentifier !== 'undefined') {toReturn['slugIdentifier'] = this.slugIdentifier;}\n if (typeof this.category !== 'undefined') {toReturn['category'] = this.category;}\n return toReturn;\n }\n}\n\nexport class CheckGroupOrServiceSlugExistResponse implements i.CheckGroupOrServiceSlugExistResponseInterface {\n exists: boolean;\n\n static fromProto(proto: any): CheckGroupOrServiceSlugExistResponse {\n let m = new CheckGroupOrServiceSlugExistResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CheckGroupOrServiceSlugExistResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.exists !== 'undefined') {toReturn['exists'] = this.exists;}\n return toReturn;\n }\n}\n\nexport class CreateAvailabilityRequest implements i.CreateAvailabilityRequestInterface {\n\n static fromProto(proto: any): CreateAvailabilityRequest {\n let m = new CreateAvailabilityRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateAvailabilityRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n return toReturn;\n }\n}\n\nexport class CreateAvailabilityResponse implements i.CreateAvailabilityResponseInterface {\n\n static fromProto(proto: any): CreateAvailabilityResponse {\n let m = new CreateAvailabilityResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateAvailabilityResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n return toReturn;\n }\n}\n\nexport class CreateCalendarRequest implements i.CreateCalendarRequestInterface {\n calendar: Calendar;\n\n static fromProto(proto: any): CreateCalendarRequest {\n let m = new CreateCalendarRequest();\n m = Object.assign(m, proto);\n if (proto.calendar) {m.calendar = Calendar.fromProto(proto.calendar);}\n return m;\n }\n\n constructor(kwargs?: i.CreateCalendarRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendar !== 'undefined' && this.calendar !== null) {toReturn['calendar'] = 'toApiJson' in this.calendar ? (this.calendar as any).toApiJson() : this.calendar;}\n return toReturn;\n }\n}\n\nexport class CreateCalendarResponse implements i.CreateCalendarResponseInterface {\n calendarId: string;\n\n static fromProto(proto: any): CreateCalendarResponse {\n let m = new CreateCalendarResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateCalendarResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n return toReturn;\n }\n}\n\nexport class CreateDefaultMeetingTypesRequest implements i.CreateDefaultMeetingTypesRequestInterface {\n calendarId: string;\n calendarIds: string[];\n\n static fromProto(proto: any): CreateDefaultMeetingTypesRequest {\n let m = new CreateDefaultMeetingTypesRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateDefaultMeetingTypesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n if (typeof this.calendarIds !== 'undefined') {toReturn['calendarIds'] = this.calendarIds;}\n return toReturn;\n }\n}\n\nexport class CreateGroupRequest implements i.CreateGroupRequestInterface {\n group: Group;\n fieldMask: FieldMask;\n hostId: string;\n\n static fromProto(proto: any): CreateGroupRequest {\n let m = new CreateGroupRequest();\n m = Object.assign(m, proto);\n if (proto.group) {m.group = Group.fromProto(proto.group);}\n if (proto.fieldMask) {m.fieldMask = FieldMask.fromProto(proto.fieldMask);}\n return m;\n }\n\n constructor(kwargs?: i.CreateGroupRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.group !== 'undefined' && this.group !== null) {toReturn['group'] = 'toApiJson' in this.group ? (this.group as any).toApiJson() : this.group;}\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? (this.fieldMask as any).toApiJson() : this.fieldMask;}\n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class CreateGroupResponse implements i.CreateGroupResponseInterface {\n id: string;\n\n static fromProto(proto: any): CreateGroupResponse {\n let m = new CreateGroupResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateGroupResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n return toReturn;\n }\n}\n\nexport class CreateMeetingTypeRequest implements i.CreateMeetingTypeRequestInterface {\n meetingType: MeetingType;\n fieldMask: FieldMask;\n hostId: string;\n\n static fromProto(proto: any): CreateMeetingTypeRequest {\n let m = new CreateMeetingTypeRequest();\n m = Object.assign(m, proto);\n if (proto.meetingType) {m.meetingType = MeetingType.fromProto(proto.meetingType);}\n if (proto.fieldMask) {m.fieldMask = FieldMask.fromProto(proto.fieldMask);}\n return m;\n }\n\n constructor(kwargs?: i.CreateMeetingTypeRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingType !== 'undefined' && this.meetingType !== null) {toReturn['meetingType'] = 'toApiJson' in this.meetingType ? (this.meetingType as any).toApiJson() : this.meetingType;}\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? (this.fieldMask as any).toApiJson() : this.fieldMask;}\n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class CreateMeetingTypeResponse implements i.CreateMeetingTypeResponseInterface {\n id: string;\n\n static fromProto(proto: any): CreateMeetingTypeResponse {\n let m = new CreateMeetingTypeResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateMeetingTypeResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n return toReturn;\n }\n}\n\nexport class CreateServiceRequest implements i.CreateServiceRequestInterface {\n service: Service;\n fieldMask: FieldMask;\n hostId: string;\n\n static fromProto(proto: any): CreateServiceRequest {\n let m = new CreateServiceRequest();\n m = Object.assign(m, proto);\n if (proto.service) {m.service = Service.fromProto(proto.service);}\n if (proto.fieldMask) {m.fieldMask = FieldMask.fromProto(proto.fieldMask);}\n return m;\n }\n\n constructor(kwargs?: i.CreateServiceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.service !== 'undefined' && this.service !== null) {toReturn['service'] = 'toApiJson' in this.service ? (this.service as any).toApiJson() : this.service;}\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? (this.fieldMask as any).toApiJson() : this.fieldMask;}\n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class CreateServiceResponse implements i.CreateServiceResponseInterface {\n id: string;\n\n static fromProto(proto: any): CreateServiceResponse {\n let m = new CreateServiceResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateServiceResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n return toReturn;\n }\n}\n\nexport class DeleteAvailabilityRequest implements i.DeleteAvailabilityRequestInterface {\n\n static fromProto(proto: any): DeleteAvailabilityRequest {\n let m = new DeleteAvailabilityRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeleteAvailabilityRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n return toReturn;\n }\n}\n\nexport class DeleteGroupRequest implements i.DeleteGroupRequestInterface {\n id: string;\n hostId: string;\n\n static fromProto(proto: any): DeleteGroupRequest {\n let m = new DeleteGroupRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeleteGroupRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class DeleteMeetingTypeRequest implements i.DeleteMeetingTypeRequestInterface {\n id: string;\n\n static fromProto(proto: any): DeleteMeetingTypeRequest {\n let m = new DeleteMeetingTypeRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeleteMeetingTypeRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n return toReturn;\n }\n}\n\nexport class DeleteServiceRequest implements i.DeleteServiceRequestInterface {\n id: string;\n hostId: string;\n\n static fromProto(proto: any): DeleteServiceRequest {\n let m = new DeleteServiceRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeleteServiceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class DoesCalendarExistRequest implements i.DoesCalendarExistRequestInterface {\n calendarIdentifier: string;\n\n static fromProto(proto: any): DoesCalendarExistRequest {\n let m = new DoesCalendarExistRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DoesCalendarExistRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarIdentifier !== 'undefined') {toReturn['calendarIdentifier'] = this.calendarIdentifier;}\n return toReturn;\n }\n}\n\nexport class DoesCalendarExistResponse implements i.DoesCalendarExistResponseInterface {\n exists: boolean;\n\n static fromProto(proto: any): DoesCalendarExistResponse {\n let m = new DoesCalendarExistResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DoesCalendarExistResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.exists !== 'undefined') {toReturn['exists'] = this.exists;}\n return toReturn;\n }\n}\n\nexport class EnsureGroupCalendarsExistRequest implements i.EnsureGroupCalendarsExistRequestInterface {\n externalIds: string[];\n\n static fromProto(proto: any): EnsureGroupCalendarsExistRequest {\n let m = new EnsureGroupCalendarsExistRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.EnsureGroupCalendarsExistRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.externalIds !== 'undefined') {toReturn['externalIds'] = this.externalIds;}\n return toReturn;\n }\n}\n\nexport class EnsureGroupCalendarsExistResponse implements i.EnsureGroupCalendarsExistResponseInterface {\n calendarIds: string[];\n\n static fromProto(proto: any): EnsureGroupCalendarsExistResponse {\n let m = new EnsureGroupCalendarsExistResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.EnsureGroupCalendarsExistResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarIds !== 'undefined') {toReturn['calendarIds'] = this.calendarIds;}\n return toReturn;\n }\n}\n\nexport class EnsurePersonalCalendarExistsRequest implements i.EnsurePersonalCalendarExistsRequestInterface {\n userId: string;\n applicationContextProperties: {[key: string]: string};\n\n static fromProto(proto: any): EnsurePersonalCalendarExistsRequest {\n let m = new EnsurePersonalCalendarExistsRequest();\n m = Object.assign(m, proto);\n if (proto.applicationContextProperties) {m.applicationContextProperties = Object.keys(proto.applicationContextProperties).reduce<any>((obj, k) => { obj[k] = proto.applicationContextProperties[k]; return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.EnsurePersonalCalendarExistsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n if (typeof this.applicationContextProperties !== 'undefined' && this.applicationContextProperties !== null) {toReturn['applicationContextProperties'] = 'toApiJson' in this.applicationContextProperties ? (this.applicationContextProperties as any).toApiJson() : this.applicationContextProperties;}\n return toReturn;\n }\n}\n\nexport class EnsurePersonalCalendarExistsResponse implements i.EnsurePersonalCalendarExistsResponseInterface {\n calendarId: string;\n\n static fromProto(proto: any): EnsurePersonalCalendarExistsResponse {\n let m = new EnsurePersonalCalendarExistsResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.EnsurePersonalCalendarExistsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n return toReturn;\n }\n}\n\nexport class ListBookedMeetingsRequestFilters implements i.ListBookedMeetingsRequestFiltersInterface {\n meetingTypeIds: string[];\n hostId: string;\n timeSpan: DateRange;\n\n static fromProto(proto: any): ListBookedMeetingsRequestFilters {\n let m = new ListBookedMeetingsRequestFilters();\n m = Object.assign(m, proto);\n if (proto.timeSpan) {m.timeSpan = DateRange.fromProto(proto.timeSpan);}\n return m;\n }\n\n constructor(kwargs?: i.ListBookedMeetingsRequestFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingTypeIds !== 'undefined') {toReturn['meetingTypeIds'] = this.meetingTypeIds;}\n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n if (typeof this.timeSpan !== 'undefined' && this.timeSpan !== null) {toReturn['timeSpan'] = 'toApiJson' in this.timeSpan ? (this.timeSpan as any).toApiJson() : this.timeSpan;}\n return toReturn;\n }\n}\n\nexport class ListAvailabilityRequestFilters implements i.ListAvailabilityRequestFiltersInterface {\n hostId: string;\n meetingTypeId: string;\n\n static fromProto(proto: any): ListAvailabilityRequestFilters {\n let m = new ListAvailabilityRequestFilters();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ListAvailabilityRequestFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n if (typeof this.meetingTypeId !== 'undefined') {toReturn['meetingTypeId'] = this.meetingTypeId;}\n return toReturn;\n }\n}\n\nexport class GetEntityAssociationRequest implements i.GetEntityAssociationRequestInterface {\n entityId: string;\n\n static fromProto(proto: any): GetEntityAssociationRequest {\n let m = new GetEntityAssociationRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetEntityAssociationRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.entityId !== 'undefined') {toReturn['entityId'] = this.entityId;}\n return toReturn;\n }\n}\n\nexport class GetEntityAssociationResponse implements i.GetEntityAssociationResponseInterface {\n groups: string[];\n services: string[];\n\n static fromProto(proto: any): GetEntityAssociationResponse {\n let m = new GetEntityAssociationResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetEntityAssociationResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.groups !== 'undefined') {toReturn['groups'] = this.groups;}\n if (typeof this.services !== 'undefined') {toReturn['services'] = this.services;}\n return toReturn;\n }\n}\n\nexport class GetHostMeetingRequest implements i.GetHostMeetingRequestInterface {\n meetingId: string;\n location: string;\n\n static fromProto(proto: any): GetHostMeetingRequest {\n let m = new GetHostMeetingRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetHostMeetingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingId !== 'undefined') {toReturn['meetingId'] = this.meetingId;}\n if (typeof this.location !== 'undefined') {toReturn['location'] = this.location;}\n return toReturn;\n }\n}\n\nexport class GetHostMeetingResponse implements i.GetHostMeetingResponseInterface {\n meeting: Meeting;\n\n static fromProto(proto: any): GetHostMeetingResponse {\n let m = new GetHostMeetingResponse();\n m = Object.assign(m, proto);\n if (proto.meeting) {m.meeting = Meeting.fromProto(proto.meeting);}\n return m;\n }\n\n constructor(kwargs?: i.GetHostMeetingResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meeting !== 'undefined' && this.meeting !== null) {toReturn['meeting'] = 'toApiJson' in this.meeting ? (this.meeting as any).toApiJson() : this.meeting;}\n return toReturn;\n }\n}\n\nexport class GetHostPreferencesRequest implements i.GetHostPreferencesRequestInterface {\n hostId: string;\n\n static fromProto(proto: any): GetHostPreferencesRequest {\n let m = new GetHostPreferencesRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetHostPreferencesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class GetHostPreferencesResponse implements i.GetHostPreferencesResponseInterface {\n preferences: Preferences;\n\n static fromProto(proto: any): GetHostPreferencesResponse {\n let m = new GetHostPreferencesResponse();\n m = Object.assign(m, proto);\n if (proto.preferences) {m.preferences = Preferences.fromProto(proto.preferences);}\n return m;\n }\n\n constructor(kwargs?: i.GetHostPreferencesResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.preferences !== 'undefined' && this.preferences !== null) {toReturn['preferences'] = 'toApiJson' in this.preferences ? (this.preferences as any).toApiJson() : this.preferences;}\n return toReturn;\n }\n}\n\nexport class GetHostsForCalendarRequest implements i.GetHostsForCalendarRequestInterface {\n calendarId: string;\n timezone: string;\n\n static fromProto(proto: any): GetHostsForCalendarRequest {\n let m = new GetHostsForCalendarRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetHostsForCalendarRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n if (typeof this.timezone !== 'undefined') {toReturn['timezone'] = this.timezone;}\n return toReturn;\n }\n}\n\nexport class GetHostsForCalendarResponse implements i.GetHostsForCalendarResponseInterface {\n hostUsers: HostUser[];\n hostUserAvailabilityRule: {[key: string]: AvailabilityRuleList};\n\n static fromProto(proto: any): GetHostsForCalendarResponse {\n let m = new GetHostsForCalendarResponse();\n m = Object.assign(m, proto);\n if (proto.hostUsers) {m.hostUsers = proto.hostUsers.map(HostUser.fromProto);}\n if (proto.hostUserAvailabilityRule) {m.hostUserAvailabilityRule = Object.keys(proto.hostUserAvailabilityRule).reduce<any>((obj, k) => { obj[k] = AvailabilityRuleList.fromProto(proto.hostUserAvailabilityRule[k]); return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.GetHostsForCalendarResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostUsers !== 'undefined' && this.hostUsers !== null) {toReturn['hostUsers'] = 'toApiJson' in this.hostUsers ? (this.hostUsers as any).toApiJson() : this.hostUsers;}\n if (typeof this.hostUserAvailabilityRule !== 'undefined' && this.hostUserAvailabilityRule !== null) {toReturn['hostUserAvailabilityRule'] = 'toApiJson' in this.hostUserAvailabilityRule ? (this.hostUserAvailabilityRule as any).toApiJson() : this.hostUserAvailabilityRule;}\n return toReturn;\n }\n}\n\nexport class GetMeetingTypesForCalendarsRequest implements i.GetMeetingTypesForCalendarsRequestInterface {\n calendarIds: string[];\n\n static fromProto(proto: any): GetMeetingTypesForCalendarsRequest {\n let m = new GetMeetingTypesForCalendarsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMeetingTypesForCalendarsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarIds !== 'undefined') {toReturn['calendarIds'] = this.calendarIds;}\n return toReturn;\n }\n}\n\nexport class GetMeetingTypesForCalendarsResponse implements i.GetMeetingTypesForCalendarsResponseInterface {\n calendarMeetingTypesMap: {[key: string]: MeetingTypeList};\n\n static fromProto(proto: any): GetMeetingTypesForCalendarsResponse {\n let m = new GetMeetingTypesForCalendarsResponse();\n m = Object.assign(m, proto);\n if (proto.calendarMeetingTypesMap) {m.calendarMeetingTypesMap = Object.keys(proto.calendarMeetingTypesMap).reduce<any>((obj, k) => { obj[k] = MeetingTypeList.fromProto(proto.calendarMeetingTypesMap[k]); return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.GetMeetingTypesForCalendarsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarMeetingTypesMap !== 'undefined' && this.calendarMeetingTypesMap !== null) {toReturn['calendarMeetingTypesMap'] = 'toApiJson' in this.calendarMeetingTypesMap ? (this.calendarMeetingTypesMap as any).toApiJson() : this.calendarMeetingTypesMap;}\n return toReturn;\n }\n}\n\nexport class HostBookMeetingRequest implements i.HostBookMeetingRequestInterface {\n meetingSource: e.MeetingSource;\n calendarId: string;\n meetingTypeId: string;\n timeSlot: DateRange;\n attendees: Contact[];\n topic: string;\n userId: string;\n\n static fromProto(proto: any): HostBookMeetingRequest {\n let m = new HostBookMeetingRequest();\n m = Object.assign(m, proto);\n if (proto.meetingSource) {m.meetingSource = enumStringToValue<e.MeetingSource>(e.MeetingSource, proto.meetingSource);}\n if (proto.timeSlot) {m.timeSlot = DateRange.fromProto(proto.timeSlot);}\n if (proto.attendees) {m.attendees = proto.attendees.map(Contact.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.HostBookMeetingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingSource !== 'undefined') {toReturn['meetingSource'] = this.meetingSource;}\n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n if (typeof this.meetingTypeId !== 'undefined') {toReturn['meetingTypeId'] = this.meetingTypeId;}\n if (typeof this.timeSlot !== 'undefined' && this.timeSlot !== null) {toReturn['timeSlot'] = 'toApiJson' in this.timeSlot ? (this.timeSlot as any).toApiJson() : this.timeSlot;}\n if (typeof this.attendees !== 'undefined' && this.attendees !== null) {toReturn['attendees'] = 'toApiJson' in this.attendees ? (this.attendees as any).toApiJson() : this.attendees;}\n if (typeof this.topic !== 'undefined') {toReturn['topic'] = this.topic;}\n if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n return toReturn;\n }\n}\n\nexport class HostBookMeetingResponse implements i.HostBookMeetingResponseInterface {\n meetingId: string;\n\n static fromProto(proto: any): HostBookMeetingResponse {\n let m = new HostBookMeetingResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.HostBookMeetingResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingId !== 'undefined') {toReturn['meetingId'] = this.meetingId;}\n return toReturn;\n }\n}\n\nexport class HostDetails implements i.HostDetailsInterface {\n hostId: string;\n name: string;\n\n static fromProto(proto: any): HostDetails {\n let m = new HostDetails();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.HostDetailsInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n return toReturn;\n }\n}\n\nexport class HostGetCalendarRequest implements i.HostGetCalendarRequestInterface {\n calendarId: string;\n\n static fromProto(proto: any): HostGetCalendarRequest {\n let m = new HostGetCalendarRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.HostGetCalendarRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n return toReturn;\n }\n}\n\nexport class HostGetCalendarResponse implements i.HostGetCalendarResponseInterface {\n calendar: Calendar;\n\n static fromProto(proto: any): HostGetCalendarResponse {\n let m = new HostGetCalendarResponse();\n m = Object.assign(m, proto);\n if (proto.calendar) {m.calendar = Calendar.fromProto(proto.calendar);}\n return m;\n }\n\n constructor(kwargs?: i.HostGetCalendarResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendar !== 'undefined' && this.calendar !== null) {toReturn['calendar'] = 'toApiJson' in this.calendar ? (this.calendar as any).toApiJson() : this.calendar;}\n return toReturn;\n }\n}\n\nexport class HostGetMeetingTypeRequest implements i.HostGetMeetingTypeRequestInterface {\n calendarSlug: string;\n meetingTypeSlug: string;\n\n static fromProto(proto: any): HostGetMeetingTypeRequest {\n let m = new HostGetMeetingTypeRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.HostGetMeetingTypeRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarSlug !== 'undefined') {toReturn['calendarSlug'] = this.calendarSlug;}\n if (typeof this.meetingTypeSlug !== 'undefined') {toReturn['meetingTypeSlug'] = this.meetingTypeSlug;}\n return toReturn;\n }\n}\n\nexport class HostGetMeetingTypeResponse implements i.HostGetMeetingTypeResponseInterface {\n meetingType: MeetingType;\n\n static fromProto(proto: any): HostGetMeetingTypeResponse {\n let m = new HostGetMeetingTypeResponse();\n m = Object.assign(m, proto);\n if (proto.meetingType) {m.meetingType = MeetingType.fromProto(proto.meetingType);}\n return m;\n }\n\n constructor(kwargs?: i.HostGetMeetingTypeResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingType !== 'undefined' && this.meetingType !== null) {toReturn['meetingType'] = 'toApiJson' in this.meetingType ? (this.meetingType as any).toApiJson() : this.meetingType;}\n return toReturn;\n }\n}\n\nexport class HostListMeetingTypesRequest implements i.HostListMeetingTypesRequestInterface {\n hostId: string;\n\n static fromProto(proto: any): HostListMeetingTypesRequest {\n let m = new HostListMeetingTypesRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.HostListMeetingTypesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class HostListMeetingTypesResponse implements i.HostListMeetingTypesResponseInterface {\n meetingTypes: MeetingType[];\n\n static fromProto(proto: any): HostListMeetingTypesResponse {\n let m = new HostListMeetingTypesResponse();\n m = Object.assign(m, proto);\n if (proto.meetingTypes) {m.meetingTypes = proto.meetingTypes.map(MeetingType.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.HostListMeetingTypesResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingTypes !== 'undefined' && this.meetingTypes !== null) {toReturn['meetingTypes'] = 'toApiJson' in this.meetingTypes ? (this.meetingTypes as any).toApiJson() : this.meetingTypes;}\n return toReturn;\n }\n}\n\nexport class GetHostsForCalendarResponseHostUserAvailabilityRuleEntry implements i.GetHostsForCalendarResponseHostUserAvailabilityRuleEntryInterface {\n key: string;\n value: AvailabilityRuleList;\n\n static fromProto(proto: any): GetHostsForCalendarResponseHostUserAvailabilityRuleEntry {\n let m = new GetHostsForCalendarResponseHostUserAvailabilityRuleEntry();\n m = Object.assign(m, proto);\n if (proto.value) {m.value = AvailabilityRuleList.fromProto(proto.value);}\n return m;\n }\n\n constructor(kwargs?: i.GetHostsForCalendarResponseHostUserAvailabilityRuleEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined' && this.value !== null) {toReturn['value'] = 'toApiJson' in this.value ? (this.value as any).toApiJson() : this.value;}\n return toReturn;\n }\n}\n\nexport class IsCalendarConfiguredRequest implements i.IsCalendarConfiguredRequestInterface {\n applicationContextProperties: {[key: string]: string};\n userId: string;\n\n static fromProto(proto: any): IsCalendarConfiguredRequest {\n let m = new IsCalendarConfiguredRequest();\n m = Object.assign(m, proto);\n if (proto.applicationContextProperties) {m.applicationContextProperties = Object.keys(proto.applicationContextProperties).reduce<any>((obj, k) => { obj[k] = proto.applicationContextProperties[k]; return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.IsCalendarConfiguredRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.applicationContextProperties !== 'undefined' && this.applicationContextProperties !== null) {toReturn['applicationContextProperties'] = 'toApiJson' in this.applicationContextProperties ? (this.applicationContextProperties as any).toApiJson() : this.applicationContextProperties;}\n if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n return toReturn;\n }\n}\n\nexport class IsCalendarConfiguredResponse implements i.IsCalendarConfiguredResponseInterface {\n isConfigured: boolean;\n calendarIds: string[];\n\n static fromProto(proto: any): IsCalendarConfiguredResponse {\n let m = new IsCalendarConfiguredResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.IsCalendarConfiguredResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.isConfigured !== 'undefined') {toReturn['isConfigured'] = this.isConfigured;}\n if (typeof this.calendarIds !== 'undefined') {toReturn['calendarIds'] = this.calendarIds;}\n return toReturn;\n }\n}\n\nexport class IsHostConfiguredRequest implements i.IsHostConfiguredRequestInterface {\n hostId: string;\n\n static fromProto(proto: any): IsHostConfiguredRequest {\n let m = new IsHostConfiguredRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.IsHostConfiguredRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class IsHostConfiguredResponse implements i.IsHostConfiguredResponseInterface {\n isConfigured: boolean;\n onBoardingState: e.OnBoardingState;\n\n static fromProto(proto: any): IsHostConfiguredResponse {\n let m = new IsHostConfiguredResponse();\n m = Object.assign(m, proto);\n if (proto.onBoardingState) {m.onBoardingState = enumStringToValue<e.OnBoardingState>(e.OnBoardingState, proto.onBoardingState);}\n return m;\n }\n\n constructor(kwargs?: i.IsHostConfiguredResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.isConfigured !== 'undefined') {toReturn['isConfigured'] = this.isConfigured;}\n if (typeof this.onBoardingState !== 'undefined') {toReturn['onBoardingState'] = this.onBoardingState;}\n return toReturn;\n }\n}\n\nexport class ListAvailabilityRequest implements i.ListAvailabilityRequestInterface {\n pagingOptions: PagedRequestOptions;\n filters: ListAvailabilityRequestFilters;\n timeZone: TimeZone;\n\n static fromProto(proto: any): ListAvailabilityRequest {\n let m = new ListAvailabilityRequest();\n m = Object.assign(m, proto);\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n if (proto.filters) {m.filters = ListAvailabilityRequestFilters.fromProto(proto.filters);}\n if (proto.timeZone) {m.timeZone = TimeZone.fromProto(proto.timeZone);}\n return m;\n }\n\n constructor(kwargs?: i.ListAvailabilityRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.timeZone !== 'undefined' && this.timeZone !== null) {toReturn['timeZone'] = 'toApiJson' in this.timeZone ? (this.timeZone as any).toApiJson() : this.timeZone;}\n return toReturn;\n }\n}\n\nexport class ListAvailabilityResponse implements i.ListAvailabilityResponseInterface {\n availabilityRules: AvailabilityRule[];\n metadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListAvailabilityResponse {\n let m = new ListAvailabilityResponse();\n m = Object.assign(m, proto);\n if (proto.availabilityRules) {m.availabilityRules = proto.availabilityRules.map(AvailabilityRule.fromProto);}\n if (proto.metadata) {m.metadata = PagedResponseMetadata.fromProto(proto.metadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListAvailabilityResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.availabilityRules !== 'undefined' && this.availabilityRules !== null) {toReturn['availabilityRules'] = 'toApiJson' in this.availabilityRules ? (this.availabilityRules as any).toApiJson() : this.availabilityRules;}\n if (typeof this.metadata !== 'undefined' && this.metadata !== null) {toReturn['metadata'] = 'toApiJson' in this.metadata ? (this.metadata as any).toApiJson() : this.metadata;}\n return toReturn;\n }\n}\n\nexport class ListBookedMeetingsRequest implements i.ListBookedMeetingsRequestInterface {\n filters: ListBookedMeetingsRequestFilters;\n pagingOptions: PagedRequestOptions;\n timeZone: TimeZone;\n\n static fromProto(proto: any): ListBookedMeetingsRequest {\n let m = new ListBookedMeetingsRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {m.filters = ListBookedMeetingsRequestFilters.fromProto(proto.filters);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n if (proto.timeZone) {m.timeZone = TimeZone.fromProto(proto.timeZone);}\n return m;\n }\n\n constructor(kwargs?: i.ListBookedMeetingsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n if (typeof this.timeZone !== 'undefined' && this.timeZone !== null) {toReturn['timeZone'] = 'toApiJson' in this.timeZone ? (this.timeZone as any).toApiJson() : this.timeZone;}\n return toReturn;\n }\n}\n\nexport class ListBookedMeetingsResponse implements i.ListBookedMeetingsResponseInterface {\n meetings: Meeting[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListBookedMeetingsResponse {\n let m = new ListBookedMeetingsResponse();\n m = Object.assign(m, proto);\n if (proto.meetings) {m.meetings = proto.meetings.map(Meeting.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListBookedMeetingsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetings !== 'undefined' && this.meetings !== null) {toReturn['meetings'] = 'toApiJson' in this.meetings ? (this.meetings as any).toApiJson() : this.meetings;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class ListGroupsRequest implements i.ListGroupsRequestInterface {\n hostId: string;\n\n static fromProto(proto: any): ListGroupsRequest {\n let m = new ListGroupsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ListGroupsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class ListGroupsResponse implements i.ListGroupsResponseInterface {\n groups: Group[];\n\n static fromProto(proto: any): ListGroupsResponse {\n let m = new ListGroupsResponse();\n m = Object.assign(m, proto);\n if (proto.groups) {m.groups = proto.groups.map(Group.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.ListGroupsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.groups !== 'undefined' && this.groups !== null) {toReturn['groups'] = 'toApiJson' in this.groups ? (this.groups as any).toApiJson() : this.groups;}\n return toReturn;\n }\n}\n\nexport class ListServicesRequest implements i.ListServicesRequestInterface {\n hostId: string;\n\n static fromProto(proto: any): ListServicesRequest {\n let m = new ListServicesRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ListServicesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class ListServicesResponse implements i.ListServicesResponseInterface {\n services: Service[];\n\n static fromProto(proto: any): ListServicesResponse {\n let m = new ListServicesResponse();\n m = Object.assign(m, proto);\n if (proto.services) {m.services = proto.services.map(Service.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.ListServicesResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.services !== 'undefined' && this.services !== null) {toReturn['services'] = 'toApiJson' in this.services ? (this.services as any).toApiJson() : this.services;}\n return toReturn;\n }\n}\n\nexport class Meeting implements i.MeetingInterface {\n id: string;\n eventTypeId: string;\n hostId: string;\n start: Date;\n end: Date;\n created: Date;\n updated: Date;\n attendees: Attendee[];\n description: string;\n joinMeetingUrl: string;\n topic: string;\n formAnswers: Answers;\n metadata: {[key: string]: string};\n attachments: Attachment[];\n location: string;\n calendarId: string;\n hostDetails: HostDetails[];\n meetingType: e.TeamEventMeetingType;\n\n static fromProto(proto: any): Meeting {\n let m = new Meeting();\n m = Object.assign(m, proto);\n if (proto.start) {m.start = new Date(proto.start);}\n if (proto.end) {m.end = new Date(proto.end);}\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.updated) {m.updated = new Date(proto.updated);}\n if (proto.attendees) {m.attendees = proto.attendees.map(Attendee.fromProto);}\n if (proto.formAnswers) {m.formAnswers = Answers.fromProto(proto.formAnswers);}\n if (proto.metadata) {m.metadata = Object.keys(proto.metadata).reduce<any>((obj, k) => { obj[k] = proto.metadata[k]; return obj; }, {});}\n if (proto.attachments) {m.attachments = proto.attachments.map(Attachment.fromProto);}\n if (proto.hostDetails) {m.hostDetails = proto.hostDetails.map(HostDetails.fromProto);}\n if (proto.meetingType) {m.meetingType = enumStringToValue<e.TeamEventMeetingType>(e.TeamEventMeetingType, proto.meetingType);}\n return m;\n }\n\n constructor(kwargs?: i.MeetingInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.eventTypeId !== 'undefined') {toReturn['eventTypeId'] = this.eventTypeId;}\n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n if (typeof this.start !== 'undefined' && this.start !== null) {toReturn['start'] = 'toApiJson' in this.start ? (this.start as any).toApiJson() : this.start;}\n if (typeof this.end !== 'undefined' && this.end !== null) {toReturn['end'] = 'toApiJson' in this.end ? (this.end as any).toApiJson() : this.end;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n if (typeof this.attendees !== 'undefined' && this.attendees !== null) {toReturn['attendees'] = 'toApiJson' in this.attendees ? (this.attendees as any).toApiJson() : this.attendees;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.joinMeetingUrl !== 'undefined') {toReturn['joinMeetingUrl'] = this.joinMeetingUrl;}\n if (typeof this.topic !== 'undefined') {toReturn['topic'] = this.topic;}\n if (typeof this.formAnswers !== 'undefined' && this.formAnswers !== null) {toReturn['formAnswers'] = 'toApiJson' in this.formAnswers ? (this.formAnswers as any).toApiJson() : this.formAnswers;}\n if (typeof this.metadata !== 'undefined' && this.metadata !== null) {toReturn['metadata'] = 'toApiJson' in this.metadata ? (this.metadata as any).toApiJson() : this.metadata;}\n if (typeof this.attachments !== 'undefined' && this.attachments !== null) {toReturn['attachments'] = 'toApiJson' in this.attachments ? (this.attachments as any).toApiJson() : this.attachments;}\n if (typeof this.location !== 'undefined') {toReturn['location'] = this.location;}\n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n if (typeof this.hostDetails !== 'undefined' && this.hostDetails !== null) {toReturn['hostDetails'] = 'toApiJson' in this.hostDetails ? (this.hostDetails as any).toApiJson() : this.hostDetails;}\n if (typeof this.meetingType !== 'undefined') {toReturn['meetingType'] = this.meetingType;}\n return toReturn;\n }\n}\n\nexport class MeetingTypeList implements i.MeetingTypeListInterface {\n meetingTypes: MeetingType[];\n\n static fromProto(proto: any): MeetingTypeList {\n let m = new MeetingTypeList();\n m = Object.assign(m, proto);\n if (proto.meetingTypes) {m.meetingTypes = proto.meetingTypes.map(MeetingType.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.MeetingTypeListInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingTypes !== 'undefined' && this.meetingTypes !== null) {toReturn['meetingTypes'] = 'toApiJson' in this.meetingTypes ? (this.meetingTypes as any).toApiJson() : this.meetingTypes;}\n return toReturn;\n }\n}\n\nexport class UpdateMeetingMetadataRequestMetadataEntry implements i.UpdateMeetingMetadataRequestMetadataEntryInterface {\n key: string;\n value: string;\n\n static fromProto(proto: any): UpdateMeetingMetadataRequestMetadataEntry {\n let m = new UpdateMeetingMetadataRequestMetadataEntry();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.UpdateMeetingMetadataRequestMetadataEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\nexport class MeetingMetadataEntry implements i.MeetingMetadataEntryInterface {\n key: string;\n value: string;\n\n static fromProto(proto: any): MeetingMetadataEntry {\n let m = new MeetingMetadataEntry();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.MeetingMetadataEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\nexport class RescheduleMeetingRequest implements i.RescheduleMeetingRequestInterface {\n meetingId: string;\n start: Date;\n\n static fromProto(proto: any): RescheduleMeetingRequest {\n let m = new RescheduleMeetingRequest();\n m = Object.assign(m, proto);\n if (proto.start) {m.start = new Date(proto.start);}\n return m;\n }\n\n constructor(kwargs?: i.RescheduleMeetingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingId !== 'undefined') {toReturn['meetingId'] = this.meetingId;}\n if (typeof this.start !== 'undefined' && this.start !== null) {toReturn['start'] = 'toApiJson' in this.start ? (this.start as any).toApiJson() : this.start;}\n return toReturn;\n }\n}\n\nexport class SendMeetingRequestEmailRequest implements i.SendMeetingRequestEmailRequestInterface {\n contactId: string;\n userId: string;\n meetingTypeId: string;\n\n static fromProto(proto: any): SendMeetingRequestEmailRequest {\n let m = new SendMeetingRequestEmailRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.SendMeetingRequestEmailRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.contactId !== 'undefined') {toReturn['contactId'] = this.contactId;}\n if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n if (typeof this.meetingTypeId !== 'undefined') {toReturn['meetingTypeId'] = this.meetingTypeId;}\n return toReturn;\n }\n}\n\nexport class SetGeneralAvailabilityRequest implements i.SetGeneralAvailabilityRequestInterface {\n hostId: string;\n meetingTypeId: string;\n days: e.DayOfWeek[];\n timeSlot: TimeRange;\n timeZone: TimeZone;\n weekdaysAvailability: WeekdayAvailability[];\n\n static fromProto(proto: any): SetGeneralAvailabilityRequest {\n let m = new SetGeneralAvailabilityRequest();\n m = Object.assign(m, proto);\n if (proto.days) {m.days = proto.days.map((v: string) => enumStringToValue<e.DayOfWeek>(e.DayOfWeek, v));}\n if (proto.timeSlot) {m.timeSlot = TimeRange.fromProto(proto.timeSlot);}\n if (proto.timeZone) {m.timeZone = TimeZone.fromProto(proto.timeZone);}\n if (proto.weekdaysAvailability) {m.weekdaysAvailability = proto.weekdaysAvailability.map(WeekdayAvailability.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.SetGeneralAvailabilityRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n if (typeof this.meetingTypeId !== 'undefined') {toReturn['meetingTypeId'] = this.meetingTypeId;}\n if (typeof this.days !== 'undefined') {toReturn['days'] = this.days;}\n if (typeof this.timeSlot !== 'undefined' && this.timeSlot !== null) {toReturn['timeSlot'] = 'toApiJson' in this.timeSlot ? (this.timeSlot as any).toApiJson() : this.timeSlot;}\n if (typeof this.timeZone !== 'undefined' && this.timeZone !== null) {toReturn['timeZone'] = 'toApiJson' in this.timeZone ? (this.timeZone as any).toApiJson() : this.timeZone;}\n if (typeof this.weekdaysAvailability !== 'undefined' && this.weekdaysAvailability !== null) {toReturn['weekdaysAvailability'] = 'toApiJson' in this.weekdaysAvailability ? (this.weekdaysAvailability as any).toApiJson() : this.weekdaysAvailability;}\n return toReturn;\n }\n}\n\nexport class UpdateAvailabilityRequest implements i.UpdateAvailabilityRequestInterface {\n\n static fromProto(proto: any): UpdateAvailabilityRequest {\n let m = new UpdateAvailabilityRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.UpdateAvailabilityRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n return toReturn;\n }\n}\n\nexport class UpdateCalendarRequest implements i.UpdateCalendarRequestInterface {\n calendarId: string;\n calendarUpdate: Calendar;\n fieldMask: FieldMask;\n\n static fromProto(proto: any): UpdateCalendarRequest {\n let m = new UpdateCalendarRequest();\n m = Object.assign(m, proto);\n if (proto.calendarUpdate) {m.calendarUpdate = Calendar.fromProto(proto.calendarUpdate);}\n if (proto.fieldMask) {m.fieldMask = FieldMask.fromProto(proto.fieldMask);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateCalendarRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n if (typeof this.calendarUpdate !== 'undefined' && this.calendarUpdate !== null) {toReturn['calendarUpdate'] = 'toApiJson' in this.calendarUpdate ? (this.calendarUpdate as any).toApiJson() : this.calendarUpdate;}\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? (this.fieldMask as any).toApiJson() : this.fieldMask;}\n return toReturn;\n }\n}\n\nexport class UpdateGroupRequest implements i.UpdateGroupRequestInterface {\n group: Group;\n fieldMask: FieldMask;\n hostId: string;\n id: string;\n\n static fromProto(proto: any): UpdateGroupRequest {\n let m = new UpdateGroupRequest();\n m = Object.assign(m, proto);\n if (proto.group) {m.group = Group.fromProto(proto.group);}\n if (proto.fieldMask) {m.fieldMask = FieldMask.fromProto(proto.fieldMask);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateGroupRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.group !== 'undefined' && this.group !== null) {toReturn['group'] = 'toApiJson' in this.group ? (this.group as any).toApiJson() : this.group;}\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? (this.fieldMask as any).toApiJson() : this.fieldMask;}\n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n return toReturn;\n }\n}\n\nexport class UpdateHostPreferencesRequest implements i.UpdateHostPreferencesRequestInterface {\n hostId: string;\n preferences: Preferences;\n fieldMask: FieldMask;\n\n static fromProto(proto: any): UpdateHostPreferencesRequest {\n let m = new UpdateHostPreferencesRequest();\n m = Object.assign(m, proto);\n if (proto.preferences) {m.preferences = Preferences.fromProto(proto.preferences);}\n if (proto.fieldMask) {m.fieldMask = FieldMask.fromProto(proto.fieldMask);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateHostPreferencesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n if (typeof this.preferences !== 'undefined' && this.preferences !== null) {toReturn['preferences'] = 'toApiJson' in this.preferences ? (this.preferences as any).toApiJson() : this.preferences;}\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? (this.fieldMask as any).toApiJson() : this.fieldMask;}\n return toReturn;\n }\n}\n\nexport class UpdateMeetingMetadataRequest implements i.UpdateMeetingMetadataRequestInterface {\n meetingId: string;\n metadata: {[key: string]: string};\n\n static fromProto(proto: any): UpdateMeetingMetadataRequest {\n let m = new UpdateMeetingMetadataRequest();\n m = Object.assign(m, proto);\n if (proto.metadata) {m.metadata = Object.keys(proto.metadata).reduce<any>((obj, k) => { obj[k] = proto.metadata[k]; return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.UpdateMeetingMetadataRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingId !== 'undefined') {toReturn['meetingId'] = this.meetingId;}\n if (typeof this.metadata !== 'undefined' && this.metadata !== null) {toReturn['metadata'] = 'toApiJson' in this.metadata ? (this.metadata as any).toApiJson() : this.metadata;}\n return toReturn;\n }\n}\n\nexport class UpdateMeetingTypeRequest implements i.UpdateMeetingTypeRequestInterface {\n id: string;\n meetingType: MeetingType;\n fieldMask: FieldMask;\n hostId: string;\n\n static fromProto(proto: any): UpdateMeetingTypeRequest {\n let m = new UpdateMeetingTypeRequest();\n m = Object.assign(m, proto);\n if (proto.meetingType) {m.meetingType = MeetingType.fromProto(proto.meetingType);}\n if (proto.fieldMask) {m.fieldMask = FieldMask.fromProto(proto.fieldMask);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateMeetingTypeRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.meetingType !== 'undefined' && this.meetingType !== null) {toReturn['meetingType'] = 'toApiJson' in this.meetingType ? (this.meetingType as any).toApiJson() : this.meetingType;}\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? (this.fieldMask as any).toApiJson() : this.fieldMask;}\n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class UpdateServiceRequest implements i.UpdateServiceRequestInterface {\n service: Service;\n fieldMask: FieldMask;\n hostId: string;\n id: string;\n\n static fromProto(proto: any): UpdateServiceRequest {\n let m = new UpdateServiceRequest();\n m = Object.assign(m, proto);\n if (proto.service) {m.service = Service.fromProto(proto.service);}\n if (proto.fieldMask) {m.fieldMask = FieldMask.fromProto(proto.fieldMask);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateServiceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.service !== 'undefined' && this.service !== null) {toReturn['service'] = 'toApiJson' in this.service ? (this.service as any).toApiJson() : this.service;}\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? (this.fieldMask as any).toApiJson() : this.fieldMask;}\n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n return toReturn;\n }\n}\n\nexport class WeekdayAvailability implements i.WeekdayAvailabilityInterface {\n day: e.DayOfWeek;\n timeSlots: TimeRange[];\n\n static fromProto(proto: any): WeekdayAvailability {\n let m = new WeekdayAvailability();\n m = Object.assign(m, proto);\n if (proto.day) {m.day = enumStringToValue<e.DayOfWeek>(e.DayOfWeek, proto.day);}\n if (proto.timeSlots) {m.timeSlots = proto.timeSlots.map(TimeRange.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.WeekdayAvailabilityInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.day !== 'undefined') {toReturn['day'] = this.day;}\n if (typeof this.timeSlots !== 'undefined' && this.timeSlots !== null) {toReturn['timeSlots'] = 'toApiJson' in this.timeSlots ? (this.timeSlots as any).toApiJson() : this.timeSlots;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class TimeOfDay implements i.TimeOfDayInterface {\n hours: number;\n minutes: number;\n seconds: number;\n nanos: number;\n\n static fromProto(proto: any): TimeOfDay {\n let m = new TimeOfDay();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.TimeOfDayInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hours !== 'undefined') {toReturn['hours'] = this.hours;}\n if (typeof this.minutes !== 'undefined') {toReturn['minutes'] = this.minutes;}\n if (typeof this.seconds !== 'undefined') {toReturn['seconds'] = this.seconds;}\n if (typeof this.nanos !== 'undefined') {toReturn['nanos'] = this.nanos;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class DateTime implements i.DateTimeInterface {\n year: number;\n month: number;\n day: number;\n hours: number;\n minutes: number;\n seconds: number;\n nanos: number;\n utcOffset: string;\n timeZone: TimeZone;\n\n static fromProto(proto: any): DateTime {\n let m = new DateTime();\n m = Object.assign(m, proto);\n if (proto.timeZone) {m.timeZone = TimeZone.fromProto(proto.timeZone);}\n return m;\n }\n\n constructor(kwargs?: i.DateTimeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.year !== 'undefined') {toReturn['year'] = this.year;}\n if (typeof this.month !== 'undefined') {toReturn['month'] = this.month;}\n if (typeof this.day !== 'undefined') {toReturn['day'] = this.day;}\n if (typeof this.hours !== 'undefined') {toReturn['hours'] = this.hours;}\n if (typeof this.minutes !== 'undefined') {toReturn['minutes'] = this.minutes;}\n if (typeof this.seconds !== 'undefined') {toReturn['seconds'] = this.seconds;}\n if (typeof this.nanos !== 'undefined') {toReturn['nanos'] = this.nanos;}\n if (typeof this.utcOffset !== 'undefined') {toReturn['utcOffset'] = this.utcOffset;}\n if (typeof this.timeZone !== 'undefined' && this.timeZone !== null) {toReturn['timeZone'] = 'toApiJson' in this.timeZone ? (this.timeZone as any).toApiJson() : this.timeZone;}\n return toReturn;\n }\n}\n\nexport class TimeZone implements i.TimeZoneInterface {\n id: string;\n version: string;\n\n static fromProto(proto: any): TimeZone {\n let m = new TimeZone();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.TimeZoneInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.version !== 'undefined') {toReturn['version'] = this.version;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects Index.\n// *********************************\nexport {\n MeetingSourceInfo,\n MeetingSourceListRequest,\n MeetingSourceListResponse,\n MeetingSourceQuery,\n} from './meeting-source';\n\nexport {\n CreateZoomMeetingRequest,\n CreateZoomMeetingResponse,\n ZoomMeetingRecurrence,\n ZoomMeetingSettings,\n ZoomMeetingTrackingField,\n ZoomOccurrence,\n} from './zoom';\n\nexport {\n GoogleMeetConferenceData,\n GoogleMeetConferenceRequestStatus,\n GoogleMeetConferenceSolution,\n GoogleMeetConferenceSolutionKey,\n GoogleMeetCreateConferenceRequest,\n GoogleMeetCreateMeetingRequest,\n GoogleMeetCreateMeetingResponse,\n GoogleMeetEntryPoint,\n GoogleMeetListMeetingsRequest,\n GoogleMeetListMeetingsResponse,\n GoogleMeetMeeting,\n GoogleMeetMeetingAttendee,\n GoogleMeetMeetingCreator,\n GoogleMeetMeetingDateTime,\n GoogleMeetMeetingOrganizer,\n GoogleMeetMeetingReminder,\n GoogleMeetMeetingReminders,\n} from './google-meet';\n\nexport {\n Answer,\n Answers,\n CalendarApplicationContextEntry,\n Attachment,\n Attendee,\n Calendar,\n Contact,\n Host,\n HostUser,\n PagedRequestOptions,\n PagedResponseMetadata,\n Preferences,\n TimeRange,\n} from './shared';\n\nexport {\n DateRange,\n} from './date-range';\n\nexport {\n EventTypeDateRange,\n Field,\n Form,\n MeetingType,\n RelativeDateRange,\n} from './meeting-type';\n\nexport {\n EventGroupAndServiceAssociations,\n Group,\n Service,\n} from './groups-and-services';\n\nexport {\n BookMeetingRequest,\n BookMeetingResponse,\n GetCalendarRequest,\n GetCalendarResponse,\n GetGroupRequest,\n GetGroupResponse,\n GetHostRequest,\n GetHostResponse,\n GetMeetingTypeRequest,\n GetMeetingTypeResponse,\n GetServiceRequest,\n GetServiceResponse,\n GuestCancelMeetingRequest,\n GuestGetBookedMeetingRequest,\n GuestGetBookedMeetingResponse,\n GuestIsHostConfiguredRequest,\n GuestIsHostConfiguredResponse,\n GuestRescheduleMeetingRequest,\n IsoDateTimeRange,\n ListAvailableTimeSlotsRequest,\n ListAvailableTimeSlotsResponse,\n ListMeetingTypesRequest,\n ListMeetingTypesResponse,\n BookMeetingRequestMetadataEntry,\n} from './meeting-guest';\n\nexport {\n FieldMask,\n} from './field-mask';\n\nexport {\n EnsurePersonalCalendarExistsRequestApplicationContextPropertiesEntry,\n BuildHostIdRequestApplicationContextPropertiesEntry,\n IsCalendarConfiguredRequestApplicationContextPropertiesEntry,\n AvailabilityRule,\n AvailabilityRuleList,\n BuildHostIdRequest,\n BuildHostIdResponse,\n GetMeetingTypesForCalendarsResponseCalendarMeetingTypesMapEntry,\n CalendarMigrationResponse,\n CancelMeetingRequest,\n CheckGroupOrServiceSlugExistRequest,\n CheckGroupOrServiceSlugExistResponse,\n CreateAvailabilityRequest,\n CreateAvailabilityResponse,\n CreateCalendarRequest,\n CreateCalendarResponse,\n CreateDefaultMeetingTypesRequest,\n CreateGroupRequest,\n CreateGroupResponse,\n CreateMeetingTypeRequest,\n CreateMeetingTypeResponse,\n CreateServiceRequest,\n CreateServiceResponse,\n DeleteAvailabilityRequest,\n DeleteGroupRequest,\n DeleteMeetingTypeRequest,\n DeleteServiceRequest,\n DoesCalendarExistRequest,\n DoesCalendarExistResponse,\n EnsureGroupCalendarsExistRequest,\n EnsureGroupCalendarsExistResponse,\n EnsurePersonalCalendarExistsRequest,\n EnsurePersonalCalendarExistsResponse,\n ListBookedMeetingsRequestFilters,\n ListAvailabilityRequestFilters,\n GetEntityAssociationRequest,\n GetEntityAssociationResponse,\n GetHostMeetingRequest,\n GetHostMeetingResponse,\n GetHostPreferencesRequest,\n GetHostPreferencesResponse,\n GetHostsForCalendarRequest,\n GetHostsForCalendarResponse,\n GetMeetingTypesForCalendarsRequest,\n GetMeetingTypesForCalendarsResponse,\n HostBookMeetingRequest,\n HostBookMeetingResponse,\n HostDetails,\n HostGetCalendarRequest,\n HostGetCalendarResponse,\n HostGetMeetingTypeRequest,\n HostGetMeetingTypeResponse,\n HostListMeetingTypesRequest,\n HostListMeetingTypesResponse,\n GetHostsForCalendarResponseHostUserAvailabilityRuleEntry,\n IsCalendarConfiguredRequest,\n IsCalendarConfiguredResponse,\n IsHostConfiguredRequest,\n IsHostConfiguredResponse,\n ListAvailabilityRequest,\n ListAvailabilityResponse,\n ListBookedMeetingsRequest,\n ListBookedMeetingsResponse,\n ListGroupsRequest,\n ListGroupsResponse,\n ListServicesRequest,\n ListServicesResponse,\n Meeting,\n MeetingTypeList,\n UpdateMeetingMetadataRequestMetadataEntry,\n MeetingMetadataEntry,\n RescheduleMeetingRequest,\n SendMeetingRequestEmailRequest,\n SetGeneralAvailabilityRequest,\n UpdateAvailabilityRequest,\n UpdateCalendarRequest,\n UpdateGroupRequest,\n UpdateHostPreferencesRequest,\n UpdateMeetingMetadataRequest,\n UpdateMeetingTypeRequest,\n UpdateServiceRequest,\n WeekdayAvailability,\n} from './meeting-host';\n\nexport { TimeOfDay, } from './timeofday';\nexport { DateTime, TimeZone, } from './datetime';\n","import { Injectable } from '@angular/core';\n\ndeclare const window: any;\nconst environment: string = (window ? window['environment'] : 'prod') ?? 'prod';\nconst hostMap: { [key: string]: string } = {\n 'local': 'meetings-api.vendasta-local.com',\n 'test': '',\n 'demo': 'meetings-demo.apigateway.co',\n 'prod': 'meetings-prod.apigateway.co',\n 'production': 'meetings-prod.apigateway.co',\n};\n\n@Injectable({providedIn: 'root'})\nexport class HostService {\n get host(): string {\n return hostMap[environment.toLowerCase()];\n }\n\n get hostWithScheme(): string {\n return 'https://' + this.host;\n }\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n MeetingSourceListRequest,\n MeetingSourceListResponse,\n} from './objects/';\nimport {\n MeetingSourceListRequestInterface,\n MeetingSourceListResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {inject} from '@angular/core';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class MeetingSourceAPIApiService {\n private readonly hostService = inject(HostService);\n private readonly http = inject(HttpClient);\n private _host = this.hostService.hostWithScheme;\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n list(r: MeetingSourceListRequest | MeetingSourceListRequestInterface): Observable<MeetingSourceListResponse> {\n const request = ((<MeetingSourceListRequest>r).toApiJson) ? (<MeetingSourceListRequest>r) : new MeetingSourceListRequest(r);\n return this.http.post<MeetingSourceListResponseInterface>(this._host + \"/meetings.v1.MeetingSourceAPI/List\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => MeetingSourceListResponse.fromProto(resp))\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n CreateZoomMeetingRequest,\n CreateZoomMeetingResponse,\n} from './objects/';\nimport {\n CreateZoomMeetingRequestInterface,\n CreateZoomMeetingResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {inject} from '@angular/core';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class ZoomApiService {\n private readonly hostService = inject(HostService);\n private readonly http = inject(HttpClient);\n private _host = this.hostService.hostWithScheme;\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n createMeeting(r: CreateZoomMeetingRequest | CreateZoomMeetingRequestInterface): Observable<CreateZoomMeetingResponse> {\n const request = ((<CreateZoomMeetingRequest>r).toApiJson) ? (<CreateZoomMeetingRequest>r) : new CreateZoomMeetingRequest(r);\n return this.http.post<CreateZoomMeetingResponseInterface>(this._host + \"/meetings.v1.Zoom/CreateMeeting\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CreateZoomMeetingResponse.fromProto(resp))\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n GoogleMeetCreateMeetingRequest,\n GoogleMeetCreateMeetingResponse,\n GoogleMeetListMeetingsRequest,\n GoogleMeetListMeetingsResponse,\n} from './objects/';\nimport {\n GoogleMeetCreateMeetingRequestInterface,\n GoogleMeetCreateMeetingResponseInterface,\n GoogleMeetListMeetingsRequestInterface,\n GoogleMeetListMeetingsResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {inject} from '@angular/core';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class GoogleMeetApiService {\n private readonly hostService = inject(HostService);\n private readonly http = inject(HttpClient);\n private _host = this.hostService.hostWithScheme;\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n createMeeting(r: GoogleMeetCreateMeetingRequest | GoogleMeetCreateMeetingRequestInterface): Observable<GoogleMeetCreateMeetingResponse> {\n const request = ((<GoogleMeetCreateMeetingRequest>r).toApiJson) ? (<GoogleMeetCreateMeetingRequest>r) : new GoogleMeetCreateMeetingRequest(r);\n return this.http.post<GoogleMeetCreateMeetingResponseInterface>(this._host + \"/meetings.v1.GoogleMeet/CreateMeeting\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GoogleMeetCreateMeetingResponse.fromProto(resp))\n );\n }\n listMeetings(r: GoogleMeetListMeetingsRequest | GoogleMeetListMeetingsRequestInterface): Observable<GoogleMeetListMeetingsResponse> {\n const request = ((<GoogleMeetListMeetingsRequest>r).toApiJson) ? (<GoogleMeetListMeetingsRequest>r) : new GoogleMeetListMeetingsRequest(r);\n return this.http.post<GoogleMeetListMeetingsResponseInterface>(this._host + \"/meetings.v1.GoogleMeet/ListMeetings\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GoogleMeetListMeetingsResponse.fromProto(resp))\n );\n }\n \n}\n","import {Injectable} from '@angular/core';\nimport {Observable, throwError} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {MeetingSourceAPIApiService} from './_internal/meeting-source-api.api.service';\nimport {MeetingSourceListResponse, MeetingSourceQuery} from './_internal/objects/meeting-source'\nimport {MeetingSource} from './_internal/enums/meeting-source.enum';\nimport {ZoomMeetingRecurrenceType, ZoomMeetingType} from './_internal/enums/zoom.enum';\nimport {CreateZoomMeetingRequest, CreateZoomMeetingResponse} from './_internal/objects/zoom';\nimport {CreateZoomMeetingRequestInterface, ZoomMeetingRecurrenceInterface} from './_internal/interfaces/zoom.interface';\nimport {GoogleMeetCreateMeetingRequest, GoogleMeetCreateMeetingResponse} from './_internal/objects/google-meet';\nimport {\n GoogleMeetConferenceDataInterface,\n GoogleMeetCreateMeetingRequestInterface,\n GoogleMeetMeetingAttendeeInterface,\n GoogleMeetMeetingDateTimeInterface,\n GoogleMeetMeetingInterface\n} from './_internal/interfaces/google-meet.interface';\nimport {ZoomApiService} from './_internal/zoom.api.service';\nimport {GoogleMeetApiService} from './_internal/google-meet.api.service';\n\nexport interface MeetingsSDK {\n list(meetingSources: MeetingSourceQuery[]): Observable<MeetingSourceListResponse>;\n\n startInstantMeeting(\n meetingTitle: string,\n meetingAgenda: string,\n meetingSource: MeetingSource,\n gMeetAttendees?: GoogleMeetMeetingAttendeeInterface[]\n ): Observable<StartMeetingResponse>;\n}\n\nexport interface StartMeetingResponse {\n url: string;\n joinURL: string;\n password: string;\n}\n\nfunction generateMeetingPassword(): string {\n const zoomMaxLength = 10;\n const zoomAllowedChars =\n 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789@-_*';\n\n try {\n const ints = new Uint8Array(zoomMaxLength);\n crypto.getRandomValues(ints);\n return Array.from(ints)\n .map((v: number) => zoomAllowedChars.charAt(v % zoomAllowedChars.length))\n .join('');\n } catch (e) {\n console.error('User is probably using an unsupported browser. ' +\n 'Falling back to less secure password generation', e);\n return new Array(zoomMaxLength)\n .map(() => Math.floor(Math.random() * zoomAllowedChars.length))\n .join('');\n }\n}\n\n@Injectable({providedIn: 'root'})\nexport class MeetingsService implements MeetingsSDK {\n constructor(\n private readonly _api: MeetingSourceAPIApiService,\n private readonly zoom: ZoomApiService,\n private readonly meet: GoogleMeetApiService\n ) {\n }\n\n /**\n * @deprecated Use listForUser instead. This method will result in the backend grabbing the userID from the user's JWT\n * This will eventually no longer be supported because it breaks our impersonation workflows.\n */\n list(meetingSources: MeetingSourceQuery[], namespace?: string, origin?: string): Observable<MeetingSourceListResponse> {\n return this._api.list({\n queriedSources: meetingSources,\n namespace: namespace,\n origin: origin,\n })\n }\n\n listForUser(iamUserId: string, namespace: string, origin: string, queriedSources: MeetingSourceQuery[]): Observable<MeetingSourceListResponse> {\n return this._api.list({\n iamUserId: iamUserId,\n namespace: namespace,\n origin: origin,\n queriedSources: queriedSources,\n });\n }\n\n startInstantMeeting(\n meetingTitle: string,\n meetingAgenda: string,\n meetingSource: MeetingSource,\n gMeetAttendees?: GoogleMeetMeetingAttendeeInterface[]\n ): Observable<StartMeetingResponse> {\n const now = new Date();\n switch (meetingSource) {\n case MeetingSource.MEETING_SOURCE_INVALID:\n return throwError('Meeting source was not specified');\n case MeetingSource.MEETING_SOURCE_ZOOM:\n const req = createZoomInstantMeetingRequest(meetingTitle, now, meetingAgenda);\n return this.zoom.createMeeting(req).pipe(\n map((resp: CreateZoomMeetingResponse) => (\n <StartMeetingResponse>{url: resp.joinUrl, password: resp.password, joinURL: resp.joinUrl}\n )),\n );\n case MeetingSource.MEETING_SOURCE_GOOGLE_MEET:\n if (!gMeetAttendees) {\n return throwError('Attendees are required to start a Meet Hangout')\n }\n const meetReq = createMeetInstantMeetingRequest(meetingTitle, now, gMeetAttendees);\n return this.meet.createMeeting(meetReq).pipe(\n map((resp: GoogleMeetCreateMeetingResponse) =>\n <StartMeetingResponse>{url: resp.meeting.hangoutLink, joinURL: resp.meeting.hangoutLink}\n ),\n );\n default:\n // eslint-disable-next-line\n return throwError(`Unrecognized meeting source ${meetingSource}`);\n }\n }\n\n createBasicZoomScheduledMeeting(topic: string, agenda: string, startDateTime: string,\n duration: number, timezone: string, meetingPassword: string): Observable<CreateZoomMeetingResponse> {\n const req: CreateZoomMeetingRequest = new CreateZoomMeetingRequest({\n topic: topic,\n type: ZoomMeetingType.ZOOM_MEETING_TYPE_SCHEDULED,\n startTime: startDateTime,\n duration: duration,\n timezone: timezone,\n password: meetingPassword ? meetingPassword : generateMeetingPassword(),\n agenda: agenda,\n settings: {\n joinBeforeHost: true,\n enforceLogin: false\n },\n recurrence: {\n type: ZoomMeetingRecurrenceType.ZOOM_MEETING_RECURRENCE_TYPE_DAILY\n }\n });\n\n return this.zoom.createMeeting(req);\n }\n\n createBasicGoogleMeeting(\n topic: string,\n agenda: string,\n startDateTime: string,\n endDateTime: string,\n timezone: string,\n attendees: GoogleMeetMeetingAttendeeInterface[]\n ): Observable<GoogleMeetCreateMeetingResponse> {\n const req: GoogleMeetCreateMeetingRequest = new GoogleMeetCreateMeetingRequest({\n meeting: {\n attendees: attendees,\n description: agenda,\n start: {\n dateTime: startDateTime,\n timeZone: timezone\n },\n end: {\n dateTime: endDateTime,\n timeZone: timezone\n },\n summary: topic\n }\n });\n\n return this.meet.createMeeting(req);\n }\n\n}\n\nfunction createZoomInstantMeetingRequest(\n meetingTitle: string, now: Date, meetingAgenda: string,\n): CreateZoomMeetingRequest {\n const recurrence: ZoomMeetingRecurrenceInterface = {\n type: ZoomMeetingRecurrenceType.ZOOM_MEETING_RECURRENCE_TYPE_DAILY,\n repeatInterval: 0,\n };\n const req: CreateZoomMeetingRequestInterface = {\n topic: meetingTitle,\n type: ZoomMeetingType.ZOOM_MEETING_TYPE_INSTANT,\n startTime: now.toISOString(),\n duration: undefined, // Only used with scheduled meetings\n timezone: 'UTC',\n password: generateMeetingPassword(),\n agenda: meetingAgenda,\n trackingFields: [],\n recurrence: recurrence,\n settings: undefined, // Only used with recurring meetings\n };\n return new CreateZoomMeetingRequest(req);\n}\n\nfunction createMeetInstantMeetingRequest(\n meetingTitle: string, startDateTime: Date, attendees: GoogleMeetMeetingAttendeeInterface[],\n): GoogleMeetCreateMeetingRequest {\n const start: GoogleMeetMeetingDateTimeInterface = {\n dateTime: startDateTime.toISOString(),\n timeZone: 'UTC'\n }\n const endTime = new Date(startDateTime.setMinutes(startDateTime.getMinutes() + 30));\n const end: GoogleMeetMeetingDateTimeInterface = {\n dateTime: endTime.toISOString(),\n timeZone: 'UTC'\n }\n const conferenceData: GoogleMeetConferenceDataInterface = {\n createRequest: {\n requestId: 'instant-meet-meeting'\n },\n conferenceSolution: {\n key: {\n type: 'eventHangout'\n }\n }\n }\n const meeting: GoogleMeetMeetingInterface = {\n summary: meetingTitle,\n start: start,\n end: end,\n conferenceData: conferenceData,\n attendees: attendees,\n }\n const req: GoogleMeetCreateMeetingRequestInterface = {\n meeting: meeting,\n }\n return new GoogleMeetCreateMeetingRequest(req);\n}\n","import {DateRange} from '../_internal/objects';\n\nexport interface TimeSpan {\n start: Date\n end: Date\n}\n\n\nexport function TimeSpanFromApi(tsAPI: DateRange): TimeSpan {\n return {\n start: tsAPI.start,\n end: tsAPI.end\n }\n}\n","import { Host as ApiHost } from '../_internal/objects';\n\nexport interface Host {\n displayName: string;\n displayProfileUrl: string;\n displayLogoUrl: string;\n}\n\nexport function HostFromApi(hostAPI: ApiHost): Host {\n return {\n displayName: hostAPI.displayName,\n displayProfileUrl: hostAPI.displayProfileUrl,\n displayLogoUrl: hostAPI.displayLogoUrl,\n }\n}\n","// Copied from core\nexport enum Environment {\n LOCAL = 0,\n TEST = 1,\n DEMO = 2,\n PROD = 3,\n}\n\nexport function onProduction(env: Environment | 'prod' | 'demo' | 'local'): boolean {\n return env === Environment.PROD || env === 'prod';\n}\n\nexport function onProductionGlobal(): boolean {\n // environment expected to be set in the app in globals.ts\n // eslint-disable-next-line\n return typeof window !== 'undefined' && (window as unknown as any).environment === 'prod';\n}\n","// A temporary method for building the url for a host, eventTypeId, and metadata\nimport {Environment} from \"../shared/environment\";\n\nexport function getBookingUrlImplementation(\n req: {\n environment: Environment,\n calendarId: string,\n // @deprecated: use meetingTypeSlug instead\n meetingTypeId?: string,\n meetingTypeSlug?: string,\n metadata?: { [name: string]: string },\n calendarSlug?: string,\n }\n): string {\n const domain = getDomainFromEnvironment(req.environment);\n const meetingType = req.meetingTypeSlug || req.meetingTypeId || '30-minutes';\n const calendarSlug = req.calendarSlug || req.calendarId;\n let url = `https://${domain}/book/${calendarSlug}/${meetingType}`;\n if (calendarSlug.startsWith(\"GRP-\")){\n url = `https://${domain}/group/${calendarSlug}/${meetingType}`;\n }\n if (calendarSlug.startsWith(\"SVS-\")){\n url = `https://${domain}/service/${calendarSlug}/${meetingType}`;\n }\n if (!req.metadata) {\n return url;\n }\n return addMetadataToBookingLink({link: url, metadata: req.metadata});\n}\n\nexport function getGeneralBookingUrlImplementation(req: {\n environment: Environment,\n calendarId: string,\n metadata?: { [name: string]: string },\n calendarSlug?: string,\n}): string {\n const url = `https://${getDomainFromEnvironment(req.environment)}/${req.calendarSlug || req.calendarId}`;\n return req.metadata ? addMetadataToBookingLink({link: url, metadata: req.metadata}) : url;\n}\n\nfunction getDomainFromEnvironment(env: Environment | 'prod' | 'demo' | 'local'): string {\n if (env === Environment.PROD) {\n return 'bookmenow.info';\n }\n return 'meetings-demo.apigateway.co';\n}\n\nexport function addMetadataToBookingLink(req: { link: string, metadata: { [key: string]: string } }): string {\n if (!req.metadata) {\n return req.link;\n }\n const m = req.metadata as { [key: string]: string };\n const queryParams = Object.keys(m).reduce((params, key) => {\n if (!params) {\n if (req.link.indexOf('?') >= 0) {\n return `&${key}=${m[key]}`;\n }\n return `?${key}=${m[key]}`;\n }\n return `${params}&${key}=${m[key]}`;\n }, '');\n\n return `${req.link}${queryParams}`;\n}\n","import {\n EventTypeDateRangeInterface,\n FieldInterface,\n FormInterface,\n HostUserInterface,\n MeetingTypeInterface as ApiMeetingType\n} from '../_internal/interfaces';\nimport {addMetadataToBookingLink, getBookingUrlImplementation} from '../host/url';\nimport {FormFieldType, MeetingLocationType, TeamEventMeetingType} from '../_internal/enums';\nimport {Environment} from \"./environment\";\nimport {EventTypeDateRange} from \"../_internal\";\n\nexport interface MeetingType {\n id: string;\n name: string;\n // string formatted as: https://developers.google.com/protocol-buffers/docs/reference/java/com/google/protobuf/Duration\n // use helpers in duration.ts for helpers or pass into moment.\n duration: string;\n calendarId: string;\n description: string;\n hexColor: string;\n // https://vendasta.jira.com/wiki/spaces/BOOKME/pages/227836157/Terminology#Meeting-Type-Slug\n meetingTypeSlug: string;\n\n /**\n * @deprecated use meetingTypeSlug instead\n */\n bookingLink?: string;\n hostUserIds: string[];\n\n // readonly fields. has no impact when updating.\n // This is the full url a person could navigate to for booking. May include metadata query params.\n bookingUrl: string;\n form: MeetingTypeForm,\n availabilityIncrement?: number,\n bufferDurationAfterMeeting?: number,\n bufferDurationBeforeMeeting?: number,\n noticeTime? : number,\n location? : string,\n locationGuidelines? : string,\n emailSubject?: string;\n emailDescription?: string;\n isPinned?: boolean\n CalendarType?: string\n hostUsers: HostUserInterface[];\n teamName?: string\n isVideoLinkDisabled?: boolean\n locationType?: MeetingLocationType\n meetingType?: TeamEventMeetingType\n dateRange?: EventTypeDateRangeInterface;\n\tattendeeCount?: number,\n\tregistrationCutoff?: number,\n\tsessionTitle?: string,\n}\n\nexport type MeetingTypeFormField = Required<FieldInterface>;\nexport type MeetingTypeForm = Required<Omit<FormInterface, 'fields'>> & { fields: MeetingTypeFormField[] };\nexport function MeetingTypeFromApi(req: {\n meetingTypeApi: ApiMeetingType,\n environment: Environment,\n calendarId: string,\n metadata?: { [name: string]: string },\n calendarSlug?: string,\n}): MeetingType {\n let bookingUrl = req?.meetingTypeApi?.bookingUrl || '';\n if (bookingUrl === '') {\n bookingUrl = getBookingUrlImplementation({\n environment: req.environment,\n calendarId: req.calendarId,\n meetingTypeSlug: req.meetingTypeApi.meetingTypeSlug || req.meetingTypeApi.id || '',\n metadata: req.metadata,\n calendarSlug: req.calendarSlug,\n });\n } else {\n bookingUrl = addMetadataToBookingLink({link: bookingUrl, metadata: req.metadata || {}});\n }\n\n const form: MeetingTypeForm = {\n ...(req.meetingTypeApi.form || {fields: []}),\n fields: (req.meetingTypeApi.form && req.meetingTypeApi.form.fields ? req.meetingTypeApi.form.fields : []).map(field => {\n return {\n ...field,\n id: field.id || '',\n label: field.label || '',\n type: field.type || FormFieldType.FORM_FIELD_TYPE_INVALID,\n required: field.required || false,\n }\n })\n };\n return {\n id: req.meetingTypeApi.id || '',\n calendarId: req.meetingTypeApi.calendarId || '',\n name: req.meetingTypeApi.name || '',\n duration: req.meetingTypeApi.duration || '',\n bookingUrl: bookingUrl,\n bookingLink: req.meetingTypeApi.meetingTypeSlug || '',\n meetingTypeSlug: req.meetingTypeApi.meetingTypeSlug || '',\n description: req.meetingTypeApi.description || '',\n hexColor: req.meetingTypeApi.hexColor || '',\n form: form,\n hostUserIds: req.meetingTypeApi.hostUserIds || [],\n availabilityIncrement: req.meetingTypeApi.availabilityIncrement || -1,\n bufferDurationAfterMeeting: req.meetingTypeApi.bufferDurationAfterMeeting || 0,\n bufferDurationBeforeMeeting: req.meetingTypeApi.bufferDurationBeforeMeeting || 0,\n noticeTime: req.meetingTypeApi.noticeTime || 0,\n location: req.meetingTypeApi.location || '',\n locationGuidelines: req.meetingTypeApi.locationGuidelines || '',\n emailSubject: req.meetingTypeApi.emailSubject || '',\n emailDescription: req.meetingTypeApi.emailDescription || '',\n isPinned: req.meetingTypeApi.isPinned || false,\n CalendarType: req.meetingTypeApi.calendarType || '',\n hostUsers: req.meetingTypeApi.hostUsers || [],\n teamName: req.meetingTypeApi.teamName || '',\n isVideoLinkDisabled: req.meetingTypeApi.isVideoLinkDisabled || false,\n locationType: req.meetingTypeApi.locationType || MeetingLocationType.VIDEO,\n meetingType: req.meetingTypeApi.meetingType || TeamEventMeetingType.ROUND_ROBIN,\n dateRange: req.meetingTypeApi.dateRange ||{},\n attendeeCount: req.meetingTypeApi.attendeeCount || 0,\n registrationCutoff: req.meetingTypeApi.registrationCutoff || 0,\n sessionTitle: req.meetingTypeApi.sessionTitle || '',\n\n }\n}\n\n\nexport function MeetingTypeToApi(req: { meetingType: Partial<MeetingType> }): ApiMeetingType {\n const m = req.meetingType;\n if (!m) {\n return {};\n }\n return {\n id: m.id || undefined,\n name: m.name || undefined,\n hexColor: m.hexColor || undefined,\n meetingTypeSlug: m.meetingTypeSlug || m.bookingLink || undefined,\n calendarId: m.calendarId || undefined,\n description: m.description || undefined,\n duration: m.duration ? m.duration : undefined,\n form: m.form || undefined,\n hostUserIds: m.hostUserIds || undefined,\n availabilityIncrement : m.availabilityIncrement || undefined,\n bufferDurationAfterMeeting: m.bufferDurationAfterMeeting || 0,\n noticeTime: m.noticeTime || 0,\n location: m.location || undefined,\n locationGuidelines: m.locationGuidelines || undefined,\n emailSubject: m.emailSubject || undefined,\n emailDescription: m.emailDescription || undefined,\n isPinned:m.isPinned || undefined,\n calendarType: m.CalendarType || undefined,\n hostUsers:m.hostUsers||undefined,\n teamName: m.teamName || undefined,\n isVideoLinkDisabled: m.isVideoLinkDisabled || false,\n locationType: m.locationType || MeetingLocationType.VIDEO,\n bufferDurationBeforeMeeting: m.bufferDurationBeforeMeeting || 0,\n meetingType: m.meetingType || TeamEventMeetingType.ROUND_ROBIN,\n dateRange:m.dateRange||undefined,\n attendeeCount: m.attendeeCount || 0,\n registrationCutoff: m.registrationCutoff || 0,\n sessionTitle: m.sessionTitle || undefined\n };\n}","import {Meeting as ApiMeeting} from '../_internal/objects';\nimport {AnswerInterface, AnswersInterface, AttachmentInterface, HostDetailsInterface} from '../_internal/interfaces';\nimport {FormFieldType, TeamEventMeetingType} from '../_internal/enums';\n\nexport interface Attendee {\n firstName: string;\n lastName: string;\n email: string;\n phoneNumber: string;\n timeZone?: string;\n isPrimary: boolean;\n}\n\nexport type MeetingFormAnswer = Required<AnswerInterface>;\nexport type MeetingForm = Required<Omit<AnswersInterface, 'formAnswers'>> & { formAnswers: MeetingFormAnswer[] };\n\n// These represent well-known metadata keys used for more than just tracking\nexport enum WellKnownMeetingMetadataKeys {\n // This is the business (AG) attached to a meeting. This is attached via sending msm_business as a query param during booking\n BUSINESS = 'msm_business',\n}\n\n// These are part of the standard Meeting Scheduler form.\n// If you are trying to pre-fill these fields use the helper formFieldIdToMetadataParam\nexport enum WellKnownFormFieldIds {\n FIRST_NAME = 'firstName',\n LAST_NAME = 'lastName',\n EMAIL = 'email',\n PHONE_NUMBER = 'phoneNumber',\n COMMENT = 'comment',\n INVITEE_EMAILS = 'inviteeEmail',\n}\n\n// Converts the given id into a metadata key that can be sent on the url.\n// This means the key will be used to pre-fill those form fields.\n// This can also be used on fields that are not metadata to ensure they will come across in metadata.\nexport function meetingSchedulerIdToMetadataKey(id: string): string {\n if (!id) {\n return '';\n }\n return id.startsWith('msm_') || id.startsWith('utm_') ? id : `msm_${id}`;\n}\n\nexport interface MeetingMetadata {\n [key: string]: string;\n}\n\nexport interface Meeting {\n id: string;\n eventTypeId: string;\n hostId: string;\n start: Date;\n end: Date;\n description: string;\n joinMeetingUrl: string;\n attendees: Attendee[];\n created: Date;\n updated: Date;\n topic?: string;\n formAnswers: MeetingForm;\n metadata: MeetingMetadata\n attachments: Required<AttachmentInterface>[],\n location: string,\n calendarId: string;\n hostDetails: HostDetailsInterface[],\n meetingType: TeamEventMeetingType;\n}\n\nexport function meetingFromApi(meetingApi: ApiMeeting): Meeting {\n return {\n id: meetingApi.id,\n eventTypeId: meetingApi.eventTypeId,\n hostId: meetingApi.hostId,\n start: meetingApi.start,\n end: meetingApi.end,\n description: meetingApi.description || '',\n joinMeetingUrl: meetingApi.joinMeetingUrl || '',\n attendees: meetingApi.attendees ? meetingApi.attendees.map(a => ({\n firstName: a.firstName,\n lastName: a.lastName,\n email: a.email,\n phoneNumber: a.phoneNumber,\n timeZone: a.timeZone,\n isPrimary: a.isPrimary || false,\n })) : [],\n created: meetingApi.created,\n updated: meetingApi.updated,\n topic: meetingApi.topic,\n formAnswers: answersFromAPI(meetingApi.formAnswers),\n metadata: meetingApi.metadata || {},\n attachments: (meetingApi.attachments || []).map(a => {\n return {\n fileTitle: a.fileTitle || '',\n fileUrl: a.fileUrl || '',\n fileType: a.fileType || '',\n };\n }),\n location: meetingApi.location || '',\n calendarId: meetingApi.calendarId || '',\n hostDetails: (meetingApi.hostDetails || []).map(h => {\n return {\n hostID: h.hostId || '',\n name: h.name || '',\n }\n }),\n meetingType: meetingApi.meetingType,\n }\n}\n\nexport function answersFromAPI(formAnswers: AnswersInterface): MeetingForm {\n if (!formAnswers) {\n return {formAnswers: []};\n }\n return {\n formAnswers: (formAnswers.formAnswers ? formAnswers.formAnswers : []).map(a => {\n return {\n id: a.id || '',\n label: a.label || '',\n type: a.type || FormFieldType.FORM_FIELD_TYPE_INVALID,\n answer: a.answer || [],\n }\n })\n }\n}\n\nexport function answersToAPI(formAnswers?: MeetingForm): AnswersInterface {\n if (!formAnswers) {\n return {formAnswers: []};\n }\n return {\n formAnswers: (formAnswers.formAnswers || []).map(a => {\n return {\n id: a.id || undefined,\n label: a.label || undefined,\n type: a.type,\n answer: a.answer || undefined,\n }\n })\n }\n}\n","export class PagedResponse<T> {\n results: T[];\n nextCursor: string;\n hasMore: boolean;\n\n constructor(results: T[], nextCursor: string, hasMore: boolean) {\n this.results = results;\n this.nextCursor = nextCursor;\n this.hasMore = hasMore;\n }\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n BookMeetingRequest,\n BookMeetingResponse,\n GetCalendarRequest,\n GetCalendarResponse,\n GetGroupRequest,\n GetGroupResponse,\n GetHostRequest,\n GetHostResponse,\n GetMeetingTypeRequest,\n GetMeetingTypeResponse,\n GetServiceRequest,\n GetServiceResponse,\n GuestCancelMeetingRequest,\n GuestGetBookedMeetingRequest,\n GuestGetBookedMeetingResponse,\n GuestIsHostConfiguredRequest,\n GuestIsHostConfiguredResponse,\n GuestRescheduleMeetingRequest,\n ListAvailableTimeSlotsRequest,\n ListAvailableTimeSlotsResponse,\n ListMeetingTypesRequest,\n ListMeetingTypesResponse,\n} from './objects/';\nimport {\n BookMeetingRequestInterface,\n BookMeetingResponseInterface,\n GetCalendarRequestInterface,\n GetCalendarResponseInterface,\n GetGroupRequestInterface,\n GetGroupResponseInterface,\n GetHostRequestInterface,\n GetHostResponseInterface,\n GetMeetingTypeRequestInterface,\n GetMeetingTypeResponseInterface,\n GetServiceRequestInterface,\n GetServiceResponseInterface,\n GuestCancelMeetingRequestInterface,\n GuestGetBookedMeetingRequestInterface,\n GuestGetBookedMeetingResponseInterface,\n GuestIsHostConfiguredRequestInterface,\n GuestIsHostConfiguredResponseInterface,\n GuestRescheduleMeetingRequestInterface,\n ListAvailableTimeSlotsRequestInterface,\n ListAvailableTimeSlotsResponseInterface,\n ListMeetingTypesRequestInterface,\n ListMeetingTypesResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {inject} from '@angular/core';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class MeetingGuestApiService {\n private readonly hostService = inject(HostService);\n private readonly http = inject(HttpClient);\n private _host = this.hostService.hostWithScheme;\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n listMeetingTypes(r: ListMeetingTypesRequest | ListMeetingTypesRequestInterface): Observable<ListMeetingTypesResponse> {\n const request = ((<ListMeetingTypesRequest>r).toApiJson) ? (<ListMeetingTypesRequest>r) : new ListMeetingTypesRequest(r);\n return this.http.post<ListMeetingTypesResponseInterface>(this._host + \"/meetings.v1.MeetingGuest/ListMeetingTypes\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListMeetingTypesResponse.fromProto(resp))\n );\n }\n getMeetingType(r: GetMeetingTypeRequest | GetMeetingTypeRequestInterface): Observable<GetMeetingTypeResponse> {\n const request = ((<GetMeetingTypeRequest>r).toApiJson) ? (<GetMeetingTypeRequest>r) : new GetMeetingTypeRequest(r);\n return this.http.post<GetMeetingTypeResponseInterface>(this._host + \"/meetings.v1.MeetingGuest/GetMeetingType\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMeetingTypeResponse.fromProto(resp))\n );\n }\n listAvailableTimeSlots(r: ListAvailableTimeSlotsRequest | ListAvailableTimeSlotsRequestInterface): Observable<ListAvailableTimeSlotsResponse> {\n const request = ((<ListAvailableTimeSlotsRequest>r).toApiJson) ? (<ListAvailableTimeSlotsRequest>r) : new ListAvailableTimeSlotsRequest(r);\n return this.http.post<ListAvailableTimeSlotsResponseInterface>(this._host + \"/meetings.v1.MeetingGuest/ListAvailableTimeSlots\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListAvailableTimeSlotsResponse.fromProto(resp))\n );\n }\n bookMeeting(r: BookMeetingRequest | BookMeetingRequestInterface): Observable<BookMeetingResponse> {\n const request = ((<BookMeetingRequest>r).toApiJson) ? (<BookMeetingRequest>r) : new BookMeetingRequest(r);\n return this.http.post<BookMeetingResponseInterface>(this._host + \"/meetings.v1.MeetingGuest/BookMeeting\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => BookMeetingResponse.fromProto(resp))\n );\n }\n cancelMeeting(r: GuestCancelMeetingRequest | GuestCancelMeetingRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<GuestCancelMeetingRequest>r).toApiJson) ? (<GuestCancelMeetingRequest>r) : new GuestCancelMeetingRequest(r);\n return this.http.post<null>(this._host + \"/meetings.v1.MeetingGuest/CancelMeeting\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n rescheduleMeeting(r: GuestRescheduleMeetingRequest | GuestRescheduleMeetingRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<GuestRescheduleMeetingRequest>r).toApiJson) ? (<GuestRescheduleMeetingRequest>r) : new GuestRescheduleMeetingRequest(r);\n return this.http.post<null>(this._host + \"/meetings.v1.MeetingGuest/RescheduleMeeting\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getGuestBookedMeeting(r: GuestGetBookedMeetingRequest | GuestGetBookedMeetingRequestInterface): Observable<GuestGetBookedMeetingResponse> {\n const request = ((<GuestGetBookedMeetingRequest>r).toApiJson) ? (<GuestGetBookedMeetingRequest>r) : new GuestGetBookedMeetingRequest(r);\n return this.http.post<GuestGetBookedMeetingResponseInterface>(this._host + \"/meetings.v1.MeetingGuest/GetGuestBookedMeeting\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GuestGetBookedMeetingResponse.fromProto(resp))\n );\n }\n getCalendar(r: GetCalendarRequest | GetCalendarRequestInterface): Observable<GetCalendarResponse> {\n const request = ((<GetCalendarRequest>r).toApiJson) ? (<GetCalendarRequest>r) : new GetCalendarRequest(r);\n return this.http.post<GetCalendarResponseInterface>(this._host + \"/meetings.v1.MeetingGuest/GetCalendar\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetCalendarResponse.fromProto(resp))\n );\n }\n getHost(r: GetHostRequest | GetHostRequestInterface): Observable<GetHostResponse> {\n const request = ((<GetHostRequest>r).toApiJson) ? (<GetHostRequest>r) : new GetHostRequest(r);\n return this.http.post<GetHostResponseInterface>(this._host + \"/meetings.v1.MeetingGuest/GetHost\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetHostResponse.fromProto(resp))\n );\n }\n getGroup(r: GetGroupRequest | GetGroupRequestInterface): Observable<GetGroupResponse> {\n const request = ((<GetGroupRequest>r).toApiJson) ? (<GetGroupRequest>r) : new GetGroupRequest(r);\n return this.http.post<GetGroupResponseInterface>(this._host + \"/meetings.v1.MeetingGuest/GetGroup\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetGroupResponse.fromProto(resp))\n );\n }\n isHostConfigured(r: GuestIsHostConfiguredRequest | GuestIsHostConfiguredRequestInterface): Observable<GuestIsHostConfiguredResponse> {\n const request = ((<GuestIsHostConfiguredRequest>r).toApiJson) ? (<GuestIsHostConfiguredRequest>r) : new GuestIsHostConfiguredRequest(r);\n return this.http.post<GuestIsHostConfiguredResponseInterface>(this._host + \"/meetings.v1.MeetingGuest/IsHostConfigured\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GuestIsHostConfiguredResponse.fromProto(resp))\n );\n }\n getService(r: GetServiceRequest | GetServiceRequestInterface): Observable<GetServiceResponse> {\n const request = ((<GetServiceRequest>r).toApiJson) ? (<GetServiceRequest>r) : new GetServiceRequest(r);\n return this.http.post<GetServiceResponseInterface>(this._host + \"/meetings.v1.MeetingGuest/GetService\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetServiceResponse.fromProto(resp))\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n BookMeetingRequest,\n BookMeetingResponse,\n BuildHostIdRequest,\n BuildHostIdResponse,\n CalendarMigrationResponse,\n CancelMeetingRequest,\n CheckGroupOrServiceSlugExistRequest,\n CheckGroupOrServiceSlugExistResponse,\n CreateAvailabilityRequest,\n CreateAvailabilityResponse,\n CreateCalendarRequest,\n CreateCalendarResponse,\n CreateDefaultMeetingTypesRequest,\n CreateGroupRequest,\n CreateGroupResponse,\n CreateMeetingTypeRequest,\n CreateMeetingTypeResponse,\n CreateServiceRequest,\n CreateServiceResponse,\n DeleteAvailabilityRequest,\n DeleteGroupRequest,\n DeleteMeetingTypeRequest,\n DeleteServiceRequest,\n DoesCalendarExistRequest,\n DoesCalendarExistResponse,\n EnsureGroupCalendarsExistRequest,\n EnsureGroupCalendarsExistResponse,\n EnsurePersonalCalendarExistsRequest,\n EnsurePersonalCalendarExistsResponse,\n GetEntityAssociationRequest,\n GetEntityAssociationResponse,\n GetGroupRequest,\n GetGroupResponse,\n GetHostMeetingRequest,\n GetHostMeetingResponse,\n GetHostPreferencesRequest,\n GetHostPreferencesResponse,\n GetHostsForCalendarRequest,\n GetHostsForCalendarResponse,\n GetMeetingTypesForCalendarsRequest,\n GetMeetingTypesForCalendarsResponse,\n GetServiceRequest,\n GetServiceResponse,\n HostBookMeetingRequest,\n HostBookMeetingResponse,\n HostGetCalendarRequest,\n HostGetCalendarResponse,\n HostGetMeetingTypeRequest,\n HostGetMeetingTypeResponse,\n HostListMeetingTypesRequest,\n HostListMeetingTypesResponse,\n IsCalendarConfiguredRequest,\n IsCalendarConfiguredResponse,\n IsHostConfiguredRequest,\n IsHostConfiguredResponse,\n ListAvailabilityRequest,\n ListAvailabilityResponse,\n ListBookedMeetingsRequest,\n ListBookedMeetingsResponse,\n ListGroupsRequest,\n ListGroupsResponse,\n ListServicesRequest,\n ListServicesResponse,\n RescheduleMeetingRequest,\n SendMeetingRequestEmailRequest,\n SetGeneralAvailabilityRequest,\n UpdateAvailabilityRequest,\n UpdateCalendarRequest,\n UpdateGroupRequest,\n UpdateHostPreferencesRequest,\n UpdateMeetingMetadataRequest,\n UpdateMeetingTypeRequest,\n UpdateServiceRequest,\n} from './objects/';\nimport {\n BookMeetingRequestInterface,\n BookMeetingResponseInterface,\n BuildHostIdRequestInterface,\n BuildHostIdResponseInterface,\n CalendarMigrationResponseInterface,\n CancelMeetingRequestInterface,\n CheckGroupOrServiceSlugExistRequestInterface,\n CheckGroupOrServiceSlugExistResponseInterface,\n CreateAvailabilityRequestInterface,\n CreateAvailabilityResponseInterface,\n CreateCalendarRequestInterface,\n CreateCalendarResponseInterface,\n CreateDefaultMeetingTypesRequestInterface,\n CreateGroupRequestInterface,\n CreateGroupResponseInterface,\n CreateMeetingTypeRequestInterface,\n CreateMeetingTypeResponseInterface,\n CreateServiceRequestInterface,\n CreateServiceResponseInterface,\n DeleteAvailabilityRequestInterface,\n DeleteGroupRequestInterface,\n DeleteMeetingTypeRequestInterface,\n DeleteServiceRequestInterface,\n DoesCalendarExistRequestInterface,\n DoesCalendarExistResponseInterface,\n EnsureGroupCalendarsExistRequestInterface,\n EnsureGroupCalendarsExistResponseInterface,\n EnsurePersonalCalendarExistsRequestInterface,\n EnsurePersonalCalendarExistsResponseInterface,\n GetEntityAssociationRequestInterface,\n GetEntityAssociationResponseInterface,\n GetGroupRequestInterface,\n GetGroupResponseInterface,\n GetHostMeetingRequestInterface,\n GetHostMeetingResponseInterface,\n GetHostPreferencesRequestInterface,\n GetHostPreferencesResponseInterface,\n GetHostsForCalendarRequestInterface,\n GetHostsForCalendarResponseInterface,\n GetMeetingTypesForCalendarsRequestInterface,\n GetMeetingTypesForCalendarsResponseInterface,\n GetServiceRequestInterface,\n GetServiceResponseInterface,\n HostBookMeetingRequestInterface,\n HostBookMeetingResponseInterface,\n HostGetCalendarRequestInterface,\n HostGetCalendarResponseInterface,\n HostGetMeetingTypeRequestInterface,\n HostGetMeetingTypeResponseInterface,\n HostListMeetingTypesRequestInterface,\n HostListMeetingTypesResponseInterface,\n IsCalendarConfiguredRequestInterface,\n IsCalendarConfiguredResponseInterface,\n IsHostConfiguredRequestInterface,\n IsHostConfiguredResponseInterface,\n ListAvailabilityRequestInterface,\n ListAvailabilityResponseInterface,\n ListBookedMeetingsRequestInterface,\n ListBookedMeetingsResponseInterface,\n ListGroupsRequestInterface,\n ListGroupsResponseInterface,\n ListServicesRequestInterface,\n ListServicesResponseInterface,\n RescheduleMeetingRequestInterface,\n SendMeetingRequestEmailRequestInterface,\n SetGeneralAvailabilityRequestInterface,\n UpdateAvailabilityRequestInterface,\n UpdateCalendarRequestInterface,\n UpdateGroupRequestInterface,\n UpdateHostPreferencesRequestInterface,\n UpdateMeetingMetadataRequestInterface,\n UpdateMeetingTypeRequestInterface,\n UpdateServiceRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {inject} from '@angular/core';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class MeetingHostApiService {\n private readonly hostService = inject(HostService);\n private readonly http = inject(HttpClient);\n private _host = this.hostService.hostWithScheme;\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n buildHostId(r: BuildHostIdRequest | BuildHostIdRequestInterface): Observable<BuildHostIdResponse> {\n const request = ((<BuildHostIdRequest>r).toApiJson) ? (<BuildHostIdRequest>r) : new BuildHostIdRequest(r);\n return this.http.post<BuildHostIdResponseInterface>(this._host + \"/meetings.v1.MeetingHost/BuildHostId\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => BuildHostIdResponse.fromProto(resp))\n );\n }\n doesCalendarExist(r: DoesCalendarExistRequest | DoesCalendarExistRequestInterface): Observable<DoesCalendarExistResponse> {\n const request = ((<DoesCalendarExistRequest>r).toApiJson) ? (<DoesCalendarExistRequest>r) : new DoesCalendarExistRequest(r);\n return this.http.post<DoesCalendarExistResponseInterface>(this._host + \"/meetings.v1.MeetingHost/DoesCalendarExist\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => DoesCalendarExistResponse.fromProto(resp))\n );\n }\n createCalendar(r: CreateCalendarRequest | CreateCalendarRequestInterface): Observable<CreateCalendarResponse> {\n const request = ((<CreateCalendarRequest>r).toApiJson) ? (<CreateCalendarRequest>r) : new CreateCalendarRequest(r);\n return this.http.post<CreateCalendarResponseInterface>(this._host + \"/meetings.v1.MeetingHost/CreateCalendar\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CreateCalendarResponse.fromProto(resp))\n );\n }\n updateCalendar(r: UpdateCalendarRequest | UpdateCalendarRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdateCalendarRequest>r).toApiJson) ? (<UpdateCalendarRequest>r) : new UpdateCalendarRequest(r);\n return this.http.post<null>(this._host + \"/meetings.v1.MeetingHost/UpdateCalendar\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getCalendar(r: HostGetCalendarRequest | HostGetCalendarRequestInterface): Observable<HostGetCalendarResponse> {\n const request = ((<HostGetCalendarRequest>r).toApiJson) ? (<HostGetCalendarRequest>r) : new HostGetCalendarRequest(r);\n return this.http.post<HostGetCalendarResponseInterface>(this._host + \"/meetings.v1.MeetingHost/GetCalendar\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => HostGetCalendarResponse.fromProto(resp))\n );\n }\n ensurePersonalCalendarExists(r: EnsurePersonalCalendarExistsRequest | EnsurePersonalCalendarExistsRequestInterface): Observable<EnsurePersonalCalendarExistsResponse> {\n const request = ((<EnsurePersonalCalendarExistsRequest>r).toApiJson) ? (<EnsurePersonalCalendarExistsRequest>r) : new EnsurePersonalCalendarExistsRequest(r);\n return this.http.post<EnsurePersonalCalendarExistsResponseInterface>(this._host + \"/meetings.v1.MeetingHost/EnsurePersonalCalendarExists\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => EnsurePersonalCalendarExistsResponse.fromProto(resp))\n );\n }\n ensureGroupCalendarsExist(r: EnsureGroupCalendarsExistRequest | EnsureGroupCalendarsExistRequestInterface): Observable<EnsureGroupCalendarsExistResponse> {\n const request = ((<EnsureGroupCalendarsExistRequest>r).toApiJson) ? (<EnsureGroupCalendarsExistRequest>r) : new EnsureGroupCalendarsExistRequest(r);\n return this.http.post<EnsureGroupCalendarsExistResponseInterface>(this._host + \"/meetings.v1.MeetingHost/EnsureGroupCalendarsExist\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => EnsureGroupCalendarsExistResponse.fromProto(resp))\n );\n }\n getHostsForCalendar(r: GetHostsForCalendarRequest | GetHostsForCalendarRequestInterface): Observable<GetHostsForCalendarResponse> {\n const request = ((<GetHostsForCalendarRequest>r).toApiJson) ? (<GetHostsForCalendarRequest>r) : new GetHostsForCalendarRequest(r);\n return this.http.post<GetHostsForCalendarResponseInterface>(this._host + \"/meetings.v1.MeetingHost/GetHostsForCalendar\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetHostsForCalendarResponse.fromProto(resp))\n );\n }\n getMeetingTypesForCalendars(r: GetMeetingTypesForCalendarsRequest | GetMeetingTypesForCalendarsRequestInterface): Observable<GetMeetingTypesForCalendarsResponse> {\n const request = ((<GetMeetingTypesForCalendarsRequest>r).toApiJson) ? (<GetMeetingTypesForCalendarsRequest>r) : new GetMeetingTypesForCalendarsRequest(r);\n return this.http.post<GetMeetingTypesForCalendarsResponseInterface>(this._host + \"/meetings.v1.MeetingHost/GetMeetingTypesForCalendars\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMeetingTypesForCalendarsResponse.fromProto(resp))\n );\n }\n listAvailability(r: ListAvailabilityRequest | ListAvailabilityRequestInterface): Observable<ListAvailabilityResponse> {\n const request = ((<ListAvailabilityRequest>r).toApiJson) ? (<ListAvailabilityRequest>r) : new ListAvailabilityRequest(r);\n return this.http.post<ListAvailabilityResponseInterface>(this._host + \"/meetings.v1.MeetingHost/ListAvailability\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListAvailabilityResponse.fromProto(resp))\n );\n }\n bookMeeting(r: HostBookMeetingRequest | HostBookMeetingRequestInterface): Observable<HostBookMeetingResponse> {\n const request = ((<HostBookMeetingRequest>r).toApiJson) ? (<HostBookMeetingRequest>r) : new HostBookMeetingRequest(r);\n return this.http.post<HostBookMeetingResponseInterface>(this._host + \"/meetings.v1.MeetingHost/BookMeeting\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => HostBookMeetingResponse.fromProto(resp))\n );\n }\n getHostMeeting(r: GetHostMeetingRequest | GetHostMeetingRequestInterface): Observable<GetHostMeetingResponse> {\n const request = ((<GetHostMeetingRequest>r).toApiJson) ? (<GetHostMeetingRequest>r) : new GetHostMeetingRequest(r);\n return this.http.post<GetHostMeetingResponseInterface>(this._host + \"/meetings.v1.MeetingHost/GetHostMeeting\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetHostMeetingResponse.fromProto(resp))\n );\n }\n listBookedMeetings(r: ListBookedMeetingsRequest | ListBookedMeetingsRequestInterface): Observable<ListBookedMeetingsResponse> {\n const request = ((<ListBookedMeetingsRequest>r).toApiJson) ? (<ListBookedMeetingsRequest>r) : new ListBookedMeetingsRequest(r);\n return this.http.post<ListBookedMeetingsResponseInterface>(this._host + \"/meetings.v1.MeetingHost/ListBookedMeetings\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListBookedMeetingsResponse.fromProto(resp))\n );\n }\n cancelMeeting(r: CancelMeetingRequest | CancelMeetingRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<CancelMeetingRequest>r).toApiJson) ? (<CancelMeetingRequest>r) : new CancelMeetingRequest(r);\n return this.http.post<null>(this._host + \"/meetings.v1.MeetingHost/CancelMeeting\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n rescheduleMeeting(r: RescheduleMeetingRequest | RescheduleMeetingRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<RescheduleMeetingRequest>r).toApiJson) ? (<RescheduleMeetingRequest>r) : new RescheduleMeetingRequest(r);\n return this.http.post<null>(this._host + \"/meetings.v1.MeetingHost/RescheduleMeeting\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n updateMeetingMetadata(r: UpdateMeetingMetadataRequest | UpdateMeetingMetadataRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdateMeetingMetadataRequest>r).toApiJson) ? (<UpdateMeetingMetadataRequest>r) : new UpdateMeetingMetadataRequest(r);\n return this.http.post<null>(this._host + \"/meetings.v1.MeetingHost/UpdateMeetingMetadata\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n setGeneralAvailability(r: SetGeneralAvailabilityRequest | SetGeneralAvailabilityRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<SetGeneralAvailabilityRequest>r).toApiJson) ? (<SetGeneralAvailabilityRequest>r) : new SetGeneralAvailabilityRequest(r);\n return this.http.post<null>(this._host + \"/meetings.v1.MeetingHost/SetGeneralAvailability\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n createAvailability(r: CreateAvailabilityRequest | CreateAvailabilityRequestInterface): Observable<CreateAvailabilityResponse> {\n const request = ((<CreateAvailabilityRequest>r).toApiJson) ? (<CreateAvailabilityRequest>r) : new CreateAvailabilityRequest(r);\n return this.http.post<CreateAvailabilityResponseInterface>(this._host + \"/meetings.v1.MeetingHost/CreateAvailability\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CreateAvailabilityResponse.fromProto(resp))\n );\n }\n updateAvailability(r: UpdateAvailabilityRequest | UpdateAvailabilityRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdateAvailabilityRequest>r).toApiJson) ? (<UpdateAvailabilityRequest>r) : new UpdateAvailabilityRequest(r);\n return this.http.post<null>(this._host + \"/meetings.v1.MeetingHost/UpdateAvailability\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n deleteAvailability(r: DeleteAvailabilityRequest | DeleteAvailabilityRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeleteAvailabilityRequest>r).toApiJson) ? (<DeleteAvailabilityRequest>r) : new DeleteAvailabilityRequest(r);\n return this.http.post<null>(this._host + \"/meetings.v1.MeetingHost/DeleteAvailability\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n isHostConfigured(r: IsHostConfiguredRequest | IsHostConfiguredRequestInterface): Observable<IsHostConfiguredResponse> {\n const request = ((<IsHostConfiguredRequest>r).toApiJson) ? (<IsHostConfiguredRequest>r) : new IsHostConfiguredRequest(r);\n return this.http.post<IsHostConfiguredResponseInterface>(this._host + \"/meetings.v1.MeetingHost/IsHostConfigured\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => IsHostConfiguredResponse.fromProto(resp))\n );\n }\n getHostPreferences(r: GetHostPreferencesRequest | GetHostPreferencesRequestInterface): Observable<GetHostPreferencesResponse> {\n const request = ((<GetHostPreferencesRequest>r).toApiJson) ? (<GetHostPreferencesRequest>r) : new GetHostPreferencesRequest(r);\n return this.http.post<GetHostPreferencesResponseInterface>(this._host + \"/meetings.v1.MeetingHost/GetHostPreferences\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetHostPreferencesResponse.fromProto(resp))\n );\n }\n updateHostPreferences(r: UpdateHostPreferencesRequest | UpdateHostPreferencesRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdateHostPreferencesRequest>r).toApiJson) ? (<UpdateHostPreferencesRequest>r) : new UpdateHostPreferencesRequest(r);\n return this.http.post<null>(this._host + \"/meetings.v1.MeetingHost/UpdateHostPreferences\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getMeetingType(r: HostGetMeetingTypeRequest | HostGetMeetingTypeRequestInterface): Observable<HostGetMeetingTypeResponse> {\n const request = ((<HostGetMeetingTypeRequest>r).toApiJson) ? (<HostGetMeetingTypeRequest>r) : new HostGetMeetingTypeRequest(r);\n return this.http.post<HostGetMeetingTypeResponseInterface>(this._host + \"/meetings.v1.MeetingHost/GetMeetingType\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => HostGetMeetingTypeResponse.fromProto(resp))\n );\n }\n listMeetingTypes(r: HostListMeetingTypesRequest | HostListMeetingTypesRequestInterface): Observable<HostListMeetingTypesResponse> {\n const request = ((<HostListMeetingTypesRequest>r).toApiJson) ? (<HostListMeetingTypesRequest>r) : new HostListMeetingTypesRequest(r);\n return this.http.post<HostListMeetingTypesResponseInterface>(this._host + \"/meetings.v1.MeetingHost/ListMeetingTypes\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => HostListMeetingTypesResponse.fromProto(resp))\n );\n }\n createMeetingType(r: CreateMeetingTypeRequest | CreateMeetingTypeRequestInterface): Observable<CreateMeetingTypeResponse> {\n const request = ((<CreateMeetingTypeRequest>r).toApiJson) ? (<CreateMeetingTypeRequest>r) : new CreateMeetingTypeRequest(r);\n return this.http.post<CreateMeetingTypeResponseInterface>(this._host + \"/meetings.v1.MeetingHost/CreateMeetingType\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CreateMeetingTypeResponse.fromProto(resp))\n );\n }\n updateMeetingType(r: UpdateMeetingTypeRequest | UpdateMeetingTypeRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdateMeetingTypeRequest>r).toApiJson) ? (<UpdateMeetingTypeRequest>r) : new UpdateMeetingTypeRequest(r);\n return this.http.post<null>(this._host + \"/meetings.v1.MeetingHost/UpdateMeetingType\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n deleteMeetingType(r: DeleteMeetingTypeRequest | DeleteMeetingTypeRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeleteMeetingTypeRequest>r).toApiJson) ? (<DeleteMeetingTypeRequest>r) : new DeleteMeetingTypeRequest(r);\n return this.http.post<null>(this._host + \"/meetings.v1.MeetingHost/DeleteMeetingType\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n createDefaultMeetingTypes(r: CreateDefaultMeetingTypesRequest | CreateDefaultMeetingTypesRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<CreateDefaultMeetingTypesRequest>r).toApiJson) ? (<CreateDefaultMeetingTypesRequest>r) : new CreateDefaultMeetingTypesRequest(r);\n return this.http.post<null>(this._host + \"/meetings.v1.MeetingHost/CreateDefaultMeetingTypes\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n sendMeetingRequestEmail(r: SendMeetingRequestEmailRequest | SendMeetingRequestEmailRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<SendMeetingRequestEmailRequest>r).toApiJson) ? (<SendMeetingRequestEmailRequest>r) : new SendMeetingRequestEmailRequest(r);\n return this.http.post<null>(this._host + \"/meetings.v1.MeetingHost/SendMeetingRequestEmail\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n isCalendarConfigured(r: IsCalendarConfiguredRequest | IsCalendarConfiguredRequestInterface): Observable<IsCalendarConfiguredResponse> {\n const request = ((<IsCalendarConfiguredRequest>r).toApiJson) ? (<IsCalendarConfiguredRequest>r) : new IsCalendarConfiguredRequest(r);\n return this.http.post<IsCalendarConfiguredResponseInterface>(this._host + \"/meetings.v1.MeetingHost/IsCalendarConfigured\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => IsCalendarConfiguredResponse.fromProto(resp))\n );\n }\n createGroup(r: CreateGroupRequest | CreateGroupRequestInterface): Observable<CreateGroupResponse> {\n const request = ((<CreateGroupRequest>r).toApiJson) ? (<CreateGroupRequest>r) : new CreateGroupRequest(r);\n return this.http.post<CreateGroupResponseInterface>(this._host + \"/meetings.v1.MeetingHost/CreateGroup\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CreateGroupResponse.fromProto(resp))\n );\n }\n updateGroup(r: UpdateGroupRequest | UpdateGroupRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdateGroupRequest>r).toApiJson) ? (<UpdateGroupRequest>r) : new UpdateGroupRequest(r);\n return this.http.post<null>(this._host + \"/meetings.v1.MeetingHost/UpdateGroup\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n deleteGroup(r: DeleteGroupRequest | DeleteGroupRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeleteGroupRequest>r).toApiJson) ? (<DeleteGroupRequest>r) : new DeleteGroupRequest(r);\n return this.http.post<null>(this._host + \"/meetings.v1.MeetingHost/DeleteGroup\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n listGroups(r: ListGroupsRequest | ListGroupsRequestInterface): Observable<ListGroupsResponse> {\n const request = ((<ListGroupsRequest>r).toApiJson) ? (<ListGroupsRequest>r) : new ListGroupsRequest(r);\n return this.http.post<ListGroupsResponseInterface>(this._host + \"/meetings.v1.MeetingHost/ListGroups\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListGroupsResponse.fromProto(resp))\n );\n }\n createService(r: CreateServiceRequest | CreateServiceRequestInterface): Observable<CreateServiceResponse> {\n const request = ((<CreateServiceRequest>r).toApiJson) ? (<CreateServiceRequest>r) : new CreateServiceRequest(r);\n return this.http.post<CreateServiceResponseInterface>(this._host + \"/meetings.v1.MeetingHost/CreateService\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CreateServiceResponse.fromProto(resp))\n );\n }\n updateService(r: UpdateServiceRequest | UpdateServiceRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdateServiceRequest>r).toApiJson) ? (<UpdateServiceRequest>r) : new UpdateServiceRequest(r);\n return this.http.post<null>(this._host + \"/meetings.v1.MeetingHost/UpdateService\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n deleteService(r: DeleteServiceRequest | DeleteServiceRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeleteServiceRequest>r).toApiJson) ? (<DeleteServiceRequest>r) : new DeleteServiceRequest(r);\n return this.http.post<null>(this._host + \"/meetings.v1.MeetingHost/DeleteService\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n listServices(r: ListServicesRequest | ListServicesRequestInterface): Observable<ListServicesResponse> {\n const request = ((<ListServicesRequest>r).toApiJson) ? (<ListServicesRequest>r) : new ListServicesRequest(r);\n return this.http.post<ListServicesResponseInterface>(this._host + \"/meetings.v1.MeetingHost/ListServices\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListServicesResponse.fromProto(resp))\n );\n }\n calendarMigration(): Observable<CalendarMigrationResponse> {\n return this.http.post<CalendarMigrationResponseInterface>(this._host + \"/meetings.v1.MeetingHost/CalendarMigration\", {}, this.apiOptions())\n .pipe(\n map(resp => CalendarMigrationResponse.fromProto(resp))\n );\n }\n getGroup(r: GetGroupRequest | GetGroupRequestInterface): Observable<GetGroupResponse> {\n const request = ((<GetGroupRequest>r).toApiJson) ? (<GetGroupRequest>r) : new GetGroupRequest(r);\n return this.http.post<GetGroupResponseInterface>(this._host + \"/meetings.v1.MeetingHost/GetGroup\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetGroupResponse.fromProto(resp))\n );\n }\n getService(r: GetServiceRequest | GetServiceRequestInterface): Observable<GetServiceResponse> {\n const request = ((<GetServiceRequest>r).toApiJson) ? (<GetServiceRequest>r) : new GetServiceRequest(r);\n return this.http.post<GetServiceResponseInterface>(this._host + \"/meetings.v1.MeetingHost/GetService\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetServiceResponse.fromProto(resp))\n );\n }\n checkGroupOrServiceSlugExist(r: CheckGroupOrServiceSlugExistRequest | CheckGroupOrServiceSlugExistRequestInterface): Observable<CheckGroupOrServiceSlugExistResponse> {\n const request = ((<CheckGroupOrServiceSlugExistRequest>r).toApiJson) ? (<CheckGroupOrServiceSlugExistRequest>r) : new CheckGroupOrServiceSlugExistRequest(r);\n return this.http.post<CheckGroupOrServiceSlugExistResponseInterface>(this._host + \"/meetings.v1.MeetingHost/CheckGroupOrServiceSlugExist\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CheckGroupOrServiceSlugExistResponse.fromProto(resp))\n );\n }\n hostBookMeeting(r: BookMeetingRequest | BookMeetingRequestInterface): Observable<BookMeetingResponse> {\n const request = ((<BookMeetingRequest>r).toApiJson) ? (<BookMeetingRequest>r) : new BookMeetingRequest(r);\n return this.http.post<BookMeetingResponseInterface>(this._host + \"/meetings.v1.MeetingHost/HostBookMeeting\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => BookMeetingResponse.fromProto(resp))\n );\n }\n getEntityAssociations(r: GetEntityAssociationRequest | GetEntityAssociationRequestInterface): Observable<GetEntityAssociationResponse> {\n const request = ((<GetEntityAssociationRequest>r).toApiJson) ? (<GetEntityAssociationRequest>r) : new GetEntityAssociationRequest(r);\n return this.http.post<GetEntityAssociationResponseInterface>(this._host + \"/meetings.v1.MeetingHost/GetEntityAssociations\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetEntityAssociationResponse.fromProto(resp))\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Index.\n// *********************************\n\nexport * from './enums';\nexport * from './objects';\nexport * from './interfaces';\nexport { GoogleMeetApiService } from './google-meet.api.service';\nexport { MeetingGuestApiService } from './meeting-guest.api.service';\nexport { MeetingHostApiService } from './meeting-host.api.service';\nexport { MeetingSourceAPIApiService } from './meeting-source-api.api.service';\nexport { ZoomApiService } from './zoom.api.service';\n","import {Calendar as APICalendar, CalendarType} from '../_internal';\n\nexport type Calendar = Omit<APICalendar, 'toApiJson'>\n\nexport function CalendarFromApi(calendarAPI: APICalendar): Calendar {\n return {\n id: calendarAPI.id || '',\n calendarType: calendarAPI.calendarType || CalendarType.CALENDAR_TYPE_INVALID,\n displayName: calendarAPI.displayName || '',\n displayProfileUrl: calendarAPI.displayProfileUrl || '',\n displayLogoUrl: calendarAPI.displayLogoUrl || '',\n bookingUrl: calendarAPI.bookingUrl || '',\n slug: calendarAPI.slug || '',\n externalId: calendarAPI.externalId || '',\n creatorUserId: calendarAPI.creatorUserId || '',\n hostUserIds: calendarAPI.hostUserIds || [],\n applicationContext: calendarAPI.applicationContext || {},\n encodedApplicationContext: '',\n }\n}\n\n// From meetings/internal/meetingscheduler/calendar/model.go\nexport enum KnownCalendarApplicationContextKeys {\n ExternalIntegration = 'external_integration',\n Business = 'business_id',\n SalesTeam = 'sales_team_id',\n}\n\nexport enum KnownCalendarExternalIntegrations {\n VSalesTeam = 'v_sales_team',\n VBusiness = 'v_business'\n}\n","import {Preferences as APIPreferences} from '../_internal/objects';\nimport {CalendarSource, MeetingSource, OnBoardingState} from '../_internal/enums';\nimport {TimeZoneInterface} from '../_internal/interfaces';\n\n\nexport interface Preferences {\n timezone: TimeZoneInterface;\n meetingIntegration: MeetingSource;\n availabilityIncrement: number;\n bufferDurationAfterMeeting: number;\n bufferDurationBeforeMeeting: number;\n noticeTime: number;\n calendarSlug: string;\n calendarIntegration: CalendarSource;\n onBoardingState: OnBoardingState;\n}\n\nexport function PreferencesFromApi(preferences: APIPreferences): Preferences {\n return {\n timezone: preferences.timezone,\n meetingIntegration: preferences.meetingIntegration || MeetingSource.MEETING_SOURCE_INVALID,\n availabilityIncrement: preferences.availabilityIncrement || 0,\n bufferDurationAfterMeeting: preferences.bufferDurationAfterMeeting || 0,\n bufferDurationBeforeMeeting: preferences.bufferDurationBeforeMeeting || 0,\n noticeTime: preferences.noticeTime || 0,\n calendarSlug: preferences.calendarSlug || '',\n calendarIntegration: preferences.calendarIntegration || CalendarSource.CALENDAR_SOURCE_INVALID,\n onBoardingState: preferences.onBoardingState || OnBoardingState.COMPLETED_SETUP,\n }\n}\n","export interface Duration {\n seconds: number;\n nanoseconds: number;\n}\n\n/**\n In JSON format, the Duration type is encoded as a string rather than an\n object, where the string ends in the suffix \"s\" (indicating seconds) and\n is preceded by the number of seconds, with nanoseconds expressed as\n fractional seconds. For example, 3 seconds with 0 nanoseconds should be\n encoded in JSON format as \"3s\", while 3 seconds and 1 nanosecond should\n be expressed in JSON format as \"3.000000001s\", and 3 seconds and 1\n microsecond should be expressed in JSON format as \"3.000001s\".\n https://developers.google.com/protocol-buffers/docs/reference/java/com/google/protobuf/Duration\n */\nexport function durationFromString(durationString: string): Duration {\n if (!durationString) {\n return {seconds: 0, nanoseconds: 0};\n }\n const [secondsString, nanosecondString] = durationString\n .replace(/s/g, '') // the end of the string has an s\n .split('.'); // before the decimal is seconds, after is nanoseconds\n const seconds = Number(secondsString);\n const nanoseconds = parseFloat('0.' + nanosecondString) * 1e9;\n return {\n seconds: isNaN(seconds) ? 0 : seconds,\n nanoseconds: isNaN(nanoseconds) ? 0 : nanoseconds,\n };\n}\n\nexport function durationToString(duration: Duration): string {\n if (!duration) {\n return '0s';\n }\n const seconds = duration.seconds || 0;\n const nanoseconds = duration.nanoseconds || 0;\n return `${seconds + (nanoseconds / 1e9)}s`;\n}\n\nexport function durationStringToMinutes(req: { duration: string, round?: boolean }): number {\n const d = durationFromString(req.duration);\n const minutes = d.seconds / 60 + (d.nanoseconds / 6e+10);\n if (req.round) {\n return Math.round(minutes);\n }\n return minutes;\n}\n","import {FieldMask} from '../_internal/objects';\n\nexport function getFieldMask<T>(req: { o: Partial<T>, updateFields?: (keyof T & string)[] }): FieldMask {\n const keysToUpdate = req.updateFields || Object.keys(req.o || {});\n return new FieldMask({paths: keysToUpdate || []});\n}\n","export interface BusinessCenterApplicationContextProperties {\n business_id: string;\n user_context: 'SMB';\n}\n\nexport interface SalesCenterApplicationContextProperties {\n partner_id: string;\n market_id: string;\n user_context: 'SALES';\n}\n\nexport interface PartnerCenterApplicationContextProperties {\n partner_id: string;\n user_context: 'PARTNER';\n}\n\n// This will extend to include other types (partner, sales, etc).\nexport type ApplicationContextPropertiesSet = BusinessCenterApplicationContextProperties | SalesCenterApplicationContextProperties | PartnerCenterApplicationContextProperties;\n\nexport function newBusinessCenterApplicationContextProperties(req: {business_id: string}): ApplicationContextPropertiesSet {\n return {\n business_id: req.business_id,\n user_context: 'SMB',\n }\n}\n\nexport function newSalesCenterApplicationContextProperties(req: {partner_id: string, market_id: string}): ApplicationContextPropertiesSet {\n return {\n partner_id: req.partner_id,\n market_id: req.market_id,\n user_context: 'SALES'\n }\n}\n\nexport function newPartnerCenterApplicationContextProperties(req: {partner_id: string}): ApplicationContextPropertiesSet {\n return {\n partner_id: req.partner_id,\n user_context: 'PARTNER',\n }\n}\n","import {HostUserInterface} from '../_internal';\nexport type HostUser = Required<HostUserInterface>\nexport function hostUserFromApi(hostUser: HostUserInterface) {\n return {\n userId: hostUser.userId || '',\n displayName: hostUser.displayName || '',\n isConfigured: hostUser.isConfigured || false\n }\n}\n","import {\n EventGroupAndServiceAssociationsInterface,\n GroupInterface,\n ServiceInterface\n} from \"../_internal\";\nimport {getBookingUrlImplementation} from \"../host/url\";\nimport {Environment} from \"./environment\";\n\n\nexport interface Group {\n id: string;\n name: string;\n description: string;\n slug: string;\n isPinned: boolean;\n associations: EventGroupAndServiceAssociations[];\n hexColor?: string;\n bookingUrl?: string;\n}\n\nexport interface EventGroupAndServiceAssociations {\n id?: string;\n name?: string;\n eventType?: string;\n identifier?: string;\n isEditable?: boolean;\n creatorUserName?: string;\n calendarId?: string;\n hexColor?: string;\n duration?: string;\n description?: string;\n bookingUrl?: string;\n\n }\n\nexport interface Service {\n id: string;\n name: string;\n description: string;\n slug: string;\n isPinned: boolean;\n associations: EventGroupAndServiceAssociations[];\n hexColor?: string;\n bookingUrl?: string;\n}\n\nexport interface EntityAssociations {\n services?: string[];\n groups?: string[];\n}\n\nexport function GroupTypeToAPi(req: { group: Partial<Group> }): GroupInterface {\n const m = req.group;\n if (!m) {\n return {};\n }\n return {\n id: m.id || undefined,\n name: m.name || undefined,\n description: m.description || undefined,\n slug: m.slug || undefined,\n isPinned: m.isPinned || undefined,\n associations: m.associations ? m.associations.map(AssociationTypeToApi) : undefined,\n hexColor: m.hexColor || undefined,\n }\n}\n\nexport function ServiceTypeToApi(req: { service: Partial<Service> }): ServiceInterface {\n const m = req.service;\n if (!m) {\n return {};\n }\n return {\n id: m.id || undefined,\n name: m.name || undefined,\n description: m.description || undefined,\n slug: m.slug || undefined,\n isPinned: m.isPinned || undefined,\n associations: m.associations ? m.associations.map(AssociationTypeToApi) : undefined,\n hexColor: m.hexColor || undefined,\n }\n}\n\nexport function AssociationTypeToApi(association: EventGroupAndServiceAssociations): EventGroupAndServiceAssociationsInterface {\n return {\n id: association.id || undefined,\n name: association.name || undefined,\n eventType: association.eventType || undefined,\n identifier: association.identifier || undefined,\n isEditable: association.isEditable || false,\n creatorUserName: association.creatorUserName || undefined,\n calendarId: association.calendarId || undefined,\n hexColor: association.hexColor || undefined,\n duration: association.duration || undefined,\n description: association.description || undefined,\n bookingUrl: association.bookingUrl || undefined\n\n }\n}\n\nexport function AssociationFromApi(associationApi: EventGroupAndServiceAssociationsInterface): EventGroupAndServiceAssociations {\n return {\n id: associationApi.id || '',\n name: associationApi.name || '',\n eventType: associationApi.eventType || '',\n identifier: associationApi.identifier || '',\n isEditable: associationApi.isEditable ||false,\n creatorUserName: associationApi.creatorUserName || '',\n calendarId: associationApi.calendarId || '',\n hexColor: associationApi.hexColor || '',\n duration: associationApi.duration || '',\n description: associationApi.description || '',\n bookingUrl: associationApi.bookingUrl || ''\n }\n}\n\nexport function GroupFromApi(req:{groupApi: GroupInterface,environment: Environment}): Group {\n const groupId = req.groupApi.id || '';\n const groupSlug = req.groupApi.slug || '';\n const bookingUrl = req?.groupApi?.bookingUrl || getBookingURL(req.environment, groupSlug, groupId);\n return {\n id: groupId,\n name: req.groupApi.name || '',\n description: req.groupApi.description || '',\n slug: groupSlug,\n isPinned: req.groupApi.isPinned || false,\n associations: req.groupApi.associations ? req.groupApi.associations.map(AssociationFromApi) : [],\n hexColor: req.groupApi.hexColor || '',\n bookingUrl: bookingUrl\n }\n}\n\nexport function getBookingURL(environment: Environment, slug: string, calendarId:string): string {\n let bookingUrl = '';\n if (slug != '' ) {\n bookingUrl = getBookingUrlImplementation({\n environment: environment,\n calendarId: calendarId,\n meetingTypeSlug: slug ,\n });\n }\n return bookingUrl;\n}\n\nexport function ServiceFromApi(req:{serviceApi: ServiceInterface,environment: Environment}): Service {\n const serviceId = req.serviceApi.id || '';\n const serviceSlug = req.serviceApi.slug || '';\n const bookingUrl = req?.serviceApi?.bookingUrl || getBookingURL(req.environment, serviceSlug, serviceId);\n return {\n id: req.serviceApi.id || '',\n name: req.serviceApi.name || '',\n description: req.serviceApi.description || '',\n slug: req.serviceApi.slug || '',\n isPinned: req.serviceApi.isPinned || false,\n associations: req.serviceApi.associations ? req.serviceApi.associations.map(AssociationFromApi) : [],\n hexColor: req.serviceApi.hexColor || '',\n bookingUrl: bookingUrl\n }\n}","export enum MeetingSourceOrigin {\n TaskManager = 'task-manager',\n PartnerCenter = 'partner-center',\n BusinessApp = 'business-app',\n SalesCenter = 'sales-center'\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {\n CalendarInterface,\n Contact, GetGroupResponse,\n GuestIsHostConfiguredResponse,\n MeetingGuestApiService,\n MeetingLocationType,\n TeamEventMeetingType,\n TimeZoneInterface\n} from '../_internal';\nimport {Observable} from 'rxjs';\nimport {map, mapTo} from 'rxjs/operators';\nimport {\n answersToAPI,\n CalendarFromApi,\n Host,\n HostFromApi,\n MeetingForm,\n MeetingMetadata,\n MeetingType,\n MeetingTypeFromApi,\n TimeSpan,\n TimeSpanFromApi\n} from '../shared';\nimport {Environment, onProductionGlobal} from \"../shared/environment\";\nimport {GetServiceResponse} from \"../_internal/objects/meeting-guest\";\n\nexport interface BookMeetingResponse {\n meetingId: string;\n hostId: string;\n}\n\nexport interface BookedMeetingInfo {\n start: Date;\n end: Date;\n timeZone: TimeZoneInterface;\n meetingTypeId: string;\n location: string;\n locationGuideline: string;\n locationType: MeetingLocationType;\n meetingType: TeamEventMeetingType;\n displayName: string;\n calendarId: string;\n}\n\nexport interface GuestServiceInterface {\n getBookedMeetingInfo(meetingId: string, authToken: string): Observable<BookedMeetingInfo>\n\n listMeetingTypes(req: {\n hostId: string,\n timeZone?: TimeZoneInterface,\n metadata?: { [name: string]: string },\n slug?: string,\n }): Observable<MeetingType[]>\n\n isHostConfigured(req: { hostId: string }): Observable<boolean>\n}\n\n@Injectable({providedIn: 'root'})\nexport class GuestService implements GuestServiceInterface {\n\n constructor(\n private guestAPIService: MeetingGuestApiService,\n ) {}\n\n getMeetingType(req: {\n calendarSlug: string,\n meetingTypeSlug: string,\n metadata?: { [name: string]: string },\n }): Observable<MeetingType> {\n return this.guestAPIService.getMeetingType(req).pipe(\n map(resp => {\n if (!resp || !resp.meetingType) {\n return {} as MeetingType;\n }\n return MeetingTypeFromApi({\n environment: onProductionGlobal() ? Environment.PROD : Environment.DEMO,\n calendarId: req.calendarSlug,\n meetingTypeApi: resp.meetingType,\n metadata: req.metadata,\n calendarSlug: req.calendarSlug,\n });\n })\n );\n }\n\n listMeetingTypes(req: {\n hostId: string,\n metadata?: { [name: string]: string },\n // deprecated: unused field.\n timeZone?: TimeZoneInterface,\n calendarSlug?: string,\n }): Observable<MeetingType[]> {\n return this.guestAPIService.listMeetingTypes(req).pipe(\n map(resp => {\n if (!resp || !resp.meetingTypes) {\n return [];\n }\n return resp.meetingTypes.map(mt => {\n return MeetingTypeFromApi({\n environment: onProductionGlobal() ? Environment.PROD : Environment.DEMO,\n calendarId: req.hostId,\n meetingTypeApi: mt,\n metadata: req.metadata,\n calendarSlug: req.calendarSlug,\n });\n });\n })\n )\n }\n\n listAvailableTimeSlots(req: {\n hostId: string,\n meetingTypeId: string,\n timeSpan: TimeSpan,\n timeZone: TimeZoneInterface,\n userId?: string,\n }): Observable<TimeSpan[]> {\n return this.guestAPIService.listAvailableTimeSlots(req).pipe(\n map(resp => resp.timeSlots ? resp.timeSlots.map(ts => TimeSpanFromApi(ts)) : [])\n )\n }\n\n bookMeeting(req: {\n hostId: string,\n meetingTypeId: string,\n start: Date,\n comment: string,\n metadata?: MeetingMetadata,\n attendees: (Omit<Contact, 'fromProto' | 'toApiJson' | 'constructor' | 'timeZone'> & { timeZone: TimeZoneInterface })[],\n formAnswers?: MeetingForm,\n recaptchaToken: string,\n location?: string,\n userId?: string,\n }\n ): Observable<BookMeetingResponse> {\n return this.guestAPIService.bookMeeting({\n ...req,\n attendees: req.attendees,\n formAnswers: answersToAPI(req.formAnswers),\n });\n }\n\n cancelMeeting(req: { authToken: string, meetingId: string, cancellationReason: string }): Observable<null> {\n return this.guestAPIService.cancelMeeting(req).pipe(mapTo(null));\n }\n\n rescheduleMeeting(req: { authToken: string, meetingId: string, start: Date, timeZone?: TimeZoneInterface, location?: string }): Observable<null> {\n return this.guestAPIService.rescheduleMeeting(req).pipe(mapTo(null));\n }\n\n // getHost returns an individual host by their hostId\n getHost(req: { hostId: string }): Observable<Host> {\n return this.guestAPIService.getHost(req).pipe(map(resp => HostFromApi(resp.host)))\n }\n\n // getCalendar returns a Calendar, which may represent an individual host OR a grouping of hosts (I.e., a team)\n getCalendar(req: { calendarId: string }): Observable<CalendarInterface> {\n return this.guestAPIService.getCalendar(req).pipe(map(resp => CalendarFromApi(resp.calendar)))\n }\n\n getBookedMeetingInfo(meetingId: string, authToken: string): Observable<BookedMeetingInfo> {\n return this.guestAPIService.getGuestBookedMeeting({\n meetingId: meetingId, authToken: authToken,\n }).pipe(\n map(resp => (<BookedMeetingInfo>{\n start: resp.startTime,\n end: resp.endTime,\n timeZone: resp.timeZone,\n meetingTypeId: resp.meetingTypeId,\n location: resp.location,\n locationGuideline: resp.locationGuideline,\n locationType: resp.locationType,\n meetingType: resp.meetingType,\n displayName: resp.displayName,\n calendarId: resp.calendarId,\n }))\n )\n }\n\n isHostConfigured(req: { hostId: string }): Observable<boolean> {\n return this.guestAPIService.isHostConfigured(req).pipe(\n map((resp: GuestIsHostConfiguredResponse) => resp.isConfigured)\n );\n }\n getGroup(req: { groupId: string,slug: string }): Observable<GetGroupResponse> {\n return this.guestAPIService.getGroup(req);\n }\n getService(req: { serviceId: string,slug: string }): Observable<GetServiceResponse> {\n return this.guestAPIService.getService(req);\n }\n}\n","import { Inject, Injectable } from \"@angular/core\";\nimport { Observable, of } from \"rxjs\";\nimport { map, mapTo } from \"rxjs/operators\";\nimport {\n AvailabilityRuleList,\n CheckGroupOrServiceSlugExistResponse,\n CreateCalendarRequestInterface,\n CreateCalendarResponse,\n DayOfWeek,\n GetGroupResponse,\n GetHostMeetingResponse,\n GetServiceResponse,\n HostBookMeetingRequestInterface,\n HostBookMeetingResponse,\n IsCalendarConfiguredRequestInterface,\n IsCalendarConfiguredResponse,\n IsHostConfiguredResponse,\n ListAvailabilityRequestFiltersInterface,\n ListBookedMeetingsRequestFilters,\n ListBookedMeetingsRequestFiltersInterface,\n ListBookedMeetingsResponse,\n MeetingHostApiService,\n PagedRequestOptions,\n PagedRequestOptionsInterface,\n SendMeetingRequestEmailRequestInterface,\n TimeRange,\n TimeRangeInterface,\n TimeZone,\n TimeZoneInterface,\n WeekdayAvailability,\n Contact,\n\n} from \"../_internal\";\n\nimport { BookMeetingResponse } from '../guest';\n\nimport {\n ApplicationContextPropertiesSet,\n AvailabilityRule,\n Calendar,\n CalendarFromApi,\n EntityAssociations,\n getFieldMask,\n Group,\n GroupFromApi,\n GroupTypeToAPi,\n HostUrlMap,\n Meeting,\n meetingFromApi,\n MeetingMetadata,\n MeetingType,\n MeetingTypeFromApi,\n MeetingTypeToApi,\n PagedResponse,\n Preferences,\n PreferencesFromApi,\n Service,\n ServiceFromApi,\n ServiceTypeToApi,\n} from \"../shared\";\nimport {\n getBookingUrlImplementation,\n getGeneralBookingUrlImplementation,\n} from \"./url\";\nimport { HostUser, hostUserFromApi } from \"../shared/host-user\";\nimport { Environment, onProductionGlobal } from \"../shared/environment\";\nimport { HttpResponse } from \"@angular/common/http\";\n\n@Injectable({ providedIn: \"root\" })\nexport class HostService {\n constructor(private hostAPIService: MeetingHostApiService) {}\n\n // Use buildHostId to get an identifier that can be used in subsequent requests. See vendastaapis for more details\n buildHostId(req: {\n userId: string;\n applicationContextProperties: ApplicationContextPropertiesSet;\n }): Observable<string> {\n return this.hostAPIService\n .buildHostId({\n userId: req.userId,\n // Gross typecast exists because I want to restrict the properties on the map (for now).\n applicationContextProperties:\n req.applicationContextProperties as any as { [key: string]: string },\n })\n .pipe(map((res) => res.hostId || \"\"));\n }\n\n doesCalendarExist(calendarIdentifier: string): Observable<boolean> {\n return this.hostAPIService\n .doesCalendarExist({ calendarIdentifier: calendarIdentifier })\n .pipe(map((resp) => resp.exists));\n }\n\n getCalendar(req: { calendarId: string }): Observable<Calendar> {\n return this.hostAPIService\n .getCalendar({ calendarId: req.calendarId })\n .pipe(map((res) => CalendarFromApi(res?.calendar)));\n }\n\n ensurePersonalCalendarExists(req: {\n userId: string;\n applicationContextProperties: ApplicationContextPropertiesSet;\n }): Observable<string> {\n return this.hostAPIService\n .ensurePersonalCalendarExists({\n userId: req.userId,\n applicationContextProperties:\n req.applicationContextProperties as any as { [key: string]: string },\n })\n .pipe(map((res) => (res ? res.calendarId : \"\")));\n }\n\n ensureGroupCalendarsExist(req: {\n externalIds: string[];\n }): Observable<string[]> {\n return this.hostAPIService\n .ensureGroupCalendarsExist({ externalIds: req.externalIds })\n .pipe(map((res) => res?.calendarIds || []));\n }\n\n /*\n createCalendar creates a calendar which meeting types can be created for and events can be booked on\n The fields of a calendar are documented in https://github.com/vendasta/vendastaapis/blob/master/meetings/v1/shared.proto\n */\n createCalendar(\n req: CreateCalendarRequestInterface\n ): Observable<CreateCalendarResponse> {\n return this.hostAPIService.createCalendar(req);\n }\n\n updateCalendarSlug(calendarId: string, newSlug: string): Observable<void> {\n return this.hostAPIService\n .updateCalendar({\n calendarId: calendarId,\n calendarUpdate: { slug: newSlug },\n fieldMask: { paths: [\"slug\"] },\n })\n .pipe(mapTo(undefined));\n }\n\n updateCalendarHostUserIDs(\n calendarId: string,\n replacementHostUserIds: string[]\n ): Observable<void> {\n return this.hostAPIService\n .updateCalendar({\n calendarId: calendarId,\n calendarUpdate: { hostUserIds: replacementHostUserIds },\n fieldMask: { paths: [\"host_user_ids\"] },\n })\n .pipe(mapTo(undefined));\n }\n\n getMeetingTypesForCalendars(req: {\n calendarIds: string[];\n metadata: { [name: string]: string };\n }): Observable<{ [calendarId: string]: MeetingType[] }> {\n return this.hostAPIService\n .getMeetingTypesForCalendars({ calendarIds: req.calendarIds })\n .pipe(\n map((res) => {\n if (!res?.calendarMeetingTypesMap) {\n return {};\n }\n return Object.keys(res.calendarMeetingTypesMap).reduce(\n (calendarToMeetingTypeMap, calendarId) => {\n const meetingTypes = (\n res.calendarMeetingTypesMap[calendarId]?.meetingTypes || []\n ).map((mt) =>\n MeetingTypeFromApi({\n meetingTypeApi: mt,\n environment: onProductionGlobal()\n ? Environment.PROD\n : Environment.DEMO,\n calendarId,\n metadata: req.metadata,\n })\n );\n return {\n ...calendarToMeetingTypeMap,\n [calendarId]: meetingTypes,\n };\n },\n {} as { [calendarId: string]: MeetingType[] }\n );\n })\n );\n }\n\n /*\n listMeetingTypes returns a list of meeting types for a host\n @param hostId: An identifier for an individual host\n @param metadata: optional metadata to include on the meeting type booking link\n @param calendarSlug: used to replace hostId in the url. Use it when you are confident you know the host's slug.\n - calendarSlug IS NOT USED TO RETRIEVE MEETING TYPES, ONLY TO MAKE THE BOOKING URLS\n */\n listMeetingTypes(req: {\n hostId: string;\n metadata?: { [name: string]: string };\n calendarSlug?: string;\n }): Observable<MeetingType[]> {\n return this.hostAPIService.listMeetingTypes(req).pipe(\n map((resp) => {\n if (!resp || !resp.meetingTypes) {\n return [];\n }\n return resp.meetingTypes.map((mt) => {\n return MeetingTypeFromApi({\n meetingTypeApi: mt,\n calendarId: req.hostId,\n environment: onProductionGlobal()\n ? Environment.PROD\n : Environment.DEMO,\n metadata: req.metadata,\n calendarSlug: req.calendarSlug,\n });\n });\n })\n );\n }\n\n /*\n getBookingUrl returns a link that can be used to book a meeting with this host.\n @param calendarId: An identifier for an individual host or grouping of hosts (i.e., team).\n @param @deprecated hostId: An identifier for an individual host.\n @param meetingTypeId: An optional identifier for the meeting type. Default: 30-minutes.\n @param metadata: optional metadata to include in the url.\n - metadata can be used to pre-fill certain form fields and will be stored during the booking process.\n - metadata can be obtained by subscribing to the booking event.\n @param calendarSlug: used to replace hostId in the url. Use it when you are confident you know the host's slug.\n */\n getBookingUrl(req: {\n // @deprecated: use calendarId instead. calendarId not required to avoid breaking existing clients.\n hostId: string;\n calendarId?: string;\n // @deprecated: use meetingTypeSlug instead\n meetingTypeId?: string;\n meetingTypeSlug?: string;\n metadata?: { [name: string]: string };\n calendarSlug?: string;\n }): Observable<string> {\n return of(\n getBookingUrlImplementation({\n ...req,\n calendarId: req.calendarId || req.hostId,\n environment: onProductionGlobal() ? Environment.PROD : Environment.DEMO,\n calendarSlug: req.calendarSlug,\n })\n );\n }\n\n /*\n getGeneralBookingUrl returns a link that can be used to select a meeting type to book with the given calendar.\n @param calendarId: An identifier for an individual host or grouping of hosts (i.e., team).\n @param metadata: optional metadata to include in the url.\n - metadata can be used to pre-fill certain form fields and will be stored during the booking process.\n - metadata can be obtained by subscribing to the booking event.\n @param calendarSlug: used to replace hostId in the url. Use it when you are confident you know the host's slug.\n */\n getGeneralBookingUrl(req: {\n calendarId: string;\n metadata?: { [name: string]: string };\n calendarSlug?: string;\n }): Observable<string> {\n return of(\n getGeneralBookingUrlImplementation({\n environment: onProductionGlobal() ? Environment.PROD : Environment.DEMO,\n calendarId: req.calendarId,\n metadata: req.metadata,\n calendarSlug: req.calendarSlug,\n })\n );\n }\n\n /*\n getBookingUrlsMulti returns a mapping of hosts -> event types -> booking links.\n @param calendarId: An identifier for an individual host or grouping of hosts.\n @param meetingTypeSlug: meetingTypeSlugs are passed in the form {hostId: [meetingTypeSlug1, meetingTypeSlug2]}\n @param metadata: optional metadata to include in the url.\n - metadata can be used to pre-fill certain form fields and will be stored during the booking process.\n - metadata can be obtained by subscribing to the booking event.\n @param calendarSlug: used to replace hostId in the url. Use it when you are confident you know the host's slug.\n */\n getBookingUrlsMulti(\n req: { [calendarId: string]: string[] },\n metadata?: { [name: string]: string },\n calendarSlug?: string\n ): Observable<HostUrlMap> {\n return of(\n Object.keys(req).reduce((hostMap, calendarId) => {\n return {\n ...hostMap,\n [calendarId]: req[calendarId].reduce(\n (meetingTypeMap, meetingTypeSlug) => {\n return {\n ...meetingTypeMap,\n [meetingTypeSlug]: getBookingUrlImplementation({\n calendarId,\n meetingTypeSlug,\n metadata,\n environment: onProductionGlobal()\n ? Environment.PROD\n : Environment.DEMO,\n calendarSlug,\n }),\n };\n },\n {} as { [meetingTypeId: string]: string }\n ),\n };\n }, {} as HostUrlMap)\n );\n }\n\n isHostConfigured(req: { hostId: string }): Observable<IsHostConfiguredResponse> {\n return this.hostAPIService\n .isHostConfigured(req)\n .pipe(map((resp: IsHostConfiguredResponse) => resp));\n }\n\n setGeneralAvailability(req: {\n hostId: string;\n meetingTypeId: string;\n // @deprecated: use weekdaysAvailability instead\n days?: DayOfWeek[];\n // @deprecated: use weekdaysAvailability instead\n timeSlot?: TimeRangeInterface;\n weekdaysAvailability?: WeekdayAvailability[];\n timeZone: TimeZoneInterface;\n }): Observable<null> {\n const apiReq = {\n ...req,\n timeZone: new TimeZone(req.timeZone),\n };\n if (req.timeSlot) {\n apiReq.timeSlot = new TimeRange(req.timeSlot);\n }\n return this.hostAPIService.setGeneralAvailability(apiReq).pipe(mapTo(null));\n }\n\n listBookedMeetings(req: {\n filters: ListBookedMeetingsRequestFiltersInterface;\n cursor: string;\n pageSize: number;\n timeZone: TimeZoneInterface;\n }): Observable<PagedResponse<Meeting>> {\n return this.hostAPIService\n .listBookedMeetings({\n ...req,\n pagingOptions: new PagedRequestOptions({\n cursor: req.cursor,\n pageSize: req.pageSize,\n }),\n filters: new ListBookedMeetingsRequestFilters(req.filters),\n timeZone: new TimeZone(req.timeZone),\n })\n .pipe(\n map((resp: ListBookedMeetingsResponse) => {\n const meetings = (resp.meetings || []).map((meeting) =>\n meetingFromApi(meeting)\n );\n return new PagedResponse(\n meetings,\n resp.pagingMetadata.nextCursor,\n resp.pagingMetadata.hasMore\n );\n })\n );\n }\n\n cancelMeeting(req: {\n meetingId: string;\n cancellationReason: string;\n }): Observable<null> {\n return this.hostAPIService\n .cancelMeeting({\n ...req,\n })\n .pipe(mapTo(null));\n }\n\n rescheduleMeeting(req: { meetingId: string; start: Date }): Observable<null> {\n return this.hostAPIService\n .rescheduleMeeting({\n ...req,\n })\n .pipe(mapTo(null));\n }\n\n listAvailability(req: {\n filters: ListAvailabilityRequestFiltersInterface;\n pagingOptions: PagedRequestOptionsInterface;\n timeZone: TimeZoneInterface;\n }): Observable<PagedResponse<AvailabilityRule>> {\n return this.hostAPIService.listAvailability(req).pipe(\n map((response) => {\n const results = (response.availabilityRules || [])\n .filter(Boolean)\n .map((a) => {\n return {\n hostId: a.hostId || \"\",\n meetingTypeId: a.meetingTypeId || \"\",\n day: a.day,\n timeSlot: a.timeSlot,\n timeZone: a.timeZone,\n };\n });\n return new PagedResponse(\n results,\n response.metadata.nextCursor,\n response.metadata.hasMore\n );\n })\n );\n }\n\n /* updatePreferences will update the host's preferences.\n * It is guaranteed to only update the fields provided.\n * For example:\n * updatePreferences({meetingIntegration: MeetingSource.MEETING_SOURCE_GOOGLE_MEET})\n * will only update the preference meetingIntegration to Google Meet. Keeping the other preferences the same.\n *\n * Alternatively, you can provide a list of keys to update as the second argument.\n * For example:\n * updatePreferences({...object with all fields}, ['meetingIntegration'])\n * will only update the field 'meetingIntegration' to the value in preferences.\n *\n * Calling with an empty object and no keys is a no-op, or an undefined object.\n * Calling with an object containing fields not in `Preferences` or with updateFields not linked to properties in\n * `Preferences` is an error.\n */\n updatePreferences(req: {\n hostId: string;\n preferences: Partial<Preferences>;\n updateFields?: (keyof Preferences)[];\n }): Observable<void> {\n const fieldMask = getFieldMask({\n o: req.preferences,\n updateFields: req.updateFields,\n });\n if (fieldMask.paths.length === 0) {\n return of();\n }\n return this.hostAPIService\n .updateHostPreferences({\n hostId: req.hostId,\n preferences: req.preferences,\n fieldMask,\n })\n .pipe(mapTo(undefined));\n }\n\n getPreferences(req: { hostId: string }): Observable<Preferences> {\n return this.hostAPIService\n .getHostPreferences({\n hostId: req.hostId,\n })\n .pipe(map((response) => PreferencesFromApi(response.preferences)));\n }\n\n getMeeting(meetingId: string, location: string): Observable<Meeting> {\n return this.hostAPIService\n .getHostMeeting({\n meetingId: meetingId,\n location: location,\n })\n .pipe(\n map((resp: GetHostMeetingResponse) => meetingFromApi(resp.meeting))\n );\n }\n\n updateMeetingMetadata(req: {\n meetingId: string;\n metadata: MeetingMetadata;\n }): Observable<void> {\n return this.hostAPIService\n .updateMeetingMetadata({\n meetingId: req.meetingId,\n metadata: req.metadata,\n })\n .pipe(mapTo(undefined));\n }\n\n hostBookMeeting(req: {\n hostId: string,\n meetingTypeId: string,\n start: Date,\n comment: string,\n metadata?: MeetingMetadata,\n attendees: (Omit<Contact, 'fromProto' | 'toApiJson' | 'constructor' | 'timeZone'> & { timeZone: TimeZoneInterface })[],\n location?: string,\n userId?: string,\n }): Observable<BookMeetingResponse> {\n return this.hostAPIService.hostBookMeeting({\n ...req,\n attendees: req.attendees,\n });\n }\n\n bookMeeting(req: HostBookMeetingRequestInterface): Observable<string> {\n return this.hostAPIService\n .bookMeeting(req)\n .pipe(map((resp: HostBookMeetingResponse) => resp.meetingId));\n }\n\n // createDefaultMeetingTypes will create what Meeting Scheduler deems to be the default meeting types.\n // If the calendar already has meeting types, this is guaranteed to be a no-op.\n createDefaultMeetingTypes(req: { calendarIds: string[] }): Observable<void> {\n return this.hostAPIService\n .createDefaultMeetingTypes({ calendarIds: req.calendarIds })\n .pipe(mapTo(undefined));\n }\n\n createMeetingType(req: {\n meetingType: MeetingType;\n updateFields?: (keyof MeetingType)[];\n HostId?: string;\n }): Observable<string> {\n const fieldMask = getFieldMask({\n o: req.meetingType,\n updateFields: req.updateFields,\n });\n if (fieldMask.paths.length === 0) {\n return of();\n }\n return this.hostAPIService\n .createMeetingType({\n meetingType: MeetingTypeToApi({ meetingType: req.meetingType }),\n fieldMask,\n hostId: req.HostId,\n })\n .pipe(map((res) => res.id));\n }\n\n /* updateMeetingType will update the meeting type fields.\n * It is guaranteed to only update the fields provided.\n * For example:\n * updateMeetingType({name: 'Onboarding'})\n * will only update the field 'name' to 'Onboarding'. Keeping the other fields the same.\n *\n * Alternatively, you can provide a list of keys to update as the second argument.\n * For example:\n * updateMeetingType({...object with all fields}, ['name'])\n * will only update the field 'name' to the value passed in.\n *\n * Calling with an empty object and no keys is a no-op, or an undefined object.\n * Calling with an object containing fields not in `MeetingType` or with updateFields not linked to properties in\n * `MeetingType` is an error.\n */\n updateMeetingType(req: {\n id: string;\n meetingType: Partial<MeetingType>;\n updateFields?: (keyof MeetingType)[];\n HostId?: string;\n }): Observable<void> {\n const fieldMask = getFieldMask({\n o: req.meetingType,\n updateFields: req.updateFields,\n });\n if (fieldMask.paths.length === 0) {\n return of();\n }\n return this.hostAPIService\n .updateMeetingType({\n id: req.id,\n meetingType: MeetingTypeToApi({ meetingType: req.meetingType }),\n fieldMask,\n hostId: req.HostId,\n })\n .pipe(mapTo(undefined));\n }\n\n deleteMeetingType(req: { id: string }): Observable<void> {\n return this.hostAPIService\n .deleteMeetingType({ id: req.id })\n .pipe(mapTo(undefined));\n }\n\n getHostsForCalendar(req: { calendarId: string }): Observable<{\n hostUsers: HostUser[];\n availabilityRules: { [key: string]: AvailabilityRuleList };\n }> {\n return this.hostAPIService\n .getHostsForCalendar({ calendarId: req.calendarId })\n .pipe(\n map((res) => {\n const hostUsers = (res.hostUsers || []).map((hostuser) => {\n return hostUserFromApi(hostuser);\n });\n \n const availabilityRules = res.hostUserAvailabilityRule || {};\n\n return {\n hostUsers,\n availabilityRules,\n };\n })\n );\n }\n\n IsCalendarConfigured(\n req: IsCalendarConfiguredRequestInterface\n ): Observable<IsCalendarConfiguredResponse> {\n return this.hostAPIService.isCalendarConfigured(req);\n }\n\n sendMeetingRequestEmail(\n req: SendMeetingRequestEmailRequestInterface\n ): Observable<HttpResponse<null>> {\n return this.hostAPIService.sendMeetingRequestEmail(req);\n }\n\n createService(req: {\n service: Service;\n updateFields?: (keyof Service)[];\n HostId?: string;\n }): Observable<string> {\n const fieldMask = getFieldMask({\n o: req.service,\n updateFields: req.updateFields,\n });\n if (fieldMask.paths.length === 0) {\n return of();\n }\n return this.hostAPIService\n .createService({\n service: ServiceTypeToApi({ service: req.service }),\n fieldMask,\n hostId: req.HostId,\n })\n .pipe(map((res) => res.id));\n }\n\n updateService(req: {\n id: string;\n service: Partial<Service>;\n updateFields?: (keyof Service)[];\n HostId?: string;\n }): Observable<void> {\n const fieldMask = getFieldMask({\n o: req.service,\n updateFields: req.updateFields,\n });\n if (fieldMask.paths.length === 0) {\n return of();\n }\n return this.hostAPIService\n .updateService({\n id: req.id,\n service: ServiceTypeToApi({ service: req.service }),\n fieldMask,\n hostId: req.HostId,\n })\n .pipe(mapTo(undefined));\n }\n\n deleteService(req: { id: string; hostId: string }): Observable<void> {\n return this.hostAPIService\n .deleteService({ id: req.id, hostId: req.hostId })\n .pipe(mapTo(undefined));\n }\n\n listServices(req: { hostId: string }): Observable<Service[]> {\n return this.hostAPIService.listServices({ hostId: req.hostId }).pipe(\n map((res) => {\n if (!res || !res.services) {\n return [];\n }\n return res.services.map((service) =>\n ServiceFromApi({\n serviceApi: service,\n environment: onProductionGlobal()\n ? Environment.PROD\n : Environment.DEMO,\n })\n );\n })\n );\n }\n\n createGroup(req: {\n group: Group;\n updateFields?: (keyof Group)[];\n HostId?: string;\n }): Observable<string> {\n const fieldMask = getFieldMask({\n o: req.group,\n updateFields: req.updateFields,\n });\n if (fieldMask.paths.length === 0) {\n return of();\n }\n return this.hostAPIService\n .createGroup({\n group: GroupTypeToAPi({ group: req.group }),\n fieldMask,\n hostId: req.HostId,\n })\n .pipe(map((res) => res.id));\n }\n\n updateGroup(req: {\n id: string;\n group: Partial<Group>;\n updateFields?: (keyof Group)[];\n HostId?: string;\n }): Observable<void> {\n const fieldMask = getFieldMask({\n o: req.group,\n updateFields: req.updateFields,\n });\n if (fieldMask.paths.length === 0) {\n return of();\n }\n return this.hostAPIService\n .updateGroup({\n id: req.id,\n group: GroupTypeToAPi({ group: req.group }),\n fieldMask,\n hostId: req.HostId,\n })\n .pipe(mapTo(undefined));\n }\n\n deleteGroup(req: { id: string; hostId: string }): Observable<void> {\n return this.hostAPIService\n .deleteGroup({ id: req.id, hostId: req.hostId })\n .pipe(mapTo(undefined));\n }\n\n listGroups(req: { hostId: string }): Observable<Group[]> {\n return this.hostAPIService.listGroups({ hostId: req.hostId }).pipe(\n map((res) => {\n if (!res || !res.groups) {\n return [];\n }\n return res.groups.map((group) =>\n GroupFromApi({\n groupApi: group,\n environment: onProductionGlobal()\n ? Environment.PROD\n : Environment.DEMO,\n })\n );\n })\n );\n }\n\n getGroup(req: {\n groupId: string;\n slug: string;\n hostId: string;\n }): Observable<GetGroupResponse> {\n return this.hostAPIService.getGroup(req);\n }\n getService(req: {\n serviceId: string;\n slug: string;\n hostId: string;\n }): Observable<GetServiceResponse> {\n return this.hostAPIService.getService(req);\n }\n\n checkGroupOrServiceSlugExist(req: {\n hostId: string;\n slugIdentifier: string;\n category: string;\n }): Observable<boolean> {\n return this.hostAPIService\n .checkGroupOrServiceSlugExist(req)\n .pipe(map((res) => res.exists));\n }\n\n getEntityAssociations(req: {\n entityId: string;\n }): Observable<EntityAssociations> {\n return this.hostAPIService.getEntityAssociations(req);\n }\n}\n\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["enumStringToValue","e.ZoomMeetingType","e.ZoomMeetingRecurrenceType","e.ZoomMonthlyWeek","e.ZoomMonthlyWeekDay","e.ZoomApprovalType","e.ZoomRegistrationType","e.MeetingSource","e.MeetingSourceStatus","e.FormFieldType","e.CalendarType","e.CalendarSource","e.OnBoardingState","e.DateRangeType","e.MeetingLocationType","e.TeamEventMeetingType","e.RelativeTimeUnit","e.DayOfWeek","HostService","i1.MeetingSourceAPIApiService","i2.ZoomApiService","i3.GoogleMeetApiService","i1.MeetingGuestApiService","i1.MeetingHostApiService"],"mappings":"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"}
1
+ {"version":3,"file":"vendasta-meetings.mjs","sources":["../../../meetings_sdk/src/lib/_internal/enums/meeting-source.enum.ts","../../../meetings_sdk/src/lib/_internal/enums/zoom.enum.ts","../../../meetings_sdk/src/lib/_internal/enums/shared.enum.ts","../../../meetings_sdk/src/lib/_internal/enums/meeting-type.enum.ts","../../../meetings_sdk/src/lib/_internal/enums/dayofweek.enum.ts","../../../meetings_sdk/src/lib/_internal/enums/index.ts","../../../meetings_sdk/src/lib/_internal/objects/zoom.ts","../../../meetings_sdk/src/lib/_internal/objects/google-meet.ts","../../../meetings_sdk/src/lib/_internal/objects/meeting-source.ts","../../../meetings_sdk/src/lib/_internal/objects/shared.ts","../../../meetings_sdk/src/lib/_internal/objects/date-range.ts","../../../meetings_sdk/src/lib/_internal/objects/meeting-type.ts","../../../meetings_sdk/src/lib/_internal/objects/groups-and-services.ts","../../../meetings_sdk/src/lib/_internal/objects/meeting-guest.ts","../../../meetings_sdk/src/lib/_internal/objects/field-mask.ts","../../../meetings_sdk/src/lib/_internal/objects/meeting-host.ts","../../../meetings_sdk/src/lib/_internal/objects/timeofday.ts","../../../meetings_sdk/src/lib/_internal/objects/datetime.ts","../../../meetings_sdk/src/lib/_internal/objects/index.ts","../../../meetings_sdk/src/lib/_generated/host.service.ts","../../../meetings_sdk/src/lib/_internal/meeting-source-api.api.service.ts","../../../meetings_sdk/src/lib/_internal/zoom.api.service.ts","../../../meetings_sdk/src/lib/_internal/google-meet.api.service.ts","../../../meetings_sdk/src/lib/meetings.service.ts","../../../meetings_sdk/src/lib/shared/time-span.ts","../../../meetings_sdk/src/lib/shared/host.ts","../../../meetings_sdk/src/lib/shared/environment.ts","../../../meetings_sdk/src/lib/host/url.ts","../../../meetings_sdk/src/lib/shared/meeting-type.ts","../../../meetings_sdk/src/lib/shared/meeting.ts","../../../meetings_sdk/src/lib/shared/paged-response.ts","../../../meetings_sdk/src/lib/_internal/meeting-guest.api.service.ts","../../../meetings_sdk/src/lib/_internal/meeting-host.api.service.ts","../../../meetings_sdk/src/lib/_internal/index.ts","../../../meetings_sdk/src/lib/shared/calendar.ts","../../../meetings_sdk/src/lib/shared/preferences.ts","../../../meetings_sdk/src/lib/shared/duration.ts","../../../meetings_sdk/src/lib/shared/fieldmask.ts","../../../meetings_sdk/src/lib/shared/host-id.ts","../../../meetings_sdk/src/lib/shared/host-user.ts","../../../meetings_sdk/src/lib/shared/groups-and-services.ts","../../../meetings_sdk/src/lib/shared/origin.ts","../../../meetings_sdk/src/lib/guest/guest.service.ts","../../../meetings_sdk/src/lib/host/host.service.ts","../../../meetings_sdk/src/vendasta-meetings.ts"],"sourcesContent":["// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum CalendarSource {\n CALENDAR_SOURCE_GOOGLE = 0,\n CALENDAR_SOURCE_MICROSOFT = 1,\n CALENDAR_SOURCE_INVALID = -1,\n}\n\nexport enum MeetingSource {\n MEETING_SOURCE_INVALID = 0,\n MEETING_SOURCE_ZOOM = 1,\n MEETING_SOURCE_GOOGLE_MEET = 2,\n MEETING_SOURCE_MICROSOFT = 3,\n}\n\nexport enum MeetingSourceStatus {\n MEETING_SOURCE_STATUS_INVALID = 0,\n MEETING_SOURCE_STATUS_CONNECTED = 1,\n MEETING_SOURCE_STATUS_DISCONNECTED = 2,\n MEETING_SOURCE_STATUS_BROKEN = 3,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum ZoomApprovalType {\n ZOOM_APPROVAL_TYPE_INVALID = 0,\n ZOOM_APPROVAL_TYPE_ATUO_APPROVE = 1,\n ZOOM_APPROVAL_TYPE_MANUALLY_APPROVE = 2,\n ZOOM_APPROVAL_TYPE_NO_REGISTRATION_REQUIRED = 3,\n}\n\nexport enum ZoomMeetingRecurrenceType {\n ZOOM_MEETING_RECURRENCE_TYPE_INVALID = 0,\n ZOOM_MEETING_RECURRENCE_TYPE_DAILY = 1,\n ZOOM_MEETING_RECURRENCE_TYPE_WEEKLY = 2,\n ZOOM_MEETING_RECURRENCE_TYPE_MONTHLY = 3,\n}\n\nexport enum ZoomMeetingType {\n ZOOM_MEETING_TYPE_INVALID = 0,\n ZOOM_MEETING_TYPE_INSTANT = 1,\n ZOOM_MEETING_TYPE_SCHEDULED = 2,\n ZOOM_MEETING_TYPE_RECURRING_NO_FIXED = 3,\n ZOOM_MEETING_TYPE_RECURRING_FIXED = 8,\n}\n\nexport enum ZoomMonthlyWeek {\n ZOOM_MONTHLY_WEEK_INVALD = 0,\n ZOOM_MONTHLY_WEEK_LAST_WEEK = -1,\n ZOOM_MONTHLY_WEEK_FIRST_WEEK = 1,\n ZOOM_MONTHLY_WEEK_SECOND_WEEK = 2,\n ZOOM_MONTHLY_WEEK_THIRD_WEEK = 3,\n ZOOM_MONTHLY_WEEK_FOURTH_WEEK = 4,\n}\n\nexport enum ZoomMonthlyWeekDay {\n ZOOM_MONTHLY_WEEK_DAY_INVALID = 0,\n ZOOM_MONTHLY_WEEK_DAY_SUNDAY = 1,\n ZOOM_MONTHLY_WEEK_DAY_MONDAY = 2,\n ZOOM_MONTHLY_WEEK_DAY_TUESDAY = 3,\n ZOOM_MONTHLY_WEEK_DAY_WEDNESDAY = 4,\n ZOOM_MONTHLY_WEEK_DAY_THURSDAY = 5,\n ZOOM_MONTHLY_WEEK_DAY_FRIDAY = 6,\n ZOOM_MONTHLY_WEEK_DAY_SATURDAY = 7,\n}\n\nexport enum ZoomRegistrationType {\n ZOOM_REGISTRATION_TYPE_INVALID = 0,\n ZOOM_REGISTRATION_TYPE_RESGITER_ONCE_FOR_ALL = 1,\n ZOOM_REGISTRATION_TYPE_REGISTER_FOR_EACH = 2,\n ZOOM_REGISTRATION_TYPE_RESGITER_ONCE_FOR_ONE_OR_MORE = 3,\n}\n\nexport enum ZoomWeeklyDay {\n ZOOM_WEEKLY_DAY_INVALID = 0,\n ZOOM_WEEKLY_DAY_SUNDAY = 1,\n ZOOM_WEEKLY_DAY_MONDAY = 2,\n ZOOM_WEEKLY_DAY_TUESDAY = 3,\n ZOOM_WEEKLY_DAY_WEDNESDAY = 4,\n ZOOM_WEEKLY_DAY_THURSDAY = 5,\n ZOOM_WEEKLY_DAY_FRIDAY = 6,\n ZOOM_WEEKLY_DAY_SATURDAY = 7,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum CalendarType {\n CALENDAR_TYPE_INVALID = 0,\n CALENDAR_TYPE_PERSONAL = 1,\n CALENDAR_TYPE_GROUP = 2,\n}\n\nexport enum FormFieldType {\n FORM_FIELD_TYPE_INVALID = 0,\n FORM_FIELD_TYPE_TEXT = 1,\n FORM_FIELD_TYPE_EMAIL = 2,\n FORM_FIELD_TYPE_PHONE_NUMBER = 3,\n FORM_FIELD_TYPE_SELECT = 4,\n}\n\nexport enum OnBoardingState {\n COMPLETED_SETUP = 0,\n NOT_YET_STARTED = 1,\n SLUG_CREATED = 2,\n CALENDAR_CONNECTED = 3,\n MEETING_APP_CONNECTED = 4,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum DateRangeType {\n RELATIVE = 0,\n CUSTOM = 1,\n}\n\nexport enum MeetingLocationType {\n VIDEO = 0,\n IN_PERSON_USER_SITE = 1,\n IN_PERSON_CLIENT_SITE = 2,\n}\n\nexport enum RelativeTimeUnit {\n DAYS = 0,\n WEEKS = 1,\n MONTHS = 2,\n}\n\nexport enum TeamEventMeetingType {\n ROUND_ROBIN = 0,\n CLIENT_CHOICE = 1,\n MULTI_HOST = 2,\n PRIORITY_ROUND_ROBIN = 3,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\n\nexport enum DayOfWeek {\n DAY_OF_WEEK_UNSPECIFIED = 0,\n MONDAY = 1,\n TUESDAY = 2,\n WEDNESDAY = 3,\n THURSDAY = 4,\n FRIDAY = 5,\n SATURDAY = 6,\n SUNDAY = 7,\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums Index.\n// *********************************\nexport {\n CalendarSource,\n MeetingSource,\n MeetingSourceStatus,\n} from './meeting-source.enum';\nexport {\n ZoomApprovalType,\n ZoomMeetingRecurrenceType,\n ZoomMeetingType,\n ZoomMonthlyWeek,\n ZoomMonthlyWeekDay,\n ZoomRegistrationType,\n ZoomWeeklyDay,\n} from './zoom.enum';\nexport {\n CalendarType,\n FormFieldType,\n OnBoardingState,\n} from './shared.enum';\nexport {\n DateRangeType,\n MeetingLocationType,\n RelativeTimeUnit,\n TeamEventMeetingType,\n} from './meeting-type.enum';\nexport { DayOfWeek, } from './dayofweek.enum';\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class CreateZoomMeetingRequest implements i.CreateZoomMeetingRequestInterface {\n iamUserId: string;\n topic: string;\n type: e.ZoomMeetingType;\n startTime: string;\n duration: number;\n timezone: string;\n password: string;\n agenda: string;\n trackingFields: ZoomMeetingTrackingField[];\n recurrence: ZoomMeetingRecurrence;\n settings: ZoomMeetingSettings;\n\n static fromProto(proto: any): CreateZoomMeetingRequest {\n let m = new CreateZoomMeetingRequest();\n m = Object.assign(m, proto);\n if (proto.type) {m.type = enumStringToValue<e.ZoomMeetingType>(e.ZoomMeetingType, proto.type);}\n if (proto.duration) {m.duration = parseInt(proto.duration, 10);}\n if (proto.trackingFields) {m.trackingFields = proto.trackingFields.map(ZoomMeetingTrackingField.fromProto);}\n if (proto.recurrence) {m.recurrence = ZoomMeetingRecurrence.fromProto(proto.recurrence);}\n if (proto.settings) {m.settings = ZoomMeetingSettings.fromProto(proto.settings);}\n return m;\n }\n\n constructor(kwargs?: i.CreateZoomMeetingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.iamUserId !== 'undefined') {toReturn['iamUserId'] = this.iamUserId;}\n if (typeof this.topic !== 'undefined') {toReturn['topic'] = this.topic;}\n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.startTime !== 'undefined') {toReturn['startTime'] = this.startTime;}\n if (typeof this.duration !== 'undefined') {toReturn['duration'] = this.duration;}\n if (typeof this.timezone !== 'undefined') {toReturn['timezone'] = this.timezone;}\n if (typeof this.password !== 'undefined') {toReturn['password'] = this.password;}\n if (typeof this.agenda !== 'undefined') {toReturn['agenda'] = this.agenda;}\n if (typeof this.trackingFields !== 'undefined' && this.trackingFields !== null) {toReturn['trackingFields'] = 'toApiJson' in this.trackingFields ? (this.trackingFields as any).toApiJson() : this.trackingFields;}\n if (typeof this.recurrence !== 'undefined' && this.recurrence !== null) {toReturn['recurrence'] = 'toApiJson' in this.recurrence ? (this.recurrence as any).toApiJson() : this.recurrence;}\n if (typeof this.settings !== 'undefined' && this.settings !== null) {toReturn['settings'] = 'toApiJson' in this.settings ? (this.settings as any).toApiJson() : this.settings;}\n return toReturn;\n }\n}\n\nexport class CreateZoomMeetingResponse implements i.CreateZoomMeetingResponseInterface {\n iamUserId: string;\n meetingId: number;\n topic: string;\n type: e.ZoomMeetingType;\n startTime: string;\n duration: number;\n timezone: string;\n createdAt: string;\n agenda: string;\n startUrl: string;\n joinUrl: string;\n password: string;\n h323Password: string;\n pmi: number;\n trackingFields: ZoomMeetingTrackingField[];\n occurrences: ZoomOccurrence[];\n settings: ZoomMeetingSettings;\n recurrence: ZoomMeetingRecurrence;\n\n static fromProto(proto: any): CreateZoomMeetingResponse {\n let m = new CreateZoomMeetingResponse();\n m = Object.assign(m, proto);\n if (proto.meetingId) {m.meetingId = parseInt(proto.meetingId, 10);}\n if (proto.type) {m.type = enumStringToValue<e.ZoomMeetingType>(e.ZoomMeetingType, proto.type);}\n if (proto.duration) {m.duration = parseInt(proto.duration, 10);}\n if (proto.pmi) {m.pmi = parseInt(proto.pmi, 10);}\n if (proto.trackingFields) {m.trackingFields = proto.trackingFields.map(ZoomMeetingTrackingField.fromProto);}\n if (proto.occurrences) {m.occurrences = proto.occurrences.map(ZoomOccurrence.fromProto);}\n if (proto.settings) {m.settings = ZoomMeetingSettings.fromProto(proto.settings);}\n if (proto.recurrence) {m.recurrence = ZoomMeetingRecurrence.fromProto(proto.recurrence);}\n return m;\n }\n\n constructor(kwargs?: i.CreateZoomMeetingResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.iamUserId !== 'undefined') {toReturn['iamUserId'] = this.iamUserId;}\n if (typeof this.meetingId !== 'undefined') {toReturn['meetingId'] = this.meetingId;}\n if (typeof this.topic !== 'undefined') {toReturn['topic'] = this.topic;}\n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.startTime !== 'undefined') {toReturn['startTime'] = this.startTime;}\n if (typeof this.duration !== 'undefined') {toReturn['duration'] = this.duration;}\n if (typeof this.timezone !== 'undefined') {toReturn['timezone'] = this.timezone;}\n if (typeof this.createdAt !== 'undefined') {toReturn['createdAt'] = this.createdAt;}\n if (typeof this.agenda !== 'undefined') {toReturn['agenda'] = this.agenda;}\n if (typeof this.startUrl !== 'undefined') {toReturn['startUrl'] = this.startUrl;}\n if (typeof this.joinUrl !== 'undefined') {toReturn['joinUrl'] = this.joinUrl;}\n if (typeof this.password !== 'undefined') {toReturn['password'] = this.password;}\n if (typeof this.h323Password !== 'undefined') {toReturn['h323Password'] = this.h323Password;}\n if (typeof this.pmi !== 'undefined') {toReturn['pmi'] = this.pmi;}\n if (typeof this.trackingFields !== 'undefined' && this.trackingFields !== null) {toReturn['trackingFields'] = 'toApiJson' in this.trackingFields ? (this.trackingFields as any).toApiJson() : this.trackingFields;}\n if (typeof this.occurrences !== 'undefined' && this.occurrences !== null) {toReturn['occurrences'] = 'toApiJson' in this.occurrences ? (this.occurrences as any).toApiJson() : this.occurrences;}\n if (typeof this.settings !== 'undefined' && this.settings !== null) {toReturn['settings'] = 'toApiJson' in this.settings ? (this.settings as any).toApiJson() : this.settings;}\n if (typeof this.recurrence !== 'undefined' && this.recurrence !== null) {toReturn['recurrence'] = 'toApiJson' in this.recurrence ? (this.recurrence as any).toApiJson() : this.recurrence;}\n return toReturn;\n }\n}\n\nexport class ZoomMeetingRecurrence implements i.ZoomMeetingRecurrenceInterface {\n type: e.ZoomMeetingRecurrenceType;\n repeatInterval: number;\n weeklyDays: string;\n monthlyDay: number;\n monthlyWeek: e.ZoomMonthlyWeek;\n monthlyWeekDay: e.ZoomMonthlyWeekDay;\n endTimes: number;\n endDateTime: string;\n\n static fromProto(proto: any): ZoomMeetingRecurrence {\n let m = new ZoomMeetingRecurrence();\n m = Object.assign(m, proto);\n if (proto.type) {m.type = enumStringToValue<e.ZoomMeetingRecurrenceType>(e.ZoomMeetingRecurrenceType, proto.type);}\n if (proto.repeatInterval) {m.repeatInterval = parseInt(proto.repeatInterval, 10);}\n if (proto.monthlyDay) {m.monthlyDay = parseInt(proto.monthlyDay, 10);}\n if (proto.monthlyWeek) {m.monthlyWeek = enumStringToValue<e.ZoomMonthlyWeek>(e.ZoomMonthlyWeek, proto.monthlyWeek);}\n if (proto.monthlyWeekDay) {m.monthlyWeekDay = enumStringToValue<e.ZoomMonthlyWeekDay>(e.ZoomMonthlyWeekDay, proto.monthlyWeekDay);}\n if (proto.endTimes) {m.endTimes = parseInt(proto.endTimes, 10);}\n return m;\n }\n\n constructor(kwargs?: i.ZoomMeetingRecurrenceInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.repeatInterval !== 'undefined') {toReturn['repeatInterval'] = this.repeatInterval;}\n if (typeof this.weeklyDays !== 'undefined') {toReturn['weeklyDays'] = this.weeklyDays;}\n if (typeof this.monthlyDay !== 'undefined') {toReturn['monthlyDay'] = this.monthlyDay;}\n if (typeof this.monthlyWeek !== 'undefined') {toReturn['monthlyWeek'] = this.monthlyWeek;}\n if (typeof this.monthlyWeekDay !== 'undefined') {toReturn['monthlyWeekDay'] = this.monthlyWeekDay;}\n if (typeof this.endTimes !== 'undefined') {toReturn['endTimes'] = this.endTimes;}\n if (typeof this.endDateTime !== 'undefined') {toReturn['endDateTime'] = this.endDateTime;}\n return toReturn;\n }\n}\n\nexport class ZoomMeetingSettings implements i.ZoomMeetingSettingsInterface {\n hostVideo: boolean;\n participantVideo: boolean;\n cnMeeting: boolean;\n inMeeting: boolean;\n joinBeforeHost: boolean;\n muteUponEntry: boolean;\n watermark: boolean;\n usePmi: boolean;\n approvalType: e.ZoomApprovalType;\n registrationType: e.ZoomRegistrationType;\n audio: string;\n autoRecording: string;\n alternativeHosts: string;\n closeRegistration: boolean;\n waitingRoom: boolean;\n globalDialInCountries: string[];\n contactName: string;\n contactEmail: string;\n registrationEmailNotification: boolean;\n meetingAuthentication: boolean;\n authenticationOptions: string;\n authenticationDomains: string;\n enforceLogin: boolean;\n enforceLoginDomains: string;\n\n static fromProto(proto: any): ZoomMeetingSettings {\n let m = new ZoomMeetingSettings();\n m = Object.assign(m, proto);\n if (proto.approvalType) {m.approvalType = enumStringToValue<e.ZoomApprovalType>(e.ZoomApprovalType, proto.approvalType);}\n if (proto.registrationType) {m.registrationType = enumStringToValue<e.ZoomRegistrationType>(e.ZoomRegistrationType, proto.registrationType);}\n return m;\n }\n\n constructor(kwargs?: i.ZoomMeetingSettingsInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostVideo !== 'undefined') {toReturn['hostVideo'] = this.hostVideo;}\n if (typeof this.participantVideo !== 'undefined') {toReturn['participantVideo'] = this.participantVideo;}\n if (typeof this.cnMeeting !== 'undefined') {toReturn['cnMeeting'] = this.cnMeeting;}\n if (typeof this.inMeeting !== 'undefined') {toReturn['inMeeting'] = this.inMeeting;}\n if (typeof this.joinBeforeHost !== 'undefined') {toReturn['joinBeforeHost'] = this.joinBeforeHost;}\n if (typeof this.muteUponEntry !== 'undefined') {toReturn['muteUponEntry'] = this.muteUponEntry;}\n if (typeof this.watermark !== 'undefined') {toReturn['watermark'] = this.watermark;}\n if (typeof this.usePmi !== 'undefined') {toReturn['usePmi'] = this.usePmi;}\n if (typeof this.approvalType !== 'undefined') {toReturn['approvalType'] = this.approvalType;}\n if (typeof this.registrationType !== 'undefined') {toReturn['registrationType'] = this.registrationType;}\n if (typeof this.audio !== 'undefined') {toReturn['audio'] = this.audio;}\n if (typeof this.autoRecording !== 'undefined') {toReturn['autoRecording'] = this.autoRecording;}\n if (typeof this.alternativeHosts !== 'undefined') {toReturn['alternativeHosts'] = this.alternativeHosts;}\n if (typeof this.closeRegistration !== 'undefined') {toReturn['closeRegistration'] = this.closeRegistration;}\n if (typeof this.waitingRoom !== 'undefined') {toReturn['waitingRoom'] = this.waitingRoom;}\n if (typeof this.globalDialInCountries !== 'undefined') {toReturn['globalDialInCountries'] = this.globalDialInCountries;}\n if (typeof this.contactName !== 'undefined') {toReturn['contactName'] = this.contactName;}\n if (typeof this.contactEmail !== 'undefined') {toReturn['contactEmail'] = this.contactEmail;}\n if (typeof this.registrationEmailNotification !== 'undefined') {toReturn['registrationEmailNotification'] = this.registrationEmailNotification;}\n if (typeof this.meetingAuthentication !== 'undefined') {toReturn['meetingAuthentication'] = this.meetingAuthentication;}\n if (typeof this.authenticationOptions !== 'undefined') {toReturn['authenticationOptions'] = this.authenticationOptions;}\n if (typeof this.authenticationDomains !== 'undefined') {toReturn['authenticationDomains'] = this.authenticationDomains;}\n if (typeof this.enforceLogin !== 'undefined') {toReturn['enforceLogin'] = this.enforceLogin;}\n if (typeof this.enforceLoginDomains !== 'undefined') {toReturn['enforceLoginDomains'] = this.enforceLoginDomains;}\n return toReturn;\n }\n}\n\nexport class ZoomMeetingTrackingField implements i.ZoomMeetingTrackingFieldInterface {\n field: string;\n value: string;\n\n static fromProto(proto: any): ZoomMeetingTrackingField {\n let m = new ZoomMeetingTrackingField();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ZoomMeetingTrackingFieldInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.field !== 'undefined') {toReturn['field'] = this.field;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\nexport class ZoomOccurrence implements i.ZoomOccurrenceInterface {\n occurrenceId: string;\n startTime: string;\n duration: number;\n status: string;\n\n static fromProto(proto: any): ZoomOccurrence {\n let m = new ZoomOccurrence();\n m = Object.assign(m, proto);\n if (proto.duration) {m.duration = parseInt(proto.duration, 10);}\n return m;\n }\n\n constructor(kwargs?: i.ZoomOccurrenceInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.occurrenceId !== 'undefined') {toReturn['occurrenceId'] = this.occurrenceId;}\n if (typeof this.startTime !== 'undefined') {toReturn['startTime'] = this.startTime;}\n if (typeof this.duration !== 'undefined') {toReturn['duration'] = this.duration;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class GoogleMeetConferenceData implements i.GoogleMeetConferenceDataInterface {\n conferenceId: string;\n conferenceSolution: GoogleMeetConferenceSolution;\n createRequest: GoogleMeetCreateConferenceRequest;\n entryPoints: GoogleMeetEntryPoint[];\n notes: string;\n signature: string;\n\n static fromProto(proto: any): GoogleMeetConferenceData {\n let m = new GoogleMeetConferenceData();\n m = Object.assign(m, proto);\n if (proto.conferenceSolution) {m.conferenceSolution = GoogleMeetConferenceSolution.fromProto(proto.conferenceSolution);}\n if (proto.createRequest) {m.createRequest = GoogleMeetCreateConferenceRequest.fromProto(proto.createRequest);}\n if (proto.entryPoints) {m.entryPoints = proto.entryPoints.map(GoogleMeetEntryPoint.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetConferenceDataInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conferenceId !== 'undefined') {toReturn['conferenceId'] = this.conferenceId;}\n if (typeof this.conferenceSolution !== 'undefined' && this.conferenceSolution !== null) {toReturn['conferenceSolution'] = 'toApiJson' in this.conferenceSolution ? (this.conferenceSolution as any).toApiJson() : this.conferenceSolution;}\n if (typeof this.createRequest !== 'undefined' && this.createRequest !== null) {toReturn['createRequest'] = 'toApiJson' in this.createRequest ? (this.createRequest as any).toApiJson() : this.createRequest;}\n if (typeof this.entryPoints !== 'undefined' && this.entryPoints !== null) {toReturn['entryPoints'] = 'toApiJson' in this.entryPoints ? (this.entryPoints as any).toApiJson() : this.entryPoints;}\n if (typeof this.notes !== 'undefined') {toReturn['notes'] = this.notes;}\n if (typeof this.signature !== 'undefined') {toReturn['signature'] = this.signature;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetConferenceRequestStatus implements i.GoogleMeetConferenceRequestStatusInterface {\n statusCode: string;\n\n static fromProto(proto: any): GoogleMeetConferenceRequestStatus {\n let m = new GoogleMeetConferenceRequestStatus();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetConferenceRequestStatusInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.statusCode !== 'undefined') {toReturn['statusCode'] = this.statusCode;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetConferenceSolution implements i.GoogleMeetConferenceSolutionInterface {\n iconUri: string;\n key: GoogleMeetConferenceSolutionKey;\n name: string;\n\n static fromProto(proto: any): GoogleMeetConferenceSolution {\n let m = new GoogleMeetConferenceSolution();\n m = Object.assign(m, proto);\n if (proto.key) {m.key = GoogleMeetConferenceSolutionKey.fromProto(proto.key);}\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetConferenceSolutionInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.iconUri !== 'undefined') {toReturn['iconUri'] = this.iconUri;}\n if (typeof this.key !== 'undefined' && this.key !== null) {toReturn['key'] = 'toApiJson' in this.key ? (this.key as any).toApiJson() : this.key;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetConferenceSolutionKey implements i.GoogleMeetConferenceSolutionKeyInterface {\n type: string;\n\n static fromProto(proto: any): GoogleMeetConferenceSolutionKey {\n let m = new GoogleMeetConferenceSolutionKey();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetConferenceSolutionKeyInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetCreateConferenceRequest implements i.GoogleMeetCreateConferenceRequestInterface {\n conferenceSolutionKey: GoogleMeetConferenceSolutionKey;\n requestId: string;\n status: GoogleMeetConferenceRequestStatus;\n\n static fromProto(proto: any): GoogleMeetCreateConferenceRequest {\n let m = new GoogleMeetCreateConferenceRequest();\n m = Object.assign(m, proto);\n if (proto.conferenceSolutionKey) {m.conferenceSolutionKey = GoogleMeetConferenceSolutionKey.fromProto(proto.conferenceSolutionKey);}\n if (proto.status) {m.status = GoogleMeetConferenceRequestStatus.fromProto(proto.status);}\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetCreateConferenceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.conferenceSolutionKey !== 'undefined' && this.conferenceSolutionKey !== null) {toReturn['conferenceSolutionKey'] = 'toApiJson' in this.conferenceSolutionKey ? (this.conferenceSolutionKey as any).toApiJson() : this.conferenceSolutionKey;}\n if (typeof this.requestId !== 'undefined') {toReturn['requestId'] = this.requestId;}\n if (typeof this.status !== 'undefined' && this.status !== null) {toReturn['status'] = 'toApiJson' in this.status ? (this.status as any).toApiJson() : this.status;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetCreateMeetingRequest implements i.GoogleMeetCreateMeetingRequestInterface {\n calenderId: string;\n meeting: GoogleMeetMeeting;\n\n static fromProto(proto: any): GoogleMeetCreateMeetingRequest {\n let m = new GoogleMeetCreateMeetingRequest();\n m = Object.assign(m, proto);\n if (proto.meeting) {m.meeting = GoogleMeetMeeting.fromProto(proto.meeting);}\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetCreateMeetingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calenderId !== 'undefined') {toReturn['calenderId'] = this.calenderId;}\n if (typeof this.meeting !== 'undefined' && this.meeting !== null) {toReturn['meeting'] = 'toApiJson' in this.meeting ? (this.meeting as any).toApiJson() : this.meeting;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetCreateMeetingResponse implements i.GoogleMeetCreateMeetingResponseInterface {\n iamUserId: string;\n calenderId: string;\n meeting: GoogleMeetMeeting;\n\n static fromProto(proto: any): GoogleMeetCreateMeetingResponse {\n let m = new GoogleMeetCreateMeetingResponse();\n m = Object.assign(m, proto);\n if (proto.meeting) {m.meeting = GoogleMeetMeeting.fromProto(proto.meeting);}\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetCreateMeetingResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.iamUserId !== 'undefined') {toReturn['iamUserId'] = this.iamUserId;}\n if (typeof this.calenderId !== 'undefined') {toReturn['calenderId'] = this.calenderId;}\n if (typeof this.meeting !== 'undefined' && this.meeting !== null) {toReturn['meeting'] = 'toApiJson' in this.meeting ? (this.meeting as any).toApiJson() : this.meeting;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetEntryPoint implements i.GoogleMeetEntryPointInterface {\n accessCode: string;\n entryPointFeatures: string[];\n entryPointType: string;\n label: string;\n meetingCode: string;\n passcode: string;\n password: string;\n pin: string;\n regionCode: string;\n uri: string;\n\n static fromProto(proto: any): GoogleMeetEntryPoint {\n let m = new GoogleMeetEntryPoint();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetEntryPointInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.accessCode !== 'undefined') {toReturn['accessCode'] = this.accessCode;}\n if (typeof this.entryPointFeatures !== 'undefined') {toReturn['entryPointFeatures'] = this.entryPointFeatures;}\n if (typeof this.entryPointType !== 'undefined') {toReturn['entryPointType'] = this.entryPointType;}\n if (typeof this.label !== 'undefined') {toReturn['label'] = this.label;}\n if (typeof this.meetingCode !== 'undefined') {toReturn['meetingCode'] = this.meetingCode;}\n if (typeof this.passcode !== 'undefined') {toReturn['passcode'] = this.passcode;}\n if (typeof this.password !== 'undefined') {toReturn['password'] = this.password;}\n if (typeof this.pin !== 'undefined') {toReturn['pin'] = this.pin;}\n if (typeof this.regionCode !== 'undefined') {toReturn['regionCode'] = this.regionCode;}\n if (typeof this.uri !== 'undefined') {toReturn['uri'] = this.uri;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetListMeetingsRequest implements i.GoogleMeetListMeetingsRequestInterface {\n userId: string;\n pageSize: number;\n pageToken: string;\n syncToken: string;\n timeMin: Date;\n timeMax: Date;\n\n static fromProto(proto: any): GoogleMeetListMeetingsRequest {\n let m = new GoogleMeetListMeetingsRequest();\n m = Object.assign(m, proto);\n if (proto.pageSize) {m.pageSize = parseInt(proto.pageSize, 10);}\n if (proto.timeMin) {m.timeMin = new Date(proto.timeMin);}\n if (proto.timeMax) {m.timeMax = new Date(proto.timeMax);}\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetListMeetingsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n if (typeof this.pageSize !== 'undefined') {toReturn['pageSize'] = this.pageSize;}\n if (typeof this.pageToken !== 'undefined') {toReturn['pageToken'] = this.pageToken;}\n if (typeof this.syncToken !== 'undefined') {toReturn['syncToken'] = this.syncToken;}\n if (typeof this.timeMin !== 'undefined' && this.timeMin !== null) {toReturn['timeMin'] = 'toApiJson' in this.timeMin ? (this.timeMin as any).toApiJson() : this.timeMin;}\n if (typeof this.timeMax !== 'undefined' && this.timeMax !== null) {toReturn['timeMax'] = 'toApiJson' in this.timeMax ? (this.timeMax as any).toApiJson() : this.timeMax;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetListMeetingsResponse implements i.GoogleMeetListMeetingsResponseInterface {\n meetings: GoogleMeetMeeting[];\n nextPageToken: string;\n nextSyncToken: string;\n\n static fromProto(proto: any): GoogleMeetListMeetingsResponse {\n let m = new GoogleMeetListMeetingsResponse();\n m = Object.assign(m, proto);\n if (proto.meetings) {m.meetings = proto.meetings.map(GoogleMeetMeeting.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetListMeetingsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetings !== 'undefined' && this.meetings !== null) {toReturn['meetings'] = 'toApiJson' in this.meetings ? (this.meetings as any).toApiJson() : this.meetings;}\n if (typeof this.nextPageToken !== 'undefined') {toReturn['nextPageToken'] = this.nextPageToken;}\n if (typeof this.nextSyncToken !== 'undefined') {toReturn['nextSyncToken'] = this.nextSyncToken;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetMeeting implements i.GoogleMeetMeetingInterface {\n anyoneCanAddSelf: boolean;\n attendees: GoogleMeetMeetingAttendee[];\n attendeesOmitted: boolean;\n colorId: string;\n conferenceData: GoogleMeetConferenceData;\n description: string;\n end: GoogleMeetMeetingDateTime;\n endTimeUnspecified: boolean;\n etag: string;\n icalUid: string;\n id: string;\n kind: string;\n location: string;\n locked: boolean;\n originalStartTime: GoogleMeetMeetingDateTime;\n recurrence: string[];\n recurringMeetingId: string;\n reminders: GoogleMeetMeetingReminders;\n sequence: number;\n start: GoogleMeetMeetingDateTime;\n status: string;\n summary: string;\n transparency: string;\n visibility: string;\n hangoutLink: string;\n htmlLink: string;\n created: string;\n creator: GoogleMeetMeetingCreator;\n updated: string;\n organizer: GoogleMeetMeetingOrganizer;\n\n static fromProto(proto: any): GoogleMeetMeeting {\n let m = new GoogleMeetMeeting();\n m = Object.assign(m, proto);\n if (proto.attendees) {m.attendees = proto.attendees.map(GoogleMeetMeetingAttendee.fromProto);}\n if (proto.conferenceData) {m.conferenceData = GoogleMeetConferenceData.fromProto(proto.conferenceData);}\n if (proto.end) {m.end = GoogleMeetMeetingDateTime.fromProto(proto.end);}\n if (proto.originalStartTime) {m.originalStartTime = GoogleMeetMeetingDateTime.fromProto(proto.originalStartTime);}\n if (proto.reminders) {m.reminders = GoogleMeetMeetingReminders.fromProto(proto.reminders);}\n if (proto.sequence) {m.sequence = parseInt(proto.sequence, 10);}\n if (proto.start) {m.start = GoogleMeetMeetingDateTime.fromProto(proto.start);}\n if (proto.creator) {m.creator = GoogleMeetMeetingCreator.fromProto(proto.creator);}\n if (proto.organizer) {m.organizer = GoogleMeetMeetingOrganizer.fromProto(proto.organizer);}\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetMeetingInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.anyoneCanAddSelf !== 'undefined') {toReturn['anyoneCanAddSelf'] = this.anyoneCanAddSelf;}\n if (typeof this.attendees !== 'undefined' && this.attendees !== null) {toReturn['attendees'] = 'toApiJson' in this.attendees ? (this.attendees as any).toApiJson() : this.attendees;}\n if (typeof this.attendeesOmitted !== 'undefined') {toReturn['attendeesOmitted'] = this.attendeesOmitted;}\n if (typeof this.colorId !== 'undefined') {toReturn['colorId'] = this.colorId;}\n if (typeof this.conferenceData !== 'undefined' && this.conferenceData !== null) {toReturn['conferenceData'] = 'toApiJson' in this.conferenceData ? (this.conferenceData as any).toApiJson() : this.conferenceData;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.end !== 'undefined' && this.end !== null) {toReturn['end'] = 'toApiJson' in this.end ? (this.end as any).toApiJson() : this.end;}\n if (typeof this.endTimeUnspecified !== 'undefined') {toReturn['endTimeUnspecified'] = this.endTimeUnspecified;}\n if (typeof this.etag !== 'undefined') {toReturn['etag'] = this.etag;}\n if (typeof this.icalUid !== 'undefined') {toReturn['icalUid'] = this.icalUid;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.kind !== 'undefined') {toReturn['kind'] = this.kind;}\n if (typeof this.location !== 'undefined') {toReturn['location'] = this.location;}\n if (typeof this.locked !== 'undefined') {toReturn['locked'] = this.locked;}\n if (typeof this.originalStartTime !== 'undefined' && this.originalStartTime !== null) {toReturn['originalStartTime'] = 'toApiJson' in this.originalStartTime ? (this.originalStartTime as any).toApiJson() : this.originalStartTime;}\n if (typeof this.recurrence !== 'undefined') {toReturn['recurrence'] = this.recurrence;}\n if (typeof this.recurringMeetingId !== 'undefined') {toReturn['recurringMeetingId'] = this.recurringMeetingId;}\n if (typeof this.reminders !== 'undefined' && this.reminders !== null) {toReturn['reminders'] = 'toApiJson' in this.reminders ? (this.reminders as any).toApiJson() : this.reminders;}\n if (typeof this.sequence !== 'undefined') {toReturn['sequence'] = this.sequence;}\n if (typeof this.start !== 'undefined' && this.start !== null) {toReturn['start'] = 'toApiJson' in this.start ? (this.start as any).toApiJson() : this.start;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n if (typeof this.summary !== 'undefined') {toReturn['summary'] = this.summary;}\n if (typeof this.transparency !== 'undefined') {toReturn['transparency'] = this.transparency;}\n if (typeof this.visibility !== 'undefined') {toReturn['visibility'] = this.visibility;}\n if (typeof this.hangoutLink !== 'undefined') {toReturn['hangoutLink'] = this.hangoutLink;}\n if (typeof this.htmlLink !== 'undefined') {toReturn['htmlLink'] = this.htmlLink;}\n if (typeof this.created !== 'undefined') {toReturn['created'] = this.created;}\n if (typeof this.creator !== 'undefined' && this.creator !== null) {toReturn['creator'] = 'toApiJson' in this.creator ? (this.creator as any).toApiJson() : this.creator;}\n if (typeof this.updated !== 'undefined') {toReturn['updated'] = this.updated;}\n if (typeof this.organizer !== 'undefined' && this.organizer !== null) {toReturn['organizer'] = 'toApiJson' in this.organizer ? (this.organizer as any).toApiJson() : this.organizer;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetMeetingAttendee implements i.GoogleMeetMeetingAttendeeInterface {\n additionalGuests: number;\n comment: string;\n displayName: string;\n email: string;\n id: string;\n optional: boolean;\n organizer: boolean;\n resource: boolean;\n responseStatus: string;\n self: boolean;\n\n static fromProto(proto: any): GoogleMeetMeetingAttendee {\n let m = new GoogleMeetMeetingAttendee();\n m = Object.assign(m, proto);\n if (proto.additionalGuests) {m.additionalGuests = parseInt(proto.additionalGuests, 10);}\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetMeetingAttendeeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.additionalGuests !== 'undefined') {toReturn['additionalGuests'] = this.additionalGuests;}\n if (typeof this.comment !== 'undefined') {toReturn['comment'] = this.comment;}\n if (typeof this.displayName !== 'undefined') {toReturn['displayName'] = this.displayName;}\n if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.optional !== 'undefined') {toReturn['optional'] = this.optional;}\n if (typeof this.organizer !== 'undefined') {toReturn['organizer'] = this.organizer;}\n if (typeof this.resource !== 'undefined') {toReturn['resource'] = this.resource;}\n if (typeof this.responseStatus !== 'undefined') {toReturn['responseStatus'] = this.responseStatus;}\n if (typeof this.self !== 'undefined') {toReturn['self'] = this.self;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetMeetingCreator implements i.GoogleMeetMeetingCreatorInterface {\n displayName: string;\n email: string;\n id: string;\n self: boolean;\n\n static fromProto(proto: any): GoogleMeetMeetingCreator {\n let m = new GoogleMeetMeetingCreator();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetMeetingCreatorInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.displayName !== 'undefined') {toReturn['displayName'] = this.displayName;}\n if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.self !== 'undefined') {toReturn['self'] = this.self;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetMeetingDateTime implements i.GoogleMeetMeetingDateTimeInterface {\n date: string;\n dateTime: string;\n timeZone: string;\n\n static fromProto(proto: any): GoogleMeetMeetingDateTime {\n let m = new GoogleMeetMeetingDateTime();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetMeetingDateTimeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.date !== 'undefined') {toReturn['date'] = this.date;}\n if (typeof this.dateTime !== 'undefined') {toReturn['dateTime'] = this.dateTime;}\n if (typeof this.timeZone !== 'undefined') {toReturn['timeZone'] = this.timeZone;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetMeetingOrganizer implements i.GoogleMeetMeetingOrganizerInterface {\n displayName: string;\n email: string;\n id: string;\n self: boolean;\n\n static fromProto(proto: any): GoogleMeetMeetingOrganizer {\n let m = new GoogleMeetMeetingOrganizer();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetMeetingOrganizerInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.displayName !== 'undefined') {toReturn['displayName'] = this.displayName;}\n if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.self !== 'undefined') {toReturn['self'] = this.self;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetMeetingReminder implements i.GoogleMeetMeetingReminderInterface {\n method: string;\n minutes: number;\n\n static fromProto(proto: any): GoogleMeetMeetingReminder {\n let m = new GoogleMeetMeetingReminder();\n m = Object.assign(m, proto);\n if (proto.minutes) {m.minutes = parseInt(proto.minutes, 10);}\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetMeetingReminderInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.method !== 'undefined') {toReturn['method'] = this.method;}\n if (typeof this.minutes !== 'undefined') {toReturn['minutes'] = this.minutes;}\n return toReturn;\n }\n}\n\nexport class GoogleMeetMeetingReminders implements i.GoogleMeetMeetingRemindersInterface {\n overrides: GoogleMeetMeetingReminder[];\n useDefault: boolean;\n\n static fromProto(proto: any): GoogleMeetMeetingReminders {\n let m = new GoogleMeetMeetingReminders();\n m = Object.assign(m, proto);\n if (proto.overrides) {m.overrides = proto.overrides.map(GoogleMeetMeetingReminder.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GoogleMeetMeetingRemindersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.overrides !== 'undefined' && this.overrides !== null) {toReturn['overrides'] = 'toApiJson' in this.overrides ? (this.overrides as any).toApiJson() : this.overrides;}\n if (typeof this.useDefault !== 'undefined') {toReturn['useDefault'] = this.useDefault;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class MeetingSourceInfo implements i.MeetingSourceInfoInterface {\n source: e.MeetingSource;\n status: e.MeetingSourceStatus;\n connectDisconnectUrl: string;\n connectionLabel: string;\n\n static fromProto(proto: any): MeetingSourceInfo {\n let m = new MeetingSourceInfo();\n m = Object.assign(m, proto);\n if (proto.source) {m.source = enumStringToValue<e.MeetingSource>(e.MeetingSource, proto.source);}\n if (proto.status) {m.status = enumStringToValue<e.MeetingSourceStatus>(e.MeetingSourceStatus, proto.status);}\n return m;\n }\n\n constructor(kwargs?: i.MeetingSourceInfoInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.source !== 'undefined') {toReturn['source'] = this.source;}\n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n if (typeof this.connectDisconnectUrl !== 'undefined') {toReturn['connectDisconnectUrl'] = this.connectDisconnectUrl;}\n if (typeof this.connectionLabel !== 'undefined') {toReturn['connectionLabel'] = this.connectionLabel;}\n return toReturn;\n }\n}\n\nexport class MeetingSourceListRequest implements i.MeetingSourceListRequestInterface {\n iamUserId: string;\n queriedSources: MeetingSourceQuery[];\n namespace: string;\n origin: string;\n\n static fromProto(proto: any): MeetingSourceListRequest {\n let m = new MeetingSourceListRequest();\n m = Object.assign(m, proto);\n if (proto.queriedSources) {m.queriedSources = proto.queriedSources.map(MeetingSourceQuery.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.MeetingSourceListRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.iamUserId !== 'undefined') {toReturn['iamUserId'] = this.iamUserId;}\n if (typeof this.queriedSources !== 'undefined' && this.queriedSources !== null) {toReturn['queriedSources'] = 'toApiJson' in this.queriedSources ? (this.queriedSources as any).toApiJson() : this.queriedSources;}\n if (typeof this.namespace !== 'undefined') {toReturn['namespace'] = this.namespace;}\n if (typeof this.origin !== 'undefined') {toReturn['origin'] = this.origin;}\n return toReturn;\n }\n}\n\nexport class MeetingSourceListResponse implements i.MeetingSourceListResponseInterface {\n iamUserId: string;\n sourceInfo: MeetingSourceInfo[];\n\n static fromProto(proto: any): MeetingSourceListResponse {\n let m = new MeetingSourceListResponse();\n m = Object.assign(m, proto);\n if (proto.sourceInfo) {m.sourceInfo = proto.sourceInfo.map(MeetingSourceInfo.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.MeetingSourceListResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.iamUserId !== 'undefined') {toReturn['iamUserId'] = this.iamUserId;}\n if (typeof this.sourceInfo !== 'undefined' && this.sourceInfo !== null) {toReturn['sourceInfo'] = 'toApiJson' in this.sourceInfo ? (this.sourceInfo as any).toApiJson() : this.sourceInfo;}\n return toReturn;\n }\n}\n\nexport class MeetingSourceQuery implements i.MeetingSourceQueryInterface {\n source: e.MeetingSource;\n connectNextUrl: string;\n disconnectNextUrl: string;\n\n static fromProto(proto: any): MeetingSourceQuery {\n let m = new MeetingSourceQuery();\n m = Object.assign(m, proto);\n if (proto.source) {m.source = enumStringToValue<e.MeetingSource>(e.MeetingSource, proto.source);}\n return m;\n }\n\n constructor(kwargs?: i.MeetingSourceQueryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.source !== 'undefined') {toReturn['source'] = this.source;}\n if (typeof this.connectNextUrl !== 'undefined') {toReturn['connectNextUrl'] = this.connectNextUrl;}\n if (typeof this.disconnectNextUrl !== 'undefined') {toReturn['disconnectNextUrl'] = this.disconnectNextUrl;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { TimeZone, TimeOfDay } from './';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class Answer implements i.AnswerInterface {\n id: string;\n label: string;\n type: e.FormFieldType;\n answer: string[];\n\n static fromProto(proto: any): Answer {\n let m = new Answer();\n m = Object.assign(m, proto);\n if (proto.type) {m.type = enumStringToValue<e.FormFieldType>(e.FormFieldType, proto.type);}\n return m;\n }\n\n constructor(kwargs?: i.AnswerInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.label !== 'undefined') {toReturn['label'] = this.label;}\n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.answer !== 'undefined') {toReturn['answer'] = this.answer;}\n return toReturn;\n }\n}\n\nexport class Answers implements i.AnswersInterface {\n formAnswers: Answer[];\n\n static fromProto(proto: any): Answers {\n let m = new Answers();\n m = Object.assign(m, proto);\n if (proto.formAnswers) {m.formAnswers = proto.formAnswers.map(Answer.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.AnswersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.formAnswers !== 'undefined' && this.formAnswers !== null) {toReturn['formAnswers'] = 'toApiJson' in this.formAnswers ? (this.formAnswers as any).toApiJson() : this.formAnswers;}\n return toReturn;\n }\n}\n\nexport class CalendarApplicationContextEntry implements i.CalendarApplicationContextEntryInterface {\n key: string;\n value: string;\n\n static fromProto(proto: any): CalendarApplicationContextEntry {\n let m = new CalendarApplicationContextEntry();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CalendarApplicationContextEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\nexport class Attachment implements i.AttachmentInterface {\n fileTitle: string;\n fileUrl: string;\n fileType: string;\n\n static fromProto(proto: any): Attachment {\n let m = new Attachment();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.AttachmentInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.fileTitle !== 'undefined') {toReturn['fileTitle'] = this.fileTitle;}\n if (typeof this.fileUrl !== 'undefined') {toReturn['fileUrl'] = this.fileUrl;}\n if (typeof this.fileType !== 'undefined') {toReturn['fileType'] = this.fileType;}\n return toReturn;\n }\n}\n\nexport class Attendee implements i.AttendeeInterface {\n firstName: string;\n lastName: string;\n email: string;\n phoneNumber: string;\n timeZone: string;\n isPrimary: boolean;\n\n static fromProto(proto: any): Attendee {\n let m = new Attendee();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.AttendeeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.firstName !== 'undefined') {toReturn['firstName'] = this.firstName;}\n if (typeof this.lastName !== 'undefined') {toReturn['lastName'] = this.lastName;}\n if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n if (typeof this.phoneNumber !== 'undefined') {toReturn['phoneNumber'] = this.phoneNumber;}\n if (typeof this.timeZone !== 'undefined') {toReturn['timeZone'] = this.timeZone;}\n if (typeof this.isPrimary !== 'undefined') {toReturn['isPrimary'] = this.isPrimary;}\n return toReturn;\n }\n}\n\nexport class Calendar implements i.CalendarInterface {\n id: string;\n displayName: string;\n displayProfileUrl: string;\n displayLogoUrl: string;\n bookingUrl: string;\n slug: string;\n externalId: string;\n creatorUserId: string;\n hostUserIds: string[];\n applicationContext: {[key: string]: string};\n calendarType: e.CalendarType;\n encodedApplicationContext: string;\n\n static fromProto(proto: any): Calendar {\n let m = new Calendar();\n m = Object.assign(m, proto);\n if (proto.applicationContext) {m.applicationContext = Object.keys(proto.applicationContext).reduce<any>((obj, k) => { obj[k] = proto.applicationContext[k]; return obj; }, {});}\n if (proto.calendarType) {m.calendarType = enumStringToValue<e.CalendarType>(e.CalendarType, proto.calendarType);}\n return m;\n }\n\n constructor(kwargs?: i.CalendarInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.displayName !== 'undefined') {toReturn['displayName'] = this.displayName;}\n if (typeof this.displayProfileUrl !== 'undefined') {toReturn['displayProfileUrl'] = this.displayProfileUrl;}\n if (typeof this.displayLogoUrl !== 'undefined') {toReturn['displayLogoUrl'] = this.displayLogoUrl;}\n if (typeof this.bookingUrl !== 'undefined') {toReturn['bookingUrl'] = this.bookingUrl;}\n if (typeof this.slug !== 'undefined') {toReturn['slug'] = this.slug;}\n if (typeof this.externalId !== 'undefined') {toReturn['externalId'] = this.externalId;}\n if (typeof this.creatorUserId !== 'undefined') {toReturn['creatorUserId'] = this.creatorUserId;}\n if (typeof this.hostUserIds !== 'undefined') {toReturn['hostUserIds'] = this.hostUserIds;}\n if (typeof this.applicationContext !== 'undefined' && this.applicationContext !== null) {toReturn['applicationContext'] = 'toApiJson' in this.applicationContext ? (this.applicationContext as any).toApiJson() : this.applicationContext;}\n if (typeof this.calendarType !== 'undefined') {toReturn['calendarType'] = this.calendarType;}\n if (typeof this.encodedApplicationContext !== 'undefined') {toReturn['encodedApplicationContext'] = this.encodedApplicationContext;}\n return toReturn;\n }\n}\n\nexport class Contact implements i.ContactInterface {\n firstName: string;\n lastName: string;\n phoneNumber: string;\n email: string;\n timeZone: TimeZone;\n isPrimary: boolean;\n\n static fromProto(proto: any): Contact {\n let m = new Contact();\n m = Object.assign(m, proto);\n if (proto.timeZone) {m.timeZone = TimeZone.fromProto(proto.timeZone);}\n return m;\n }\n\n constructor(kwargs?: i.ContactInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.firstName !== 'undefined') {toReturn['firstName'] = this.firstName;}\n if (typeof this.lastName !== 'undefined') {toReturn['lastName'] = this.lastName;}\n if (typeof this.phoneNumber !== 'undefined') {toReturn['phoneNumber'] = this.phoneNumber;}\n if (typeof this.email !== 'undefined') {toReturn['email'] = this.email;}\n if (typeof this.timeZone !== 'undefined' && this.timeZone !== null) {toReturn['timeZone'] = 'toApiJson' in this.timeZone ? (this.timeZone as any).toApiJson() : this.timeZone;}\n if (typeof this.isPrimary !== 'undefined') {toReturn['isPrimary'] = this.isPrimary;}\n return toReturn;\n }\n}\n\nexport class Host implements i.HostInterface {\n id: string;\n displayName: string;\n displayProfileUrl: string;\n displayLogoUrl: string;\n\n static fromProto(proto: any): Host {\n let m = new Host();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.HostInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.displayName !== 'undefined') {toReturn['displayName'] = this.displayName;}\n if (typeof this.displayProfileUrl !== 'undefined') {toReturn['displayProfileUrl'] = this.displayProfileUrl;}\n if (typeof this.displayLogoUrl !== 'undefined') {toReturn['displayLogoUrl'] = this.displayLogoUrl;}\n return toReturn;\n }\n}\n\nexport class HostUser implements i.HostUserInterface {\n userId: string;\n displayName: string;\n isConfigured: boolean;\n isConnected: boolean;\n\n static fromProto(proto: any): HostUser {\n let m = new HostUser();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.HostUserInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n if (typeof this.displayName !== 'undefined') {toReturn['displayName'] = this.displayName;}\n if (typeof this.isConfigured !== 'undefined') {toReturn['isConfigured'] = this.isConfigured;}\n if (typeof this.isConnected !== 'undefined') {toReturn['isConnected'] = this.isConnected;}\n return toReturn;\n }\n}\n\nexport class PagedRequestOptions implements i.PagedRequestOptionsInterface {\n cursor: string;\n pageSize: number;\n\n static fromProto(proto: any): PagedRequestOptions {\n let m = new PagedRequestOptions();\n m = Object.assign(m, proto);\n if (proto.pageSize) {m.pageSize = parseInt(proto.pageSize, 10);}\n return m;\n }\n\n constructor(kwargs?: i.PagedRequestOptionsInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.cursor !== 'undefined') {toReturn['cursor'] = this.cursor;}\n if (typeof this.pageSize !== 'undefined') {toReturn['pageSize'] = this.pageSize;}\n return toReturn;\n }\n}\n\nexport class PagedResponseMetadata implements i.PagedResponseMetadataInterface {\n nextCursor: string;\n hasMore: boolean;\n\n static fromProto(proto: any): PagedResponseMetadata {\n let m = new PagedResponseMetadata();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.PagedResponseMetadataInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.nextCursor !== 'undefined') {toReturn['nextCursor'] = this.nextCursor;}\n if (typeof this.hasMore !== 'undefined') {toReturn['hasMore'] = this.hasMore;}\n return toReturn;\n }\n}\n\nexport class Preferences implements i.PreferencesInterface {\n timezone: TimeZone;\n meetingIntegration: e.MeetingSource;\n availabilityIncrement: number;\n bufferDurationAfterMeeting: number;\n noticeTime: number;\n calendarSlug: string;\n bufferDurationBeforeMeeting: number;\n calendarIntegration: e.CalendarSource;\n onBoardingState: e.OnBoardingState;\n\n static fromProto(proto: any): Preferences {\n let m = new Preferences();\n m = Object.assign(m, proto);\n if (proto.timezone) {m.timezone = TimeZone.fromProto(proto.timezone);}\n if (proto.meetingIntegration) {m.meetingIntegration = enumStringToValue<e.MeetingSource>(e.MeetingSource, proto.meetingIntegration);}\n if (proto.availabilityIncrement) {m.availabilityIncrement = parseInt(proto.availabilityIncrement, 10);}\n if (proto.bufferDurationAfterMeeting) {m.bufferDurationAfterMeeting = parseInt(proto.bufferDurationAfterMeeting, 10);}\n if (proto.noticeTime) {m.noticeTime = parseInt(proto.noticeTime, 10);}\n if (proto.bufferDurationBeforeMeeting) {m.bufferDurationBeforeMeeting = parseInt(proto.bufferDurationBeforeMeeting, 10);}\n if (proto.calendarIntegration) {m.calendarIntegration = enumStringToValue<e.CalendarSource>(e.CalendarSource, proto.calendarIntegration);}\n if (proto.onBoardingState) {m.onBoardingState = enumStringToValue<e.OnBoardingState>(e.OnBoardingState, proto.onBoardingState);}\n return m;\n }\n\n constructor(kwargs?: i.PreferencesInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.timezone !== 'undefined' && this.timezone !== null) {toReturn['timezone'] = 'toApiJson' in this.timezone ? (this.timezone as any).toApiJson() : this.timezone;}\n if (typeof this.meetingIntegration !== 'undefined') {toReturn['meetingIntegration'] = this.meetingIntegration;}\n if (typeof this.availabilityIncrement !== 'undefined') {toReturn['availabilityIncrement'] = this.availabilityIncrement;}\n if (typeof this.bufferDurationAfterMeeting !== 'undefined') {toReturn['bufferDurationAfterMeeting'] = this.bufferDurationAfterMeeting;}\n if (typeof this.noticeTime !== 'undefined') {toReturn['noticeTime'] = this.noticeTime;}\n if (typeof this.calendarSlug !== 'undefined') {toReturn['calendarSlug'] = this.calendarSlug;}\n if (typeof this.bufferDurationBeforeMeeting !== 'undefined') {toReturn['bufferDurationBeforeMeeting'] = this.bufferDurationBeforeMeeting;}\n if (typeof this.calendarIntegration !== 'undefined') {toReturn['calendarIntegration'] = this.calendarIntegration;}\n if (typeof this.onBoardingState !== 'undefined') {toReturn['onBoardingState'] = this.onBoardingState;}\n return toReturn;\n }\n}\n\nexport class TimeRange implements i.TimeRangeInterface {\n from: TimeOfDay;\n to: TimeOfDay;\n\n static fromProto(proto: any): TimeRange {\n let m = new TimeRange();\n m = Object.assign(m, proto);\n if (proto.from) {m.from = TimeOfDay.fromProto(proto.from);}\n if (proto.to) {m.to = TimeOfDay.fromProto(proto.to);}\n return m;\n }\n\n constructor(kwargs?: i.TimeRangeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.from !== 'undefined' && this.from !== null) {toReturn['from'] = 'toApiJson' in this.from ? (this.from as any).toApiJson() : this.from;}\n if (typeof this.to !== 'undefined' && this.to !== null) {toReturn['to'] = 'toApiJson' in this.to ? (this.to as any).toApiJson() : this.to;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class DateRange implements i.DateRangeInterface {\n start: Date;\n end: Date;\n\n static fromProto(proto: any): DateRange {\n let m = new DateRange();\n m = Object.assign(m, proto);\n if (proto.start) {m.start = new Date(proto.start);}\n if (proto.end) {m.end = new Date(proto.end);}\n return m;\n }\n\n constructor(kwargs?: i.DateRangeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.start !== 'undefined' && this.start !== null) {toReturn['start'] = 'toApiJson' in this.start ? (this.start as any).toApiJson() : this.start;}\n if (typeof this.end !== 'undefined' && this.end !== null) {toReturn['end'] = 'toApiJson' in this.end ? (this.end as any).toApiJson() : this.end;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { DateRange } from './date-range';\nimport { HostUser } from './shared';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class EventTypeDateRange implements i.EventTypeDateRangeInterface {\n dateRangeType: e.DateRangeType;\n customDateRange: DateRange;\n relativeDateRange: RelativeDateRange;\n\n static fromProto(proto: any): EventTypeDateRange {\n let m = new EventTypeDateRange();\n m = Object.assign(m, proto);\n if (proto.dateRangeType) {m.dateRangeType = enumStringToValue<e.DateRangeType>(e.DateRangeType, proto.dateRangeType);}\n if (proto.customDateRange) {m.customDateRange = DateRange.fromProto(proto.customDateRange);}\n if (proto.relativeDateRange) {m.relativeDateRange = RelativeDateRange.fromProto(proto.relativeDateRange);}\n return m;\n }\n\n constructor(kwargs?: i.EventTypeDateRangeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.dateRangeType !== 'undefined') {toReturn['dateRangeType'] = this.dateRangeType;}\n if (typeof this.customDateRange !== 'undefined' && this.customDateRange !== null) {toReturn['customDateRange'] = 'toApiJson' in this.customDateRange ? (this.customDateRange as any).toApiJson() : this.customDateRange;}\n if (typeof this.relativeDateRange !== 'undefined' && this.relativeDateRange !== null) {toReturn['relativeDateRange'] = 'toApiJson' in this.relativeDateRange ? (this.relativeDateRange as any).toApiJson() : this.relativeDateRange;}\n return toReturn;\n }\n}\n\nexport class Field implements i.FieldInterface {\n id: string;\n label: string;\n type: e.FormFieldType;\n required: boolean;\n\n static fromProto(proto: any): Field {\n let m = new Field();\n m = Object.assign(m, proto);\n if (proto.type) {m.type = enumStringToValue<e.FormFieldType>(e.FormFieldType, proto.type);}\n return m;\n }\n\n constructor(kwargs?: i.FieldInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.label !== 'undefined') {toReturn['label'] = this.label;}\n if (typeof this.type !== 'undefined') {toReturn['type'] = this.type;}\n if (typeof this.required !== 'undefined') {toReturn['required'] = this.required;}\n return toReturn;\n }\n}\n\nexport class Form implements i.FormInterface {\n fields: Field[];\n\n static fromProto(proto: any): Form {\n let m = new Form();\n m = Object.assign(m, proto);\n if (proto.fields) {m.fields = proto.fields.map(Field.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.FormInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.fields !== 'undefined' && this.fields !== null) {toReturn['fields'] = 'toApiJson' in this.fields ? (this.fields as any).toApiJson() : this.fields;}\n return toReturn;\n }\n}\n\nexport class MeetingType implements i.MeetingTypeInterface {\n id: string;\n name: string;\n duration: string;\n calendarId: string;\n description: string;\n hexColor: string;\n meetingTypeSlug: string;\n isPrivate: boolean;\n form: Form;\n isReserveWithGoogleService: boolean;\n hostUserIds: string[];\n bookingUrl: string;\n availabilityIncrement: number;\n bufferDurationAfterMeeting: number;\n noticeTime: number;\n location: string;\n locationType: e.MeetingLocationType;\n locationGuidelines: string;\n emailSubject: string;\n emailDescription: string;\n isPinned: boolean;\n calendarType: string;\n hostUsers: HostUser[];\n teamName: string;\n isVideoLinkDisabled: boolean;\n bufferDurationBeforeMeeting: number;\n dateRange: EventTypeDateRange;\n meetingType: e.TeamEventMeetingType;\n attendeeCount: number;\n registrationCutoff: number;\n sessionTitle: string;\n\n static fromProto(proto: any): MeetingType {\n let m = new MeetingType();\n m = Object.assign(m, proto);\n if (proto.form) {m.form = Form.fromProto(proto.form);}\n if (proto.availabilityIncrement) {m.availabilityIncrement = parseInt(proto.availabilityIncrement, 10);}\n if (proto.bufferDurationAfterMeeting) {m.bufferDurationAfterMeeting = parseInt(proto.bufferDurationAfterMeeting, 10);}\n if (proto.noticeTime) {m.noticeTime = parseInt(proto.noticeTime, 10);}\n if (proto.locationType) {m.locationType = enumStringToValue<e.MeetingLocationType>(e.MeetingLocationType, proto.locationType);}\n if (proto.hostUsers) {m.hostUsers = proto.hostUsers.map(HostUser.fromProto);}\n if (proto.bufferDurationBeforeMeeting) {m.bufferDurationBeforeMeeting = parseInt(proto.bufferDurationBeforeMeeting, 10);}\n if (proto.dateRange) {m.dateRange = EventTypeDateRange.fromProto(proto.dateRange);}\n if (proto.meetingType) {m.meetingType = enumStringToValue<e.TeamEventMeetingType>(e.TeamEventMeetingType, proto.meetingType);}\n if (proto.attendeeCount) {m.attendeeCount = parseInt(proto.attendeeCount, 10);}\n if (proto.registrationCutoff) {m.registrationCutoff = parseInt(proto.registrationCutoff, 10);}\n return m;\n }\n\n constructor(kwargs?: i.MeetingTypeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.duration !== 'undefined') {toReturn['duration'] = this.duration;}\n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.hexColor !== 'undefined') {toReturn['hexColor'] = this.hexColor;}\n if (typeof this.meetingTypeSlug !== 'undefined') {toReturn['meetingTypeSlug'] = this.meetingTypeSlug;}\n if (typeof this.isPrivate !== 'undefined') {toReturn['isPrivate'] = this.isPrivate;}\n if (typeof this.form !== 'undefined' && this.form !== null) {toReturn['form'] = 'toApiJson' in this.form ? (this.form as any).toApiJson() : this.form;}\n if (typeof this.isReserveWithGoogleService !== 'undefined') {toReturn['isReserveWithGoogleService'] = this.isReserveWithGoogleService;}\n if (typeof this.hostUserIds !== 'undefined') {toReturn['hostUserIds'] = this.hostUserIds;}\n if (typeof this.bookingUrl !== 'undefined') {toReturn['bookingUrl'] = this.bookingUrl;}\n if (typeof this.availabilityIncrement !== 'undefined') {toReturn['availabilityIncrement'] = this.availabilityIncrement;}\n if (typeof this.bufferDurationAfterMeeting !== 'undefined') {toReturn['bufferDurationAfterMeeting'] = this.bufferDurationAfterMeeting;}\n if (typeof this.noticeTime !== 'undefined') {toReturn['noticeTime'] = this.noticeTime;}\n if (typeof this.location !== 'undefined') {toReturn['location'] = this.location;}\n if (typeof this.locationType !== 'undefined') {toReturn['locationType'] = this.locationType;}\n if (typeof this.locationGuidelines !== 'undefined') {toReturn['locationGuidelines'] = this.locationGuidelines;}\n if (typeof this.emailSubject !== 'undefined') {toReturn['emailSubject'] = this.emailSubject;}\n if (typeof this.emailDescription !== 'undefined') {toReturn['emailDescription'] = this.emailDescription;}\n if (typeof this.isPinned !== 'undefined') {toReturn['isPinned'] = this.isPinned;}\n if (typeof this.calendarType !== 'undefined') {toReturn['calendarType'] = this.calendarType;}\n if (typeof this.hostUsers !== 'undefined' && this.hostUsers !== null) {toReturn['hostUsers'] = 'toApiJson' in this.hostUsers ? (this.hostUsers as any).toApiJson() : this.hostUsers;}\n if (typeof this.teamName !== 'undefined') {toReturn['teamName'] = this.teamName;}\n if (typeof this.isVideoLinkDisabled !== 'undefined') {toReturn['isVideoLinkDisabled'] = this.isVideoLinkDisabled;}\n if (typeof this.bufferDurationBeforeMeeting !== 'undefined') {toReturn['bufferDurationBeforeMeeting'] = this.bufferDurationBeforeMeeting;}\n if (typeof this.dateRange !== 'undefined' && this.dateRange !== null) {toReturn['dateRange'] = 'toApiJson' in this.dateRange ? (this.dateRange as any).toApiJson() : this.dateRange;}\n if (typeof this.meetingType !== 'undefined') {toReturn['meetingType'] = this.meetingType;}\n if (typeof this.attendeeCount !== 'undefined') {toReturn['attendeeCount'] = this.attendeeCount;}\n if (typeof this.registrationCutoff !== 'undefined') {toReturn['registrationCutoff'] = this.registrationCutoff;}\n if (typeof this.sessionTitle !== 'undefined') {toReturn['sessionTitle'] = this.sessionTitle;}\n return toReturn;\n }\n}\n\nexport class RelativeDateRange implements i.RelativeDateRangeInterface {\n unit: e.RelativeTimeUnit;\n value: number;\n\n static fromProto(proto: any): RelativeDateRange {\n let m = new RelativeDateRange();\n m = Object.assign(m, proto);\n if (proto.unit) {m.unit = enumStringToValue<e.RelativeTimeUnit>(e.RelativeTimeUnit, proto.unit);}\n if (proto.value) {m.value = parseInt(proto.value, 10);}\n return m;\n }\n\n constructor(kwargs?: i.RelativeDateRangeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.unit !== 'undefined') {toReturn['unit'] = this.unit;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class EventGroupAndServiceAssociations implements i.EventGroupAndServiceAssociationsInterface {\n id: string;\n name: string;\n eventType: string;\n identifier: string;\n isEditable: boolean;\n creatorUserName: string;\n calendarId: string;\n hexColor: string;\n duration: string;\n description: string;\n bookingUrl: string;\n\n static fromProto(proto: any): EventGroupAndServiceAssociations {\n let m = new EventGroupAndServiceAssociations();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.EventGroupAndServiceAssociationsInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.eventType !== 'undefined') {toReturn['eventType'] = this.eventType;}\n if (typeof this.identifier !== 'undefined') {toReturn['identifier'] = this.identifier;}\n if (typeof this.isEditable !== 'undefined') {toReturn['isEditable'] = this.isEditable;}\n if (typeof this.creatorUserName !== 'undefined') {toReturn['creatorUserName'] = this.creatorUserName;}\n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n if (typeof this.hexColor !== 'undefined') {toReturn['hexColor'] = this.hexColor;}\n if (typeof this.duration !== 'undefined') {toReturn['duration'] = this.duration;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.bookingUrl !== 'undefined') {toReturn['bookingUrl'] = this.bookingUrl;}\n return toReturn;\n }\n}\n\nexport class Group implements i.GroupInterface {\n id: string;\n name: string;\n description: string;\n slug: string;\n isPinned: boolean;\n associations: EventGroupAndServiceAssociations[];\n hexColor: string;\n bookingUrl: string;\n\n static fromProto(proto: any): Group {\n let m = new Group();\n m = Object.assign(m, proto);\n if (proto.associations) {m.associations = proto.associations.map(EventGroupAndServiceAssociations.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.GroupInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.slug !== 'undefined') {toReturn['slug'] = this.slug;}\n if (typeof this.isPinned !== 'undefined') {toReturn['isPinned'] = this.isPinned;}\n if (typeof this.associations !== 'undefined' && this.associations !== null) {toReturn['associations'] = 'toApiJson' in this.associations ? (this.associations as any).toApiJson() : this.associations;}\n if (typeof this.hexColor !== 'undefined') {toReturn['hexColor'] = this.hexColor;}\n if (typeof this.bookingUrl !== 'undefined') {toReturn['bookingUrl'] = this.bookingUrl;}\n return toReturn;\n }\n}\n\nexport class Service implements i.ServiceInterface {\n id: string;\n name: string;\n description: string;\n slug: string;\n isPinned: boolean;\n associations: EventGroupAndServiceAssociations[];\n hexColor: string;\n bookingUrl: string;\n\n static fromProto(proto: any): Service {\n let m = new Service();\n m = Object.assign(m, proto);\n if (proto.associations) {m.associations = proto.associations.map(EventGroupAndServiceAssociations.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.ServiceInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.slug !== 'undefined') {toReturn['slug'] = this.slug;}\n if (typeof this.isPinned !== 'undefined') {toReturn['isPinned'] = this.isPinned;}\n if (typeof this.associations !== 'undefined' && this.associations !== null) {toReturn['associations'] = 'toApiJson' in this.associations ? (this.associations as any).toApiJson() : this.associations;}\n if (typeof this.hexColor !== 'undefined') {toReturn['hexColor'] = this.hexColor;}\n if (typeof this.bookingUrl !== 'undefined') {toReturn['bookingUrl'] = this.bookingUrl;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { Contact, Answers, Calendar, Host } from './shared';\nimport { DateRange } from './date-range';\nimport { Group, Service } from './groups-and-services';\nimport { MeetingType } from './meeting-type';\nimport { TimeZone } from './';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class BookMeetingRequest implements i.BookMeetingRequestInterface {\n hostId: string;\n meetingTypeId: string;\n timeSlot: DateRange;\n attendees: Contact[];\n start: Date;\n comment: string;\n metadata: {[key: string]: string};\n formAnswers: Answers;\n recaptchaToken: string;\n location: string;\n userId: string;\n\n static fromProto(proto: any): BookMeetingRequest {\n let m = new BookMeetingRequest();\n m = Object.assign(m, proto);\n if (proto.timeSlot) {m.timeSlot = DateRange.fromProto(proto.timeSlot);}\n if (proto.attendees) {m.attendees = proto.attendees.map(Contact.fromProto);}\n if (proto.start) {m.start = new Date(proto.start);}\n if (proto.metadata) {m.metadata = Object.keys(proto.metadata).reduce<any>((obj, k) => { obj[k] = proto.metadata[k]; return obj; }, {});}\n if (proto.formAnswers) {m.formAnswers = Answers.fromProto(proto.formAnswers);}\n return m;\n }\n\n constructor(kwargs?: i.BookMeetingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n if (typeof this.meetingTypeId !== 'undefined') {toReturn['meetingTypeId'] = this.meetingTypeId;}\n if (typeof this.timeSlot !== 'undefined' && this.timeSlot !== null) {toReturn['timeSlot'] = 'toApiJson' in this.timeSlot ? (this.timeSlot as any).toApiJson() : this.timeSlot;}\n if (typeof this.attendees !== 'undefined' && this.attendees !== null) {toReturn['attendees'] = 'toApiJson' in this.attendees ? (this.attendees as any).toApiJson() : this.attendees;}\n if (typeof this.start !== 'undefined' && this.start !== null) {toReturn['start'] = 'toApiJson' in this.start ? (this.start as any).toApiJson() : this.start;}\n if (typeof this.comment !== 'undefined') {toReturn['comment'] = this.comment;}\n if (typeof this.metadata !== 'undefined' && this.metadata !== null) {toReturn['metadata'] = 'toApiJson' in this.metadata ? (this.metadata as any).toApiJson() : this.metadata;}\n if (typeof this.formAnswers !== 'undefined' && this.formAnswers !== null) {toReturn['formAnswers'] = 'toApiJson' in this.formAnswers ? (this.formAnswers as any).toApiJson() : this.formAnswers;}\n if (typeof this.recaptchaToken !== 'undefined') {toReturn['recaptchaToken'] = this.recaptchaToken;}\n if (typeof this.location !== 'undefined') {toReturn['location'] = this.location;}\n if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n return toReturn;\n }\n}\n\nexport class BookMeetingResponse implements i.BookMeetingResponseInterface {\n meetingId: string;\n hostId: string;\n\n static fromProto(proto: any): BookMeetingResponse {\n let m = new BookMeetingResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.BookMeetingResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingId !== 'undefined') {toReturn['meetingId'] = this.meetingId;}\n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class GetCalendarRequest implements i.GetCalendarRequestInterface {\n calendarId: string;\n\n static fromProto(proto: any): GetCalendarRequest {\n let m = new GetCalendarRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetCalendarRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n return toReturn;\n }\n}\n\nexport class GetCalendarResponse implements i.GetCalendarResponseInterface {\n calendar: Calendar;\n\n static fromProto(proto: any): GetCalendarResponse {\n let m = new GetCalendarResponse();\n m = Object.assign(m, proto);\n if (proto.calendar) {m.calendar = Calendar.fromProto(proto.calendar);}\n return m;\n }\n\n constructor(kwargs?: i.GetCalendarResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendar !== 'undefined' && this.calendar !== null) {toReturn['calendar'] = 'toApiJson' in this.calendar ? (this.calendar as any).toApiJson() : this.calendar;}\n return toReturn;\n }\n}\n\nexport class GetGroupRequest implements i.GetGroupRequestInterface {\n groupId: string;\n slug: string;\n hostId: string;\n\n static fromProto(proto: any): GetGroupRequest {\n let m = new GetGroupRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetGroupRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.groupId !== 'undefined') {toReturn['groupId'] = this.groupId;}\n if (typeof this.slug !== 'undefined') {toReturn['slug'] = this.slug;}\n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class GetGroupResponse implements i.GetGroupResponseInterface {\n group: Group;\n businessDisplayLogoUrl: string;\n\n static fromProto(proto: any): GetGroupResponse {\n let m = new GetGroupResponse();\n m = Object.assign(m, proto);\n if (proto.group) {m.group = Group.fromProto(proto.group);}\n return m;\n }\n\n constructor(kwargs?: i.GetGroupResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.group !== 'undefined' && this.group !== null) {toReturn['group'] = 'toApiJson' in this.group ? (this.group as any).toApiJson() : this.group;}\n if (typeof this.businessDisplayLogoUrl !== 'undefined') {toReturn['businessDisplayLogoUrl'] = this.businessDisplayLogoUrl;}\n return toReturn;\n }\n}\n\nexport class GetHostRequest implements i.GetHostRequestInterface {\n hostId: string;\n\n static fromProto(proto: any): GetHostRequest {\n let m = new GetHostRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetHostRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class GetHostResponse implements i.GetHostResponseInterface {\n host: Host;\n\n static fromProto(proto: any): GetHostResponse {\n let m = new GetHostResponse();\n m = Object.assign(m, proto);\n if (proto.host) {m.host = Host.fromProto(proto.host);}\n return m;\n }\n\n constructor(kwargs?: i.GetHostResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.host !== 'undefined' && this.host !== null) {toReturn['host'] = 'toApiJson' in this.host ? (this.host as any).toApiJson() : this.host;}\n return toReturn;\n }\n}\n\nexport class GetMeetingTypeRequest implements i.GetMeetingTypeRequestInterface {\n calendarSlug: string;\n meetingTypeSlug: string;\n\n static fromProto(proto: any): GetMeetingTypeRequest {\n let m = new GetMeetingTypeRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMeetingTypeRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarSlug !== 'undefined') {toReturn['calendarSlug'] = this.calendarSlug;}\n if (typeof this.meetingTypeSlug !== 'undefined') {toReturn['meetingTypeSlug'] = this.meetingTypeSlug;}\n return toReturn;\n }\n}\n\nexport class GetMeetingTypeResponse implements i.GetMeetingTypeResponseInterface {\n meetingType: MeetingType;\n\n static fromProto(proto: any): GetMeetingTypeResponse {\n let m = new GetMeetingTypeResponse();\n m = Object.assign(m, proto);\n if (proto.meetingType) {m.meetingType = MeetingType.fromProto(proto.meetingType);}\n return m;\n }\n\n constructor(kwargs?: i.GetMeetingTypeResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingType !== 'undefined' && this.meetingType !== null) {toReturn['meetingType'] = 'toApiJson' in this.meetingType ? (this.meetingType as any).toApiJson() : this.meetingType;}\n return toReturn;\n }\n}\n\nexport class GetServiceRequest implements i.GetServiceRequestInterface {\n serviceId: string;\n slug: string;\n hostId: string;\n\n static fromProto(proto: any): GetServiceRequest {\n let m = new GetServiceRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetServiceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.serviceId !== 'undefined') {toReturn['serviceId'] = this.serviceId;}\n if (typeof this.slug !== 'undefined') {toReturn['slug'] = this.slug;}\n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class GetServiceResponse implements i.GetServiceResponseInterface {\n service: Service;\n businessDisplayLogoUrl: string;\n\n static fromProto(proto: any): GetServiceResponse {\n let m = new GetServiceResponse();\n m = Object.assign(m, proto);\n if (proto.service) {m.service = Service.fromProto(proto.service);}\n return m;\n }\n\n constructor(kwargs?: i.GetServiceResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.service !== 'undefined' && this.service !== null) {toReturn['service'] = 'toApiJson' in this.service ? (this.service as any).toApiJson() : this.service;}\n if (typeof this.businessDisplayLogoUrl !== 'undefined') {toReturn['businessDisplayLogoUrl'] = this.businessDisplayLogoUrl;}\n return toReturn;\n }\n}\n\nexport class GuestCancelMeetingRequest implements i.GuestCancelMeetingRequestInterface {\n meetingId: string;\n authToken: string;\n cancellationReason: string;\n\n static fromProto(proto: any): GuestCancelMeetingRequest {\n let m = new GuestCancelMeetingRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GuestCancelMeetingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingId !== 'undefined') {toReturn['meetingId'] = this.meetingId;}\n if (typeof this.authToken !== 'undefined') {toReturn['authToken'] = this.authToken;}\n if (typeof this.cancellationReason !== 'undefined') {toReturn['cancellationReason'] = this.cancellationReason;}\n return toReturn;\n }\n}\n\nexport class GuestGetBookedMeetingRequest implements i.GuestGetBookedMeetingRequestInterface {\n meetingId: string;\n authToken: string;\n\n static fromProto(proto: any): GuestGetBookedMeetingRequest {\n let m = new GuestGetBookedMeetingRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GuestGetBookedMeetingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingId !== 'undefined') {toReturn['meetingId'] = this.meetingId;}\n if (typeof this.authToken !== 'undefined') {toReturn['authToken'] = this.authToken;}\n return toReturn;\n }\n}\n\nexport class GuestGetBookedMeetingResponse implements i.GuestGetBookedMeetingResponseInterface {\n startTime: Date;\n endTime: Date;\n timeZone: TimeZone;\n meetingTypeId: string;\n location: string;\n locationType: e.MeetingLocationType;\n locationGuideline: string;\n meetingType: e.TeamEventMeetingType;\n displayName: string;\n calendarId: string;\n\n static fromProto(proto: any): GuestGetBookedMeetingResponse {\n let m = new GuestGetBookedMeetingResponse();\n m = Object.assign(m, proto);\n if (proto.startTime) {m.startTime = new Date(proto.startTime);}\n if (proto.endTime) {m.endTime = new Date(proto.endTime);}\n if (proto.timeZone) {m.timeZone = TimeZone.fromProto(proto.timeZone);}\n if (proto.locationType) {m.locationType = enumStringToValue<e.MeetingLocationType>(e.MeetingLocationType, proto.locationType);}\n if (proto.meetingType) {m.meetingType = enumStringToValue<e.TeamEventMeetingType>(e.TeamEventMeetingType, proto.meetingType);}\n return m;\n }\n\n constructor(kwargs?: i.GuestGetBookedMeetingResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.startTime !== 'undefined' && this.startTime !== null) {toReturn['startTime'] = 'toApiJson' in this.startTime ? (this.startTime as any).toApiJson() : this.startTime;}\n if (typeof this.endTime !== 'undefined' && this.endTime !== null) {toReturn['endTime'] = 'toApiJson' in this.endTime ? (this.endTime as any).toApiJson() : this.endTime;}\n if (typeof this.timeZone !== 'undefined' && this.timeZone !== null) {toReturn['timeZone'] = 'toApiJson' in this.timeZone ? (this.timeZone as any).toApiJson() : this.timeZone;}\n if (typeof this.meetingTypeId !== 'undefined') {toReturn['meetingTypeId'] = this.meetingTypeId;}\n if (typeof this.location !== 'undefined') {toReturn['location'] = this.location;}\n if (typeof this.locationType !== 'undefined') {toReturn['locationType'] = this.locationType;}\n if (typeof this.locationGuideline !== 'undefined') {toReturn['locationGuideline'] = this.locationGuideline;}\n if (typeof this.meetingType !== 'undefined') {toReturn['meetingType'] = this.meetingType;}\n if (typeof this.displayName !== 'undefined') {toReturn['displayName'] = this.displayName;}\n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n return toReturn;\n }\n}\n\nexport class GuestIsHostConfiguredRequest implements i.GuestIsHostConfiguredRequestInterface {\n hostId: string;\n\n static fromProto(proto: any): GuestIsHostConfiguredRequest {\n let m = new GuestIsHostConfiguredRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GuestIsHostConfiguredRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class GuestIsHostConfiguredResponse implements i.GuestIsHostConfiguredResponseInterface {\n isConfigured: boolean;\n\n static fromProto(proto: any): GuestIsHostConfiguredResponse {\n let m = new GuestIsHostConfiguredResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GuestIsHostConfiguredResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.isConfigured !== 'undefined') {toReturn['isConfigured'] = this.isConfigured;}\n return toReturn;\n }\n}\n\nexport class GuestRescheduleMeetingRequest implements i.GuestRescheduleMeetingRequestInterface {\n meetingId: string;\n authToken: string;\n start: Date;\n timeZone: TimeZone;\n location: string;\n\n static fromProto(proto: any): GuestRescheduleMeetingRequest {\n let m = new GuestRescheduleMeetingRequest();\n m = Object.assign(m, proto);\n if (proto.start) {m.start = new Date(proto.start);}\n if (proto.timeZone) {m.timeZone = TimeZone.fromProto(proto.timeZone);}\n return m;\n }\n\n constructor(kwargs?: i.GuestRescheduleMeetingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingId !== 'undefined') {toReturn['meetingId'] = this.meetingId;}\n if (typeof this.authToken !== 'undefined') {toReturn['authToken'] = this.authToken;}\n if (typeof this.start !== 'undefined' && this.start !== null) {toReturn['start'] = 'toApiJson' in this.start ? (this.start as any).toApiJson() : this.start;}\n if (typeof this.timeZone !== 'undefined' && this.timeZone !== null) {toReturn['timeZone'] = 'toApiJson' in this.timeZone ? (this.timeZone as any).toApiJson() : this.timeZone;}\n if (typeof this.location !== 'undefined') {toReturn['location'] = this.location;}\n return toReturn;\n }\n}\n\nexport class IsoDateTimeRange implements i.IsoDateTimeRangeInterface {\n start: string;\n end: string;\n\n static fromProto(proto: any): IsoDateTimeRange {\n let m = new IsoDateTimeRange();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.IsoDateTimeRangeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.start !== 'undefined') {toReturn['start'] = this.start;}\n if (typeof this.end !== 'undefined') {toReturn['end'] = this.end;}\n return toReturn;\n }\n}\n\nexport class ListAvailableTimeSlotsRequest implements i.ListAvailableTimeSlotsRequestInterface {\n hostId: string;\n meetingTypeId: string;\n timeSpan: DateRange;\n timeZone: TimeZone;\n userId: string;\n useIsoDates: boolean;\n\n static fromProto(proto: any): ListAvailableTimeSlotsRequest {\n let m = new ListAvailableTimeSlotsRequest();\n m = Object.assign(m, proto);\n if (proto.timeSpan) {m.timeSpan = DateRange.fromProto(proto.timeSpan);}\n if (proto.timeZone) {m.timeZone = TimeZone.fromProto(proto.timeZone);}\n return m;\n }\n\n constructor(kwargs?: i.ListAvailableTimeSlotsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n if (typeof this.meetingTypeId !== 'undefined') {toReturn['meetingTypeId'] = this.meetingTypeId;}\n if (typeof this.timeSpan !== 'undefined' && this.timeSpan !== null) {toReturn['timeSpan'] = 'toApiJson' in this.timeSpan ? (this.timeSpan as any).toApiJson() : this.timeSpan;}\n if (typeof this.timeZone !== 'undefined' && this.timeZone !== null) {toReturn['timeZone'] = 'toApiJson' in this.timeZone ? (this.timeZone as any).toApiJson() : this.timeZone;}\n if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n if (typeof this.useIsoDates !== 'undefined') {toReturn['useIsoDates'] = this.useIsoDates;}\n return toReturn;\n }\n}\n\nexport class ListAvailableTimeSlotsResponse implements i.ListAvailableTimeSlotsResponseInterface {\n timeSlots: DateRange[];\n isoTimeSlots: IsoDateTimeRange[];\n\n static fromProto(proto: any): ListAvailableTimeSlotsResponse {\n let m = new ListAvailableTimeSlotsResponse();\n m = Object.assign(m, proto);\n if (proto.timeSlots) {m.timeSlots = proto.timeSlots.map(DateRange.fromProto);}\n if (proto.isoTimeSlots) {m.isoTimeSlots = proto.isoTimeSlots.map(IsoDateTimeRange.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.ListAvailableTimeSlotsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.timeSlots !== 'undefined' && this.timeSlots !== null) {toReturn['timeSlots'] = 'toApiJson' in this.timeSlots ? (this.timeSlots as any).toApiJson() : this.timeSlots;}\n if (typeof this.isoTimeSlots !== 'undefined' && this.isoTimeSlots !== null) {toReturn['isoTimeSlots'] = 'toApiJson' in this.isoTimeSlots ? (this.isoTimeSlots as any).toApiJson() : this.isoTimeSlots;}\n return toReturn;\n }\n}\n\nexport class ListMeetingTypesRequest implements i.ListMeetingTypesRequestInterface {\n hostId: string;\n\n static fromProto(proto: any): ListMeetingTypesRequest {\n let m = new ListMeetingTypesRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ListMeetingTypesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class ListMeetingTypesResponse implements i.ListMeetingTypesResponseInterface {\n meetingTypes: MeetingType[];\n\n static fromProto(proto: any): ListMeetingTypesResponse {\n let m = new ListMeetingTypesResponse();\n m = Object.assign(m, proto);\n if (proto.meetingTypes) {m.meetingTypes = proto.meetingTypes.map(MeetingType.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.ListMeetingTypesResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingTypes !== 'undefined' && this.meetingTypes !== null) {toReturn['meetingTypes'] = 'toApiJson' in this.meetingTypes ? (this.meetingTypes as any).toApiJson() : this.meetingTypes;}\n return toReturn;\n }\n}\n\nexport class BookMeetingRequestMetadataEntry implements i.BookMeetingRequestMetadataEntryInterface {\n key: string;\n value: string;\n\n static fromProto(proto: any): BookMeetingRequestMetadataEntry {\n let m = new BookMeetingRequestMetadataEntry();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.BookMeetingRequestMetadataEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class FieldMask implements i.FieldMaskInterface {\n paths: string[];\n\n static fromProto(proto: any): FieldMask {\n let m = new FieldMask();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.FieldMaskInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.paths !== 'undefined') {toReturn['paths'] = this.paths;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\nimport { DateRange } from './date-range';\nimport { FieldMask } from './field-mask';\nimport { Group, Service } from './groups-and-services';\nimport { MeetingType } from './meeting-type';\nimport { TimeRange, Calendar, Preferences, HostUser, Contact, PagedRequestOptions, PagedResponseMetadata, Attendee, Answers, Attachment } from './shared';\nimport { TimeZone } from './';\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class IsCalendarConfiguredRequestApplicationContextPropertiesEntry implements i.IsCalendarConfiguredRequestApplicationContextPropertiesEntryInterface {\n key: string;\n value: string;\n\n static fromProto(proto: any): IsCalendarConfiguredRequestApplicationContextPropertiesEntry {\n let m = new IsCalendarConfiguredRequestApplicationContextPropertiesEntry();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.IsCalendarConfiguredRequestApplicationContextPropertiesEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\nexport class EnsurePersonalCalendarExistsRequestApplicationContextPropertiesEntry implements i.EnsurePersonalCalendarExistsRequestApplicationContextPropertiesEntryInterface {\n key: string;\n value: string;\n\n static fromProto(proto: any): EnsurePersonalCalendarExistsRequestApplicationContextPropertiesEntry {\n let m = new EnsurePersonalCalendarExistsRequestApplicationContextPropertiesEntry();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.EnsurePersonalCalendarExistsRequestApplicationContextPropertiesEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\nexport class BuildHostIdRequestApplicationContextPropertiesEntry implements i.BuildHostIdRequestApplicationContextPropertiesEntryInterface {\n key: string;\n value: string;\n\n static fromProto(proto: any): BuildHostIdRequestApplicationContextPropertiesEntry {\n let m = new BuildHostIdRequestApplicationContextPropertiesEntry();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.BuildHostIdRequestApplicationContextPropertiesEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\nexport class AvailabilityRule implements i.AvailabilityRuleInterface {\n hostId: string;\n meetingTypeId: string;\n day: e.DayOfWeek;\n timeSlot: TimeRange;\n timeZone: TimeZone;\n\n static fromProto(proto: any): AvailabilityRule {\n let m = new AvailabilityRule();\n m = Object.assign(m, proto);\n if (proto.day) {m.day = enumStringToValue<e.DayOfWeek>(e.DayOfWeek, proto.day);}\n if (proto.timeSlot) {m.timeSlot = TimeRange.fromProto(proto.timeSlot);}\n if (proto.timeZone) {m.timeZone = TimeZone.fromProto(proto.timeZone);}\n return m;\n }\n\n constructor(kwargs?: i.AvailabilityRuleInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n if (typeof this.meetingTypeId !== 'undefined') {toReturn['meetingTypeId'] = this.meetingTypeId;}\n if (typeof this.day !== 'undefined') {toReturn['day'] = this.day;}\n if (typeof this.timeSlot !== 'undefined' && this.timeSlot !== null) {toReturn['timeSlot'] = 'toApiJson' in this.timeSlot ? (this.timeSlot as any).toApiJson() : this.timeSlot;}\n if (typeof this.timeZone !== 'undefined' && this.timeZone !== null) {toReturn['timeZone'] = 'toApiJson' in this.timeZone ? (this.timeZone as any).toApiJson() : this.timeZone;}\n return toReturn;\n }\n}\n\nexport class AvailabilityRuleList implements i.AvailabilityRuleListInterface {\n rules: AvailabilityRule[];\n\n static fromProto(proto: any): AvailabilityRuleList {\n let m = new AvailabilityRuleList();\n m = Object.assign(m, proto);\n if (proto.rules) {m.rules = proto.rules.map(AvailabilityRule.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.AvailabilityRuleListInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.rules !== 'undefined' && this.rules !== null) {toReturn['rules'] = 'toApiJson' in this.rules ? (this.rules as any).toApiJson() : this.rules;}\n return toReturn;\n }\n}\n\nexport class BuildHostIdRequest implements i.BuildHostIdRequestInterface {\n applicationContextProperties: {[key: string]: string};\n userId: string;\n\n static fromProto(proto: any): BuildHostIdRequest {\n let m = new BuildHostIdRequest();\n m = Object.assign(m, proto);\n if (proto.applicationContextProperties) {m.applicationContextProperties = Object.keys(proto.applicationContextProperties).reduce<any>((obj, k) => { obj[k] = proto.applicationContextProperties[k]; return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.BuildHostIdRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.applicationContextProperties !== 'undefined' && this.applicationContextProperties !== null) {toReturn['applicationContextProperties'] = 'toApiJson' in this.applicationContextProperties ? (this.applicationContextProperties as any).toApiJson() : this.applicationContextProperties;}\n if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n return toReturn;\n }\n}\n\nexport class BuildHostIdResponse implements i.BuildHostIdResponseInterface {\n hostId: string;\n\n static fromProto(proto: any): BuildHostIdResponse {\n let m = new BuildHostIdResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.BuildHostIdResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class GetMeetingTypesForCalendarsResponseCalendarMeetingTypesMapEntry implements i.GetMeetingTypesForCalendarsResponseCalendarMeetingTypesMapEntryInterface {\n key: string;\n value: MeetingTypeList;\n\n static fromProto(proto: any): GetMeetingTypesForCalendarsResponseCalendarMeetingTypesMapEntry {\n let m = new GetMeetingTypesForCalendarsResponseCalendarMeetingTypesMapEntry();\n m = Object.assign(m, proto);\n if (proto.value) {m.value = MeetingTypeList.fromProto(proto.value);}\n return m;\n }\n\n constructor(kwargs?: i.GetMeetingTypesForCalendarsResponseCalendarMeetingTypesMapEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined' && this.value !== null) {toReturn['value'] = 'toApiJson' in this.value ? (this.value as any).toApiJson() : this.value;}\n return toReturn;\n }\n}\n\nexport class CalendarMigrationResponse implements i.CalendarMigrationResponseInterface {\n status: boolean;\n\n static fromProto(proto: any): CalendarMigrationResponse {\n let m = new CalendarMigrationResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CalendarMigrationResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.status !== 'undefined') {toReturn['status'] = this.status;}\n return toReturn;\n }\n}\n\nexport class CancelMeetingRequest implements i.CancelMeetingRequestInterface {\n meetingId: string;\n cancellationReason: string;\n\n static fromProto(proto: any): CancelMeetingRequest {\n let m = new CancelMeetingRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CancelMeetingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingId !== 'undefined') {toReturn['meetingId'] = this.meetingId;}\n if (typeof this.cancellationReason !== 'undefined') {toReturn['cancellationReason'] = this.cancellationReason;}\n return toReturn;\n }\n}\n\nexport class CheckGroupOrServiceSlugExistRequest implements i.CheckGroupOrServiceSlugExistRequestInterface {\n hostId: string;\n slugIdentifier: string;\n category: string;\n\n static fromProto(proto: any): CheckGroupOrServiceSlugExistRequest {\n let m = new CheckGroupOrServiceSlugExistRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CheckGroupOrServiceSlugExistRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n if (typeof this.slugIdentifier !== 'undefined') {toReturn['slugIdentifier'] = this.slugIdentifier;}\n if (typeof this.category !== 'undefined') {toReturn['category'] = this.category;}\n return toReturn;\n }\n}\n\nexport class CheckGroupOrServiceSlugExistResponse implements i.CheckGroupOrServiceSlugExistResponseInterface {\n exists: boolean;\n\n static fromProto(proto: any): CheckGroupOrServiceSlugExistResponse {\n let m = new CheckGroupOrServiceSlugExistResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CheckGroupOrServiceSlugExistResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.exists !== 'undefined') {toReturn['exists'] = this.exists;}\n return toReturn;\n }\n}\n\nexport class CreateAvailabilityRequest implements i.CreateAvailabilityRequestInterface {\n\n static fromProto(proto: any): CreateAvailabilityRequest {\n let m = new CreateAvailabilityRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateAvailabilityRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n return toReturn;\n }\n}\n\nexport class CreateAvailabilityResponse implements i.CreateAvailabilityResponseInterface {\n\n static fromProto(proto: any): CreateAvailabilityResponse {\n let m = new CreateAvailabilityResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateAvailabilityResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n return toReturn;\n }\n}\n\nexport class CreateCalendarRequest implements i.CreateCalendarRequestInterface {\n calendar: Calendar;\n\n static fromProto(proto: any): CreateCalendarRequest {\n let m = new CreateCalendarRequest();\n m = Object.assign(m, proto);\n if (proto.calendar) {m.calendar = Calendar.fromProto(proto.calendar);}\n return m;\n }\n\n constructor(kwargs?: i.CreateCalendarRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendar !== 'undefined' && this.calendar !== null) {toReturn['calendar'] = 'toApiJson' in this.calendar ? (this.calendar as any).toApiJson() : this.calendar;}\n return toReturn;\n }\n}\n\nexport class CreateCalendarResponse implements i.CreateCalendarResponseInterface {\n calendarId: string;\n\n static fromProto(proto: any): CreateCalendarResponse {\n let m = new CreateCalendarResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateCalendarResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n return toReturn;\n }\n}\n\nexport class CreateDefaultMeetingTypesRequest implements i.CreateDefaultMeetingTypesRequestInterface {\n calendarId: string;\n calendarIds: string[];\n\n static fromProto(proto: any): CreateDefaultMeetingTypesRequest {\n let m = new CreateDefaultMeetingTypesRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateDefaultMeetingTypesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n if (typeof this.calendarIds !== 'undefined') {toReturn['calendarIds'] = this.calendarIds;}\n return toReturn;\n }\n}\n\nexport class CreateGroupRequest implements i.CreateGroupRequestInterface {\n group: Group;\n fieldMask: FieldMask;\n hostId: string;\n\n static fromProto(proto: any): CreateGroupRequest {\n let m = new CreateGroupRequest();\n m = Object.assign(m, proto);\n if (proto.group) {m.group = Group.fromProto(proto.group);}\n if (proto.fieldMask) {m.fieldMask = FieldMask.fromProto(proto.fieldMask);}\n return m;\n }\n\n constructor(kwargs?: i.CreateGroupRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.group !== 'undefined' && this.group !== null) {toReturn['group'] = 'toApiJson' in this.group ? (this.group as any).toApiJson() : this.group;}\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? (this.fieldMask as any).toApiJson() : this.fieldMask;}\n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class CreateGroupResponse implements i.CreateGroupResponseInterface {\n id: string;\n\n static fromProto(proto: any): CreateGroupResponse {\n let m = new CreateGroupResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateGroupResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n return toReturn;\n }\n}\n\nexport class CreateMeetingTypeRequest implements i.CreateMeetingTypeRequestInterface {\n meetingType: MeetingType;\n fieldMask: FieldMask;\n hostId: string;\n\n static fromProto(proto: any): CreateMeetingTypeRequest {\n let m = new CreateMeetingTypeRequest();\n m = Object.assign(m, proto);\n if (proto.meetingType) {m.meetingType = MeetingType.fromProto(proto.meetingType);}\n if (proto.fieldMask) {m.fieldMask = FieldMask.fromProto(proto.fieldMask);}\n return m;\n }\n\n constructor(kwargs?: i.CreateMeetingTypeRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingType !== 'undefined' && this.meetingType !== null) {toReturn['meetingType'] = 'toApiJson' in this.meetingType ? (this.meetingType as any).toApiJson() : this.meetingType;}\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? (this.fieldMask as any).toApiJson() : this.fieldMask;}\n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class CreateMeetingTypeResponse implements i.CreateMeetingTypeResponseInterface {\n id: string;\n\n static fromProto(proto: any): CreateMeetingTypeResponse {\n let m = new CreateMeetingTypeResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateMeetingTypeResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n return toReturn;\n }\n}\n\nexport class CreateServiceRequest implements i.CreateServiceRequestInterface {\n service: Service;\n fieldMask: FieldMask;\n hostId: string;\n\n static fromProto(proto: any): CreateServiceRequest {\n let m = new CreateServiceRequest();\n m = Object.assign(m, proto);\n if (proto.service) {m.service = Service.fromProto(proto.service);}\n if (proto.fieldMask) {m.fieldMask = FieldMask.fromProto(proto.fieldMask);}\n return m;\n }\n\n constructor(kwargs?: i.CreateServiceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.service !== 'undefined' && this.service !== null) {toReturn['service'] = 'toApiJson' in this.service ? (this.service as any).toApiJson() : this.service;}\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? (this.fieldMask as any).toApiJson() : this.fieldMask;}\n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class CreateServiceResponse implements i.CreateServiceResponseInterface {\n id: string;\n\n static fromProto(proto: any): CreateServiceResponse {\n let m = new CreateServiceResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.CreateServiceResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n return toReturn;\n }\n}\n\nexport class DeleteAvailabilityRequest implements i.DeleteAvailabilityRequestInterface {\n\n static fromProto(proto: any): DeleteAvailabilityRequest {\n let m = new DeleteAvailabilityRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeleteAvailabilityRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n return toReturn;\n }\n}\n\nexport class DeleteGroupRequest implements i.DeleteGroupRequestInterface {\n id: string;\n hostId: string;\n\n static fromProto(proto: any): DeleteGroupRequest {\n let m = new DeleteGroupRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeleteGroupRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class DeleteMeetingTypeRequest implements i.DeleteMeetingTypeRequestInterface {\n id: string;\n\n static fromProto(proto: any): DeleteMeetingTypeRequest {\n let m = new DeleteMeetingTypeRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeleteMeetingTypeRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n return toReturn;\n }\n}\n\nexport class DeleteServiceRequest implements i.DeleteServiceRequestInterface {\n id: string;\n hostId: string;\n\n static fromProto(proto: any): DeleteServiceRequest {\n let m = new DeleteServiceRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DeleteServiceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class DoesCalendarExistRequest implements i.DoesCalendarExistRequestInterface {\n calendarIdentifier: string;\n\n static fromProto(proto: any): DoesCalendarExistRequest {\n let m = new DoesCalendarExistRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DoesCalendarExistRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarIdentifier !== 'undefined') {toReturn['calendarIdentifier'] = this.calendarIdentifier;}\n return toReturn;\n }\n}\n\nexport class DoesCalendarExistResponse implements i.DoesCalendarExistResponseInterface {\n exists: boolean;\n\n static fromProto(proto: any): DoesCalendarExistResponse {\n let m = new DoesCalendarExistResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.DoesCalendarExistResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.exists !== 'undefined') {toReturn['exists'] = this.exists;}\n return toReturn;\n }\n}\n\nexport class EnsureGroupCalendarsExistRequest implements i.EnsureGroupCalendarsExistRequestInterface {\n externalIds: string[];\n\n static fromProto(proto: any): EnsureGroupCalendarsExistRequest {\n let m = new EnsureGroupCalendarsExistRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.EnsureGroupCalendarsExistRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.externalIds !== 'undefined') {toReturn['externalIds'] = this.externalIds;}\n return toReturn;\n }\n}\n\nexport class EnsureGroupCalendarsExistResponse implements i.EnsureGroupCalendarsExistResponseInterface {\n calendarIds: string[];\n\n static fromProto(proto: any): EnsureGroupCalendarsExistResponse {\n let m = new EnsureGroupCalendarsExistResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.EnsureGroupCalendarsExistResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarIds !== 'undefined') {toReturn['calendarIds'] = this.calendarIds;}\n return toReturn;\n }\n}\n\nexport class EnsurePersonalCalendarExistsRequest implements i.EnsurePersonalCalendarExistsRequestInterface {\n userId: string;\n applicationContextProperties: {[key: string]: string};\n\n static fromProto(proto: any): EnsurePersonalCalendarExistsRequest {\n let m = new EnsurePersonalCalendarExistsRequest();\n m = Object.assign(m, proto);\n if (proto.applicationContextProperties) {m.applicationContextProperties = Object.keys(proto.applicationContextProperties).reduce<any>((obj, k) => { obj[k] = proto.applicationContextProperties[k]; return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.EnsurePersonalCalendarExistsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n if (typeof this.applicationContextProperties !== 'undefined' && this.applicationContextProperties !== null) {toReturn['applicationContextProperties'] = 'toApiJson' in this.applicationContextProperties ? (this.applicationContextProperties as any).toApiJson() : this.applicationContextProperties;}\n return toReturn;\n }\n}\n\nexport class EnsurePersonalCalendarExistsResponse implements i.EnsurePersonalCalendarExistsResponseInterface {\n calendarId: string;\n\n static fromProto(proto: any): EnsurePersonalCalendarExistsResponse {\n let m = new EnsurePersonalCalendarExistsResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.EnsurePersonalCalendarExistsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n return toReturn;\n }\n}\n\nexport class ListBookedMeetingsRequestFilters implements i.ListBookedMeetingsRequestFiltersInterface {\n meetingTypeIds: string[];\n hostId: string;\n timeSpan: DateRange;\n\n static fromProto(proto: any): ListBookedMeetingsRequestFilters {\n let m = new ListBookedMeetingsRequestFilters();\n m = Object.assign(m, proto);\n if (proto.timeSpan) {m.timeSpan = DateRange.fromProto(proto.timeSpan);}\n return m;\n }\n\n constructor(kwargs?: i.ListBookedMeetingsRequestFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingTypeIds !== 'undefined') {toReturn['meetingTypeIds'] = this.meetingTypeIds;}\n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n if (typeof this.timeSpan !== 'undefined' && this.timeSpan !== null) {toReturn['timeSpan'] = 'toApiJson' in this.timeSpan ? (this.timeSpan as any).toApiJson() : this.timeSpan;}\n return toReturn;\n }\n}\n\nexport class ListAvailabilityRequestFilters implements i.ListAvailabilityRequestFiltersInterface {\n hostId: string;\n meetingTypeId: string;\n\n static fromProto(proto: any): ListAvailabilityRequestFilters {\n let m = new ListAvailabilityRequestFilters();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ListAvailabilityRequestFiltersInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n if (typeof this.meetingTypeId !== 'undefined') {toReturn['meetingTypeId'] = this.meetingTypeId;}\n return toReturn;\n }\n}\n\nexport class GetEntityAssociationRequest implements i.GetEntityAssociationRequestInterface {\n entityId: string;\n\n static fromProto(proto: any): GetEntityAssociationRequest {\n let m = new GetEntityAssociationRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetEntityAssociationRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.entityId !== 'undefined') {toReturn['entityId'] = this.entityId;}\n return toReturn;\n }\n}\n\nexport class GetEntityAssociationResponse implements i.GetEntityAssociationResponseInterface {\n groups: string[];\n services: string[];\n\n static fromProto(proto: any): GetEntityAssociationResponse {\n let m = new GetEntityAssociationResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetEntityAssociationResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.groups !== 'undefined') {toReturn['groups'] = this.groups;}\n if (typeof this.services !== 'undefined') {toReturn['services'] = this.services;}\n return toReturn;\n }\n}\n\nexport class GetHostMeetingRequest implements i.GetHostMeetingRequestInterface {\n meetingId: string;\n location: string;\n\n static fromProto(proto: any): GetHostMeetingRequest {\n let m = new GetHostMeetingRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetHostMeetingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingId !== 'undefined') {toReturn['meetingId'] = this.meetingId;}\n if (typeof this.location !== 'undefined') {toReturn['location'] = this.location;}\n return toReturn;\n }\n}\n\nexport class GetHostMeetingResponse implements i.GetHostMeetingResponseInterface {\n meeting: Meeting;\n\n static fromProto(proto: any): GetHostMeetingResponse {\n let m = new GetHostMeetingResponse();\n m = Object.assign(m, proto);\n if (proto.meeting) {m.meeting = Meeting.fromProto(proto.meeting);}\n return m;\n }\n\n constructor(kwargs?: i.GetHostMeetingResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meeting !== 'undefined' && this.meeting !== null) {toReturn['meeting'] = 'toApiJson' in this.meeting ? (this.meeting as any).toApiJson() : this.meeting;}\n return toReturn;\n }\n}\n\nexport class GetHostPreferencesRequest implements i.GetHostPreferencesRequestInterface {\n hostId: string;\n\n static fromProto(proto: any): GetHostPreferencesRequest {\n let m = new GetHostPreferencesRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetHostPreferencesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class GetHostPreferencesResponse implements i.GetHostPreferencesResponseInterface {\n preferences: Preferences;\n\n static fromProto(proto: any): GetHostPreferencesResponse {\n let m = new GetHostPreferencesResponse();\n m = Object.assign(m, proto);\n if (proto.preferences) {m.preferences = Preferences.fromProto(proto.preferences);}\n return m;\n }\n\n constructor(kwargs?: i.GetHostPreferencesResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.preferences !== 'undefined' && this.preferences !== null) {toReturn['preferences'] = 'toApiJson' in this.preferences ? (this.preferences as any).toApiJson() : this.preferences;}\n return toReturn;\n }\n}\n\nexport class GetHostsForCalendarRequest implements i.GetHostsForCalendarRequestInterface {\n calendarId: string;\n timezone: string;\n\n static fromProto(proto: any): GetHostsForCalendarRequest {\n let m = new GetHostsForCalendarRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetHostsForCalendarRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n if (typeof this.timezone !== 'undefined') {toReturn['timezone'] = this.timezone;}\n return toReturn;\n }\n}\n\nexport class GetHostsForCalendarResponse implements i.GetHostsForCalendarResponseInterface {\n hostUsers: HostUser[];\n hostUserAvailabilityRule: {[key: string]: AvailabilityRuleList};\n\n static fromProto(proto: any): GetHostsForCalendarResponse {\n let m = new GetHostsForCalendarResponse();\n m = Object.assign(m, proto);\n if (proto.hostUsers) {m.hostUsers = proto.hostUsers.map(HostUser.fromProto);}\n if (proto.hostUserAvailabilityRule) {m.hostUserAvailabilityRule = Object.keys(proto.hostUserAvailabilityRule).reduce<any>((obj, k) => { obj[k] = AvailabilityRuleList.fromProto(proto.hostUserAvailabilityRule[k]); return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.GetHostsForCalendarResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostUsers !== 'undefined' && this.hostUsers !== null) {toReturn['hostUsers'] = 'toApiJson' in this.hostUsers ? (this.hostUsers as any).toApiJson() : this.hostUsers;}\n if (typeof this.hostUserAvailabilityRule !== 'undefined' && this.hostUserAvailabilityRule !== null) {toReturn['hostUserAvailabilityRule'] = 'toApiJson' in this.hostUserAvailabilityRule ? (this.hostUserAvailabilityRule as any).toApiJson() : this.hostUserAvailabilityRule;}\n return toReturn;\n }\n}\n\nexport class GetMeetingTypesForCalendarsRequest implements i.GetMeetingTypesForCalendarsRequestInterface {\n calendarIds: string[];\n\n static fromProto(proto: any): GetMeetingTypesForCalendarsRequest {\n let m = new GetMeetingTypesForCalendarsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.GetMeetingTypesForCalendarsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarIds !== 'undefined') {toReturn['calendarIds'] = this.calendarIds;}\n return toReturn;\n }\n}\n\nexport class GetMeetingTypesForCalendarsResponse implements i.GetMeetingTypesForCalendarsResponseInterface {\n calendarMeetingTypesMap: {[key: string]: MeetingTypeList};\n\n static fromProto(proto: any): GetMeetingTypesForCalendarsResponse {\n let m = new GetMeetingTypesForCalendarsResponse();\n m = Object.assign(m, proto);\n if (proto.calendarMeetingTypesMap) {m.calendarMeetingTypesMap = Object.keys(proto.calendarMeetingTypesMap).reduce<any>((obj, k) => { obj[k] = MeetingTypeList.fromProto(proto.calendarMeetingTypesMap[k]); return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.GetMeetingTypesForCalendarsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarMeetingTypesMap !== 'undefined' && this.calendarMeetingTypesMap !== null) {toReturn['calendarMeetingTypesMap'] = 'toApiJson' in this.calendarMeetingTypesMap ? (this.calendarMeetingTypesMap as any).toApiJson() : this.calendarMeetingTypesMap;}\n return toReturn;\n }\n}\n\nexport class HostBookMeetingRequest implements i.HostBookMeetingRequestInterface {\n meetingSource: e.MeetingSource;\n calendarId: string;\n meetingTypeId: string;\n timeSlot: DateRange;\n attendees: Contact[];\n topic: string;\n userId: string;\n\n static fromProto(proto: any): HostBookMeetingRequest {\n let m = new HostBookMeetingRequest();\n m = Object.assign(m, proto);\n if (proto.meetingSource) {m.meetingSource = enumStringToValue<e.MeetingSource>(e.MeetingSource, proto.meetingSource);}\n if (proto.timeSlot) {m.timeSlot = DateRange.fromProto(proto.timeSlot);}\n if (proto.attendees) {m.attendees = proto.attendees.map(Contact.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.HostBookMeetingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingSource !== 'undefined') {toReturn['meetingSource'] = this.meetingSource;}\n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n if (typeof this.meetingTypeId !== 'undefined') {toReturn['meetingTypeId'] = this.meetingTypeId;}\n if (typeof this.timeSlot !== 'undefined' && this.timeSlot !== null) {toReturn['timeSlot'] = 'toApiJson' in this.timeSlot ? (this.timeSlot as any).toApiJson() : this.timeSlot;}\n if (typeof this.attendees !== 'undefined' && this.attendees !== null) {toReturn['attendees'] = 'toApiJson' in this.attendees ? (this.attendees as any).toApiJson() : this.attendees;}\n if (typeof this.topic !== 'undefined') {toReturn['topic'] = this.topic;}\n if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n return toReturn;\n }\n}\n\nexport class HostBookMeetingResponse implements i.HostBookMeetingResponseInterface {\n meetingId: string;\n\n static fromProto(proto: any): HostBookMeetingResponse {\n let m = new HostBookMeetingResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.HostBookMeetingResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingId !== 'undefined') {toReturn['meetingId'] = this.meetingId;}\n return toReturn;\n }\n}\n\nexport class HostDetails implements i.HostDetailsInterface {\n hostId: string;\n name: string;\n\n static fromProto(proto: any): HostDetails {\n let m = new HostDetails();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.HostDetailsInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n if (typeof this.name !== 'undefined') {toReturn['name'] = this.name;}\n return toReturn;\n }\n}\n\nexport class HostGetCalendarRequest implements i.HostGetCalendarRequestInterface {\n calendarId: string;\n\n static fromProto(proto: any): HostGetCalendarRequest {\n let m = new HostGetCalendarRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.HostGetCalendarRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n return toReturn;\n }\n}\n\nexport class HostGetCalendarResponse implements i.HostGetCalendarResponseInterface {\n calendar: Calendar;\n\n static fromProto(proto: any): HostGetCalendarResponse {\n let m = new HostGetCalendarResponse();\n m = Object.assign(m, proto);\n if (proto.calendar) {m.calendar = Calendar.fromProto(proto.calendar);}\n return m;\n }\n\n constructor(kwargs?: i.HostGetCalendarResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendar !== 'undefined' && this.calendar !== null) {toReturn['calendar'] = 'toApiJson' in this.calendar ? (this.calendar as any).toApiJson() : this.calendar;}\n return toReturn;\n }\n}\n\nexport class HostGetMeetingTypeRequest implements i.HostGetMeetingTypeRequestInterface {\n calendarSlug: string;\n meetingTypeSlug: string;\n\n static fromProto(proto: any): HostGetMeetingTypeRequest {\n let m = new HostGetMeetingTypeRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.HostGetMeetingTypeRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarSlug !== 'undefined') {toReturn['calendarSlug'] = this.calendarSlug;}\n if (typeof this.meetingTypeSlug !== 'undefined') {toReturn['meetingTypeSlug'] = this.meetingTypeSlug;}\n return toReturn;\n }\n}\n\nexport class HostGetMeetingTypeResponse implements i.HostGetMeetingTypeResponseInterface {\n meetingType: MeetingType;\n\n static fromProto(proto: any): HostGetMeetingTypeResponse {\n let m = new HostGetMeetingTypeResponse();\n m = Object.assign(m, proto);\n if (proto.meetingType) {m.meetingType = MeetingType.fromProto(proto.meetingType);}\n return m;\n }\n\n constructor(kwargs?: i.HostGetMeetingTypeResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingType !== 'undefined' && this.meetingType !== null) {toReturn['meetingType'] = 'toApiJson' in this.meetingType ? (this.meetingType as any).toApiJson() : this.meetingType;}\n return toReturn;\n }\n}\n\nexport class HostListMeetingTypesRequest implements i.HostListMeetingTypesRequestInterface {\n hostId: string;\n\n static fromProto(proto: any): HostListMeetingTypesRequest {\n let m = new HostListMeetingTypesRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.HostListMeetingTypesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class HostListMeetingTypesResponse implements i.HostListMeetingTypesResponseInterface {\n meetingTypes: MeetingType[];\n\n static fromProto(proto: any): HostListMeetingTypesResponse {\n let m = new HostListMeetingTypesResponse();\n m = Object.assign(m, proto);\n if (proto.meetingTypes) {m.meetingTypes = proto.meetingTypes.map(MeetingType.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.HostListMeetingTypesResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingTypes !== 'undefined' && this.meetingTypes !== null) {toReturn['meetingTypes'] = 'toApiJson' in this.meetingTypes ? (this.meetingTypes as any).toApiJson() : this.meetingTypes;}\n return toReturn;\n }\n}\n\nexport class GetHostsForCalendarResponseHostUserAvailabilityRuleEntry implements i.GetHostsForCalendarResponseHostUserAvailabilityRuleEntryInterface {\n key: string;\n value: AvailabilityRuleList;\n\n static fromProto(proto: any): GetHostsForCalendarResponseHostUserAvailabilityRuleEntry {\n let m = new GetHostsForCalendarResponseHostUserAvailabilityRuleEntry();\n m = Object.assign(m, proto);\n if (proto.value) {m.value = AvailabilityRuleList.fromProto(proto.value);}\n return m;\n }\n\n constructor(kwargs?: i.GetHostsForCalendarResponseHostUserAvailabilityRuleEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined' && this.value !== null) {toReturn['value'] = 'toApiJson' in this.value ? (this.value as any).toApiJson() : this.value;}\n return toReturn;\n }\n}\n\nexport class IsCalendarConfiguredRequest implements i.IsCalendarConfiguredRequestInterface {\n applicationContextProperties: {[key: string]: string};\n userId: string;\n\n static fromProto(proto: any): IsCalendarConfiguredRequest {\n let m = new IsCalendarConfiguredRequest();\n m = Object.assign(m, proto);\n if (proto.applicationContextProperties) {m.applicationContextProperties = Object.keys(proto.applicationContextProperties).reduce<any>((obj, k) => { obj[k] = proto.applicationContextProperties[k]; return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.IsCalendarConfiguredRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.applicationContextProperties !== 'undefined' && this.applicationContextProperties !== null) {toReturn['applicationContextProperties'] = 'toApiJson' in this.applicationContextProperties ? (this.applicationContextProperties as any).toApiJson() : this.applicationContextProperties;}\n if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n return toReturn;\n }\n}\n\nexport class IsCalendarConfiguredResponse implements i.IsCalendarConfiguredResponseInterface {\n isConfigured: boolean;\n calendarIds: string[];\n\n static fromProto(proto: any): IsCalendarConfiguredResponse {\n let m = new IsCalendarConfiguredResponse();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.IsCalendarConfiguredResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.isConfigured !== 'undefined') {toReturn['isConfigured'] = this.isConfigured;}\n if (typeof this.calendarIds !== 'undefined') {toReturn['calendarIds'] = this.calendarIds;}\n return toReturn;\n }\n}\n\nexport class IsHostConfiguredRequest implements i.IsHostConfiguredRequestInterface {\n hostId: string;\n\n static fromProto(proto: any): IsHostConfiguredRequest {\n let m = new IsHostConfiguredRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.IsHostConfiguredRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class IsHostConfiguredResponse implements i.IsHostConfiguredResponseInterface {\n isConfigured: boolean;\n onBoardingState: e.OnBoardingState;\n\n static fromProto(proto: any): IsHostConfiguredResponse {\n let m = new IsHostConfiguredResponse();\n m = Object.assign(m, proto);\n if (proto.onBoardingState) {m.onBoardingState = enumStringToValue<e.OnBoardingState>(e.OnBoardingState, proto.onBoardingState);}\n return m;\n }\n\n constructor(kwargs?: i.IsHostConfiguredResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.isConfigured !== 'undefined') {toReturn['isConfigured'] = this.isConfigured;}\n if (typeof this.onBoardingState !== 'undefined') {toReturn['onBoardingState'] = this.onBoardingState;}\n return toReturn;\n }\n}\n\nexport class ListAvailabilityRequest implements i.ListAvailabilityRequestInterface {\n pagingOptions: PagedRequestOptions;\n filters: ListAvailabilityRequestFilters;\n timeZone: TimeZone;\n\n static fromProto(proto: any): ListAvailabilityRequest {\n let m = new ListAvailabilityRequest();\n m = Object.assign(m, proto);\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n if (proto.filters) {m.filters = ListAvailabilityRequestFilters.fromProto(proto.filters);}\n if (proto.timeZone) {m.timeZone = TimeZone.fromProto(proto.timeZone);}\n return m;\n }\n\n constructor(kwargs?: i.ListAvailabilityRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.timeZone !== 'undefined' && this.timeZone !== null) {toReturn['timeZone'] = 'toApiJson' in this.timeZone ? (this.timeZone as any).toApiJson() : this.timeZone;}\n return toReturn;\n }\n}\n\nexport class ListAvailabilityResponse implements i.ListAvailabilityResponseInterface {\n availabilityRules: AvailabilityRule[];\n metadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListAvailabilityResponse {\n let m = new ListAvailabilityResponse();\n m = Object.assign(m, proto);\n if (proto.availabilityRules) {m.availabilityRules = proto.availabilityRules.map(AvailabilityRule.fromProto);}\n if (proto.metadata) {m.metadata = PagedResponseMetadata.fromProto(proto.metadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListAvailabilityResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.availabilityRules !== 'undefined' && this.availabilityRules !== null) {toReturn['availabilityRules'] = 'toApiJson' in this.availabilityRules ? (this.availabilityRules as any).toApiJson() : this.availabilityRules;}\n if (typeof this.metadata !== 'undefined' && this.metadata !== null) {toReturn['metadata'] = 'toApiJson' in this.metadata ? (this.metadata as any).toApiJson() : this.metadata;}\n return toReturn;\n }\n}\n\nexport class ListBookedMeetingsRequest implements i.ListBookedMeetingsRequestInterface {\n filters: ListBookedMeetingsRequestFilters;\n pagingOptions: PagedRequestOptions;\n timeZone: TimeZone;\n\n static fromProto(proto: any): ListBookedMeetingsRequest {\n let m = new ListBookedMeetingsRequest();\n m = Object.assign(m, proto);\n if (proto.filters) {m.filters = ListBookedMeetingsRequestFilters.fromProto(proto.filters);}\n if (proto.pagingOptions) {m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);}\n if (proto.timeZone) {m.timeZone = TimeZone.fromProto(proto.timeZone);}\n return m;\n }\n\n constructor(kwargs?: i.ListBookedMeetingsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.filters !== 'undefined' && this.filters !== null) {toReturn['filters'] = 'toApiJson' in this.filters ? (this.filters as any).toApiJson() : this.filters;}\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? (this.pagingOptions as any).toApiJson() : this.pagingOptions;}\n if (typeof this.timeZone !== 'undefined' && this.timeZone !== null) {toReturn['timeZone'] = 'toApiJson' in this.timeZone ? (this.timeZone as any).toApiJson() : this.timeZone;}\n return toReturn;\n }\n}\n\nexport class ListBookedMeetingsResponse implements i.ListBookedMeetingsResponseInterface {\n meetings: Meeting[];\n pagingMetadata: PagedResponseMetadata;\n\n static fromProto(proto: any): ListBookedMeetingsResponse {\n let m = new ListBookedMeetingsResponse();\n m = Object.assign(m, proto);\n if (proto.meetings) {m.meetings = proto.meetings.map(Meeting.fromProto);}\n if (proto.pagingMetadata) {m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);}\n return m;\n }\n\n constructor(kwargs?: i.ListBookedMeetingsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetings !== 'undefined' && this.meetings !== null) {toReturn['meetings'] = 'toApiJson' in this.meetings ? (this.meetings as any).toApiJson() : this.meetings;}\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? (this.pagingMetadata as any).toApiJson() : this.pagingMetadata;}\n return toReturn;\n }\n}\n\nexport class ListGroupsRequest implements i.ListGroupsRequestInterface {\n hostId: string;\n\n static fromProto(proto: any): ListGroupsRequest {\n let m = new ListGroupsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ListGroupsRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class ListGroupsResponse implements i.ListGroupsResponseInterface {\n groups: Group[];\n\n static fromProto(proto: any): ListGroupsResponse {\n let m = new ListGroupsResponse();\n m = Object.assign(m, proto);\n if (proto.groups) {m.groups = proto.groups.map(Group.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.ListGroupsResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.groups !== 'undefined' && this.groups !== null) {toReturn['groups'] = 'toApiJson' in this.groups ? (this.groups as any).toApiJson() : this.groups;}\n return toReturn;\n }\n}\n\nexport class ListServicesRequest implements i.ListServicesRequestInterface {\n hostId: string;\n\n static fromProto(proto: any): ListServicesRequest {\n let m = new ListServicesRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.ListServicesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class ListServicesResponse implements i.ListServicesResponseInterface {\n services: Service[];\n\n static fromProto(proto: any): ListServicesResponse {\n let m = new ListServicesResponse();\n m = Object.assign(m, proto);\n if (proto.services) {m.services = proto.services.map(Service.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.ListServicesResponseInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.services !== 'undefined' && this.services !== null) {toReturn['services'] = 'toApiJson' in this.services ? (this.services as any).toApiJson() : this.services;}\n return toReturn;\n }\n}\n\nexport class Meeting implements i.MeetingInterface {\n id: string;\n eventTypeId: string;\n hostId: string;\n start: Date;\n end: Date;\n created: Date;\n updated: Date;\n attendees: Attendee[];\n description: string;\n joinMeetingUrl: string;\n topic: string;\n formAnswers: Answers;\n metadata: {[key: string]: string};\n attachments: Attachment[];\n location: string;\n calendarId: string;\n hostDetails: HostDetails[];\n meetingType: e.TeamEventMeetingType;\n\n static fromProto(proto: any): Meeting {\n let m = new Meeting();\n m = Object.assign(m, proto);\n if (proto.start) {m.start = new Date(proto.start);}\n if (proto.end) {m.end = new Date(proto.end);}\n if (proto.created) {m.created = new Date(proto.created);}\n if (proto.updated) {m.updated = new Date(proto.updated);}\n if (proto.attendees) {m.attendees = proto.attendees.map(Attendee.fromProto);}\n if (proto.formAnswers) {m.formAnswers = Answers.fromProto(proto.formAnswers);}\n if (proto.metadata) {m.metadata = Object.keys(proto.metadata).reduce<any>((obj, k) => { obj[k] = proto.metadata[k]; return obj; }, {});}\n if (proto.attachments) {m.attachments = proto.attachments.map(Attachment.fromProto);}\n if (proto.hostDetails) {m.hostDetails = proto.hostDetails.map(HostDetails.fromProto);}\n if (proto.meetingType) {m.meetingType = enumStringToValue<e.TeamEventMeetingType>(e.TeamEventMeetingType, proto.meetingType);}\n return m;\n }\n\n constructor(kwargs?: i.MeetingInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.eventTypeId !== 'undefined') {toReturn['eventTypeId'] = this.eventTypeId;}\n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n if (typeof this.start !== 'undefined' && this.start !== null) {toReturn['start'] = 'toApiJson' in this.start ? (this.start as any).toApiJson() : this.start;}\n if (typeof this.end !== 'undefined' && this.end !== null) {toReturn['end'] = 'toApiJson' in this.end ? (this.end as any).toApiJson() : this.end;}\n if (typeof this.created !== 'undefined' && this.created !== null) {toReturn['created'] = 'toApiJson' in this.created ? (this.created as any).toApiJson() : this.created;}\n if (typeof this.updated !== 'undefined' && this.updated !== null) {toReturn['updated'] = 'toApiJson' in this.updated ? (this.updated as any).toApiJson() : this.updated;}\n if (typeof this.attendees !== 'undefined' && this.attendees !== null) {toReturn['attendees'] = 'toApiJson' in this.attendees ? (this.attendees as any).toApiJson() : this.attendees;}\n if (typeof this.description !== 'undefined') {toReturn['description'] = this.description;}\n if (typeof this.joinMeetingUrl !== 'undefined') {toReturn['joinMeetingUrl'] = this.joinMeetingUrl;}\n if (typeof this.topic !== 'undefined') {toReturn['topic'] = this.topic;}\n if (typeof this.formAnswers !== 'undefined' && this.formAnswers !== null) {toReturn['formAnswers'] = 'toApiJson' in this.formAnswers ? (this.formAnswers as any).toApiJson() : this.formAnswers;}\n if (typeof this.metadata !== 'undefined' && this.metadata !== null) {toReturn['metadata'] = 'toApiJson' in this.metadata ? (this.metadata as any).toApiJson() : this.metadata;}\n if (typeof this.attachments !== 'undefined' && this.attachments !== null) {toReturn['attachments'] = 'toApiJson' in this.attachments ? (this.attachments as any).toApiJson() : this.attachments;}\n if (typeof this.location !== 'undefined') {toReturn['location'] = this.location;}\n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n if (typeof this.hostDetails !== 'undefined' && this.hostDetails !== null) {toReturn['hostDetails'] = 'toApiJson' in this.hostDetails ? (this.hostDetails as any).toApiJson() : this.hostDetails;}\n if (typeof this.meetingType !== 'undefined') {toReturn['meetingType'] = this.meetingType;}\n return toReturn;\n }\n}\n\nexport class MeetingTypeList implements i.MeetingTypeListInterface {\n meetingTypes: MeetingType[];\n\n static fromProto(proto: any): MeetingTypeList {\n let m = new MeetingTypeList();\n m = Object.assign(m, proto);\n if (proto.meetingTypes) {m.meetingTypes = proto.meetingTypes.map(MeetingType.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.MeetingTypeListInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingTypes !== 'undefined' && this.meetingTypes !== null) {toReturn['meetingTypes'] = 'toApiJson' in this.meetingTypes ? (this.meetingTypes as any).toApiJson() : this.meetingTypes;}\n return toReturn;\n }\n}\n\nexport class UpdateMeetingMetadataRequestMetadataEntry implements i.UpdateMeetingMetadataRequestMetadataEntryInterface {\n key: string;\n value: string;\n\n static fromProto(proto: any): UpdateMeetingMetadataRequestMetadataEntry {\n let m = new UpdateMeetingMetadataRequestMetadataEntry();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.UpdateMeetingMetadataRequestMetadataEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\nexport class MeetingMetadataEntry implements i.MeetingMetadataEntryInterface {\n key: string;\n value: string;\n\n static fromProto(proto: any): MeetingMetadataEntry {\n let m = new MeetingMetadataEntry();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.MeetingMetadataEntryInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.key !== 'undefined') {toReturn['key'] = this.key;}\n if (typeof this.value !== 'undefined') {toReturn['value'] = this.value;}\n return toReturn;\n }\n}\n\nexport class RescheduleMeetingRequest implements i.RescheduleMeetingRequestInterface {\n meetingId: string;\n start: Date;\n\n static fromProto(proto: any): RescheduleMeetingRequest {\n let m = new RescheduleMeetingRequest();\n m = Object.assign(m, proto);\n if (proto.start) {m.start = new Date(proto.start);}\n return m;\n }\n\n constructor(kwargs?: i.RescheduleMeetingRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingId !== 'undefined') {toReturn['meetingId'] = this.meetingId;}\n if (typeof this.start !== 'undefined' && this.start !== null) {toReturn['start'] = 'toApiJson' in this.start ? (this.start as any).toApiJson() : this.start;}\n return toReturn;\n }\n}\n\nexport class SendMeetingRequestEmailRequest implements i.SendMeetingRequestEmailRequestInterface {\n contactId: string;\n userId: string;\n meetingTypeId: string;\n\n static fromProto(proto: any): SendMeetingRequestEmailRequest {\n let m = new SendMeetingRequestEmailRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.SendMeetingRequestEmailRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.contactId !== 'undefined') {toReturn['contactId'] = this.contactId;}\n if (typeof this.userId !== 'undefined') {toReturn['userId'] = this.userId;}\n if (typeof this.meetingTypeId !== 'undefined') {toReturn['meetingTypeId'] = this.meetingTypeId;}\n return toReturn;\n }\n}\n\nexport class SetGeneralAvailabilityRequest implements i.SetGeneralAvailabilityRequestInterface {\n hostId: string;\n meetingTypeId: string;\n days: e.DayOfWeek[];\n timeSlot: TimeRange;\n timeZone: TimeZone;\n weekdaysAvailability: WeekdayAvailability[];\n\n static fromProto(proto: any): SetGeneralAvailabilityRequest {\n let m = new SetGeneralAvailabilityRequest();\n m = Object.assign(m, proto);\n if (proto.days) {m.days = proto.days.map((v: string) => enumStringToValue<e.DayOfWeek>(e.DayOfWeek, v));}\n if (proto.timeSlot) {m.timeSlot = TimeRange.fromProto(proto.timeSlot);}\n if (proto.timeZone) {m.timeZone = TimeZone.fromProto(proto.timeZone);}\n if (proto.weekdaysAvailability) {m.weekdaysAvailability = proto.weekdaysAvailability.map(WeekdayAvailability.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.SetGeneralAvailabilityRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n if (typeof this.meetingTypeId !== 'undefined') {toReturn['meetingTypeId'] = this.meetingTypeId;}\n if (typeof this.days !== 'undefined') {toReturn['days'] = this.days;}\n if (typeof this.timeSlot !== 'undefined' && this.timeSlot !== null) {toReturn['timeSlot'] = 'toApiJson' in this.timeSlot ? (this.timeSlot as any).toApiJson() : this.timeSlot;}\n if (typeof this.timeZone !== 'undefined' && this.timeZone !== null) {toReturn['timeZone'] = 'toApiJson' in this.timeZone ? (this.timeZone as any).toApiJson() : this.timeZone;}\n if (typeof this.weekdaysAvailability !== 'undefined' && this.weekdaysAvailability !== null) {toReturn['weekdaysAvailability'] = 'toApiJson' in this.weekdaysAvailability ? (this.weekdaysAvailability as any).toApiJson() : this.weekdaysAvailability;}\n return toReturn;\n }\n}\n\nexport class UpdateAvailabilityRequest implements i.UpdateAvailabilityRequestInterface {\n\n static fromProto(proto: any): UpdateAvailabilityRequest {\n let m = new UpdateAvailabilityRequest();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.UpdateAvailabilityRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n return toReturn;\n }\n}\n\nexport class UpdateCalendarRequest implements i.UpdateCalendarRequestInterface {\n calendarId: string;\n calendarUpdate: Calendar;\n fieldMask: FieldMask;\n\n static fromProto(proto: any): UpdateCalendarRequest {\n let m = new UpdateCalendarRequest();\n m = Object.assign(m, proto);\n if (proto.calendarUpdate) {m.calendarUpdate = Calendar.fromProto(proto.calendarUpdate);}\n if (proto.fieldMask) {m.fieldMask = FieldMask.fromProto(proto.fieldMask);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateCalendarRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.calendarId !== 'undefined') {toReturn['calendarId'] = this.calendarId;}\n if (typeof this.calendarUpdate !== 'undefined' && this.calendarUpdate !== null) {toReturn['calendarUpdate'] = 'toApiJson' in this.calendarUpdate ? (this.calendarUpdate as any).toApiJson() : this.calendarUpdate;}\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? (this.fieldMask as any).toApiJson() : this.fieldMask;}\n return toReturn;\n }\n}\n\nexport class UpdateGroupRequest implements i.UpdateGroupRequestInterface {\n group: Group;\n fieldMask: FieldMask;\n hostId: string;\n id: string;\n\n static fromProto(proto: any): UpdateGroupRequest {\n let m = new UpdateGroupRequest();\n m = Object.assign(m, proto);\n if (proto.group) {m.group = Group.fromProto(proto.group);}\n if (proto.fieldMask) {m.fieldMask = FieldMask.fromProto(proto.fieldMask);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateGroupRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.group !== 'undefined' && this.group !== null) {toReturn['group'] = 'toApiJson' in this.group ? (this.group as any).toApiJson() : this.group;}\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? (this.fieldMask as any).toApiJson() : this.fieldMask;}\n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n return toReturn;\n }\n}\n\nexport class UpdateHostPreferencesRequest implements i.UpdateHostPreferencesRequestInterface {\n hostId: string;\n preferences: Preferences;\n fieldMask: FieldMask;\n\n static fromProto(proto: any): UpdateHostPreferencesRequest {\n let m = new UpdateHostPreferencesRequest();\n m = Object.assign(m, proto);\n if (proto.preferences) {m.preferences = Preferences.fromProto(proto.preferences);}\n if (proto.fieldMask) {m.fieldMask = FieldMask.fromProto(proto.fieldMask);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateHostPreferencesRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n if (typeof this.preferences !== 'undefined' && this.preferences !== null) {toReturn['preferences'] = 'toApiJson' in this.preferences ? (this.preferences as any).toApiJson() : this.preferences;}\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? (this.fieldMask as any).toApiJson() : this.fieldMask;}\n return toReturn;\n }\n}\n\nexport class UpdateMeetingMetadataRequest implements i.UpdateMeetingMetadataRequestInterface {\n meetingId: string;\n metadata: {[key: string]: string};\n\n static fromProto(proto: any): UpdateMeetingMetadataRequest {\n let m = new UpdateMeetingMetadataRequest();\n m = Object.assign(m, proto);\n if (proto.metadata) {m.metadata = Object.keys(proto.metadata).reduce<any>((obj, k) => { obj[k] = proto.metadata[k]; return obj; }, {});}\n return m;\n }\n\n constructor(kwargs?: i.UpdateMeetingMetadataRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.meetingId !== 'undefined') {toReturn['meetingId'] = this.meetingId;}\n if (typeof this.metadata !== 'undefined' && this.metadata !== null) {toReturn['metadata'] = 'toApiJson' in this.metadata ? (this.metadata as any).toApiJson() : this.metadata;}\n return toReturn;\n }\n}\n\nexport class UpdateMeetingTypeRequest implements i.UpdateMeetingTypeRequestInterface {\n id: string;\n meetingType: MeetingType;\n fieldMask: FieldMask;\n hostId: string;\n\n static fromProto(proto: any): UpdateMeetingTypeRequest {\n let m = new UpdateMeetingTypeRequest();\n m = Object.assign(m, proto);\n if (proto.meetingType) {m.meetingType = MeetingType.fromProto(proto.meetingType);}\n if (proto.fieldMask) {m.fieldMask = FieldMask.fromProto(proto.fieldMask);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateMeetingTypeRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.meetingType !== 'undefined' && this.meetingType !== null) {toReturn['meetingType'] = 'toApiJson' in this.meetingType ? (this.meetingType as any).toApiJson() : this.meetingType;}\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? (this.fieldMask as any).toApiJson() : this.fieldMask;}\n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n return toReturn;\n }\n}\n\nexport class UpdateServiceRequest implements i.UpdateServiceRequestInterface {\n service: Service;\n fieldMask: FieldMask;\n hostId: string;\n id: string;\n\n static fromProto(proto: any): UpdateServiceRequest {\n let m = new UpdateServiceRequest();\n m = Object.assign(m, proto);\n if (proto.service) {m.service = Service.fromProto(proto.service);}\n if (proto.fieldMask) {m.fieldMask = FieldMask.fromProto(proto.fieldMask);}\n return m;\n }\n\n constructor(kwargs?: i.UpdateServiceRequestInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.service !== 'undefined' && this.service !== null) {toReturn['service'] = 'toApiJson' in this.service ? (this.service as any).toApiJson() : this.service;}\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? (this.fieldMask as any).toApiJson() : this.fieldMask;}\n if (typeof this.hostId !== 'undefined') {toReturn['hostId'] = this.hostId;}\n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n return toReturn;\n }\n}\n\nexport class WeekdayAvailability implements i.WeekdayAvailabilityInterface {\n day: e.DayOfWeek;\n timeSlots: TimeRange[];\n\n static fromProto(proto: any): WeekdayAvailability {\n let m = new WeekdayAvailability();\n m = Object.assign(m, proto);\n if (proto.day) {m.day = enumStringToValue<e.DayOfWeek>(e.DayOfWeek, proto.day);}\n if (proto.timeSlots) {m.timeSlots = proto.timeSlots.map(TimeRange.fromProto);}\n return m;\n }\n\n constructor(kwargs?: i.WeekdayAvailabilityInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.day !== 'undefined') {toReturn['day'] = this.day;}\n if (typeof this.timeSlots !== 'undefined' && this.timeSlots !== null) {toReturn['timeSlots'] = 'toApiJson' in this.timeSlots ? (this.timeSlots as any).toApiJson() : this.timeSlots;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class TimeOfDay implements i.TimeOfDayInterface {\n hours: number;\n minutes: number;\n seconds: number;\n nanos: number;\n\n static fromProto(proto: any): TimeOfDay {\n let m = new TimeOfDay();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.TimeOfDayInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.hours !== 'undefined') {toReturn['hours'] = this.hours;}\n if (typeof this.minutes !== 'undefined') {toReturn['minutes'] = this.minutes;}\n if (typeof this.seconds !== 'undefined') {toReturn['seconds'] = this.seconds;}\n if (typeof this.nanos !== 'undefined') {toReturn['nanos'] = this.nanos;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects.\n// *********************************\nimport * as i from '../interfaces';\n\nimport * as e from '../enums';\n\nexport function enumStringToValue<E>(enumRef: any, value: string): E {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\n\nexport class DateTime implements i.DateTimeInterface {\n year: number;\n month: number;\n day: number;\n hours: number;\n minutes: number;\n seconds: number;\n nanos: number;\n utcOffset: string;\n timeZone: TimeZone;\n\n static fromProto(proto: any): DateTime {\n let m = new DateTime();\n m = Object.assign(m, proto);\n if (proto.timeZone) {m.timeZone = TimeZone.fromProto(proto.timeZone);}\n return m;\n }\n\n constructor(kwargs?: i.DateTimeInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.year !== 'undefined') {toReturn['year'] = this.year;}\n if (typeof this.month !== 'undefined') {toReturn['month'] = this.month;}\n if (typeof this.day !== 'undefined') {toReturn['day'] = this.day;}\n if (typeof this.hours !== 'undefined') {toReturn['hours'] = this.hours;}\n if (typeof this.minutes !== 'undefined') {toReturn['minutes'] = this.minutes;}\n if (typeof this.seconds !== 'undefined') {toReturn['seconds'] = this.seconds;}\n if (typeof this.nanos !== 'undefined') {toReturn['nanos'] = this.nanos;}\n if (typeof this.utcOffset !== 'undefined') {toReturn['utcOffset'] = this.utcOffset;}\n if (typeof this.timeZone !== 'undefined' && this.timeZone !== null) {toReturn['timeZone'] = 'toApiJson' in this.timeZone ? (this.timeZone as any).toApiJson() : this.timeZone;}\n return toReturn;\n }\n}\n\nexport class TimeZone implements i.TimeZoneInterface {\n id: string;\n version: string;\n\n static fromProto(proto: any): TimeZone {\n let m = new TimeZone();\n m = Object.assign(m, proto);\n return m;\n }\n\n constructor(kwargs?: i.TimeZoneInterface) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n\n toApiJson(): object {\n const toReturn: {\n [key: string]: any;\n } = {};\n \n if (typeof this.id !== 'undefined') {toReturn['id'] = this.id;}\n if (typeof this.version !== 'undefined') {toReturn['version'] = this.version;}\n return toReturn;\n }\n}\n\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects Index.\n// *********************************\nexport {\n MeetingSourceInfo,\n MeetingSourceListRequest,\n MeetingSourceListResponse,\n MeetingSourceQuery,\n} from './meeting-source';\n\nexport {\n CreateZoomMeetingRequest,\n CreateZoomMeetingResponse,\n ZoomMeetingRecurrence,\n ZoomMeetingSettings,\n ZoomMeetingTrackingField,\n ZoomOccurrence,\n} from './zoom';\n\nexport {\n GoogleMeetConferenceData,\n GoogleMeetConferenceRequestStatus,\n GoogleMeetConferenceSolution,\n GoogleMeetConferenceSolutionKey,\n GoogleMeetCreateConferenceRequest,\n GoogleMeetCreateMeetingRequest,\n GoogleMeetCreateMeetingResponse,\n GoogleMeetEntryPoint,\n GoogleMeetListMeetingsRequest,\n GoogleMeetListMeetingsResponse,\n GoogleMeetMeeting,\n GoogleMeetMeetingAttendee,\n GoogleMeetMeetingCreator,\n GoogleMeetMeetingDateTime,\n GoogleMeetMeetingOrganizer,\n GoogleMeetMeetingReminder,\n GoogleMeetMeetingReminders,\n} from './google-meet';\n\nexport {\n Answer,\n Answers,\n CalendarApplicationContextEntry,\n Attachment,\n Attendee,\n Calendar,\n Contact,\n Host,\n HostUser,\n PagedRequestOptions,\n PagedResponseMetadata,\n Preferences,\n TimeRange,\n} from './shared';\n\nexport {\n DateRange,\n} from './date-range';\n\nexport {\n EventTypeDateRange,\n Field,\n Form,\n MeetingType,\n RelativeDateRange,\n} from './meeting-type';\n\nexport {\n EventGroupAndServiceAssociations,\n Group,\n Service,\n} from './groups-and-services';\n\nexport {\n BookMeetingRequest,\n BookMeetingResponse,\n GetCalendarRequest,\n GetCalendarResponse,\n GetGroupRequest,\n GetGroupResponse,\n GetHostRequest,\n GetHostResponse,\n GetMeetingTypeRequest,\n GetMeetingTypeResponse,\n GetServiceRequest,\n GetServiceResponse,\n GuestCancelMeetingRequest,\n GuestGetBookedMeetingRequest,\n GuestGetBookedMeetingResponse,\n GuestIsHostConfiguredRequest,\n GuestIsHostConfiguredResponse,\n GuestRescheduleMeetingRequest,\n IsoDateTimeRange,\n ListAvailableTimeSlotsRequest,\n ListAvailableTimeSlotsResponse,\n ListMeetingTypesRequest,\n ListMeetingTypesResponse,\n BookMeetingRequestMetadataEntry,\n} from './meeting-guest';\n\nexport {\n FieldMask,\n} from './field-mask';\n\nexport {\n EnsurePersonalCalendarExistsRequestApplicationContextPropertiesEntry,\n BuildHostIdRequestApplicationContextPropertiesEntry,\n IsCalendarConfiguredRequestApplicationContextPropertiesEntry,\n AvailabilityRule,\n AvailabilityRuleList,\n BuildHostIdRequest,\n BuildHostIdResponse,\n GetMeetingTypesForCalendarsResponseCalendarMeetingTypesMapEntry,\n CalendarMigrationResponse,\n CancelMeetingRequest,\n CheckGroupOrServiceSlugExistRequest,\n CheckGroupOrServiceSlugExistResponse,\n CreateAvailabilityRequest,\n CreateAvailabilityResponse,\n CreateCalendarRequest,\n CreateCalendarResponse,\n CreateDefaultMeetingTypesRequest,\n CreateGroupRequest,\n CreateGroupResponse,\n CreateMeetingTypeRequest,\n CreateMeetingTypeResponse,\n CreateServiceRequest,\n CreateServiceResponse,\n DeleteAvailabilityRequest,\n DeleteGroupRequest,\n DeleteMeetingTypeRequest,\n DeleteServiceRequest,\n DoesCalendarExistRequest,\n DoesCalendarExistResponse,\n EnsureGroupCalendarsExistRequest,\n EnsureGroupCalendarsExistResponse,\n EnsurePersonalCalendarExistsRequest,\n EnsurePersonalCalendarExistsResponse,\n ListBookedMeetingsRequestFilters,\n ListAvailabilityRequestFilters,\n GetEntityAssociationRequest,\n GetEntityAssociationResponse,\n GetHostMeetingRequest,\n GetHostMeetingResponse,\n GetHostPreferencesRequest,\n GetHostPreferencesResponse,\n GetHostsForCalendarRequest,\n GetHostsForCalendarResponse,\n GetMeetingTypesForCalendarsRequest,\n GetMeetingTypesForCalendarsResponse,\n HostBookMeetingRequest,\n HostBookMeetingResponse,\n HostDetails,\n HostGetCalendarRequest,\n HostGetCalendarResponse,\n HostGetMeetingTypeRequest,\n HostGetMeetingTypeResponse,\n HostListMeetingTypesRequest,\n HostListMeetingTypesResponse,\n GetHostsForCalendarResponseHostUserAvailabilityRuleEntry,\n IsCalendarConfiguredRequest,\n IsCalendarConfiguredResponse,\n IsHostConfiguredRequest,\n IsHostConfiguredResponse,\n ListAvailabilityRequest,\n ListAvailabilityResponse,\n ListBookedMeetingsRequest,\n ListBookedMeetingsResponse,\n ListGroupsRequest,\n ListGroupsResponse,\n ListServicesRequest,\n ListServicesResponse,\n Meeting,\n MeetingTypeList,\n UpdateMeetingMetadataRequestMetadataEntry,\n MeetingMetadataEntry,\n RescheduleMeetingRequest,\n SendMeetingRequestEmailRequest,\n SetGeneralAvailabilityRequest,\n UpdateAvailabilityRequest,\n UpdateCalendarRequest,\n UpdateGroupRequest,\n UpdateHostPreferencesRequest,\n UpdateMeetingMetadataRequest,\n UpdateMeetingTypeRequest,\n UpdateServiceRequest,\n WeekdayAvailability,\n} from './meeting-host';\n\nexport { TimeOfDay, } from './timeofday';\nexport { DateTime, TimeZone, } from './datetime';\n","import { Injectable } from '@angular/core';\n\ndeclare const window: any;\nconst environment: string = (window ? window['environment'] : 'prod') ?? 'prod';\nconst hostMap: { [key: string]: string } = {\n 'local': 'meetings-api.vendasta-local.com',\n 'test': '',\n 'demo': 'meetings-demo.apigateway.co',\n 'prod': 'meetings-prod.apigateway.co',\n 'production': 'meetings-prod.apigateway.co',\n};\n\n@Injectable({providedIn: 'root'})\nexport class HostService {\n get host(): string {\n return hostMap[environment.toLowerCase()];\n }\n\n get hostWithScheme(): string {\n return 'https://' + this.host;\n }\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n MeetingSourceListRequest,\n MeetingSourceListResponse,\n} from './objects/';\nimport {\n MeetingSourceListRequestInterface,\n MeetingSourceListResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {inject} from '@angular/core';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class MeetingSourceAPIApiService {\n private readonly hostService = inject(HostService);\n private readonly http = inject(HttpClient);\n private _host = this.hostService.hostWithScheme;\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n list(r: MeetingSourceListRequest | MeetingSourceListRequestInterface): Observable<MeetingSourceListResponse> {\n const request = ((<MeetingSourceListRequest>r).toApiJson) ? (<MeetingSourceListRequest>r) : new MeetingSourceListRequest(r);\n return this.http.post<MeetingSourceListResponseInterface>(this._host + \"/meetings.v1.MeetingSourceAPI/List\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => MeetingSourceListResponse.fromProto(resp))\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n CreateZoomMeetingRequest,\n CreateZoomMeetingResponse,\n} from './objects/';\nimport {\n CreateZoomMeetingRequestInterface,\n CreateZoomMeetingResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {inject} from '@angular/core';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class ZoomApiService {\n private readonly hostService = inject(HostService);\n private readonly http = inject(HttpClient);\n private _host = this.hostService.hostWithScheme;\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n createMeeting(r: CreateZoomMeetingRequest | CreateZoomMeetingRequestInterface): Observable<CreateZoomMeetingResponse> {\n const request = ((<CreateZoomMeetingRequest>r).toApiJson) ? (<CreateZoomMeetingRequest>r) : new CreateZoomMeetingRequest(r);\n return this.http.post<CreateZoomMeetingResponseInterface>(this._host + \"/meetings.v1.Zoom/CreateMeeting\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CreateZoomMeetingResponse.fromProto(resp))\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n GoogleMeetCreateMeetingRequest,\n GoogleMeetCreateMeetingResponse,\n GoogleMeetListMeetingsRequest,\n GoogleMeetListMeetingsResponse,\n} from './objects/';\nimport {\n GoogleMeetCreateMeetingRequestInterface,\n GoogleMeetCreateMeetingResponseInterface,\n GoogleMeetListMeetingsRequestInterface,\n GoogleMeetListMeetingsResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {inject} from '@angular/core';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class GoogleMeetApiService {\n private readonly hostService = inject(HostService);\n private readonly http = inject(HttpClient);\n private _host = this.hostService.hostWithScheme;\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n createMeeting(r: GoogleMeetCreateMeetingRequest | GoogleMeetCreateMeetingRequestInterface): Observable<GoogleMeetCreateMeetingResponse> {\n const request = ((<GoogleMeetCreateMeetingRequest>r).toApiJson) ? (<GoogleMeetCreateMeetingRequest>r) : new GoogleMeetCreateMeetingRequest(r);\n return this.http.post<GoogleMeetCreateMeetingResponseInterface>(this._host + \"/meetings.v1.GoogleMeet/CreateMeeting\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GoogleMeetCreateMeetingResponse.fromProto(resp))\n );\n }\n listMeetings(r: GoogleMeetListMeetingsRequest | GoogleMeetListMeetingsRequestInterface): Observable<GoogleMeetListMeetingsResponse> {\n const request = ((<GoogleMeetListMeetingsRequest>r).toApiJson) ? (<GoogleMeetListMeetingsRequest>r) : new GoogleMeetListMeetingsRequest(r);\n return this.http.post<GoogleMeetListMeetingsResponseInterface>(this._host + \"/meetings.v1.GoogleMeet/ListMeetings\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GoogleMeetListMeetingsResponse.fromProto(resp))\n );\n }\n \n}\n","import {Injectable} from '@angular/core';\nimport {Observable, throwError} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {MeetingSourceAPIApiService} from './_internal/meeting-source-api.api.service';\nimport {MeetingSourceListResponse, MeetingSourceQuery} from './_internal/objects/meeting-source'\nimport {MeetingSource} from './_internal/enums/meeting-source.enum';\nimport {ZoomMeetingRecurrenceType, ZoomMeetingType} from './_internal/enums/zoom.enum';\nimport {CreateZoomMeetingRequest, CreateZoomMeetingResponse} from './_internal/objects/zoom';\nimport {CreateZoomMeetingRequestInterface, ZoomMeetingRecurrenceInterface} from './_internal/interfaces/zoom.interface';\nimport {GoogleMeetCreateMeetingRequest, GoogleMeetCreateMeetingResponse} from './_internal/objects/google-meet';\nimport {\n GoogleMeetConferenceDataInterface,\n GoogleMeetCreateMeetingRequestInterface,\n GoogleMeetMeetingAttendeeInterface,\n GoogleMeetMeetingDateTimeInterface,\n GoogleMeetMeetingInterface\n} from './_internal/interfaces/google-meet.interface';\nimport {ZoomApiService} from './_internal/zoom.api.service';\nimport {GoogleMeetApiService} from './_internal/google-meet.api.service';\n\nexport interface MeetingsSDK {\n list(meetingSources: MeetingSourceQuery[]): Observable<MeetingSourceListResponse>;\n\n startInstantMeeting(\n meetingTitle: string,\n meetingAgenda: string,\n meetingSource: MeetingSource,\n gMeetAttendees?: GoogleMeetMeetingAttendeeInterface[]\n ): Observable<StartMeetingResponse>;\n}\n\nexport interface StartMeetingResponse {\n url: string;\n joinURL: string;\n password: string;\n}\n\nfunction generateMeetingPassword(): string {\n const zoomMaxLength = 10;\n const zoomAllowedChars =\n 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789@-_*';\n\n try {\n const ints = new Uint8Array(zoomMaxLength);\n crypto.getRandomValues(ints);\n return Array.from(ints)\n .map((v: number) => zoomAllowedChars.charAt(v % zoomAllowedChars.length))\n .join('');\n } catch (e) {\n console.error('User is probably using an unsupported browser. ' +\n 'Falling back to less secure password generation', e);\n return new Array(zoomMaxLength)\n .map(() => Math.floor(Math.random() * zoomAllowedChars.length))\n .join('');\n }\n}\n\n@Injectable({providedIn: 'root'})\nexport class MeetingsService implements MeetingsSDK {\n constructor(\n private readonly _api: MeetingSourceAPIApiService,\n private readonly zoom: ZoomApiService,\n private readonly meet: GoogleMeetApiService\n ) {\n }\n\n /**\n * @deprecated Use listForUser instead. This method will result in the backend grabbing the userID from the user's JWT\n * This will eventually no longer be supported because it breaks our impersonation workflows.\n */\n list(meetingSources: MeetingSourceQuery[], namespace?: string, origin?: string): Observable<MeetingSourceListResponse> {\n return this._api.list({\n queriedSources: meetingSources,\n namespace: namespace,\n origin: origin,\n })\n }\n\n listForUser(iamUserId: string, namespace: string, origin: string, queriedSources: MeetingSourceQuery[]): Observable<MeetingSourceListResponse> {\n return this._api.list({\n iamUserId: iamUserId,\n namespace: namespace,\n origin: origin,\n queriedSources: queriedSources,\n });\n }\n\n startInstantMeeting(\n meetingTitle: string,\n meetingAgenda: string,\n meetingSource: MeetingSource,\n gMeetAttendees?: GoogleMeetMeetingAttendeeInterface[]\n ): Observable<StartMeetingResponse> {\n const now = new Date();\n switch (meetingSource) {\n case MeetingSource.MEETING_SOURCE_INVALID:\n return throwError('Meeting source was not specified');\n case MeetingSource.MEETING_SOURCE_ZOOM:\n const req = createZoomInstantMeetingRequest(meetingTitle, now, meetingAgenda);\n return this.zoom.createMeeting(req).pipe(\n map((resp: CreateZoomMeetingResponse) => (\n <StartMeetingResponse>{url: resp.joinUrl, password: resp.password, joinURL: resp.joinUrl}\n )),\n );\n case MeetingSource.MEETING_SOURCE_GOOGLE_MEET:\n if (!gMeetAttendees) {\n return throwError('Attendees are required to start a Meet Hangout')\n }\n const meetReq = createMeetInstantMeetingRequest(meetingTitle, now, gMeetAttendees);\n return this.meet.createMeeting(meetReq).pipe(\n map((resp: GoogleMeetCreateMeetingResponse) =>\n <StartMeetingResponse>{url: resp.meeting.hangoutLink, joinURL: resp.meeting.hangoutLink}\n ),\n );\n default:\n // eslint-disable-next-line\n return throwError(`Unrecognized meeting source ${meetingSource}`);\n }\n }\n\n createBasicZoomScheduledMeeting(topic: string, agenda: string, startDateTime: string,\n duration: number, timezone: string, meetingPassword: string): Observable<CreateZoomMeetingResponse> {\n const req: CreateZoomMeetingRequest = new CreateZoomMeetingRequest({\n topic: topic,\n type: ZoomMeetingType.ZOOM_MEETING_TYPE_SCHEDULED,\n startTime: startDateTime,\n duration: duration,\n timezone: timezone,\n password: meetingPassword ? meetingPassword : generateMeetingPassword(),\n agenda: agenda,\n settings: {\n joinBeforeHost: true,\n enforceLogin: false\n },\n recurrence: {\n type: ZoomMeetingRecurrenceType.ZOOM_MEETING_RECURRENCE_TYPE_DAILY\n }\n });\n\n return this.zoom.createMeeting(req);\n }\n\n createBasicGoogleMeeting(\n topic: string,\n agenda: string,\n startDateTime: string,\n endDateTime: string,\n timezone: string,\n attendees: GoogleMeetMeetingAttendeeInterface[]\n ): Observable<GoogleMeetCreateMeetingResponse> {\n const req: GoogleMeetCreateMeetingRequest = new GoogleMeetCreateMeetingRequest({\n meeting: {\n attendees: attendees,\n description: agenda,\n start: {\n dateTime: startDateTime,\n timeZone: timezone\n },\n end: {\n dateTime: endDateTime,\n timeZone: timezone\n },\n summary: topic\n }\n });\n\n return this.meet.createMeeting(req);\n }\n\n}\n\nfunction createZoomInstantMeetingRequest(\n meetingTitle: string, now: Date, meetingAgenda: string,\n): CreateZoomMeetingRequest {\n const recurrence: ZoomMeetingRecurrenceInterface = {\n type: ZoomMeetingRecurrenceType.ZOOM_MEETING_RECURRENCE_TYPE_DAILY,\n repeatInterval: 0,\n };\n const req: CreateZoomMeetingRequestInterface = {\n topic: meetingTitle,\n type: ZoomMeetingType.ZOOM_MEETING_TYPE_INSTANT,\n startTime: now.toISOString(),\n duration: undefined, // Only used with scheduled meetings\n timezone: 'UTC',\n password: generateMeetingPassword(),\n agenda: meetingAgenda,\n trackingFields: [],\n recurrence: recurrence,\n settings: undefined, // Only used with recurring meetings\n };\n return new CreateZoomMeetingRequest(req);\n}\n\nfunction createMeetInstantMeetingRequest(\n meetingTitle: string, startDateTime: Date, attendees: GoogleMeetMeetingAttendeeInterface[],\n): GoogleMeetCreateMeetingRequest {\n const start: GoogleMeetMeetingDateTimeInterface = {\n dateTime: startDateTime.toISOString(),\n timeZone: 'UTC'\n }\n const endTime = new Date(startDateTime.setMinutes(startDateTime.getMinutes() + 30));\n const end: GoogleMeetMeetingDateTimeInterface = {\n dateTime: endTime.toISOString(),\n timeZone: 'UTC'\n }\n const conferenceData: GoogleMeetConferenceDataInterface = {\n createRequest: {\n requestId: 'instant-meet-meeting'\n },\n conferenceSolution: {\n key: {\n type: 'eventHangout'\n }\n }\n }\n const meeting: GoogleMeetMeetingInterface = {\n summary: meetingTitle,\n start: start,\n end: end,\n conferenceData: conferenceData,\n attendees: attendees,\n }\n const req: GoogleMeetCreateMeetingRequestInterface = {\n meeting: meeting,\n }\n return new GoogleMeetCreateMeetingRequest(req);\n}\n","import {DateRange} from '../_internal/objects';\n\nexport interface TimeSpan {\n start: Date\n end: Date\n}\n\n\nexport function TimeSpanFromApi(tsAPI: DateRange): TimeSpan {\n return {\n start: tsAPI.start,\n end: tsAPI.end\n }\n}\n","import { Host as ApiHost } from '../_internal/objects';\n\nexport interface Host {\n displayName: string;\n displayProfileUrl: string;\n displayLogoUrl: string;\n}\n\nexport function HostFromApi(hostAPI: ApiHost): Host {\n return {\n displayName: hostAPI.displayName,\n displayProfileUrl: hostAPI.displayProfileUrl,\n displayLogoUrl: hostAPI.displayLogoUrl,\n }\n}\n","// Copied from core\nexport enum Environment {\n LOCAL = 0,\n TEST = 1,\n DEMO = 2,\n PROD = 3,\n}\n\nexport function onProduction(env: Environment | 'prod' | 'demo' | 'local'): boolean {\n return env === Environment.PROD || env === 'prod';\n}\n\nexport function onProductionGlobal(): boolean {\n // environment expected to be set in the app in globals.ts\n // eslint-disable-next-line\n return typeof window !== 'undefined' && (window as unknown as any).environment === 'prod';\n}\n","// A temporary method for building the url for a host, eventTypeId, and metadata\nimport {Environment} from \"../shared/environment\";\n\nexport function getBookingUrlImplementation(\n req: {\n environment: Environment,\n calendarId: string,\n // @deprecated: use meetingTypeSlug instead\n meetingTypeId?: string,\n meetingTypeSlug?: string,\n metadata?: { [name: string]: string },\n calendarSlug?: string,\n }\n): string {\n const domain = getDomainFromEnvironment(req.environment);\n const meetingType = req.meetingTypeSlug || req.meetingTypeId || '30-minutes';\n const calendarSlug = req.calendarSlug || req.calendarId;\n let url = `https://${domain}/book/${calendarSlug}/${meetingType}`;\n if (calendarSlug.startsWith(\"GRP-\")){\n url = `https://${domain}/group/${calendarSlug}/${meetingType}`;\n }\n if (calendarSlug.startsWith(\"SVS-\")){\n url = `https://${domain}/service/${calendarSlug}/${meetingType}`;\n }\n if (!req.metadata) {\n return url;\n }\n return addMetadataToBookingLink({link: url, metadata: req.metadata});\n}\n\nexport function getGeneralBookingUrlImplementation(req: {\n environment: Environment,\n calendarId: string,\n metadata?: { [name: string]: string },\n calendarSlug?: string,\n}): string {\n const url = `https://${getDomainFromEnvironment(req.environment)}/${req.calendarSlug || req.calendarId}`;\n return req.metadata ? addMetadataToBookingLink({link: url, metadata: req.metadata}) : url;\n}\n\nfunction getDomainFromEnvironment(env: Environment | 'prod' | 'demo' | 'local'): string {\n if (env === Environment.PROD) {\n return 'bookmenow.info';\n }\n return 'meetings-demo.apigateway.co';\n}\n\nexport function addMetadataToBookingLink(req: { link: string, metadata: { [key: string]: string } }): string {\n if (!req.metadata) {\n return req.link;\n }\n const m = req.metadata as { [key: string]: string };\n const queryParams = Object.keys(m).reduce((params, key) => {\n if (!params) {\n if (req.link.indexOf('?') >= 0) {\n return `&${key}=${m[key]}`;\n }\n return `?${key}=${m[key]}`;\n }\n return `${params}&${key}=${m[key]}`;\n }, '');\n\n return `${req.link}${queryParams}`;\n}\n","import {\n EventTypeDateRangeInterface,\n FieldInterface,\n FormInterface,\n HostUserInterface,\n MeetingTypeInterface as ApiMeetingType\n} from '../_internal/interfaces';\nimport {addMetadataToBookingLink, getBookingUrlImplementation} from '../host/url';\nimport {FormFieldType, MeetingLocationType, TeamEventMeetingType} from '../_internal/enums';\nimport {Environment} from \"./environment\";\nimport {EventTypeDateRange} from \"../_internal\";\n\nexport interface MeetingType {\n id: string;\n name: string;\n // string formatted as: https://developers.google.com/protocol-buffers/docs/reference/java/com/google/protobuf/Duration\n // use helpers in duration.ts for helpers or pass into moment.\n duration: string;\n calendarId: string;\n description: string;\n hexColor: string;\n // https://vendasta.jira.com/wiki/spaces/BOOKME/pages/227836157/Terminology#Meeting-Type-Slug\n meetingTypeSlug: string;\n\n /**\n * @deprecated use meetingTypeSlug instead\n */\n bookingLink?: string;\n hostUserIds: string[];\n\n // readonly fields. has no impact when updating.\n // This is the full url a person could navigate to for booking. May include metadata query params.\n bookingUrl: string;\n form: MeetingTypeForm,\n availabilityIncrement?: number,\n bufferDurationAfterMeeting?: number,\n bufferDurationBeforeMeeting?: number,\n noticeTime? : number,\n location? : string,\n locationGuidelines? : string,\n emailSubject?: string;\n emailDescription?: string;\n isPinned?: boolean\n CalendarType?: string\n hostUsers: HostUserInterface[];\n teamName?: string\n isVideoLinkDisabled?: boolean\n locationType?: MeetingLocationType\n meetingType?: TeamEventMeetingType\n dateRange?: EventTypeDateRangeInterface;\n\tattendeeCount?: number,\n\tregistrationCutoff?: number,\n\tsessionTitle?: string,\n}\n\nexport type MeetingTypeFormField = Required<FieldInterface>;\nexport type MeetingTypeForm = Required<Omit<FormInterface, 'fields'>> & { fields: MeetingTypeFormField[] };\nexport function MeetingTypeFromApi(req: {\n meetingTypeApi: ApiMeetingType,\n environment: Environment,\n calendarId: string,\n metadata?: { [name: string]: string },\n calendarSlug?: string,\n}): MeetingType {\n let bookingUrl = req?.meetingTypeApi?.bookingUrl || '';\n if (bookingUrl === '') {\n bookingUrl = getBookingUrlImplementation({\n environment: req.environment,\n calendarId: req.calendarId,\n meetingTypeSlug: req.meetingTypeApi.meetingTypeSlug || req.meetingTypeApi.id || '',\n metadata: req.metadata,\n calendarSlug: req.calendarSlug,\n });\n } else {\n bookingUrl = addMetadataToBookingLink({link: bookingUrl, metadata: req.metadata || {}});\n }\n\n const form: MeetingTypeForm = {\n ...(req.meetingTypeApi.form || {fields: []}),\n fields: (req.meetingTypeApi.form && req.meetingTypeApi.form.fields ? req.meetingTypeApi.form.fields : []).map(field => {\n return {\n ...field,\n id: field.id || '',\n label: field.label || '',\n type: field.type || FormFieldType.FORM_FIELD_TYPE_INVALID,\n required: field.required || false,\n }\n })\n };\n return {\n id: req.meetingTypeApi.id || '',\n calendarId: req.meetingTypeApi.calendarId || '',\n name: req.meetingTypeApi.name || '',\n duration: req.meetingTypeApi.duration || '',\n bookingUrl: bookingUrl,\n bookingLink: req.meetingTypeApi.meetingTypeSlug || '',\n meetingTypeSlug: req.meetingTypeApi.meetingTypeSlug || '',\n description: req.meetingTypeApi.description || '',\n hexColor: req.meetingTypeApi.hexColor || '',\n form: form,\n hostUserIds: req.meetingTypeApi.hostUserIds || [],\n availabilityIncrement: req.meetingTypeApi.availabilityIncrement || -1,\n bufferDurationAfterMeeting: req.meetingTypeApi.bufferDurationAfterMeeting || 0,\n bufferDurationBeforeMeeting: req.meetingTypeApi.bufferDurationBeforeMeeting || 0,\n noticeTime: req.meetingTypeApi.noticeTime || 0,\n location: req.meetingTypeApi.location || '',\n locationGuidelines: req.meetingTypeApi.locationGuidelines || '',\n emailSubject: req.meetingTypeApi.emailSubject || '',\n emailDescription: req.meetingTypeApi.emailDescription || '',\n isPinned: req.meetingTypeApi.isPinned || false,\n CalendarType: req.meetingTypeApi.calendarType || '',\n hostUsers: req.meetingTypeApi.hostUsers || [],\n teamName: req.meetingTypeApi.teamName || '',\n isVideoLinkDisabled: req.meetingTypeApi.isVideoLinkDisabled || false,\n locationType: req.meetingTypeApi.locationType || MeetingLocationType.VIDEO,\n meetingType: req.meetingTypeApi.meetingType || TeamEventMeetingType.ROUND_ROBIN,\n dateRange: req.meetingTypeApi.dateRange ||{},\n attendeeCount: req.meetingTypeApi.attendeeCount || 0,\n registrationCutoff: req.meetingTypeApi.registrationCutoff || 0,\n sessionTitle: req.meetingTypeApi.sessionTitle || '',\n\n }\n}\n\n\nexport function MeetingTypeToApi(req: { meetingType: Partial<MeetingType> }): ApiMeetingType {\n const m = req.meetingType;\n if (!m) {\n return {};\n }\n return {\n id: m.id || undefined,\n name: m.name || undefined,\n hexColor: m.hexColor || undefined,\n meetingTypeSlug: m.meetingTypeSlug || m.bookingLink || undefined,\n calendarId: m.calendarId || undefined,\n description: m.description || undefined,\n duration: m.duration ? m.duration : undefined,\n form: m.form || undefined,\n hostUserIds: m.hostUserIds || undefined,\n availabilityIncrement : m.availabilityIncrement || undefined,\n bufferDurationAfterMeeting: m.bufferDurationAfterMeeting || 0,\n noticeTime: m.noticeTime || 0,\n location: m.location || undefined,\n locationGuidelines: m.locationGuidelines || undefined,\n emailSubject: m.emailSubject || undefined,\n emailDescription: m.emailDescription || undefined,\n isPinned:m.isPinned || undefined,\n calendarType: m.CalendarType || undefined,\n hostUsers:m.hostUsers||undefined,\n teamName: m.teamName || undefined,\n isVideoLinkDisabled: m.isVideoLinkDisabled || false,\n locationType: m.locationType || MeetingLocationType.VIDEO,\n bufferDurationBeforeMeeting: m.bufferDurationBeforeMeeting || 0,\n meetingType: m.meetingType || TeamEventMeetingType.ROUND_ROBIN,\n dateRange:m.dateRange||undefined,\n attendeeCount: m.attendeeCount || 0,\n registrationCutoff: m.registrationCutoff || 0,\n sessionTitle: m.sessionTitle || undefined\n };\n}","import {Meeting as ApiMeeting} from '../_internal/objects';\nimport {AnswerInterface, AnswersInterface, AttachmentInterface, HostDetailsInterface} from '../_internal/interfaces';\nimport {FormFieldType, TeamEventMeetingType} from '../_internal/enums';\n\nexport interface Attendee {\n firstName: string;\n lastName: string;\n email: string;\n phoneNumber: string;\n timeZone?: string;\n isPrimary: boolean;\n}\n\nexport type MeetingFormAnswer = Required<AnswerInterface>;\nexport type MeetingForm = Required<Omit<AnswersInterface, 'formAnswers'>> & { formAnswers: MeetingFormAnswer[] };\n\n// These represent well-known metadata keys used for more than just tracking\nexport enum WellKnownMeetingMetadataKeys {\n // This is the business (AG) attached to a meeting. This is attached via sending msm_business as a query param during booking\n BUSINESS = 'msm_business',\n}\n\n// These are part of the standard Meeting Scheduler form.\n// If you are trying to pre-fill these fields use the helper formFieldIdToMetadataParam\nexport enum WellKnownFormFieldIds {\n FIRST_NAME = 'firstName',\n LAST_NAME = 'lastName',\n EMAIL = 'email',\n PHONE_NUMBER = 'phoneNumber',\n COMMENT = 'comment',\n INVITEE_EMAILS = 'inviteeEmail',\n}\n\n// Converts the given id into a metadata key that can be sent on the url.\n// This means the key will be used to pre-fill those form fields.\n// This can also be used on fields that are not metadata to ensure they will come across in metadata.\nexport function meetingSchedulerIdToMetadataKey(id: string): string {\n if (!id) {\n return '';\n }\n return id.startsWith('msm_') || id.startsWith('utm_') ? id : `msm_${id}`;\n}\n\nexport interface MeetingMetadata {\n [key: string]: string;\n}\n\nexport interface Meeting {\n id: string;\n eventTypeId: string;\n hostId: string;\n start: Date;\n end: Date;\n description: string;\n joinMeetingUrl: string;\n attendees: Attendee[];\n created: Date;\n updated: Date;\n topic?: string;\n formAnswers: MeetingForm;\n metadata: MeetingMetadata\n attachments: Required<AttachmentInterface>[],\n location: string,\n calendarId: string;\n hostDetails: HostDetailsInterface[],\n meetingType: TeamEventMeetingType;\n}\n\nexport function meetingFromApi(meetingApi: ApiMeeting): Meeting {\n return {\n id: meetingApi.id,\n eventTypeId: meetingApi.eventTypeId,\n hostId: meetingApi.hostId,\n start: meetingApi.start,\n end: meetingApi.end,\n description: meetingApi.description || '',\n joinMeetingUrl: meetingApi.joinMeetingUrl || '',\n attendees: meetingApi.attendees ? meetingApi.attendees.map(a => ({\n firstName: a.firstName,\n lastName: a.lastName,\n email: a.email,\n phoneNumber: a.phoneNumber,\n timeZone: a.timeZone,\n isPrimary: a.isPrimary || false,\n })) : [],\n created: meetingApi.created,\n updated: meetingApi.updated,\n topic: meetingApi.topic,\n formAnswers: answersFromAPI(meetingApi.formAnswers),\n metadata: meetingApi.metadata || {},\n attachments: (meetingApi.attachments || []).map(a => {\n return {\n fileTitle: a.fileTitle || '',\n fileUrl: a.fileUrl || '',\n fileType: a.fileType || '',\n };\n }),\n location: meetingApi.location || '',\n calendarId: meetingApi.calendarId || '',\n hostDetails: (meetingApi.hostDetails || []).map(h => {\n return {\n hostID: h.hostId || '',\n name: h.name || '',\n }\n }),\n meetingType: meetingApi.meetingType,\n }\n}\n\nexport function answersFromAPI(formAnswers: AnswersInterface): MeetingForm {\n if (!formAnswers) {\n return {formAnswers: []};\n }\n return {\n formAnswers: (formAnswers.formAnswers ? formAnswers.formAnswers : []).map(a => {\n return {\n id: a.id || '',\n label: a.label || '',\n type: a.type || FormFieldType.FORM_FIELD_TYPE_INVALID,\n answer: a.answer || [],\n }\n })\n }\n}\n\nexport function answersToAPI(formAnswers?: MeetingForm): AnswersInterface {\n if (!formAnswers) {\n return {formAnswers: []};\n }\n return {\n formAnswers: (formAnswers.formAnswers || []).map(a => {\n return {\n id: a.id || undefined,\n label: a.label || undefined,\n type: a.type,\n answer: a.answer || undefined,\n }\n })\n }\n}\n","export class PagedResponse<T> {\n results: T[];\n nextCursor: string;\n hasMore: boolean;\n\n constructor(results: T[], nextCursor: string, hasMore: boolean) {\n this.results = results;\n this.nextCursor = nextCursor;\n this.hasMore = hasMore;\n }\n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n BookMeetingRequest,\n BookMeetingResponse,\n GetCalendarRequest,\n GetCalendarResponse,\n GetGroupRequest,\n GetGroupResponse,\n GetHostRequest,\n GetHostResponse,\n GetMeetingTypeRequest,\n GetMeetingTypeResponse,\n GetServiceRequest,\n GetServiceResponse,\n GuestCancelMeetingRequest,\n GuestGetBookedMeetingRequest,\n GuestGetBookedMeetingResponse,\n GuestIsHostConfiguredRequest,\n GuestIsHostConfiguredResponse,\n GuestRescheduleMeetingRequest,\n ListAvailableTimeSlotsRequest,\n ListAvailableTimeSlotsResponse,\n ListMeetingTypesRequest,\n ListMeetingTypesResponse,\n} from './objects/';\nimport {\n BookMeetingRequestInterface,\n BookMeetingResponseInterface,\n GetCalendarRequestInterface,\n GetCalendarResponseInterface,\n GetGroupRequestInterface,\n GetGroupResponseInterface,\n GetHostRequestInterface,\n GetHostResponseInterface,\n GetMeetingTypeRequestInterface,\n GetMeetingTypeResponseInterface,\n GetServiceRequestInterface,\n GetServiceResponseInterface,\n GuestCancelMeetingRequestInterface,\n GuestGetBookedMeetingRequestInterface,\n GuestGetBookedMeetingResponseInterface,\n GuestIsHostConfiguredRequestInterface,\n GuestIsHostConfiguredResponseInterface,\n GuestRescheduleMeetingRequestInterface,\n ListAvailableTimeSlotsRequestInterface,\n ListAvailableTimeSlotsResponseInterface,\n ListMeetingTypesRequestInterface,\n ListMeetingTypesResponseInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {inject} from '@angular/core';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class MeetingGuestApiService {\n private readonly hostService = inject(HostService);\n private readonly http = inject(HttpClient);\n private _host = this.hostService.hostWithScheme;\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n listMeetingTypes(r: ListMeetingTypesRequest | ListMeetingTypesRequestInterface): Observable<ListMeetingTypesResponse> {\n const request = ((<ListMeetingTypesRequest>r).toApiJson) ? (<ListMeetingTypesRequest>r) : new ListMeetingTypesRequest(r);\n return this.http.post<ListMeetingTypesResponseInterface>(this._host + \"/meetings.v1.MeetingGuest/ListMeetingTypes\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListMeetingTypesResponse.fromProto(resp))\n );\n }\n getMeetingType(r: GetMeetingTypeRequest | GetMeetingTypeRequestInterface): Observable<GetMeetingTypeResponse> {\n const request = ((<GetMeetingTypeRequest>r).toApiJson) ? (<GetMeetingTypeRequest>r) : new GetMeetingTypeRequest(r);\n return this.http.post<GetMeetingTypeResponseInterface>(this._host + \"/meetings.v1.MeetingGuest/GetMeetingType\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMeetingTypeResponse.fromProto(resp))\n );\n }\n listAvailableTimeSlots(r: ListAvailableTimeSlotsRequest | ListAvailableTimeSlotsRequestInterface): Observable<ListAvailableTimeSlotsResponse> {\n const request = ((<ListAvailableTimeSlotsRequest>r).toApiJson) ? (<ListAvailableTimeSlotsRequest>r) : new ListAvailableTimeSlotsRequest(r);\n return this.http.post<ListAvailableTimeSlotsResponseInterface>(this._host + \"/meetings.v1.MeetingGuest/ListAvailableTimeSlots\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListAvailableTimeSlotsResponse.fromProto(resp))\n );\n }\n bookMeeting(r: BookMeetingRequest | BookMeetingRequestInterface): Observable<BookMeetingResponse> {\n const request = ((<BookMeetingRequest>r).toApiJson) ? (<BookMeetingRequest>r) : new BookMeetingRequest(r);\n return this.http.post<BookMeetingResponseInterface>(this._host + \"/meetings.v1.MeetingGuest/BookMeeting\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => BookMeetingResponse.fromProto(resp))\n );\n }\n cancelMeeting(r: GuestCancelMeetingRequest | GuestCancelMeetingRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<GuestCancelMeetingRequest>r).toApiJson) ? (<GuestCancelMeetingRequest>r) : new GuestCancelMeetingRequest(r);\n return this.http.post<null>(this._host + \"/meetings.v1.MeetingGuest/CancelMeeting\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n rescheduleMeeting(r: GuestRescheduleMeetingRequest | GuestRescheduleMeetingRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<GuestRescheduleMeetingRequest>r).toApiJson) ? (<GuestRescheduleMeetingRequest>r) : new GuestRescheduleMeetingRequest(r);\n return this.http.post<null>(this._host + \"/meetings.v1.MeetingGuest/RescheduleMeeting\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getGuestBookedMeeting(r: GuestGetBookedMeetingRequest | GuestGetBookedMeetingRequestInterface): Observable<GuestGetBookedMeetingResponse> {\n const request = ((<GuestGetBookedMeetingRequest>r).toApiJson) ? (<GuestGetBookedMeetingRequest>r) : new GuestGetBookedMeetingRequest(r);\n return this.http.post<GuestGetBookedMeetingResponseInterface>(this._host + \"/meetings.v1.MeetingGuest/GetGuestBookedMeeting\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GuestGetBookedMeetingResponse.fromProto(resp))\n );\n }\n getCalendar(r: GetCalendarRequest | GetCalendarRequestInterface): Observable<GetCalendarResponse> {\n const request = ((<GetCalendarRequest>r).toApiJson) ? (<GetCalendarRequest>r) : new GetCalendarRequest(r);\n return this.http.post<GetCalendarResponseInterface>(this._host + \"/meetings.v1.MeetingGuest/GetCalendar\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetCalendarResponse.fromProto(resp))\n );\n }\n getHost(r: GetHostRequest | GetHostRequestInterface): Observable<GetHostResponse> {\n const request = ((<GetHostRequest>r).toApiJson) ? (<GetHostRequest>r) : new GetHostRequest(r);\n return this.http.post<GetHostResponseInterface>(this._host + \"/meetings.v1.MeetingGuest/GetHost\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetHostResponse.fromProto(resp))\n );\n }\n getGroup(r: GetGroupRequest | GetGroupRequestInterface): Observable<GetGroupResponse> {\n const request = ((<GetGroupRequest>r).toApiJson) ? (<GetGroupRequest>r) : new GetGroupRequest(r);\n return this.http.post<GetGroupResponseInterface>(this._host + \"/meetings.v1.MeetingGuest/GetGroup\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetGroupResponse.fromProto(resp))\n );\n }\n isHostConfigured(r: GuestIsHostConfiguredRequest | GuestIsHostConfiguredRequestInterface): Observable<GuestIsHostConfiguredResponse> {\n const request = ((<GuestIsHostConfiguredRequest>r).toApiJson) ? (<GuestIsHostConfiguredRequest>r) : new GuestIsHostConfiguredRequest(r);\n return this.http.post<GuestIsHostConfiguredResponseInterface>(this._host + \"/meetings.v1.MeetingGuest/IsHostConfigured\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GuestIsHostConfiguredResponse.fromProto(resp))\n );\n }\n getService(r: GetServiceRequest | GetServiceRequestInterface): Observable<GetServiceResponse> {\n const request = ((<GetServiceRequest>r).toApiJson) ? (<GetServiceRequest>r) : new GetServiceRequest(r);\n return this.http.post<GetServiceResponseInterface>(this._host + \"/meetings.v1.MeetingGuest/GetService\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetServiceResponse.fromProto(resp))\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nimport {Injectable} from '@angular/core';\nimport {\n BookMeetingRequest,\n BookMeetingResponse,\n BuildHostIdRequest,\n BuildHostIdResponse,\n CalendarMigrationResponse,\n CancelMeetingRequest,\n CheckGroupOrServiceSlugExistRequest,\n CheckGroupOrServiceSlugExistResponse,\n CreateAvailabilityRequest,\n CreateAvailabilityResponse,\n CreateCalendarRequest,\n CreateCalendarResponse,\n CreateDefaultMeetingTypesRequest,\n CreateGroupRequest,\n CreateGroupResponse,\n CreateMeetingTypeRequest,\n CreateMeetingTypeResponse,\n CreateServiceRequest,\n CreateServiceResponse,\n DeleteAvailabilityRequest,\n DeleteGroupRequest,\n DeleteMeetingTypeRequest,\n DeleteServiceRequest,\n DoesCalendarExistRequest,\n DoesCalendarExistResponse,\n EnsureGroupCalendarsExistRequest,\n EnsureGroupCalendarsExistResponse,\n EnsurePersonalCalendarExistsRequest,\n EnsurePersonalCalendarExistsResponse,\n GetEntityAssociationRequest,\n GetEntityAssociationResponse,\n GetGroupRequest,\n GetGroupResponse,\n GetHostMeetingRequest,\n GetHostMeetingResponse,\n GetHostPreferencesRequest,\n GetHostPreferencesResponse,\n GetHostsForCalendarRequest,\n GetHostsForCalendarResponse,\n GetMeetingTypesForCalendarsRequest,\n GetMeetingTypesForCalendarsResponse,\n GetServiceRequest,\n GetServiceResponse,\n HostBookMeetingRequest,\n HostBookMeetingResponse,\n HostGetCalendarRequest,\n HostGetCalendarResponse,\n HostGetMeetingTypeRequest,\n HostGetMeetingTypeResponse,\n HostListMeetingTypesRequest,\n HostListMeetingTypesResponse,\n IsCalendarConfiguredRequest,\n IsCalendarConfiguredResponse,\n IsHostConfiguredRequest,\n IsHostConfiguredResponse,\n ListAvailabilityRequest,\n ListAvailabilityResponse,\n ListBookedMeetingsRequest,\n ListBookedMeetingsResponse,\n ListGroupsRequest,\n ListGroupsResponse,\n ListServicesRequest,\n ListServicesResponse,\n RescheduleMeetingRequest,\n SendMeetingRequestEmailRequest,\n SetGeneralAvailabilityRequest,\n UpdateAvailabilityRequest,\n UpdateCalendarRequest,\n UpdateGroupRequest,\n UpdateHostPreferencesRequest,\n UpdateMeetingMetadataRequest,\n UpdateMeetingTypeRequest,\n UpdateServiceRequest,\n} from './objects/';\nimport {\n BookMeetingRequestInterface,\n BookMeetingResponseInterface,\n BuildHostIdRequestInterface,\n BuildHostIdResponseInterface,\n CalendarMigrationResponseInterface,\n CancelMeetingRequestInterface,\n CheckGroupOrServiceSlugExistRequestInterface,\n CheckGroupOrServiceSlugExistResponseInterface,\n CreateAvailabilityRequestInterface,\n CreateAvailabilityResponseInterface,\n CreateCalendarRequestInterface,\n CreateCalendarResponseInterface,\n CreateDefaultMeetingTypesRequestInterface,\n CreateGroupRequestInterface,\n CreateGroupResponseInterface,\n CreateMeetingTypeRequestInterface,\n CreateMeetingTypeResponseInterface,\n CreateServiceRequestInterface,\n CreateServiceResponseInterface,\n DeleteAvailabilityRequestInterface,\n DeleteGroupRequestInterface,\n DeleteMeetingTypeRequestInterface,\n DeleteServiceRequestInterface,\n DoesCalendarExistRequestInterface,\n DoesCalendarExistResponseInterface,\n EnsureGroupCalendarsExistRequestInterface,\n EnsureGroupCalendarsExistResponseInterface,\n EnsurePersonalCalendarExistsRequestInterface,\n EnsurePersonalCalendarExistsResponseInterface,\n GetEntityAssociationRequestInterface,\n GetEntityAssociationResponseInterface,\n GetGroupRequestInterface,\n GetGroupResponseInterface,\n GetHostMeetingRequestInterface,\n GetHostMeetingResponseInterface,\n GetHostPreferencesRequestInterface,\n GetHostPreferencesResponseInterface,\n GetHostsForCalendarRequestInterface,\n GetHostsForCalendarResponseInterface,\n GetMeetingTypesForCalendarsRequestInterface,\n GetMeetingTypesForCalendarsResponseInterface,\n GetServiceRequestInterface,\n GetServiceResponseInterface,\n HostBookMeetingRequestInterface,\n HostBookMeetingResponseInterface,\n HostGetCalendarRequestInterface,\n HostGetCalendarResponseInterface,\n HostGetMeetingTypeRequestInterface,\n HostGetMeetingTypeResponseInterface,\n HostListMeetingTypesRequestInterface,\n HostListMeetingTypesResponseInterface,\n IsCalendarConfiguredRequestInterface,\n IsCalendarConfiguredResponseInterface,\n IsHostConfiguredRequestInterface,\n IsHostConfiguredResponseInterface,\n ListAvailabilityRequestInterface,\n ListAvailabilityResponseInterface,\n ListBookedMeetingsRequestInterface,\n ListBookedMeetingsResponseInterface,\n ListGroupsRequestInterface,\n ListGroupsResponseInterface,\n ListServicesRequestInterface,\n ListServicesResponseInterface,\n RescheduleMeetingRequestInterface,\n SendMeetingRequestEmailRequestInterface,\n SetGeneralAvailabilityRequestInterface,\n UpdateAvailabilityRequestInterface,\n UpdateCalendarRequestInterface,\n UpdateGroupRequestInterface,\n UpdateHostPreferencesRequestInterface,\n UpdateMeetingMetadataRequestInterface,\n UpdateMeetingTypeRequestInterface,\n UpdateServiceRequestInterface,\n} from './interfaces/';\nimport {HttpHeaders, HttpClient, HttpResponse} from '@angular/common/http';\nimport {inject} from '@angular/core';\nimport {HostService} from '../_generated/host.service';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class MeetingHostApiService {\n private readonly hostService = inject(HostService);\n private readonly http = inject(HttpClient);\n private _host = this.hostService.hostWithScheme;\n\n private apiOptions(): {headers: HttpHeaders, withCredentials: boolean} {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n\n buildHostId(r: BuildHostIdRequest | BuildHostIdRequestInterface): Observable<BuildHostIdResponse> {\n const request = ((<BuildHostIdRequest>r).toApiJson) ? (<BuildHostIdRequest>r) : new BuildHostIdRequest(r);\n return this.http.post<BuildHostIdResponseInterface>(this._host + \"/meetings.v1.MeetingHost/BuildHostId\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => BuildHostIdResponse.fromProto(resp))\n );\n }\n doesCalendarExist(r: DoesCalendarExistRequest | DoesCalendarExistRequestInterface): Observable<DoesCalendarExistResponse> {\n const request = ((<DoesCalendarExistRequest>r).toApiJson) ? (<DoesCalendarExistRequest>r) : new DoesCalendarExistRequest(r);\n return this.http.post<DoesCalendarExistResponseInterface>(this._host + \"/meetings.v1.MeetingHost/DoesCalendarExist\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => DoesCalendarExistResponse.fromProto(resp))\n );\n }\n createCalendar(r: CreateCalendarRequest | CreateCalendarRequestInterface): Observable<CreateCalendarResponse> {\n const request = ((<CreateCalendarRequest>r).toApiJson) ? (<CreateCalendarRequest>r) : new CreateCalendarRequest(r);\n return this.http.post<CreateCalendarResponseInterface>(this._host + \"/meetings.v1.MeetingHost/CreateCalendar\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CreateCalendarResponse.fromProto(resp))\n );\n }\n updateCalendar(r: UpdateCalendarRequest | UpdateCalendarRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdateCalendarRequest>r).toApiJson) ? (<UpdateCalendarRequest>r) : new UpdateCalendarRequest(r);\n return this.http.post<null>(this._host + \"/meetings.v1.MeetingHost/UpdateCalendar\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getCalendar(r: HostGetCalendarRequest | HostGetCalendarRequestInterface): Observable<HostGetCalendarResponse> {\n const request = ((<HostGetCalendarRequest>r).toApiJson) ? (<HostGetCalendarRequest>r) : new HostGetCalendarRequest(r);\n return this.http.post<HostGetCalendarResponseInterface>(this._host + \"/meetings.v1.MeetingHost/GetCalendar\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => HostGetCalendarResponse.fromProto(resp))\n );\n }\n ensurePersonalCalendarExists(r: EnsurePersonalCalendarExistsRequest | EnsurePersonalCalendarExistsRequestInterface): Observable<EnsurePersonalCalendarExistsResponse> {\n const request = ((<EnsurePersonalCalendarExistsRequest>r).toApiJson) ? (<EnsurePersonalCalendarExistsRequest>r) : new EnsurePersonalCalendarExistsRequest(r);\n return this.http.post<EnsurePersonalCalendarExistsResponseInterface>(this._host + \"/meetings.v1.MeetingHost/EnsurePersonalCalendarExists\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => EnsurePersonalCalendarExistsResponse.fromProto(resp))\n );\n }\n ensureGroupCalendarsExist(r: EnsureGroupCalendarsExistRequest | EnsureGroupCalendarsExistRequestInterface): Observable<EnsureGroupCalendarsExistResponse> {\n const request = ((<EnsureGroupCalendarsExistRequest>r).toApiJson) ? (<EnsureGroupCalendarsExistRequest>r) : new EnsureGroupCalendarsExistRequest(r);\n return this.http.post<EnsureGroupCalendarsExistResponseInterface>(this._host + \"/meetings.v1.MeetingHost/EnsureGroupCalendarsExist\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => EnsureGroupCalendarsExistResponse.fromProto(resp))\n );\n }\n getHostsForCalendar(r: GetHostsForCalendarRequest | GetHostsForCalendarRequestInterface): Observable<GetHostsForCalendarResponse> {\n const request = ((<GetHostsForCalendarRequest>r).toApiJson) ? (<GetHostsForCalendarRequest>r) : new GetHostsForCalendarRequest(r);\n return this.http.post<GetHostsForCalendarResponseInterface>(this._host + \"/meetings.v1.MeetingHost/GetHostsForCalendar\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetHostsForCalendarResponse.fromProto(resp))\n );\n }\n getMeetingTypesForCalendars(r: GetMeetingTypesForCalendarsRequest | GetMeetingTypesForCalendarsRequestInterface): Observable<GetMeetingTypesForCalendarsResponse> {\n const request = ((<GetMeetingTypesForCalendarsRequest>r).toApiJson) ? (<GetMeetingTypesForCalendarsRequest>r) : new GetMeetingTypesForCalendarsRequest(r);\n return this.http.post<GetMeetingTypesForCalendarsResponseInterface>(this._host + \"/meetings.v1.MeetingHost/GetMeetingTypesForCalendars\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetMeetingTypesForCalendarsResponse.fromProto(resp))\n );\n }\n listAvailability(r: ListAvailabilityRequest | ListAvailabilityRequestInterface): Observable<ListAvailabilityResponse> {\n const request = ((<ListAvailabilityRequest>r).toApiJson) ? (<ListAvailabilityRequest>r) : new ListAvailabilityRequest(r);\n return this.http.post<ListAvailabilityResponseInterface>(this._host + \"/meetings.v1.MeetingHost/ListAvailability\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListAvailabilityResponse.fromProto(resp))\n );\n }\n bookMeeting(r: HostBookMeetingRequest | HostBookMeetingRequestInterface): Observable<HostBookMeetingResponse> {\n const request = ((<HostBookMeetingRequest>r).toApiJson) ? (<HostBookMeetingRequest>r) : new HostBookMeetingRequest(r);\n return this.http.post<HostBookMeetingResponseInterface>(this._host + \"/meetings.v1.MeetingHost/BookMeeting\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => HostBookMeetingResponse.fromProto(resp))\n );\n }\n getHostMeeting(r: GetHostMeetingRequest | GetHostMeetingRequestInterface): Observable<GetHostMeetingResponse> {\n const request = ((<GetHostMeetingRequest>r).toApiJson) ? (<GetHostMeetingRequest>r) : new GetHostMeetingRequest(r);\n return this.http.post<GetHostMeetingResponseInterface>(this._host + \"/meetings.v1.MeetingHost/GetHostMeeting\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetHostMeetingResponse.fromProto(resp))\n );\n }\n listBookedMeetings(r: ListBookedMeetingsRequest | ListBookedMeetingsRequestInterface): Observable<ListBookedMeetingsResponse> {\n const request = ((<ListBookedMeetingsRequest>r).toApiJson) ? (<ListBookedMeetingsRequest>r) : new ListBookedMeetingsRequest(r);\n return this.http.post<ListBookedMeetingsResponseInterface>(this._host + \"/meetings.v1.MeetingHost/ListBookedMeetings\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListBookedMeetingsResponse.fromProto(resp))\n );\n }\n cancelMeeting(r: CancelMeetingRequest | CancelMeetingRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<CancelMeetingRequest>r).toApiJson) ? (<CancelMeetingRequest>r) : new CancelMeetingRequest(r);\n return this.http.post<null>(this._host + \"/meetings.v1.MeetingHost/CancelMeeting\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n rescheduleMeeting(r: RescheduleMeetingRequest | RescheduleMeetingRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<RescheduleMeetingRequest>r).toApiJson) ? (<RescheduleMeetingRequest>r) : new RescheduleMeetingRequest(r);\n return this.http.post<null>(this._host + \"/meetings.v1.MeetingHost/RescheduleMeeting\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n updateMeetingMetadata(r: UpdateMeetingMetadataRequest | UpdateMeetingMetadataRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdateMeetingMetadataRequest>r).toApiJson) ? (<UpdateMeetingMetadataRequest>r) : new UpdateMeetingMetadataRequest(r);\n return this.http.post<null>(this._host + \"/meetings.v1.MeetingHost/UpdateMeetingMetadata\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n setGeneralAvailability(r: SetGeneralAvailabilityRequest | SetGeneralAvailabilityRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<SetGeneralAvailabilityRequest>r).toApiJson) ? (<SetGeneralAvailabilityRequest>r) : new SetGeneralAvailabilityRequest(r);\n return this.http.post<null>(this._host + \"/meetings.v1.MeetingHost/SetGeneralAvailability\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n createAvailability(r: CreateAvailabilityRequest | CreateAvailabilityRequestInterface): Observable<CreateAvailabilityResponse> {\n const request = ((<CreateAvailabilityRequest>r).toApiJson) ? (<CreateAvailabilityRequest>r) : new CreateAvailabilityRequest(r);\n return this.http.post<CreateAvailabilityResponseInterface>(this._host + \"/meetings.v1.MeetingHost/CreateAvailability\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CreateAvailabilityResponse.fromProto(resp))\n );\n }\n updateAvailability(r: UpdateAvailabilityRequest | UpdateAvailabilityRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdateAvailabilityRequest>r).toApiJson) ? (<UpdateAvailabilityRequest>r) : new UpdateAvailabilityRequest(r);\n return this.http.post<null>(this._host + \"/meetings.v1.MeetingHost/UpdateAvailability\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n deleteAvailability(r: DeleteAvailabilityRequest | DeleteAvailabilityRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeleteAvailabilityRequest>r).toApiJson) ? (<DeleteAvailabilityRequest>r) : new DeleteAvailabilityRequest(r);\n return this.http.post<null>(this._host + \"/meetings.v1.MeetingHost/DeleteAvailability\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n isHostConfigured(r: IsHostConfiguredRequest | IsHostConfiguredRequestInterface): Observable<IsHostConfiguredResponse> {\n const request = ((<IsHostConfiguredRequest>r).toApiJson) ? (<IsHostConfiguredRequest>r) : new IsHostConfiguredRequest(r);\n return this.http.post<IsHostConfiguredResponseInterface>(this._host + \"/meetings.v1.MeetingHost/IsHostConfigured\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => IsHostConfiguredResponse.fromProto(resp))\n );\n }\n getHostPreferences(r: GetHostPreferencesRequest | GetHostPreferencesRequestInterface): Observable<GetHostPreferencesResponse> {\n const request = ((<GetHostPreferencesRequest>r).toApiJson) ? (<GetHostPreferencesRequest>r) : new GetHostPreferencesRequest(r);\n return this.http.post<GetHostPreferencesResponseInterface>(this._host + \"/meetings.v1.MeetingHost/GetHostPreferences\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetHostPreferencesResponse.fromProto(resp))\n );\n }\n updateHostPreferences(r: UpdateHostPreferencesRequest | UpdateHostPreferencesRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdateHostPreferencesRequest>r).toApiJson) ? (<UpdateHostPreferencesRequest>r) : new UpdateHostPreferencesRequest(r);\n return this.http.post<null>(this._host + \"/meetings.v1.MeetingHost/UpdateHostPreferences\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n getMeetingType(r: HostGetMeetingTypeRequest | HostGetMeetingTypeRequestInterface): Observable<HostGetMeetingTypeResponse> {\n const request = ((<HostGetMeetingTypeRequest>r).toApiJson) ? (<HostGetMeetingTypeRequest>r) : new HostGetMeetingTypeRequest(r);\n return this.http.post<HostGetMeetingTypeResponseInterface>(this._host + \"/meetings.v1.MeetingHost/GetMeetingType\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => HostGetMeetingTypeResponse.fromProto(resp))\n );\n }\n listMeetingTypes(r: HostListMeetingTypesRequest | HostListMeetingTypesRequestInterface): Observable<HostListMeetingTypesResponse> {\n const request = ((<HostListMeetingTypesRequest>r).toApiJson) ? (<HostListMeetingTypesRequest>r) : new HostListMeetingTypesRequest(r);\n return this.http.post<HostListMeetingTypesResponseInterface>(this._host + \"/meetings.v1.MeetingHost/ListMeetingTypes\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => HostListMeetingTypesResponse.fromProto(resp))\n );\n }\n createMeetingType(r: CreateMeetingTypeRequest | CreateMeetingTypeRequestInterface): Observable<CreateMeetingTypeResponse> {\n const request = ((<CreateMeetingTypeRequest>r).toApiJson) ? (<CreateMeetingTypeRequest>r) : new CreateMeetingTypeRequest(r);\n return this.http.post<CreateMeetingTypeResponseInterface>(this._host + \"/meetings.v1.MeetingHost/CreateMeetingType\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CreateMeetingTypeResponse.fromProto(resp))\n );\n }\n updateMeetingType(r: UpdateMeetingTypeRequest | UpdateMeetingTypeRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdateMeetingTypeRequest>r).toApiJson) ? (<UpdateMeetingTypeRequest>r) : new UpdateMeetingTypeRequest(r);\n return this.http.post<null>(this._host + \"/meetings.v1.MeetingHost/UpdateMeetingType\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n deleteMeetingType(r: DeleteMeetingTypeRequest | DeleteMeetingTypeRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeleteMeetingTypeRequest>r).toApiJson) ? (<DeleteMeetingTypeRequest>r) : new DeleteMeetingTypeRequest(r);\n return this.http.post<null>(this._host + \"/meetings.v1.MeetingHost/DeleteMeetingType\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n createDefaultMeetingTypes(r: CreateDefaultMeetingTypesRequest | CreateDefaultMeetingTypesRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<CreateDefaultMeetingTypesRequest>r).toApiJson) ? (<CreateDefaultMeetingTypesRequest>r) : new CreateDefaultMeetingTypesRequest(r);\n return this.http.post<null>(this._host + \"/meetings.v1.MeetingHost/CreateDefaultMeetingTypes\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n sendMeetingRequestEmail(r: SendMeetingRequestEmailRequest | SendMeetingRequestEmailRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<SendMeetingRequestEmailRequest>r).toApiJson) ? (<SendMeetingRequestEmailRequest>r) : new SendMeetingRequestEmailRequest(r);\n return this.http.post<null>(this._host + \"/meetings.v1.MeetingHost/SendMeetingRequestEmail\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n isCalendarConfigured(r: IsCalendarConfiguredRequest | IsCalendarConfiguredRequestInterface): Observable<IsCalendarConfiguredResponse> {\n const request = ((<IsCalendarConfiguredRequest>r).toApiJson) ? (<IsCalendarConfiguredRequest>r) : new IsCalendarConfiguredRequest(r);\n return this.http.post<IsCalendarConfiguredResponseInterface>(this._host + \"/meetings.v1.MeetingHost/IsCalendarConfigured\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => IsCalendarConfiguredResponse.fromProto(resp))\n );\n }\n createGroup(r: CreateGroupRequest | CreateGroupRequestInterface): Observable<CreateGroupResponse> {\n const request = ((<CreateGroupRequest>r).toApiJson) ? (<CreateGroupRequest>r) : new CreateGroupRequest(r);\n return this.http.post<CreateGroupResponseInterface>(this._host + \"/meetings.v1.MeetingHost/CreateGroup\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CreateGroupResponse.fromProto(resp))\n );\n }\n updateGroup(r: UpdateGroupRequest | UpdateGroupRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdateGroupRequest>r).toApiJson) ? (<UpdateGroupRequest>r) : new UpdateGroupRequest(r);\n return this.http.post<null>(this._host + \"/meetings.v1.MeetingHost/UpdateGroup\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n deleteGroup(r: DeleteGroupRequest | DeleteGroupRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeleteGroupRequest>r).toApiJson) ? (<DeleteGroupRequest>r) : new DeleteGroupRequest(r);\n return this.http.post<null>(this._host + \"/meetings.v1.MeetingHost/DeleteGroup\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n listGroups(r: ListGroupsRequest | ListGroupsRequestInterface): Observable<ListGroupsResponse> {\n const request = ((<ListGroupsRequest>r).toApiJson) ? (<ListGroupsRequest>r) : new ListGroupsRequest(r);\n return this.http.post<ListGroupsResponseInterface>(this._host + \"/meetings.v1.MeetingHost/ListGroups\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListGroupsResponse.fromProto(resp))\n );\n }\n createService(r: CreateServiceRequest | CreateServiceRequestInterface): Observable<CreateServiceResponse> {\n const request = ((<CreateServiceRequest>r).toApiJson) ? (<CreateServiceRequest>r) : new CreateServiceRequest(r);\n return this.http.post<CreateServiceResponseInterface>(this._host + \"/meetings.v1.MeetingHost/CreateService\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CreateServiceResponse.fromProto(resp))\n );\n }\n updateService(r: UpdateServiceRequest | UpdateServiceRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<UpdateServiceRequest>r).toApiJson) ? (<UpdateServiceRequest>r) : new UpdateServiceRequest(r);\n return this.http.post<null>(this._host + \"/meetings.v1.MeetingHost/UpdateService\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n deleteService(r: DeleteServiceRequest | DeleteServiceRequestInterface): Observable<HttpResponse<null>> {\n const request = ((<DeleteServiceRequest>r).toApiJson) ? (<DeleteServiceRequest>r) : new DeleteServiceRequest(r);\n return this.http.post<null>(this._host + \"/meetings.v1.MeetingHost/DeleteService\", request.toApiJson(), {...this.apiOptions(), observe: 'response'});\n }\n listServices(r: ListServicesRequest | ListServicesRequestInterface): Observable<ListServicesResponse> {\n const request = ((<ListServicesRequest>r).toApiJson) ? (<ListServicesRequest>r) : new ListServicesRequest(r);\n return this.http.post<ListServicesResponseInterface>(this._host + \"/meetings.v1.MeetingHost/ListServices\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => ListServicesResponse.fromProto(resp))\n );\n }\n calendarMigration(): Observable<CalendarMigrationResponse> {\n return this.http.post<CalendarMigrationResponseInterface>(this._host + \"/meetings.v1.MeetingHost/CalendarMigration\", {}, this.apiOptions())\n .pipe(\n map(resp => CalendarMigrationResponse.fromProto(resp))\n );\n }\n getGroup(r: GetGroupRequest | GetGroupRequestInterface): Observable<GetGroupResponse> {\n const request = ((<GetGroupRequest>r).toApiJson) ? (<GetGroupRequest>r) : new GetGroupRequest(r);\n return this.http.post<GetGroupResponseInterface>(this._host + \"/meetings.v1.MeetingHost/GetGroup\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetGroupResponse.fromProto(resp))\n );\n }\n getService(r: GetServiceRequest | GetServiceRequestInterface): Observable<GetServiceResponse> {\n const request = ((<GetServiceRequest>r).toApiJson) ? (<GetServiceRequest>r) : new GetServiceRequest(r);\n return this.http.post<GetServiceResponseInterface>(this._host + \"/meetings.v1.MeetingHost/GetService\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetServiceResponse.fromProto(resp))\n );\n }\n checkGroupOrServiceSlugExist(r: CheckGroupOrServiceSlugExistRequest | CheckGroupOrServiceSlugExistRequestInterface): Observable<CheckGroupOrServiceSlugExistResponse> {\n const request = ((<CheckGroupOrServiceSlugExistRequest>r).toApiJson) ? (<CheckGroupOrServiceSlugExistRequest>r) : new CheckGroupOrServiceSlugExistRequest(r);\n return this.http.post<CheckGroupOrServiceSlugExistResponseInterface>(this._host + \"/meetings.v1.MeetingHost/CheckGroupOrServiceSlugExist\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => CheckGroupOrServiceSlugExistResponse.fromProto(resp))\n );\n }\n hostBookMeeting(r: BookMeetingRequest | BookMeetingRequestInterface): Observable<BookMeetingResponse> {\n const request = ((<BookMeetingRequest>r).toApiJson) ? (<BookMeetingRequest>r) : new BookMeetingRequest(r);\n return this.http.post<BookMeetingResponseInterface>(this._host + \"/meetings.v1.MeetingHost/HostBookMeeting\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => BookMeetingResponse.fromProto(resp))\n );\n }\n getEntityAssociations(r: GetEntityAssociationRequest | GetEntityAssociationRequestInterface): Observable<GetEntityAssociationResponse> {\n const request = ((<GetEntityAssociationRequest>r).toApiJson) ? (<GetEntityAssociationRequest>r) : new GetEntityAssociationRequest(r);\n return this.http.post<GetEntityAssociationResponseInterface>(this._host + \"/meetings.v1.MeetingHost/GetEntityAssociations\", request.toApiJson(), this.apiOptions())\n .pipe(\n map(resp => GetEntityAssociationResponse.fromProto(resp))\n );\n }\n \n}\n","// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Index.\n// *********************************\n\nexport * from './enums';\nexport * from './objects';\nexport * from './interfaces';\nexport { GoogleMeetApiService } from './google-meet.api.service';\nexport { MeetingGuestApiService } from './meeting-guest.api.service';\nexport { MeetingHostApiService } from './meeting-host.api.service';\nexport { MeetingSourceAPIApiService } from './meeting-source-api.api.service';\nexport { ZoomApiService } from './zoom.api.service';\n","import {Calendar as APICalendar, CalendarType} from '../_internal';\n\nexport type Calendar = Omit<APICalendar, 'toApiJson'>\n\nexport function CalendarFromApi(calendarAPI: APICalendar): Calendar {\n return {\n id: calendarAPI.id || '',\n calendarType: calendarAPI.calendarType || CalendarType.CALENDAR_TYPE_INVALID,\n displayName: calendarAPI.displayName || '',\n displayProfileUrl: calendarAPI.displayProfileUrl || '',\n displayLogoUrl: calendarAPI.displayLogoUrl || '',\n bookingUrl: calendarAPI.bookingUrl || '',\n slug: calendarAPI.slug || '',\n externalId: calendarAPI.externalId || '',\n creatorUserId: calendarAPI.creatorUserId || '',\n hostUserIds: calendarAPI.hostUserIds || [],\n applicationContext: calendarAPI.applicationContext || {},\n encodedApplicationContext: '',\n }\n}\n\n// From meetings/internal/meetingscheduler/calendar/model.go\nexport enum KnownCalendarApplicationContextKeys {\n ExternalIntegration = 'external_integration',\n Business = 'business_id',\n SalesTeam = 'sales_team_id',\n}\n\nexport enum KnownCalendarExternalIntegrations {\n VSalesTeam = 'v_sales_team',\n VBusiness = 'v_business'\n}\n","import {Preferences as APIPreferences} from '../_internal/objects';\nimport {CalendarSource, MeetingSource, OnBoardingState} from '../_internal/enums';\nimport {TimeZoneInterface} from '../_internal/interfaces';\n\n\nexport interface Preferences {\n timezone: TimeZoneInterface;\n meetingIntegration: MeetingSource;\n availabilityIncrement: number;\n bufferDurationAfterMeeting: number;\n bufferDurationBeforeMeeting: number;\n noticeTime: number;\n calendarSlug: string;\n calendarIntegration: CalendarSource;\n onBoardingState: OnBoardingState;\n}\n\nexport function PreferencesFromApi(preferences: APIPreferences): Preferences {\n return {\n timezone: preferences.timezone,\n meetingIntegration: preferences.meetingIntegration || MeetingSource.MEETING_SOURCE_INVALID,\n availabilityIncrement: preferences.availabilityIncrement || 0,\n bufferDurationAfterMeeting: preferences.bufferDurationAfterMeeting || 0,\n bufferDurationBeforeMeeting: preferences.bufferDurationBeforeMeeting || 0,\n noticeTime: preferences.noticeTime || 0,\n calendarSlug: preferences.calendarSlug || '',\n calendarIntegration: preferences.calendarIntegration || CalendarSource.CALENDAR_SOURCE_INVALID,\n onBoardingState: preferences.onBoardingState || OnBoardingState.COMPLETED_SETUP,\n }\n}\n","export interface Duration {\n seconds: number;\n nanoseconds: number;\n}\n\n/**\n In JSON format, the Duration type is encoded as a string rather than an\n object, where the string ends in the suffix \"s\" (indicating seconds) and\n is preceded by the number of seconds, with nanoseconds expressed as\n fractional seconds. For example, 3 seconds with 0 nanoseconds should be\n encoded in JSON format as \"3s\", while 3 seconds and 1 nanosecond should\n be expressed in JSON format as \"3.000000001s\", and 3 seconds and 1\n microsecond should be expressed in JSON format as \"3.000001s\".\n https://developers.google.com/protocol-buffers/docs/reference/java/com/google/protobuf/Duration\n */\nexport function durationFromString(durationString: string): Duration {\n if (!durationString) {\n return {seconds: 0, nanoseconds: 0};\n }\n const [secondsString, nanosecondString] = durationString\n .replace(/s/g, '') // the end of the string has an s\n .split('.'); // before the decimal is seconds, after is nanoseconds\n const seconds = Number(secondsString);\n const nanoseconds = parseFloat('0.' + nanosecondString) * 1e9;\n return {\n seconds: isNaN(seconds) ? 0 : seconds,\n nanoseconds: isNaN(nanoseconds) ? 0 : nanoseconds,\n };\n}\n\nexport function durationToString(duration: Duration): string {\n if (!duration) {\n return '0s';\n }\n const seconds = duration.seconds || 0;\n const nanoseconds = duration.nanoseconds || 0;\n return `${seconds + (nanoseconds / 1e9)}s`;\n}\n\nexport function durationStringToMinutes(req: { duration: string, round?: boolean }): number {\n const d = durationFromString(req.duration);\n const minutes = d.seconds / 60 + (d.nanoseconds / 6e+10);\n if (req.round) {\n return Math.round(minutes);\n }\n return minutes;\n}\n","import {FieldMask} from '../_internal/objects';\n\nexport function getFieldMask<T>(req: { o: Partial<T>, updateFields?: (keyof T & string)[] }): FieldMask {\n const keysToUpdate = req.updateFields || Object.keys(req.o || {});\n return new FieldMask({paths: keysToUpdate || []});\n}\n","export interface BusinessCenterApplicationContextProperties {\n business_id: string;\n user_context: 'SMB';\n}\n\nexport interface SalesCenterApplicationContextProperties {\n partner_id: string;\n market_id: string;\n user_context: 'SALES';\n}\n\nexport interface PartnerCenterApplicationContextProperties {\n partner_id: string;\n user_context: 'PARTNER';\n}\n\n// This will extend to include other types (partner, sales, etc).\nexport type ApplicationContextPropertiesSet = BusinessCenterApplicationContextProperties | SalesCenterApplicationContextProperties | PartnerCenterApplicationContextProperties;\n\nexport function newBusinessCenterApplicationContextProperties(req: {business_id: string}): ApplicationContextPropertiesSet {\n return {\n business_id: req.business_id,\n user_context: 'SMB',\n }\n}\n\nexport function newSalesCenterApplicationContextProperties(req: {partner_id: string, market_id: string}): ApplicationContextPropertiesSet {\n return {\n partner_id: req.partner_id,\n market_id: req.market_id,\n user_context: 'SALES'\n }\n}\n\nexport function newPartnerCenterApplicationContextProperties(req: {partner_id: string}): ApplicationContextPropertiesSet {\n return {\n partner_id: req.partner_id,\n user_context: 'PARTNER',\n }\n}\n","import {HostUserInterface} from '../_internal';\nexport type HostUser = Required<HostUserInterface>\nexport function hostUserFromApi(hostUser: HostUserInterface) {\n return {\n userId: hostUser.userId || '',\n displayName: hostUser.displayName || '',\n isConfigured: hostUser.isConfigured || false,\n isConnected: hostUser.isConnected || false,\n }\n}\n","import {\n EventGroupAndServiceAssociationsInterface,\n GroupInterface,\n ServiceInterface\n} from \"../_internal\";\nimport {getBookingUrlImplementation} from \"../host/url\";\nimport {Environment} from \"./environment\";\n\n\nexport interface Group {\n id: string;\n name: string;\n description: string;\n slug: string;\n isPinned: boolean;\n associations: EventGroupAndServiceAssociations[];\n hexColor?: string;\n bookingUrl?: string;\n}\n\nexport interface EventGroupAndServiceAssociations {\n id?: string;\n name?: string;\n eventType?: string;\n identifier?: string;\n isEditable?: boolean;\n creatorUserName?: string;\n calendarId?: string;\n hexColor?: string;\n duration?: string;\n description?: string;\n bookingUrl?: string;\n\n }\n\nexport interface Service {\n id: string;\n name: string;\n description: string;\n slug: string;\n isPinned: boolean;\n associations: EventGroupAndServiceAssociations[];\n hexColor?: string;\n bookingUrl?: string;\n}\n\nexport interface EntityAssociations {\n services?: string[];\n groups?: string[];\n}\n\nexport function GroupTypeToAPi(req: { group: Partial<Group> }): GroupInterface {\n const m = req.group;\n if (!m) {\n return {};\n }\n return {\n id: m.id || undefined,\n name: m.name || undefined,\n description: m.description || undefined,\n slug: m.slug || undefined,\n isPinned: m.isPinned || undefined,\n associations: m.associations ? m.associations.map(AssociationTypeToApi) : undefined,\n hexColor: m.hexColor || undefined,\n }\n}\n\nexport function ServiceTypeToApi(req: { service: Partial<Service> }): ServiceInterface {\n const m = req.service;\n if (!m) {\n return {};\n }\n return {\n id: m.id || undefined,\n name: m.name || undefined,\n description: m.description || undefined,\n slug: m.slug || undefined,\n isPinned: m.isPinned || undefined,\n associations: m.associations ? m.associations.map(AssociationTypeToApi) : undefined,\n hexColor: m.hexColor || undefined,\n }\n}\n\nexport function AssociationTypeToApi(association: EventGroupAndServiceAssociations): EventGroupAndServiceAssociationsInterface {\n return {\n id: association.id || undefined,\n name: association.name || undefined,\n eventType: association.eventType || undefined,\n identifier: association.identifier || undefined,\n isEditable: association.isEditable || false,\n creatorUserName: association.creatorUserName || undefined,\n calendarId: association.calendarId || undefined,\n hexColor: association.hexColor || undefined,\n duration: association.duration || undefined,\n description: association.description || undefined,\n bookingUrl: association.bookingUrl || undefined\n\n }\n}\n\nexport function AssociationFromApi(associationApi: EventGroupAndServiceAssociationsInterface): EventGroupAndServiceAssociations {\n return {\n id: associationApi.id || '',\n name: associationApi.name || '',\n eventType: associationApi.eventType || '',\n identifier: associationApi.identifier || '',\n isEditable: associationApi.isEditable ||false,\n creatorUserName: associationApi.creatorUserName || '',\n calendarId: associationApi.calendarId || '',\n hexColor: associationApi.hexColor || '',\n duration: associationApi.duration || '',\n description: associationApi.description || '',\n bookingUrl: associationApi.bookingUrl || ''\n }\n}\n\nexport function GroupFromApi(req:{groupApi: GroupInterface,environment: Environment}): Group {\n const groupId = req.groupApi.id || '';\n const groupSlug = req.groupApi.slug || '';\n const bookingUrl = req?.groupApi?.bookingUrl || getBookingURL(req.environment, groupSlug, groupId);\n return {\n id: groupId,\n name: req.groupApi.name || '',\n description: req.groupApi.description || '',\n slug: groupSlug,\n isPinned: req.groupApi.isPinned || false,\n associations: req.groupApi.associations ? req.groupApi.associations.map(AssociationFromApi) : [],\n hexColor: req.groupApi.hexColor || '',\n bookingUrl: bookingUrl\n }\n}\n\nexport function getBookingURL(environment: Environment, slug: string, calendarId:string): string {\n let bookingUrl = '';\n if (slug != '' ) {\n bookingUrl = getBookingUrlImplementation({\n environment: environment,\n calendarId: calendarId,\n meetingTypeSlug: slug ,\n });\n }\n return bookingUrl;\n}\n\nexport function ServiceFromApi(req:{serviceApi: ServiceInterface,environment: Environment}): Service {\n const serviceId = req.serviceApi.id || '';\n const serviceSlug = req.serviceApi.slug || '';\n const bookingUrl = req?.serviceApi?.bookingUrl || getBookingURL(req.environment, serviceSlug, serviceId);\n return {\n id: req.serviceApi.id || '',\n name: req.serviceApi.name || '',\n description: req.serviceApi.description || '',\n slug: req.serviceApi.slug || '',\n isPinned: req.serviceApi.isPinned || false,\n associations: req.serviceApi.associations ? req.serviceApi.associations.map(AssociationFromApi) : [],\n hexColor: req.serviceApi.hexColor || '',\n bookingUrl: bookingUrl\n }\n}","export enum MeetingSourceOrigin {\n TaskManager = 'task-manager',\n PartnerCenter = 'partner-center',\n BusinessApp = 'business-app',\n SalesCenter = 'sales-center'\n}\n","import {Injectable} from '@angular/core';\nimport {\n CalendarInterface,\n Contact, GetGroupResponse,\n GuestIsHostConfiguredResponse,\n MeetingGuestApiService,\n MeetingLocationType,\n TeamEventMeetingType,\n TimeZoneInterface\n} from '../_internal';\nimport {Observable} from 'rxjs';\nimport {map, mapTo} from 'rxjs/operators';\nimport {\n answersToAPI,\n CalendarFromApi,\n Host,\n HostFromApi,\n MeetingForm,\n MeetingMetadata,\n MeetingType,\n MeetingTypeFromApi,\n TimeSpan,\n TimeSpanFromApi\n} from '../shared';\nimport {Environment, onProductionGlobal} from \"../shared/environment\";\nimport {GetServiceResponse} from \"../_internal/objects/meeting-guest\";\n\nexport interface BookMeetingResponse {\n meetingId: string;\n hostId: string;\n}\n\nexport interface BookedMeetingInfo {\n start: Date;\n end: Date;\n timeZone: TimeZoneInterface;\n meetingTypeId: string;\n location: string;\n locationGuideline: string;\n locationType: MeetingLocationType;\n meetingType: TeamEventMeetingType;\n displayName: string;\n calendarId: string;\n}\n\nexport interface GuestServiceInterface {\n getBookedMeetingInfo(meetingId: string, authToken: string): Observable<BookedMeetingInfo>\n\n listMeetingTypes(req: {\n hostId: string,\n timeZone?: TimeZoneInterface,\n metadata?: { [name: string]: string },\n slug?: string,\n }): Observable<MeetingType[]>\n\n isHostConfigured(req: { hostId: string }): Observable<boolean>\n}\n\n@Injectable({providedIn: 'root'})\nexport class GuestService implements GuestServiceInterface {\n\n constructor(\n private guestAPIService: MeetingGuestApiService,\n ) {}\n\n getMeetingType(req: {\n calendarSlug: string,\n meetingTypeSlug: string,\n metadata?: { [name: string]: string },\n }): Observable<MeetingType> {\n return this.guestAPIService.getMeetingType(req).pipe(\n map(resp => {\n if (!resp || !resp.meetingType) {\n return {} as MeetingType;\n }\n return MeetingTypeFromApi({\n environment: onProductionGlobal() ? Environment.PROD : Environment.DEMO,\n calendarId: req.calendarSlug,\n meetingTypeApi: resp.meetingType,\n metadata: req.metadata,\n calendarSlug: req.calendarSlug,\n });\n })\n );\n }\n\n listMeetingTypes(req: {\n hostId: string,\n metadata?: { [name: string]: string },\n // deprecated: unused field.\n timeZone?: TimeZoneInterface,\n calendarSlug?: string,\n }): Observable<MeetingType[]> {\n return this.guestAPIService.listMeetingTypes(req).pipe(\n map(resp => {\n if (!resp || !resp.meetingTypes) {\n return [];\n }\n return resp.meetingTypes.map(mt => {\n return MeetingTypeFromApi({\n environment: onProductionGlobal() ? Environment.PROD : Environment.DEMO,\n calendarId: req.hostId,\n meetingTypeApi: mt,\n metadata: req.metadata,\n calendarSlug: req.calendarSlug,\n });\n });\n })\n )\n }\n\n listAvailableTimeSlots(req: {\n hostId: string,\n meetingTypeId: string,\n timeSpan: TimeSpan,\n timeZone: TimeZoneInterface,\n userId?: string,\n }): Observable<TimeSpan[]> {\n return this.guestAPIService.listAvailableTimeSlots(req).pipe(\n map(resp => resp.timeSlots ? resp.timeSlots.map(ts => TimeSpanFromApi(ts)) : [])\n )\n }\n\n bookMeeting(req: {\n hostId: string,\n meetingTypeId: string,\n start: Date,\n comment: string,\n metadata?: MeetingMetadata,\n attendees: (Omit<Contact, 'fromProto' | 'toApiJson' | 'constructor' | 'timeZone'> & { timeZone: TimeZoneInterface })[],\n formAnswers?: MeetingForm,\n recaptchaToken: string,\n location?: string,\n userId?: string,\n }\n ): Observable<BookMeetingResponse> {\n return this.guestAPIService.bookMeeting({\n ...req,\n attendees: req.attendees,\n formAnswers: answersToAPI(req.formAnswers),\n });\n }\n\n cancelMeeting(req: { authToken: string, meetingId: string, cancellationReason: string }): Observable<null> {\n return this.guestAPIService.cancelMeeting(req).pipe(mapTo(null));\n }\n\n rescheduleMeeting(req: { authToken: string, meetingId: string, start: Date, timeZone?: TimeZoneInterface, location?: string }): Observable<null> {\n return this.guestAPIService.rescheduleMeeting(req).pipe(mapTo(null));\n }\n\n // getHost returns an individual host by their hostId\n getHost(req: { hostId: string }): Observable<Host> {\n return this.guestAPIService.getHost(req).pipe(map(resp => HostFromApi(resp.host)))\n }\n\n // getCalendar returns a Calendar, which may represent an individual host OR a grouping of hosts (I.e., a team)\n getCalendar(req: { calendarId: string }): Observable<CalendarInterface> {\n return this.guestAPIService.getCalendar(req).pipe(map(resp => CalendarFromApi(resp.calendar)))\n }\n\n getBookedMeetingInfo(meetingId: string, authToken: string): Observable<BookedMeetingInfo> {\n return this.guestAPIService.getGuestBookedMeeting({\n meetingId: meetingId, authToken: authToken,\n }).pipe(\n map(resp => (<BookedMeetingInfo>{\n start: resp.startTime,\n end: resp.endTime,\n timeZone: resp.timeZone,\n meetingTypeId: resp.meetingTypeId,\n location: resp.location,\n locationGuideline: resp.locationGuideline,\n locationType: resp.locationType,\n meetingType: resp.meetingType,\n displayName: resp.displayName,\n calendarId: resp.calendarId,\n }))\n )\n }\n\n isHostConfigured(req: { hostId: string }): Observable<boolean> {\n return this.guestAPIService.isHostConfigured(req).pipe(\n map((resp: GuestIsHostConfiguredResponse) => resp.isConfigured)\n );\n }\n getGroup(req: { groupId: string,slug: string }): Observable<GetGroupResponse> {\n return this.guestAPIService.getGroup(req);\n }\n getService(req: { serviceId: string,slug: string }): Observable<GetServiceResponse> {\n return this.guestAPIService.getService(req);\n }\n}\n","import { Inject, Injectable } from \"@angular/core\";\nimport { Observable, of } from \"rxjs\";\nimport { map, mapTo } from \"rxjs/operators\";\nimport {\n AvailabilityRuleList,\n CheckGroupOrServiceSlugExistResponse,\n CreateCalendarRequestInterface,\n CreateCalendarResponse,\n DayOfWeek,\n GetGroupResponse,\n GetHostMeetingResponse,\n GetServiceResponse,\n HostBookMeetingRequestInterface,\n HostBookMeetingResponse,\n IsCalendarConfiguredRequestInterface,\n IsCalendarConfiguredResponse,\n IsHostConfiguredResponse,\n ListAvailabilityRequestFiltersInterface,\n ListBookedMeetingsRequestFilters,\n ListBookedMeetingsRequestFiltersInterface,\n ListBookedMeetingsResponse,\n MeetingHostApiService,\n PagedRequestOptions,\n PagedRequestOptionsInterface,\n SendMeetingRequestEmailRequestInterface,\n TimeRange,\n TimeRangeInterface,\n TimeZone,\n TimeZoneInterface,\n WeekdayAvailability,\n Contact,\n\n} from \"../_internal\";\n\nimport { BookMeetingResponse } from '../guest';\n\nimport {\n ApplicationContextPropertiesSet,\n AvailabilityRule,\n Calendar,\n CalendarFromApi,\n EntityAssociations,\n getFieldMask,\n Group,\n GroupFromApi,\n GroupTypeToAPi,\n HostUrlMap,\n Meeting,\n meetingFromApi,\n MeetingMetadata,\n MeetingType,\n MeetingTypeFromApi,\n MeetingTypeToApi,\n PagedResponse,\n Preferences,\n PreferencesFromApi,\n Service,\n ServiceFromApi,\n ServiceTypeToApi,\n} from \"../shared\";\nimport {\n getBookingUrlImplementation,\n getGeneralBookingUrlImplementation,\n} from \"./url\";\nimport { HostUser, hostUserFromApi } from \"../shared/host-user\";\nimport { Environment, onProductionGlobal } from \"../shared/environment\";\nimport { HttpResponse } from \"@angular/common/http\";\n\n@Injectable({ providedIn: \"root\" })\nexport class HostService {\n constructor(private hostAPIService: MeetingHostApiService) {}\n\n // Use buildHostId to get an identifier that can be used in subsequent requests. See vendastaapis for more details\n buildHostId(req: {\n userId: string;\n applicationContextProperties: ApplicationContextPropertiesSet;\n }): Observable<string> {\n return this.hostAPIService\n .buildHostId({\n userId: req.userId,\n // Gross typecast exists because I want to restrict the properties on the map (for now).\n applicationContextProperties:\n req.applicationContextProperties as any as { [key: string]: string },\n })\n .pipe(map((res) => res.hostId || \"\"));\n }\n\n doesCalendarExist(calendarIdentifier: string): Observable<boolean> {\n return this.hostAPIService\n .doesCalendarExist({ calendarIdentifier: calendarIdentifier })\n .pipe(map((resp) => resp.exists));\n }\n\n getCalendar(req: { calendarId: string }): Observable<Calendar> {\n return this.hostAPIService\n .getCalendar({ calendarId: req.calendarId })\n .pipe(map((res) => CalendarFromApi(res?.calendar)));\n }\n\n ensurePersonalCalendarExists(req: {\n userId: string;\n applicationContextProperties: ApplicationContextPropertiesSet;\n }): Observable<string> {\n return this.hostAPIService\n .ensurePersonalCalendarExists({\n userId: req.userId,\n applicationContextProperties:\n req.applicationContextProperties as any as { [key: string]: string },\n })\n .pipe(map((res) => (res ? res.calendarId : \"\")));\n }\n\n ensureGroupCalendarsExist(req: {\n externalIds: string[];\n }): Observable<string[]> {\n return this.hostAPIService\n .ensureGroupCalendarsExist({ externalIds: req.externalIds })\n .pipe(map((res) => res?.calendarIds || []));\n }\n\n /*\n createCalendar creates a calendar which meeting types can be created for and events can be booked on\n The fields of a calendar are documented in https://github.com/vendasta/vendastaapis/blob/master/meetings/v1/shared.proto\n */\n createCalendar(\n req: CreateCalendarRequestInterface\n ): Observable<CreateCalendarResponse> {\n return this.hostAPIService.createCalendar(req);\n }\n\n updateCalendarSlug(calendarId: string, newSlug: string): Observable<void> {\n return this.hostAPIService\n .updateCalendar({\n calendarId: calendarId,\n calendarUpdate: { slug: newSlug },\n fieldMask: { paths: [\"slug\"] },\n })\n .pipe(mapTo(undefined));\n }\n\n updateCalendarHostUserIDs(\n calendarId: string,\n replacementHostUserIds: string[]\n ): Observable<void> {\n return this.hostAPIService\n .updateCalendar({\n calendarId: calendarId,\n calendarUpdate: { hostUserIds: replacementHostUserIds },\n fieldMask: { paths: [\"host_user_ids\"] },\n })\n .pipe(mapTo(undefined));\n }\n\n getMeetingTypesForCalendars(req: {\n calendarIds: string[];\n metadata: { [name: string]: string };\n }): Observable<{ [calendarId: string]: MeetingType[] }> {\n return this.hostAPIService\n .getMeetingTypesForCalendars({ calendarIds: req.calendarIds })\n .pipe(\n map((res) => {\n if (!res?.calendarMeetingTypesMap) {\n return {};\n }\n return Object.keys(res.calendarMeetingTypesMap).reduce(\n (calendarToMeetingTypeMap, calendarId) => {\n const meetingTypes = (\n res.calendarMeetingTypesMap[calendarId]?.meetingTypes || []\n ).map((mt) =>\n MeetingTypeFromApi({\n meetingTypeApi: mt,\n environment: onProductionGlobal()\n ? Environment.PROD\n : Environment.DEMO,\n calendarId,\n metadata: req.metadata,\n })\n );\n return {\n ...calendarToMeetingTypeMap,\n [calendarId]: meetingTypes,\n };\n },\n {} as { [calendarId: string]: MeetingType[] }\n );\n })\n );\n }\n\n /*\n listMeetingTypes returns a list of meeting types for a host\n @param hostId: An identifier for an individual host\n @param metadata: optional metadata to include on the meeting type booking link\n @param calendarSlug: used to replace hostId in the url. Use it when you are confident you know the host's slug.\n - calendarSlug IS NOT USED TO RETRIEVE MEETING TYPES, ONLY TO MAKE THE BOOKING URLS\n */\n listMeetingTypes(req: {\n hostId: string;\n metadata?: { [name: string]: string };\n calendarSlug?: string;\n }): Observable<MeetingType[]> {\n return this.hostAPIService.listMeetingTypes(req).pipe(\n map((resp) => {\n if (!resp || !resp.meetingTypes) {\n return [];\n }\n return resp.meetingTypes.map((mt) => {\n return MeetingTypeFromApi({\n meetingTypeApi: mt,\n calendarId: req.hostId,\n environment: onProductionGlobal()\n ? Environment.PROD\n : Environment.DEMO,\n metadata: req.metadata,\n calendarSlug: req.calendarSlug,\n });\n });\n })\n );\n }\n\n /*\n getBookingUrl returns a link that can be used to book a meeting with this host.\n @param calendarId: An identifier for an individual host or grouping of hosts (i.e., team).\n @param @deprecated hostId: An identifier for an individual host.\n @param meetingTypeId: An optional identifier for the meeting type. Default: 30-minutes.\n @param metadata: optional metadata to include in the url.\n - metadata can be used to pre-fill certain form fields and will be stored during the booking process.\n - metadata can be obtained by subscribing to the booking event.\n @param calendarSlug: used to replace hostId in the url. Use it when you are confident you know the host's slug.\n */\n getBookingUrl(req: {\n // @deprecated: use calendarId instead. calendarId not required to avoid breaking existing clients.\n hostId: string;\n calendarId?: string;\n // @deprecated: use meetingTypeSlug instead\n meetingTypeId?: string;\n meetingTypeSlug?: string;\n metadata?: { [name: string]: string };\n calendarSlug?: string;\n }): Observable<string> {\n return of(\n getBookingUrlImplementation({\n ...req,\n calendarId: req.calendarId || req.hostId,\n environment: onProductionGlobal() ? Environment.PROD : Environment.DEMO,\n calendarSlug: req.calendarSlug,\n })\n );\n }\n\n /*\n getGeneralBookingUrl returns a link that can be used to select a meeting type to book with the given calendar.\n @param calendarId: An identifier for an individual host or grouping of hosts (i.e., team).\n @param metadata: optional metadata to include in the url.\n - metadata can be used to pre-fill certain form fields and will be stored during the booking process.\n - metadata can be obtained by subscribing to the booking event.\n @param calendarSlug: used to replace hostId in the url. Use it when you are confident you know the host's slug.\n */\n getGeneralBookingUrl(req: {\n calendarId: string;\n metadata?: { [name: string]: string };\n calendarSlug?: string;\n }): Observable<string> {\n return of(\n getGeneralBookingUrlImplementation({\n environment: onProductionGlobal() ? Environment.PROD : Environment.DEMO,\n calendarId: req.calendarId,\n metadata: req.metadata,\n calendarSlug: req.calendarSlug,\n })\n );\n }\n\n /*\n getBookingUrlsMulti returns a mapping of hosts -> event types -> booking links.\n @param calendarId: An identifier for an individual host or grouping of hosts.\n @param meetingTypeSlug: meetingTypeSlugs are passed in the form {hostId: [meetingTypeSlug1, meetingTypeSlug2]}\n @param metadata: optional metadata to include in the url.\n - metadata can be used to pre-fill certain form fields and will be stored during the booking process.\n - metadata can be obtained by subscribing to the booking event.\n @param calendarSlug: used to replace hostId in the url. Use it when you are confident you know the host's slug.\n */\n getBookingUrlsMulti(\n req: { [calendarId: string]: string[] },\n metadata?: { [name: string]: string },\n calendarSlug?: string\n ): Observable<HostUrlMap> {\n return of(\n Object.keys(req).reduce((hostMap, calendarId) => {\n return {\n ...hostMap,\n [calendarId]: req[calendarId].reduce(\n (meetingTypeMap, meetingTypeSlug) => {\n return {\n ...meetingTypeMap,\n [meetingTypeSlug]: getBookingUrlImplementation({\n calendarId,\n meetingTypeSlug,\n metadata,\n environment: onProductionGlobal()\n ? Environment.PROD\n : Environment.DEMO,\n calendarSlug,\n }),\n };\n },\n {} as { [meetingTypeId: string]: string }\n ),\n };\n }, {} as HostUrlMap)\n );\n }\n\n isHostConfigured(req: { hostId: string }): Observable<IsHostConfiguredResponse> {\n return this.hostAPIService\n .isHostConfigured(req)\n .pipe(map((resp: IsHostConfiguredResponse) => resp));\n }\n\n setGeneralAvailability(req: {\n hostId: string;\n meetingTypeId: string;\n // @deprecated: use weekdaysAvailability instead\n days?: DayOfWeek[];\n // @deprecated: use weekdaysAvailability instead\n timeSlot?: TimeRangeInterface;\n weekdaysAvailability?: WeekdayAvailability[];\n timeZone: TimeZoneInterface;\n }): Observable<null> {\n const apiReq = {\n ...req,\n timeZone: new TimeZone(req.timeZone),\n };\n if (req.timeSlot) {\n apiReq.timeSlot = new TimeRange(req.timeSlot);\n }\n return this.hostAPIService.setGeneralAvailability(apiReq).pipe(mapTo(null));\n }\n\n listBookedMeetings(req: {\n filters: ListBookedMeetingsRequestFiltersInterface;\n cursor: string;\n pageSize: number;\n timeZone: TimeZoneInterface;\n }): Observable<PagedResponse<Meeting>> {\n return this.hostAPIService\n .listBookedMeetings({\n ...req,\n pagingOptions: new PagedRequestOptions({\n cursor: req.cursor,\n pageSize: req.pageSize,\n }),\n filters: new ListBookedMeetingsRequestFilters(req.filters),\n timeZone: new TimeZone(req.timeZone),\n })\n .pipe(\n map((resp: ListBookedMeetingsResponse) => {\n const meetings = (resp.meetings || []).map((meeting) =>\n meetingFromApi(meeting)\n );\n return new PagedResponse(\n meetings,\n resp.pagingMetadata.nextCursor,\n resp.pagingMetadata.hasMore\n );\n })\n );\n }\n\n cancelMeeting(req: {\n meetingId: string;\n cancellationReason: string;\n }): Observable<null> {\n return this.hostAPIService\n .cancelMeeting({\n ...req,\n })\n .pipe(mapTo(null));\n }\n\n rescheduleMeeting(req: { meetingId: string; start: Date }): Observable<null> {\n return this.hostAPIService\n .rescheduleMeeting({\n ...req,\n })\n .pipe(mapTo(null));\n }\n\n listAvailability(req: {\n filters: ListAvailabilityRequestFiltersInterface;\n pagingOptions: PagedRequestOptionsInterface;\n timeZone: TimeZoneInterface;\n }): Observable<PagedResponse<AvailabilityRule>> {\n return this.hostAPIService.listAvailability(req).pipe(\n map((response) => {\n const results = (response.availabilityRules || [])\n .filter(Boolean)\n .map((a) => {\n return {\n hostId: a.hostId || \"\",\n meetingTypeId: a.meetingTypeId || \"\",\n day: a.day,\n timeSlot: a.timeSlot,\n timeZone: a.timeZone,\n };\n });\n return new PagedResponse(\n results,\n response.metadata.nextCursor,\n response.metadata.hasMore\n );\n })\n );\n }\n\n /* updatePreferences will update the host's preferences.\n * It is guaranteed to only update the fields provided.\n * For example:\n * updatePreferences({meetingIntegration: MeetingSource.MEETING_SOURCE_GOOGLE_MEET})\n * will only update the preference meetingIntegration to Google Meet. Keeping the other preferences the same.\n *\n * Alternatively, you can provide a list of keys to update as the second argument.\n * For example:\n * updatePreferences({...object with all fields}, ['meetingIntegration'])\n * will only update the field 'meetingIntegration' to the value in preferences.\n *\n * Calling with an empty object and no keys is a no-op, or an undefined object.\n * Calling with an object containing fields not in `Preferences` or with updateFields not linked to properties in\n * `Preferences` is an error.\n */\n updatePreferences(req: {\n hostId: string;\n preferences: Partial<Preferences>;\n updateFields?: (keyof Preferences)[];\n }): Observable<void> {\n const fieldMask = getFieldMask({\n o: req.preferences,\n updateFields: req.updateFields,\n });\n if (fieldMask.paths.length === 0) {\n return of();\n }\n return this.hostAPIService\n .updateHostPreferences({\n hostId: req.hostId,\n preferences: req.preferences,\n fieldMask,\n })\n .pipe(mapTo(undefined));\n }\n\n getPreferences(req: { hostId: string }): Observable<Preferences> {\n return this.hostAPIService\n .getHostPreferences({\n hostId: req.hostId,\n })\n .pipe(map((response) => PreferencesFromApi(response.preferences)));\n }\n\n getMeeting(meetingId: string, location: string): Observable<Meeting> {\n return this.hostAPIService\n .getHostMeeting({\n meetingId: meetingId,\n location: location,\n })\n .pipe(\n map((resp: GetHostMeetingResponse) => meetingFromApi(resp.meeting))\n );\n }\n\n updateMeetingMetadata(req: {\n meetingId: string;\n metadata: MeetingMetadata;\n }): Observable<void> {\n return this.hostAPIService\n .updateMeetingMetadata({\n meetingId: req.meetingId,\n metadata: req.metadata,\n })\n .pipe(mapTo(undefined));\n }\n\n hostBookMeeting(req: {\n hostId: string,\n meetingTypeId: string,\n start: Date,\n comment: string,\n metadata?: MeetingMetadata,\n attendees: (Omit<Contact, 'fromProto' | 'toApiJson' | 'constructor' | 'timeZone'> & { timeZone: TimeZoneInterface })[],\n location?: string,\n userId?: string,\n }): Observable<BookMeetingResponse> {\n return this.hostAPIService.hostBookMeeting({\n ...req,\n attendees: req.attendees,\n });\n }\n\n bookMeeting(req: HostBookMeetingRequestInterface): Observable<string> {\n return this.hostAPIService\n .bookMeeting(req)\n .pipe(map((resp: HostBookMeetingResponse) => resp.meetingId));\n }\n\n // createDefaultMeetingTypes will create what Meeting Scheduler deems to be the default meeting types.\n // If the calendar already has meeting types, this is guaranteed to be a no-op.\n createDefaultMeetingTypes(req: { calendarIds: string[] }): Observable<void> {\n return this.hostAPIService\n .createDefaultMeetingTypes({ calendarIds: req.calendarIds })\n .pipe(mapTo(undefined));\n }\n\n createMeetingType(req: {\n meetingType: MeetingType;\n updateFields?: (keyof MeetingType)[];\n HostId?: string;\n }): Observable<string> {\n const fieldMask = getFieldMask({\n o: req.meetingType,\n updateFields: req.updateFields,\n });\n if (fieldMask.paths.length === 0) {\n return of();\n }\n return this.hostAPIService\n .createMeetingType({\n meetingType: MeetingTypeToApi({ meetingType: req.meetingType }),\n fieldMask,\n hostId: req.HostId,\n })\n .pipe(map((res) => res.id));\n }\n\n /* updateMeetingType will update the meeting type fields.\n * It is guaranteed to only update the fields provided.\n * For example:\n * updateMeetingType({name: 'Onboarding'})\n * will only update the field 'name' to 'Onboarding'. Keeping the other fields the same.\n *\n * Alternatively, you can provide a list of keys to update as the second argument.\n * For example:\n * updateMeetingType({...object with all fields}, ['name'])\n * will only update the field 'name' to the value passed in.\n *\n * Calling with an empty object and no keys is a no-op, or an undefined object.\n * Calling with an object containing fields not in `MeetingType` or with updateFields not linked to properties in\n * `MeetingType` is an error.\n */\n updateMeetingType(req: {\n id: string;\n meetingType: Partial<MeetingType>;\n updateFields?: (keyof MeetingType)[];\n HostId?: string;\n }): Observable<void> {\n const fieldMask = getFieldMask({\n o: req.meetingType,\n updateFields: req.updateFields,\n });\n if (fieldMask.paths.length === 0) {\n return of();\n }\n return this.hostAPIService\n .updateMeetingType({\n id: req.id,\n meetingType: MeetingTypeToApi({ meetingType: req.meetingType }),\n fieldMask,\n hostId: req.HostId,\n })\n .pipe(mapTo(undefined));\n }\n\n deleteMeetingType(req: { id: string }): Observable<void> {\n return this.hostAPIService\n .deleteMeetingType({ id: req.id })\n .pipe(mapTo(undefined));\n }\n\n getHostsForCalendar(req: { calendarId: string }): Observable<{\n hostUsers: HostUser[];\n availabilityRules: { [key: string]: AvailabilityRuleList };\n }> {\n return this.hostAPIService\n .getHostsForCalendar({ calendarId: req.calendarId })\n .pipe(\n map((res) => {\n const hostUsers = (res.hostUsers || []).map((hostuser) => {\n return hostUserFromApi(hostuser);\n });\n \n const availabilityRules = res.hostUserAvailabilityRule || {};\n\n return {\n hostUsers,\n availabilityRules,\n };\n })\n );\n }\n\n IsCalendarConfigured(\n req: IsCalendarConfiguredRequestInterface\n ): Observable<IsCalendarConfiguredResponse> {\n return this.hostAPIService.isCalendarConfigured(req);\n }\n\n sendMeetingRequestEmail(\n req: SendMeetingRequestEmailRequestInterface\n ): Observable<HttpResponse<null>> {\n return this.hostAPIService.sendMeetingRequestEmail(req);\n }\n\n createService(req: {\n service: Service;\n updateFields?: (keyof Service)[];\n HostId?: string;\n }): Observable<string> {\n const fieldMask = getFieldMask({\n o: req.service,\n updateFields: req.updateFields,\n });\n if (fieldMask.paths.length === 0) {\n return of();\n }\n return this.hostAPIService\n .createService({\n service: ServiceTypeToApi({ service: req.service }),\n fieldMask,\n hostId: req.HostId,\n })\n .pipe(map((res) => res.id));\n }\n\n updateService(req: {\n id: string;\n service: Partial<Service>;\n updateFields?: (keyof Service)[];\n HostId?: string;\n }): Observable<void> {\n const fieldMask = getFieldMask({\n o: req.service,\n updateFields: req.updateFields,\n });\n if (fieldMask.paths.length === 0) {\n return of();\n }\n return this.hostAPIService\n .updateService({\n id: req.id,\n service: ServiceTypeToApi({ service: req.service }),\n fieldMask,\n hostId: req.HostId,\n })\n .pipe(mapTo(undefined));\n }\n\n deleteService(req: { id: string; hostId: string }): Observable<void> {\n return this.hostAPIService\n .deleteService({ id: req.id, hostId: req.hostId })\n .pipe(mapTo(undefined));\n }\n\n listServices(req: { hostId: string }): Observable<Service[]> {\n return this.hostAPIService.listServices({ hostId: req.hostId }).pipe(\n map((res) => {\n if (!res || !res.services) {\n return [];\n }\n return res.services.map((service) =>\n ServiceFromApi({\n serviceApi: service,\n environment: onProductionGlobal()\n ? Environment.PROD\n : Environment.DEMO,\n })\n );\n })\n );\n }\n\n createGroup(req: {\n group: Group;\n updateFields?: (keyof Group)[];\n HostId?: string;\n }): Observable<string> {\n const fieldMask = getFieldMask({\n o: req.group,\n updateFields: req.updateFields,\n });\n if (fieldMask.paths.length === 0) {\n return of();\n }\n return this.hostAPIService\n .createGroup({\n group: GroupTypeToAPi({ group: req.group }),\n fieldMask,\n hostId: req.HostId,\n })\n .pipe(map((res) => res.id));\n }\n\n updateGroup(req: {\n id: string;\n group: Partial<Group>;\n updateFields?: (keyof Group)[];\n HostId?: string;\n }): Observable<void> {\n const fieldMask = getFieldMask({\n o: req.group,\n updateFields: req.updateFields,\n });\n if (fieldMask.paths.length === 0) {\n return of();\n }\n return this.hostAPIService\n .updateGroup({\n id: req.id,\n group: GroupTypeToAPi({ group: req.group }),\n fieldMask,\n hostId: req.HostId,\n })\n .pipe(mapTo(undefined));\n }\n\n deleteGroup(req: { id: string; hostId: string }): Observable<void> {\n return this.hostAPIService\n .deleteGroup({ id: req.id, hostId: req.hostId })\n .pipe(mapTo(undefined));\n }\n\n listGroups(req: { hostId: string }): Observable<Group[]> {\n return this.hostAPIService.listGroups({ hostId: req.hostId }).pipe(\n map((res) => {\n if (!res || !res.groups) {\n return [];\n }\n return res.groups.map((group) =>\n GroupFromApi({\n groupApi: group,\n environment: onProductionGlobal()\n ? Environment.PROD\n : Environment.DEMO,\n })\n );\n })\n );\n }\n\n getGroup(req: {\n groupId: string;\n slug: string;\n hostId: string;\n }): Observable<GetGroupResponse> {\n return this.hostAPIService.getGroup(req);\n }\n getService(req: {\n serviceId: string;\n slug: string;\n hostId: string;\n }): Observable<GetServiceResponse> {\n return this.hostAPIService.getService(req);\n }\n\n checkGroupOrServiceSlugExist(req: {\n hostId: string;\n slugIdentifier: string;\n category: string;\n }): Observable<boolean> {\n return this.hostAPIService\n .checkGroupOrServiceSlugExist(req)\n .pipe(map((res) => res.exists));\n }\n\n getEntityAssociations(req: {\n entityId: string;\n }): Observable<EntityAssociations> {\n return this.hostAPIService.getEntityAssociations(req);\n }\n}\n\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["enumStringToValue","e.ZoomMeetingType","e.ZoomMeetingRecurrenceType","e.ZoomMonthlyWeek","e.ZoomMonthlyWeekDay","e.ZoomApprovalType","e.ZoomRegistrationType","e.MeetingSource","e.MeetingSourceStatus","e.FormFieldType","e.CalendarType","e.CalendarSource","e.OnBoardingState","e.DateRangeType","e.MeetingLocationType","e.TeamEventMeetingType","e.RelativeTimeUnit","e.DayOfWeek","HostService","i1.MeetingSourceAPIApiService","i2.ZoomApiService","i3.GoogleMeetApiService","i1.MeetingGuestApiService","i1.MeetingHostApiService"],"mappings":"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"}