Trendsic Platform Service

<back to all web services

SchedulerRequest

The following routes are available for this service:
GET,OPTIONS/v1/Scheduler/{SchedulerUrl}
GET,OPTIONS/v1/Scheduler/{SchedulerUrl}/{StartDate}
GET,OPTIONS/v1/Scheduler/{SchedulerUrl}/{StartDate}/{LocalDate}
GET,OPTIONS/v1/SchedulerServices/{SchedulerUrl}/{StartDate}/{ServiceIdsList}
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

class SchedulerRequest implements IConvertible
{
    String? SchedulerUrl;
    DateTime? StartDate;
    List<String>? Session = [];
    String? ServiceIdsList;

    SchedulerRequest({this.SchedulerUrl,this.StartDate,this.Session,this.ServiceIdsList});
    SchedulerRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        SchedulerUrl = json['SchedulerUrl'];
        StartDate = JsonConverters.fromJson(json['StartDate'],'DateTime',context!);
        Session = JsonConverters.fromJson(json['Session'],'List<String>',context!);
        ServiceIdsList = json['ServiceIdsList'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'SchedulerUrl': SchedulerUrl,
        'StartDate': JsonConverters.toJson(StartDate,'DateTime',context!),
        'Session': JsonConverters.toJson(Session,'List<String>',context!),
        'ServiceIdsList': ServiceIdsList
    };

    getTypeName() => "SchedulerRequest";
    TypeContext? context = _ctx;
}

class Location implements IConvertible
{
    String? Id;
    String? ClientId;
    String? Name;
    String? Address1;
    String? Address2;
    String? City;
    String? State;
    String? Zip;
    String? Phone;
    String? Fax;
    String? URL;
    String? Email;
    String? TimeZone;
    bool? Active;
    DateTime? EntDate;
    DateTime? ModDate;
    String? LocationImage;

    Location({this.Id,this.ClientId,this.Name,this.Address1,this.Address2,this.City,this.State,this.Zip,this.Phone,this.Fax,this.URL,this.Email,this.TimeZone,this.Active,this.EntDate,this.ModDate,this.LocationImage});
    Location.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        ClientId = json['ClientId'];
        Name = json['Name'];
        Address1 = json['Address1'];
        Address2 = json['Address2'];
        City = json['City'];
        State = json['State'];
        Zip = json['Zip'];
        Phone = json['Phone'];
        Fax = json['Fax'];
        URL = json['URL'];
        Email = json['Email'];
        TimeZone = json['TimeZone'];
        Active = json['Active'];
        EntDate = JsonConverters.fromJson(json['EntDate'],'DateTime',context!);
        ModDate = JsonConverters.fromJson(json['ModDate'],'DateTime',context!);
        LocationImage = json['LocationImage'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'ClientId': ClientId,
        'Name': Name,
        'Address1': Address1,
        'Address2': Address2,
        'City': City,
        'State': State,
        'Zip': Zip,
        'Phone': Phone,
        'Fax': Fax,
        'URL': URL,
        'Email': Email,
        'TimeZone': TimeZone,
        'Active': Active,
        'EntDate': JsonConverters.toJson(EntDate,'DateTime',context!),
        'ModDate': JsonConverters.toJson(ModDate,'DateTime',context!),
        'LocationImage': LocationImage
    };

    getTypeName() => "Location";
    TypeContext? context = _ctx;
}

class QueueDefault implements IConvertible
{
    String? LocationId;
    List<String>? Services = [];

    QueueDefault({this.LocationId,this.Services});
    QueueDefault.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        LocationId = json['LocationId'];
        Services = JsonConverters.fromJson(json['Services'],'List<String>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'LocationId': LocationId,
        'Services': JsonConverters.toJson(Services,'List<String>',context!)
    };

    getTypeName() => "QueueDefault";
    TypeContext? context = _ctx;
}

