/* Options: Date: 2025-12-06 11:45:58 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.dev.dynamics.trendsic.com //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: SchedulerTimeslotRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart,dart:typed_data */ import 'package:servicestack/servicestack.dart'; import 'dart:typed_data'; class Contact implements IConvertible { int? ContactId; int? ContactType; String? FirstName; String? LastName; String? Name; String? Role; String? Title; String? EmailWork; String? EmailPersonal; String? District; int? DistrictID; String? School; int? SchoolID; String? State; String? StateName; int? StateID; int? CountyID; String? County; String? Phone; String? Department; String? Flow; DateTime? LastContact; bool? DoNotContact; bool? Active; int? AgentId; String? PhoneAlt; int? PeraContactId; String? RoomNumber; int? SourceTypeId; String? SourceTypeDesc; String? SourceNote; int? ContactStatusId; String? ContactStatusDesc; String? SSN; DateTime? DateOfBirth; bool? Deleted; bool? IsShared; String? address_line1; String? address_city; String? address_state; String? address_zip; String? DeletedBy; DateTime? DeletedDateTimeUtc; bool? HasNBC; bool? HasFactFinderSheet; String? MiddleInitial; String? Tags; DateTime? DateCreated; String? PhoneLabel; String? AltPhoneLabel; String? Carriers; String? ContactImage; String? CompanyAffiliation; String? AdditionalInformation; bool? HasGiftCard; int? ContactCategory; int? WritingAgentId; String? WritingAgentName; String? MaritalStatus; double? TotalDebtAmount; int? NumberOfDebtAccounts; int? FactFinderCodeId; String? BusinessName; String? DBA; String? ContactGUID; DateTime? ProjectEndDate; int? Rate; int? JobID; String? JobName; int? JobCount; bool? Locked; int? LockedByAgentId; DateTime? LockedTimestamp; String? Initials; String? ContactCategoryName; bool? SMSOptIn; Contact({this.ContactId,this.ContactType,this.FirstName,this.LastName,this.Name,this.Role,this.Title,this.EmailWork,this.EmailPersonal,this.District,this.DistrictID,this.School,this.SchoolID,this.State,this.StateName,this.StateID,this.CountyID,this.County,this.Phone,this.Department,this.Flow,this.LastContact,this.DoNotContact,this.Active,this.AgentId,this.PhoneAlt,this.PeraContactId,this.RoomNumber,this.SourceTypeId,this.SourceTypeDesc,this.SourceNote,this.ContactStatusId,this.ContactStatusDesc,this.SSN,this.DateOfBirth,this.Deleted,this.IsShared,this.address_line1,this.address_city,this.address_state,this.address_zip,this.DeletedBy,this.DeletedDateTimeUtc,this.HasNBC,this.HasFactFinderSheet,this.MiddleInitial,this.Tags,this.DateCreated,this.PhoneLabel,this.AltPhoneLabel,this.Carriers,this.ContactImage,this.CompanyAffiliation,this.AdditionalInformation,this.HasGiftCard,this.ContactCategory,this.WritingAgentId,this.WritingAgentName,this.MaritalStatus,this.TotalDebtAmount,this.NumberOfDebtAccounts,this.FactFinderCodeId,this.BusinessName,this.DBA,this.ContactGUID,this.ProjectEndDate,this.Rate,this.JobID,this.JobName,this.JobCount,this.Locked,this.LockedByAgentId,this.LockedTimestamp,this.Initials,this.ContactCategoryName,this.SMSOptIn}); Contact.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ContactId = json['ContactId']; ContactType = json['ContactType']; FirstName = json['FirstName']; LastName = json['LastName']; Name = json['Name']; Role = json['Role']; Title = json['Title']; EmailWork = json['EmailWork']; EmailPersonal = json['EmailPersonal']; District = json['District']; DistrictID = json['DistrictID']; School = json['School']; SchoolID = json['SchoolID']; State = json['State']; StateName = json['StateName']; StateID = json['StateID']; CountyID = json['CountyID']; County = json['County']; Phone = json['Phone']; Department = json['Department']; Flow = json['Flow']; LastContact = JsonConverters.fromJson(json['LastContact'],'DateTime',context!); DoNotContact = json['DoNotContact']; Active = json['Active']; AgentId = json['AgentId']; PhoneAlt = json['PhoneAlt']; PeraContactId = json['PeraContactId']; RoomNumber = json['RoomNumber']; SourceTypeId = json['SourceTypeId']; SourceTypeDesc = json['SourceTypeDesc']; SourceNote = json['SourceNote']; ContactStatusId = json['ContactStatusId']; ContactStatusDesc = json['ContactStatusDesc']; SSN = json['SSN']; DateOfBirth = JsonConverters.fromJson(json['DateOfBirth'],'DateTime',context!); Deleted = json['Deleted']; IsShared = json['IsShared']; address_line1 = json['address_line1']; address_city = json['address_city']; address_state = json['address_state']; address_zip = json['address_zip']; DeletedBy = json['DeletedBy']; DeletedDateTimeUtc = JsonConverters.fromJson(json['DeletedDateTimeUtc'],'DateTime',context!); HasNBC = json['HasNBC']; HasFactFinderSheet = json['HasFactFinderSheet']; MiddleInitial = json['MiddleInitial']; Tags = json['Tags']; DateCreated = JsonConverters.fromJson(json['DateCreated'],'DateTime',context!); PhoneLabel = json['PhoneLabel']; AltPhoneLabel = json['AltPhoneLabel']; Carriers = json['Carriers']; ContactImage = json['ContactImage']; CompanyAffiliation = json['CompanyAffiliation']; AdditionalInformation = json['AdditionalInformation']; HasGiftCard = json['HasGiftCard']; ContactCategory = json['ContactCategory']; WritingAgentId = json['WritingAgentId']; WritingAgentName = json['WritingAgentName']; MaritalStatus = json['MaritalStatus']; TotalDebtAmount = JsonConverters.toDouble(json['TotalDebtAmount']); NumberOfDebtAccounts = json['NumberOfDebtAccounts']; FactFinderCodeId = json['FactFinderCodeId']; BusinessName = json['BusinessName']; DBA = json['DBA']; ContactGUID = json['ContactGUID']; ProjectEndDate = JsonConverters.fromJson(json['ProjectEndDate'],'DateTime',context!); Rate = json['Rate']; JobID = json['JobID']; JobName = json['JobName']; JobCount = json['JobCount']; Locked = json['Locked']; LockedByAgentId = json['LockedByAgentId']; LockedTimestamp = JsonConverters.fromJson(json['LockedTimestamp'],'DateTime',context!); Initials = json['Initials']; ContactCategoryName = json['ContactCategoryName']; SMSOptIn = json['SMSOptIn']; return this; } Map toJson() => { 'ContactId': ContactId, 'ContactType': ContactType, 'FirstName': FirstName, 'LastName': LastName, 'Name': Name, 'Role': Role, 'Title': Title, 'EmailWork': EmailWork, 'EmailPersonal': EmailPersonal, 'District': District, 'DistrictID': DistrictID, 'School': School, 'SchoolID': SchoolID, 'State': State, 'StateName': StateName, 'StateID': StateID, 'CountyID': CountyID, 'County': County, 'Phone': Phone, 'Department': Department, 'Flow': Flow, 'LastContact': JsonConverters.toJson(LastContact,'DateTime',context!), 'DoNotContact': DoNotContact, 'Active': Active, 'AgentId': AgentId, 'PhoneAlt': PhoneAlt, 'PeraContactId': PeraContactId, 'RoomNumber': RoomNumber, 'SourceTypeId': SourceTypeId, 'SourceTypeDesc': SourceTypeDesc, 'SourceNote': SourceNote, 'ContactStatusId': ContactStatusId, 'ContactStatusDesc': ContactStatusDesc, 'SSN': SSN, 'DateOfBirth': JsonConverters.toJson(DateOfBirth,'DateTime',context!), 'Deleted': Deleted, 'IsShared': IsShared, 'address_line1': address_line1, 'address_city': address_city, 'address_state': address_state, 'address_zip': address_zip, 'DeletedBy': DeletedBy, 'DeletedDateTimeUtc': JsonConverters.toJson(DeletedDateTimeUtc,'DateTime',context!), 'HasNBC': HasNBC, 'HasFactFinderSheet': HasFactFinderSheet, 'MiddleInitial': MiddleInitial, 'Tags': Tags, 'DateCreated': JsonConverters.toJson(DateCreated,'DateTime',context!), 'PhoneLabel': PhoneLabel, 'AltPhoneLabel': AltPhoneLabel, 'Carriers': Carriers, 'ContactImage': ContactImage, 'CompanyAffiliation': CompanyAffiliation, 'AdditionalInformation': AdditionalInformation, 'HasGiftCard': HasGiftCard, 'ContactCategory': ContactCategory, 'WritingAgentId': WritingAgentId, 'WritingAgentName': WritingAgentName, 'MaritalStatus': MaritalStatus, 'TotalDebtAmount': TotalDebtAmount, 'NumberOfDebtAccounts': NumberOfDebtAccounts, 'FactFinderCodeId': FactFinderCodeId, 'BusinessName': BusinessName, 'DBA': DBA, 'ContactGUID': ContactGUID, 'ProjectEndDate': JsonConverters.toJson(ProjectEndDate,'DateTime',context!), 'Rate': Rate, 'JobID': JobID, 'JobName': JobName, 'JobCount': JobCount, 'Locked': Locked, 'LockedByAgentId': LockedByAgentId, 'LockedTimestamp': JsonConverters.toJson(LockedTimestamp,'DateTime',context!), 'Initials': Initials, 'ContactCategoryName': ContactCategoryName, 'SMSOptIn': SMSOptIn }; getTypeName() => "Contact"; TypeContext? context = _ctx; } class SchedulerTimeslot implements IConvertible { DateTime? Day; Duration? Time; int? Duration; DateTime? StartDateTime; DateTime? EndDateTime; String? TimeFriendly; Contact? Contact; List? ServiceIds = []; String? LocationId; bool? Unavailable; List? BookedIds = []; String? CalendarId; String? SchedulerUrl; SchedulerTimeslot({this.Day,this.Time,this.Duration,this.StartDateTime,this.EndDateTime,this.TimeFriendly,this.Contact,this.ServiceIds,this.LocationId,this.Unavailable,this.BookedIds,this.CalendarId,this.SchedulerUrl}); SchedulerTimeslot.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Day = JsonConverters.fromJson(json['Day'],'DateTime',context!); Time = JsonConverters.fromJson(json['Time'],'Duration',context!); Duration = json['Duration']; StartDateTime = JsonConverters.fromJson(json['StartDateTime'],'DateTime',context!); EndDateTime = JsonConverters.fromJson(json['EndDateTime'],'DateTime',context!); TimeFriendly = json['TimeFriendly']; Contact = JsonConverters.fromJson(json['Contact'],'Contact',context!); ServiceIds = JsonConverters.fromJson(json['ServiceIds'],'List',context!); LocationId = json['LocationId']; Unavailable = json['Unavailable']; BookedIds = JsonConverters.fromJson(json['BookedIds'],'List',context!); CalendarId = json['CalendarId']; SchedulerUrl = json['SchedulerUrl']; return this; } Map toJson() => { 'Day': JsonConverters.toJson(Day,'DateTime',context!), 'Time': JsonConverters.toJson(Time,'Duration',context!), 'Duration': Duration, 'StartDateTime': JsonConverters.toJson(StartDateTime,'DateTime',context!), 'EndDateTime': JsonConverters.toJson(EndDateTime,'DateTime',context!), 'TimeFriendly': TimeFriendly, 'Contact': JsonConverters.toJson(Contact,'Contact',context!), 'ServiceIds': JsonConverters.toJson(ServiceIds,'List',context!), 'LocationId': LocationId, 'Unavailable': Unavailable, 'BookedIds': JsonConverters.toJson(BookedIds,'List',context!), 'CalendarId': CalendarId, 'SchedulerUrl': SchedulerUrl }; getTypeName() => "SchedulerTimeslot"; TypeContext? context = _ctx; } class SchedulerTimeslotResponse implements IConvertible { ResponseStatus? ResponseStatus; SchedulerTimeslot? Timeslot; SchedulerTimeslotResponse({this.ResponseStatus,this.Timeslot}); SchedulerTimeslotResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); Timeslot = JsonConverters.fromJson(json['Timeslot'],'SchedulerTimeslot',context!); return this; } Map toJson() => { 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!), 'Timeslot': JsonConverters.toJson(Timeslot,'SchedulerTimeslot',context!) }; getTypeName() => "SchedulerTimeslotResponse"; TypeContext? context = _ctx; } // @Route("/v1/Scheduler/Timeslot/{SchedulerUrl}/{TimeslotId}/{Checksum}", "GET,OPTIONS") class SchedulerTimeslotRequest implements IReturn, IConvertible, IGet { String? SchedulerUrl; int? TimeslotId; String? Checksum; SchedulerTimeslotRequest({this.SchedulerUrl,this.TimeslotId,this.Checksum}); SchedulerTimeslotRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { SchedulerUrl = json['SchedulerUrl']; TimeslotId = json['TimeslotId']; Checksum = json['Checksum']; return this; } Map toJson() => { 'SchedulerUrl': SchedulerUrl, 'TimeslotId': TimeslotId, 'Checksum': Checksum }; createResponse() => SchedulerTimeslotResponse(); getResponseTypeName() => "SchedulerTimeslotResponse"; getTypeName() => "SchedulerTimeslotRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: { 'Contact': TypeInfo(TypeOf.Class, create:() => Contact()), 'SchedulerTimeslot': TypeInfo(TypeOf.Class, create:() => SchedulerTimeslot()), 'SchedulerTimeslotResponse': TypeInfo(TypeOf.Class, create:() => SchedulerTimeslotResponse()), 'SchedulerTimeslotRequest': TypeInfo(TypeOf.Class, create:() => SchedulerTimeslotRequest()), });