/* Options: Date: 2025-12-06 07:27:34 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.dev.dynamics.trendsic.com //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: SchedulerRequest.* //ExcludeTypes: //DefaultImports: */ export class LineImage { public ImageId?: string; public FileName: string; public ImageTitle: string; public UploadDate: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Line { public Id: string; public LocationId: string; public LocationName: string; public Name: string; public Description: string; public ServiceDurationMinutes: number; public WaitTime: number; public Cost: number; public UpperThreshold?: number; public LowerThreshold?: number; public Active: boolean; public EntDate?: string; public ModDate?: string; public SendQuestionnaire: boolean; public RequireUpload: boolean; public UploadMessage: string; public LineImages: LineImage[] = []; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Contact { public ContactId: number; public ContactType: number; public FirstName: string; public LastName: string; public Name: string; public Role: string; public Title: string; public EmailWork: string; public EmailPersonal: string; public District: string; public DistrictID: number; public School: string; public SchoolID: number; public State: string; public StateName: string; public StateID: number; public CountyID: number; public County: string; public Phone: string; public Department: string; public Flow: string; public LastContact: string; public DoNotContact: boolean; public Active: boolean; public AgentId: number; public PhoneAlt: string; public PeraContactId: number; public RoomNumber: string; public SourceTypeId: number; public SourceTypeDesc: string; public SourceNote: string; public ContactStatusId: number; public ContactStatusDesc: string; public SSN: string; public DateOfBirth: string; public Deleted: boolean; public IsShared: boolean; public address_line1: string; public address_city: string; public address_state: string; public address_zip: string; public DeletedBy: string; public DeletedDateTimeUtc?: string; public HasNBC: boolean; public HasFactFinderSheet: boolean; public MiddleInitial: string; public Tags: string; public DateCreated: string; public PhoneLabel: string; public AltPhoneLabel: string; public Carriers: string; public ContactImage: string; public CompanyAffiliation: string; public AdditionalInformation: string; public HasGiftCard: boolean; public ContactCategory: number; public WritingAgentId: number; public WritingAgentName: string; public MaritalStatus: string; public TotalDebtAmount: number; public NumberOfDebtAccounts: number; public FactFinderCodeId: number; public BusinessName: string; public DBA: string; public ContactGUID: string; public ProjectEndDate: string; public Rate: number; public JobID: number; public JobName: string; public JobCount: number; public Locked: boolean; public LockedByAgentId: number; public LockedTimestamp: string; public Initials: string; public ContactCategoryName: string; public SMSOptIn: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class SchedulerTimeslot { public Day: string; public Time: string; public Duration: number; public StartDateTime: string; public EndDateTime: string; public TimeFriendly: string; public Contact: Contact; public ServiceIds: string[] = []; public LocationId: string; public Unavailable: boolean; public BookedIds: number[] = []; public CalendarId: string; public SchedulerUrl: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class SchedulerConfiguration { public ConfigId: number; public SchedulerUrl: string; public SchedulerName: string; public DefaultLocation: string; public DefaultSummary: string; public DefaultDescription: string; public DayStart: string; public DayStartFriendly: string; public DayEnd: string; public DayEndFriendly: string; public TimeslotDuration: number; public NumberOfSlots?: number; public LocationId: string; public CalendarId: string; public AgentId: number; public TimeZone: string; public AvailableDateTimes: ScheduleConfigDay[] = []; public AvailableServices: string[] = []; public AllServices: Line[] = []; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class SchedulerDay { public Day: string; public MonthNumber: number; public DayNumber: number; public DayOfWeek: string; public Timeslots: SchedulerTimeslot[] = []; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class SchedulerWeek { public Settings: SchedulerConfiguration; public Days: SchedulerDay[] = []; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class ResponseStatus { // @DataMember(Order=1) public ErrorCode: string; // @DataMember(Order=2) public Message: string; // @DataMember(Order=3) public StackTrace: string; // @DataMember(Order=4) public Errors: ResponseError[] = []; // @DataMember(Order=5) public Meta: { [index:string]: string; } = {}; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class SchedulerResponse { public ResponseStatus: ResponseStatus; public Week: SchedulerWeek; public Services: Line[] = []; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @Route("/v1/Scheduler/{SchedulerUrl}", "GET,OPTIONS") // @Route("/v1/Scheduler/{SchedulerUrl}/{StartDate}", "GET,OPTIONS") // @Route("/v1/Scheduler/{SchedulerUrl}/{StartDate}/{LocalDate}", "GET,OPTIONS") // @Route("/v1/SchedulerServices/{SchedulerUrl}/{StartDate}/{ServiceIdsList}", "GET,OPTIONS") export class SchedulerRequest implements IReturn { public SchedulerUrl: string; public StartDate: string; public Session: string[] = []; public ServiceIdsList: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'SchedulerRequest'; } public getMethod() { return 'GET'; } public createResponse() { return new SchedulerResponse(); } }