class Agent implements IConvertible
{
    int? AgentId;
    String? Company;
    String? AgentName;
    String? FirstName;
    String? LastName;
    String? MiddleInitial;
    String? Address1;
    String? Address2;
    String? City;
    String? State;
    String? Zip;
    String? Country;
    String? Email;
    String? EmailSignature;
    String? HomePhone;
    String? CellPhone;
    String? WorkPhone;
    bool? InsLicensed;
    bool? AgreeToDisclosures;
    DateTime? AgreeToDate;
    DateTime? PaidDate;
    String? AgentNumber;
    String? ReferringAgent;
    String? PlacementAgent;
    DateTime? CreatedDate;
    String? UserId;
    bool? IsAgent;
    String? Package;
    String? StoreName;
    String? Notes;
    int? Upline1;
    int? Upline2;
    int? Upline3;
    int? Upline4;
    int? MVPID;
    int? AVPID;
    int? RVPID;
    double? AgentLevel;
    bool? IsMVP;
    bool? IsRVP;
    bool? IsAVP;
    bool? IsAdmin;
    bool? IsBusinessCardAdmin;
    String? TeamName;
    String? LocationId;
    String? CalendarId;
    String? Rank;
    bool? NBC;
    double? Upline1Percent;
    double? Upline2Percent;
    double? Upline3Percent;
    double? Upline4Percent;
    String? AgentStatus;
    String? Office;
    DateTime? DOB;
    String? SSN;
    String? Fax;
    String? BusinessEmail;
    DateTime? ModifiedDate;
    String? ModifiedBy;
    String? TimeZone;
    bool? LeaderLocked;
    DateTime? LastSubmittedBusinessDate;
    DateTime? GracePeriodDate;
    bool? Vested;
    DateTime? DirectPay;
    String? DirectPayApprBy;
    double? FactFinderBilling;
    String? FullName;
    String? ByLastName;
    bool? IsSecurityLicensed;
    bool? IsEncompassAdmin;
    String? ApiKey;
    String? LastSessionId;
    DateTime? LastLogin;
    bool? MfaActive;
    bool? RequireMFA;
    String? SMSPhoneNumber;
    bool? VerifiedEmailStatus;
    bool? VerifiedCellPhoneStatus;
    String? SchedulerUrl;
    QueueDefault? QueueDefaults;
    List<String>? Roles = [];
    bool? PasswordUpdated;
    bool? RestrictToSingleSession;
    String? AgentImage;

    Agent({this.AgentId,this.Company,this.AgentName,this.FirstName,this.LastName,this.MiddleInitial,this.Address1,this.Address2,this.City,this.State,this.Zip,this.Country,this.Email,this.EmailSignature,this.HomePhone,this.CellPhone,this.WorkPhone,this.InsLicensed,this.AgreeToDisclosures,this.AgreeToDate,this.PaidDate,this.AgentNumber,this.ReferringAgent,this.PlacementAgent,this.CreatedDate,this.UserId,this.IsAgent,this.Package,this.StoreName,this.Notes,this.Upline1,this.Upline2,this.Upline3,this.Upline4,this.MVPID,this.AVPID,this.RVPID,this.AgentLevel,this.IsMVP,this.IsRVP,this.IsAVP,this.IsAdmin,this.IsBusinessCardAdmin,this.TeamName,this.LocationId,this.CalendarId,this.Rank,this.NBC,this.Upline1Percent,this.Upline2Percent,this.Upline3Percent,this.Upline4Percent,this.AgentStatus,this.Office,this.DOB,this.SSN,this.Fax,this.BusinessEmail,this.ModifiedDate,this.ModifiedBy,this.TimeZone,this.LeaderLocked,this.LastSubmittedBusinessDate,this.GracePeriodDate,this.Vested,this.DirectPay,this.DirectPayApprBy,this.FactFinderBilling,this.FullName,this.ByLastName,this.IsSecurityLicensed,this.IsEncompassAdmin,this.ApiKey,this.LastSessionId,this.LastLogin,this.MfaActive,this.RequireMFA,this.SMSPhoneNumber,this.VerifiedEmailStatus,this.VerifiedCellPhoneStatus,this.SchedulerUrl,this.QueueDefaults,this.Roles,this.PasswordUpdated,this.RestrictToSingleSession,this.AgentImage});
    Agent.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        AgentId = json['AgentId'];
        Company = json['Company'];
        AgentName = json['AgentName'];
        FirstName = json['FirstName'];
        LastName = json['LastName'];
        MiddleInitial = json['MiddleInitial'];
        Address1 = json['Address1'];
        Address2 = json['Address2'];
        City = json['City'];
        State = json['State'];
        Zip = json['Zip'];
        Country = json['Country'];
        Email = json['Email'];
        EmailSignature = json['EmailSignature'];
        HomePhone = json['HomePhone'];
        CellPhone = json['CellPhone'];
        WorkPhone = json['WorkPhone'];
        InsLicensed = json['InsLicensed'];
        AgreeToDisclosures = json['AgreeToDisclosures'];
        AgreeToDate = JsonConverters.fromJson(json['AgreeToDate'],'DateTime',context!);
        PaidDate = JsonConverters.fromJson(json['PaidDate'],'DateTime',context!);
        AgentNumber = json['AgentNumber'];
        ReferringAgent = json['ReferringAgent'];
        PlacementAgent = json['PlacementAgent'];
        CreatedDate = JsonConverters.fromJson(json['CreatedDate'],'DateTime',context!);
        UserId = json['UserId'];
        IsAgent = json['IsAgent'];
        Package = json['Package'];
        StoreName = json['StoreName'];
        Notes = json['Notes'];
        Upline1 = json['Upline1'];
        Upline2 = json['Upline2'];
        Upline3 = json['Upline3'];
        Upline4 = json['Upline4'];
        MVPID = json['MVPID'];
        AVPID = json['AVPID'];
        RVPID = json['RVPID'];
        AgentLevel = JsonConverters.toDouble(json['AgentLevel']);
        IsMVP = json['IsMVP'];
        IsRVP = json['IsRVP'];
        IsAVP = json['IsAVP'];
        IsAdmin = json['IsAdmin'];
        IsBusinessCardAdmin = json['IsBusinessCardAdmin'];
        TeamName = json['TeamName'];
        LocationId = json['LocationId'];
        CalendarId = json['CalendarId'];
        Rank = json['Rank'];
        NBC = json['NBC'];
        Upline1Percent = JsonConverters.toDouble(json['Upline1Percent']);
        Upline2Percent = JsonConverters.toDouble(json['Upline2Percent']);
        Upline3Percent = JsonConverters.toDouble(json['Upline3Percent']);
        Upline4Percent = JsonConverters.toDouble(json['Upline4Percent']);
        AgentStatus = json['AgentStatus'];
        Office = json['Office'];
        DOB = JsonConverters.fromJson(json['DOB'],'DateTime',context!);
        SSN = json['SSN'];
        Fax = json['Fax'];
        BusinessEmail = json['BusinessEmail'];
        ModifiedDate = JsonConverters.fromJson(json['ModifiedDate'],'DateTime',context!);
        ModifiedBy = json['ModifiedBy'];
        TimeZone = json['TimeZone'];
        LeaderLocked = json['LeaderLocked'];
        LastSubmittedBusinessDate = JsonConverters.fromJson(json['LastSubmittedBusinessDate'],'DateTime',context!);
        GracePeriodDate = JsonConverters.fromJson(json['GracePeriodDate'],'DateTime',context!);
        Vested = json['Vested'];
        DirectPay = JsonConverters.fromJson(json['DirectPay'],'DateTime',context!);
        DirectPayApprBy = json['DirectPayApprBy'];
        FactFinderBilling = JsonConverters.toDouble(json['FactFinderBilling']);
        FullName = json['FullName'];
        ByLastName = json['ByLastName'];
        IsSecurityLicensed = json['IsSecurityLicensed'];
        IsEncompassAdmin = json['IsEncompassAdmin'];
        ApiKey = json['ApiKey'];
        LastSessionId = json['LastSessionId'];
        LastLogin = JsonConverters.fromJson(json['LastLogin'],'DateTime',context!);
        MfaActive = json['MfaActive'];
        RequireMFA = json['RequireMFA'];
        SMSPhoneNumber = json['SMSPhoneNumber'];
        VerifiedEmailStatus = json['VerifiedEmailStatus'];
        VerifiedCellPhoneStatus = json['VerifiedCellPhoneStatus'];
        SchedulerUrl = json['SchedulerUrl'];
        QueueDefaults = JsonConverters.fromJson(json['QueueDefaults'],'QueueDefault',context!);
        Roles = JsonConverters.fromJson(json['Roles'],'List<String>',context!);
        PasswordUpdated = json['PasswordUpdated'];
        RestrictToSingleSession = json['RestrictToSingleSession'];
        AgentImage = json['AgentImage'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'AgentId': AgentId,
        'Company': Company,
        'AgentName': AgentName,
        'FirstName': FirstName,
        'LastName': LastName,
        'MiddleInitial': MiddleInitial,
        'Address1': Address1,
        'Address2': Address2,
        'City': City,
        'State': State,
        'Zip': Zip,
        'Country': Country,
        'Email': Email,
        'EmailSignature': EmailSignature,
        'HomePhone': HomePhone,
        'CellPhone': CellPhone,
        'WorkPhone': WorkPhone,
        'InsLicensed': InsLicensed,
        'AgreeToDisclosures': AgreeToDisclosures,
        'AgreeToDate': JsonConverters.toJson(AgreeToDate,'DateTime',context!),
        'PaidDate': JsonConverters.toJson(PaidDate,'DateTime',context!),
        'AgentNumber': AgentNumber,
        'ReferringAgent': ReferringAgent,
        'PlacementAgent': PlacementAgent,
        'CreatedDate': JsonConverters.toJson(CreatedDate,'DateTime',context!),
        'UserId': UserId,
        'IsAgent': IsAgent,
        'Package': Package,
        'StoreName': StoreName,
        'Notes': Notes,
        'Upline1': Upline1,
        'Upline2': Upline2,
        'Upline3': Upline3,
        'Upline4': Upline4,
        'MVPID': MVPID,
        'AVPID': AVPID,
        'RVPID': RVPID,
        'AgentLevel': AgentLevel,
        'IsMVP': IsMVP,
        'IsRVP': IsRVP,
        'IsAVP': IsAVP,
        'IsAdmin': IsAdmin,
        'IsBusinessCardAdmin': IsBusinessCardAdmin,
        'TeamName': TeamName,
        'LocationId': LocationId,
        'CalendarId': CalendarId,
        'Rank': Rank,
        'NBC': NBC,
        'Upline1Percent': Upline1Percent,
        'Upline2Percent': Upline2Percent,
        'Upline3Percent': Upline3Percent,
        'Upline4Percent': Upline4Percent,
        'AgentStatus': AgentStatus,
        'Office': Office,
        'DOB': JsonConverters.toJson(DOB,'DateTime',context!),
        'SSN': SSN,
        'Fax': Fax,
        'BusinessEmail': BusinessEmail,
        'ModifiedDate': JsonConverters.toJson(ModifiedDate,'DateTime',context!),
        'ModifiedBy': ModifiedBy,
        'TimeZone': TimeZone,
        'LeaderLocked': LeaderLocked,
        'LastSubmittedBusinessDate': JsonConverters.toJson(LastSubmittedBusinessDate,'DateTime',context!),
        'GracePeriodDate': JsonConverters.toJson(GracePeriodDate,'DateTime',context!),
        'Vested': Vested,
        'DirectPay': JsonConverters.toJson(DirectPay,'DateTime',context!),
        'DirectPayApprBy': DirectPayApprBy,
        'FactFinderBilling': FactFinderBilling,
        'FullName': FullName,
        'ByLastName': ByLastName,
        'IsSecurityLicensed': IsSecurityLicensed,
        'IsEncompassAdmin': IsEncompassAdmin,
        'ApiKey': ApiKey,
        'LastSessionId': LastSessionId,
        'LastLogin': JsonConverters.toJson(LastLogin,'DateTime',context!),
        'MfaActive': MfaActive,
        'RequireMFA': RequireMFA,
        'SMSPhoneNumber': SMSPhoneNumber,
        'VerifiedEmailStatus': VerifiedEmailStatus,
        'VerifiedCellPhoneStatus': VerifiedCellPhoneStatus,
        'SchedulerUrl': SchedulerUrl,
        'QueueDefaults': JsonConverters.toJson(QueueDefaults,'QueueDefault',context!),
        'Roles': JsonConverters.toJson(Roles,'List<String>',context!),
        'PasswordUpdated': PasswordUpdated,
        'RestrictToSingleSession': RestrictToSingleSession,
        'AgentImage': AgentImage
    };

    getTypeName() => "Agent";
    TypeContext? context = _ctx;
}

class ScheduleConfigTimeBlock implements IConvertible
{
    Duration? StartTime;
    String? DayStartFriendly;
    Duration? EndTime;
    String? DayEndFriendly;

    ScheduleConfigTimeBlock({this.StartTime,this.DayStartFriendly,this.EndTime,this.DayEndFriendly});
    ScheduleConfigTimeBlock.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        StartTime = JsonConverters.fromJson(json['StartTime'],'Duration',context!);
        DayStartFriendly = json['DayStartFriendly'];
        EndTime = JsonConverters.fromJson(json['EndTime'],'Duration',context!);
        DayEndFriendly = json['DayEndFriendly'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'StartTime': JsonConverters.toJson(StartTime,'Duration',context!),
        'DayStartFriendly': DayStartFriendly,
        'EndTime': JsonConverters.toJson(EndTime,'Duration',context!),
        'DayEndFriendly': DayEndFriendly
    };

    getTypeName() => "ScheduleConfigTimeBlock";
    TypeContext? context = _ctx;
}

class ScheduleConfigDay implements IConvertible
{
    String? DayName;
    int? DayNumber;
    bool? DayEnabled;
    List<ScheduleConfigTimeBlock>? TimeBlocks = [];

    ScheduleConfigDay({this.DayName,this.DayNumber,this.DayEnabled,this.TimeBlocks});
    ScheduleConfigDay.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        DayName = json['DayName'];
        DayNumber = json['DayNumber'];
        DayEnabled = json['DayEnabled'];
        TimeBlocks = JsonConverters.fromJson(json['TimeBlocks'],'List<ScheduleConfigTimeBlock>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'DayName': DayName,
        'DayNumber': DayNumber,
        'DayEnabled': DayEnabled,
        'TimeBlocks': JsonConverters.toJson(TimeBlocks,'List<ScheduleConfigTimeBlock>',context!)
    };

    getTypeName() => "ScheduleConfigDay";
    TypeContext? context = _ctx;
}

class LineImage implements IConvertible
{
    String? ImageId;
    String? LineId;
    String? ImageTitle;
    DateTime? UploadDate;
    String? MimeType;
    String? FileName;

    LineImage({this.ImageId,this.LineId,this.ImageTitle,this.UploadDate,this.MimeType,this.FileName});
    LineImage.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ImageId = json['ImageId'];
        LineId = json['LineId'];
        ImageTitle = json['ImageTitle'];
        UploadDate = JsonConverters.fromJson(json['UploadDate'],'DateTime',context!);
        MimeType = json['MimeType'];
        FileName = json['FileName'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ImageId': ImageId,
        'LineId': LineId,
        'ImageTitle': ImageTitle,
        'UploadDate': JsonConverters.toJson(UploadDate,'DateTime',context!),
        'MimeType': MimeType,
        'FileName': FileName
    };

    getTypeName() => "LineImage";
    TypeContext? context = _ctx;
}

class Line implements IConvertible
{
    String? Id;
    String? LocationId;
    String? LocationName;
    String? Name;
    String? Description;
    int? ServiceDurationMinutes;
    int? WaitTime;
    double? Cost;
    int? UpperThreshold;
    int? LowerThreshold;
    bool? Active;
    DateTime? EntDate;
    DateTime? ModDate;
    bool? SendQuestionnaire;
    bool? RequireUpload;
    String? UploadMessage;
    List<LineImage>? LineImages = [];

    Line({this.Id,this.LocationId,this.LocationName,this.Name,this.Description,this.ServiceDurationMinutes,this.WaitTime,this.Cost,this.UpperThreshold,this.LowerThreshold,this.Active,this.EntDate,this.ModDate,this.SendQuestionnaire,this.RequireUpload,this.UploadMessage,this.LineImages});
    Line.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        LocationId = json['LocationId'];
        LocationName = json['LocationName'];
        Name = json['Name'];
        Description = json['Description'];
        ServiceDurationMinutes = json['ServiceDurationMinutes'];
        WaitTime = json['WaitTime'];
        Cost = JsonConverters.toDouble(json['Cost']);
        UpperThreshold = json['UpperThreshold'];
        LowerThreshold = json['LowerThreshold'];
        Active = json['Active'];
        EntDate = JsonConverters.fromJson(json['EntDate'],'DateTime',context!);
        ModDate = JsonConverters.fromJson(json['ModDate'],'DateTime',context!);
        SendQuestionnaire = json['SendQuestionnaire'];
        RequireUpload = json['RequireUpload'];
        UploadMessage = json['UploadMessage'];
        LineImages = JsonConverters.fromJson(json['LineImages'],'List<LineImage>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'LocationId': LocationId,
        'LocationName': LocationName,
        'Name': Name,
        'Description': Description,
        'ServiceDurationMinutes': ServiceDurationMinutes,
        'WaitTime': WaitTime,
        'Cost': Cost,
        'UpperThreshold': UpperThreshold,
        'LowerThreshold': LowerThreshold,
        'Active': Active,
        'EntDate': JsonConverters.toJson(EntDate,'DateTime',context!),
        'ModDate': JsonConverters.toJson(ModDate,'DateTime',context!),
        'SendQuestionnaire': SendQuestionnaire,
        'RequireUpload': RequireUpload,
        'UploadMessage': UploadMessage,
        'LineImages': JsonConverters.toJson(LineImages,'List<LineImage>',context!)
    };

    getTypeName() => "Line";
    TypeContext? context = _ctx;
}

class SchedulerConfiguration implements IConvertible
{
    int? ConfigId;
    String? SchedulerUrl;
    String? SchedulerName;
    String? DefaultLocation;
    String? DefaultSummary;
    String? DefaultDescription;
    Duration? DayStart;
    String? DayStartFriendly;
    Duration? DayEnd;
    String? DayEndFriendly;
    int? TimeslotDuration;
    int? NumberOfSlots;
    String? LocationId;
    String? CalendarId;
    int? AgentId;
    String? TimeZone;
    List<ScheduleConfigDay>? AvailableDateTimes = [];
    List<String>? AvailableServices = [];
    List<Line>? AllServices = [];

    SchedulerConfiguration({this.ConfigId,this.SchedulerUrl,this.SchedulerName,this.DefaultLocation,this.DefaultSummary,this.DefaultDescription,this.DayStart,this.DayStartFriendly,this.DayEnd,this.DayEndFriendly,this.TimeslotDuration,this.NumberOfSlots,this.LocationId,this.CalendarId,this.AgentId,this.TimeZone,this.AvailableDateTimes,this.AvailableServices,this.AllServices});
    SchedulerConfiguration.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ConfigId = json['ConfigId'];
        SchedulerUrl = json['SchedulerUrl'];
        SchedulerName = json['SchedulerName'];
        DefaultLocation = json['DefaultLocation'];
        DefaultSummary = json['DefaultSummary'];
        DefaultDescription = json['DefaultDescription'];
        DayStart = JsonConverters.fromJson(json['DayStart'],'Duration',context!);
        DayStartFriendly = json['DayStartFriendly'];
        DayEnd = JsonConverters.fromJson(json['DayEnd'],'Duration',context!);
        DayEndFriendly = json['DayEndFriendly'];
        TimeslotDuration = json['TimeslotDuration'];
        NumberOfSlots = json['NumberOfSlots'];
        LocationId = json['LocationId'];
        CalendarId = json['CalendarId'];
        AgentId = json['AgentId'];
        TimeZone = json['TimeZone'];
        AvailableDateTimes = JsonConverters.fromJson(json['AvailableDateTimes'],'List<ScheduleConfigDay>',context!);
        AvailableServices = JsonConverters.fromJson(json['AvailableServices'],'List<String>',context!);
        AllServices = JsonConverters.fromJson(json['AllServices'],'List<Line>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ConfigId': ConfigId,
        'SchedulerUrl': SchedulerUrl,
        'SchedulerName': SchedulerName,
        'DefaultLocation': DefaultLocation,
        'DefaultSummary': DefaultSummary,
        'DefaultDescription': DefaultDescription,
        'DayStart': JsonConverters.toJson(DayStart,'Duration',context!),
        'DayStartFriendly': DayStartFriendly,
        'DayEnd': JsonConverters.toJson(DayEnd,'Duration',context!),
        'DayEndFriendly': DayEndFriendly,
        'TimeslotDuration': TimeslotDuration,
        'NumberOfSlots': NumberOfSlots,
        'LocationId': LocationId,
        'CalendarId': CalendarId,
        'AgentId': AgentId,
        'TimeZone': TimeZone,
        'AvailableDateTimes': JsonConverters.toJson(AvailableDateTimes,'List<ScheduleConfigDay>',context!),
        'AvailableServices': JsonConverters.toJson(AvailableServices,'List<String>',context!),
        'AllServices': JsonConverters.toJson(AllServices,'List<Line>',context!)
    };

    getTypeName() => "SchedulerConfiguration";
    TypeContext? context = _ctx;
}

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<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> 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<String, dynamic> 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<String>? ServiceIds = [];
    String? LocationId;
    bool? Unavailable;
    List<int>? 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<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> 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<String>',context!);
        LocationId = json['LocationId'];
        Unavailable = json['Unavailable'];
        BookedIds = JsonConverters.fromJson(json['BookedIds'],'List<int>',context!);
        CalendarId = json['CalendarId'];
        SchedulerUrl = json['SchedulerUrl'];
        return this;
    }

    Map<String, dynamic> 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<String>',context!),
        'LocationId': LocationId,
        'Unavailable': Unavailable,
        'BookedIds': JsonConverters.toJson(BookedIds,'List<int>',context!),
        'CalendarId': CalendarId,
        'SchedulerUrl': SchedulerUrl
    };

    getTypeName() => "SchedulerTimeslot";
    TypeContext? context = _ctx;
}

class SchedulerDay implements IConvertible
{
    DateTime? Day;
    int? MonthNumber;
    int? DayNumber;
    String? DayOfWeek;
    List<SchedulerTimeslot>? Timeslots = [];

    SchedulerDay({this.Day,this.MonthNumber,this.DayNumber,this.DayOfWeek,this.Timeslots});
    SchedulerDay.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Day = JsonConverters.fromJson(json['Day'],'DateTime',context!);
        MonthNumber = json['MonthNumber'];
        DayNumber = json['DayNumber'];
        DayOfWeek = json['DayOfWeek'];
        Timeslots = JsonConverters.fromJson(json['Timeslots'],'List<SchedulerTimeslot>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Day': JsonConverters.toJson(Day,'DateTime',context!),
        'MonthNumber': MonthNumber,
        'DayNumber': DayNumber,
        'DayOfWeek': DayOfWeek,
        'Timeslots': JsonConverters.toJson(Timeslots,'List<SchedulerTimeslot>',context!)
    };

    getTypeName() => "SchedulerDay";
    TypeContext? context = _ctx;
}

class SchedulerWeek implements IConvertible
{
    SchedulerConfiguration? Settings;
    List<SchedulerDay>? Days = [];

    SchedulerWeek({this.Settings,this.Days});
    SchedulerWeek.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Settings = JsonConverters.fromJson(json['Settings'],'SchedulerConfiguration',context!);
        Days = JsonConverters.fromJson(json['Days'],'List<SchedulerDay>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Settings': JsonConverters.toJson(Settings,'SchedulerConfiguration',context!),
        'Days': JsonConverters.toJson(Days,'List<SchedulerDay>',context!)
    };

    getTypeName() => "SchedulerWeek";
    TypeContext? context = _ctx;
}

class SchedulerResponse implements IConvertible
{
    Location? Location;
    Agent? Agent;
    ResponseStatus? ResponseStatus;
    SchedulerWeek? Week;
    List<Line>? Services = [];

    SchedulerResponse({this.Location,this.Agent,this.ResponseStatus,this.Week,this.Services});
    SchedulerResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Location = JsonConverters.fromJson(json['Location'],'Location',context!);
        Agent = JsonConverters.fromJson(json['Agent'],'Agent',context!);
        ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
        Week = JsonConverters.fromJson(json['Week'],'SchedulerWeek',context!);
        Services = JsonConverters.fromJson(json['Services'],'List<Line>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Location': JsonConverters.toJson(Location,'Location',context!),
        'Agent': JsonConverters.toJson(Agent,'Agent',context!),
        'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!),
        'Week': JsonConverters.toJson(Week,'SchedulerWeek',context!),
        'Services': JsonConverters.toJson(Services,'List<Line>',context!)
    };

    getTypeName() => "SchedulerResponse";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
    'SchedulerRequest': TypeInfo(TypeOf.Class, create:() => SchedulerRequest()),
    'Location': TypeInfo(TypeOf.Class, create:() => Location()),
    'QueueDefault': TypeInfo(TypeOf.Class, create:() => QueueDefault()),
    'Agent': TypeInfo(TypeOf.Class, create:() => Agent()),
    'ScheduleConfigTimeBlock': TypeInfo(TypeOf.Class, create:() => ScheduleConfigTimeBlock()),
    'ScheduleConfigDay': TypeInfo(TypeOf.Class, create:() => ScheduleConfigDay()),
    'List<ScheduleConfigTimeBlock>': TypeInfo(TypeOf.Class, create:() => <ScheduleConfigTimeBlock>[]),
    'LineImage': TypeInfo(TypeOf.Class, create:() => LineImage()),
    'Line': TypeInfo(TypeOf.Class, create:() => Line()),
    'List<LineImage>': TypeInfo(TypeOf.Class, create:() => <LineImage>[]),
    'SchedulerConfiguration': TypeInfo(TypeOf.Class, create:() => SchedulerConfiguration()),
    'List<ScheduleConfigDay>': TypeInfo(TypeOf.Class, create:() => <ScheduleConfigDay>[]),
    'List<Line>': TypeInfo(TypeOf.Class, create:() => <Line>[]),
    'Contact': TypeInfo(TypeOf.Class, create:() => Contact()),
    'SchedulerTimeslot': TypeInfo(TypeOf.Class, create:() => SchedulerTimeslot()),
    'SchedulerDay': TypeInfo(TypeOf.Class, create:() => SchedulerDay()),
    'List<SchedulerTimeslot>': TypeInfo(TypeOf.Class, create:() => <SchedulerTimeslot>[]),
    'SchedulerWeek': TypeInfo(TypeOf.Class, create:() => SchedulerWeek()),
    'List<SchedulerDay>': TypeInfo(TypeOf.Class, create:() => <SchedulerDay>[]),
    'SchedulerResponse': TypeInfo(TypeOf.Class, create:() => SchedulerResponse()),
});

Dart SchedulerRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /v1/Scheduler/{SchedulerUrl} HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"Location":{"Id":"00000000000000000000000000000000","ClientId":"00000000000000000000000000000000","Name":"String","Address1":"String","Address2":"String","City":"String","State":"String","Zip":"String","Phone":"String","Fax":"String","URL":"String","Email":"String","TimeZone":"String","Active":false,"EntDate":"0001-01-01T00:00:00.0000000","ModDate":"0001-01-01T00:00:00.0000000","LocationImage":"String"},"Agent":{"AgentId":0,"Company":"String","AgentName":"String","FirstName":"String","LastName":"String","MiddleInitial":"String","Address1":"String","Address2":"String","City":"String","State":"String","Zip":"String","Country":"String","Email":"String","EmailSignature":"String","HomePhone":"String","CellPhone":"String","WorkPhone":"String","InsLicensed":false,"AgreeToDisclosures":false,"AgreeToDate":"0001-01-01T00:00:00.0000000","PaidDate":"0001-01-01T00:00:00.0000000","AgentNumber":"String","ReferringAgent":"String","PlacementAgent":"String","CreatedDate":"0001-01-01T00:00:00.0000000","UserId":"00000000000000000000000000000000","IsAgent":false,"Package":"String","StoreName":"String","Notes":"String","Upline1":0,"Upline2":0,"Upline3":0,"Upline4":0,"MVPID":0,"AVPID":0,"RVPID":0,"AgentLevel":0,"IsMVP":false,"IsRVP":false,"IsAVP":false,"IsAdmin":false,"IsBusinessCardAdmin":false,"TeamName":"String","LocationId":"00000000000000000000000000000000","CalendarId":"00000000000000000000000000000000","Rank":"String","NBC":false,"Upline1Percent":0,"Upline2Percent":0,"Upline3Percent":0,"Upline4Percent":0,"AgentStatus":"String","Office":"String","DOB":"0001-01-01T00:00:00.0000000","SSN":"String","Fax":"String","BusinessEmail":"String","ModifiedDate":"0001-01-01T00:00:00.0000000","ModifiedBy":"String","TimeZone":"String","LeaderLocked":false,"LastSubmittedBusinessDate":"0001-01-01T00:00:00.0000000","GracePeriodDate":"0001-01-01T00:00:00.0000000","Vested":false,"DirectPay":"0001-01-01T00:00:00.0000000","DirectPayApprBy":"String","FactFinderBilling":0,"FullName":"String","ByLastName":"String","IsSecurityLicensed":false,"IsEncompassAdmin":false,"ApiKey":"00000000000000000000000000000000","LastSessionId":"String","LastLogin":"0001-01-01T00:00:00.0000000","MfaActive":false,"RequireMFA":false,"SMSPhoneNumber":"String","VerifiedEmailStatus":false,"VerifiedCellPhoneStatus":false,"SchedulerUrl":"String","QueueDefaults":{"LocationId":"00000000000000000000000000000000","Services":["00000000000000000000000000000000"]},"Roles":["String"],"PasswordUpdated":false,"RestrictToSingleSession":false,"AgentImage":"String"},"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}},"Week":{"Settings":{"ConfigId":0,"SchedulerUrl":"String","SchedulerName":"String","DefaultLocation":"String","DefaultSummary":"String","DefaultDescription":"String","DayStart":"PT0S","DayStartFriendly":"00:00","DayEnd":"PT0S","DayEndFriendly":"00:00","TimeslotDuration":0,"NumberOfSlots":0,"LocationId":"00000000000000000000000000000000","CalendarId":"00000000000000000000000000000000","AgentId":0,"TimeZone":"String","AvailableDateTimes":[{"DayName":"String","DayNumber":0,"DayEnabled":false,"TimeBlocks":[{"StartTime":"PT0S","DayStartFriendly":"00:00","EndTime":"PT0S","DayEndFriendly":"00:00"}]}],"AvailableServices":["00000000000000000000000000000000"],"AllServices":[{"Id":"00000000000000000000000000000000","LocationId":"00000000000000000000000000000000","LocationName":"String","Name":"String","Description":"String","ServiceDurationMinutes":0,"WaitTime":0,"Cost":0,"UpperThreshold":0,"LowerThreshold":0,"Active":false,"EntDate":"0001-01-01T00:00:00.0000000","ModDate":"0001-01-01T00:00:00.0000000","SendQuestionnaire":false,"RequireUpload":false,"UploadMessage":"String","LineImages":[{"ImageId":"00000000000000000000000000000000","LineId":"00000000000000000000000000000000","ImageTitle":"String","UploadDate":"0001-01-01T00:00:00.0000000","MimeType":"String","FileName":"String"}]}]},"Days":[{}]},"Services":[{"Id":"00000000000000000000000000000000","LocationId":"00000000000000000000000000000000","LocationName":"String","Name":"String","Description":"String","ServiceDurationMinutes":0,"WaitTime":0,"Cost":0,"UpperThreshold":0,"LowerThreshold":0,"Active":false,"EntDate":"0001-01-01T00:00:00.0000000","ModDate":"0001-01-01T00:00:00.0000000","SendQuestionnaire":false,"RequireUpload":false,"UploadMessage":"String","LineImages":[{"ImageId":"00000000000000000000000000000000","LineId":"00000000000000000000000000000000","ImageTitle":"String","UploadDate":"0001-01-01T00:00:00.0000000","MimeType":"String","FileName":"String"}]}]}