/* Options: Date: 2026-10-21 02:18:21 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: DispatchHeartbeatRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class DispatchHeartbeatTenantResult implements IConvertible { String? TenantId; int? Tickets; int? Releases; int? PingsCascaded; int? OffersExpired; String? Error; DispatchHeartbeatTenantResult({this.TenantId,this.Tickets,this.Releases,this.PingsCascaded,this.OffersExpired,this.Error}); DispatchHeartbeatTenantResult.fromJson(Map json) { fromMap(json); } fromMap(Map json) { TenantId = json['TenantId']; Tickets = json['Tickets']; Releases = json['Releases']; PingsCascaded = json['PingsCascaded']; OffersExpired = json['OffersExpired']; Error = json['Error']; return this; } Map toJson() => { 'TenantId': TenantId, 'Tickets': Tickets, 'Releases': Releases, 'PingsCascaded': PingsCascaded, 'OffersExpired': OffersExpired, 'Error': Error }; getTypeName() => "DispatchHeartbeatTenantResult"; TypeContext? context = _ctx; } class DispatchHeartbeatResponse implements IConvertible { int? Tenants; int? Tickets; int? Releases; int? PingsCascaded; int? OffersExpired; int? WitnessTenants; int? WitnessOffersMade; int? WitnessOffersExpired; List? WitnessErrors = []; int? DiningReminders; int? ThreadsScheduled; int? ThreadsClosed; int? RoleChanges; int? RoleReleases; int? OfferPushes; int? CourierTenants; int? CourierOffers; int? CourierHeld; int? CourierLapsed; int? CourierBooked; List? CourierErrors = []; int? WorkPhotosPurged; int? SmsMessagesPurged; int? SecretsRewritten; List? Results = []; ResponseStatus? ResponseStatus; DispatchHeartbeatResponse({this.Tenants,this.Tickets,this.Releases,this.PingsCascaded,this.OffersExpired,this.WitnessTenants,this.WitnessOffersMade,this.WitnessOffersExpired,this.WitnessErrors,this.DiningReminders,this.ThreadsScheduled,this.ThreadsClosed,this.RoleChanges,this.RoleReleases,this.OfferPushes,this.CourierTenants,this.CourierOffers,this.CourierHeld,this.CourierLapsed,this.CourierBooked,this.CourierErrors,this.WorkPhotosPurged,this.SmsMessagesPurged,this.SecretsRewritten,this.Results,this.ResponseStatus}); DispatchHeartbeatResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Tenants = json['Tenants']; Tickets = json['Tickets']; Releases = json['Releases']; PingsCascaded = json['PingsCascaded']; OffersExpired = json['OffersExpired']; WitnessTenants = json['WitnessTenants']; WitnessOffersMade = json['WitnessOffersMade']; WitnessOffersExpired = json['WitnessOffersExpired']; WitnessErrors = JsonConverters.fromJson(json['WitnessErrors'],'List',context!); DiningReminders = json['DiningReminders']; ThreadsScheduled = json['ThreadsScheduled']; ThreadsClosed = json['ThreadsClosed']; RoleChanges = json['RoleChanges']; RoleReleases = json['RoleReleases']; OfferPushes = json['OfferPushes']; CourierTenants = json['CourierTenants']; CourierOffers = json['CourierOffers']; CourierHeld = json['CourierHeld']; CourierLapsed = json['CourierLapsed']; CourierBooked = json['CourierBooked']; CourierErrors = JsonConverters.fromJson(json['CourierErrors'],'List',context!); WorkPhotosPurged = json['WorkPhotosPurged']; SmsMessagesPurged = json['SmsMessagesPurged']; SecretsRewritten = json['SecretsRewritten']; Results = JsonConverters.fromJson(json['Results'],'List',context!); ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); return this; } Map toJson() => { 'Tenants': Tenants, 'Tickets': Tickets, 'Releases': Releases, 'PingsCascaded': PingsCascaded, 'OffersExpired': OffersExpired, 'WitnessTenants': WitnessTenants, 'WitnessOffersMade': WitnessOffersMade, 'WitnessOffersExpired': WitnessOffersExpired, 'WitnessErrors': JsonConverters.toJson(WitnessErrors,'List',context!), 'DiningReminders': DiningReminders, 'ThreadsScheduled': ThreadsScheduled, 'ThreadsClosed': ThreadsClosed, 'RoleChanges': RoleChanges, 'RoleReleases': RoleReleases, 'OfferPushes': OfferPushes, 'CourierTenants': CourierTenants, 'CourierOffers': CourierOffers, 'CourierHeld': CourierHeld, 'CourierLapsed': CourierLapsed, 'CourierBooked': CourierBooked, 'CourierErrors': JsonConverters.toJson(CourierErrors,'List',context!), 'WorkPhotosPurged': WorkPhotosPurged, 'SmsMessagesPurged': SmsMessagesPurged, 'SecretsRewritten': SecretsRewritten, 'Results': JsonConverters.toJson(Results,'List',context!), 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!) }; getTypeName() => "DispatchHeartbeatResponse"; TypeContext? context = _ctx; } // @Route("/v1/dispatch/heartbeat", "POST,OPTIONS") class DispatchHeartbeatRequest implements IReturn, IConvertible, IPost { String? TenantId; DispatchHeartbeatRequest({this.TenantId}); DispatchHeartbeatRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { TenantId = json['TenantId']; return this; } Map toJson() => { 'TenantId': TenantId }; createResponse() => DispatchHeartbeatResponse(); getResponseTypeName() => "DispatchHeartbeatResponse"; getTypeName() => "DispatchHeartbeatRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: { 'DispatchHeartbeatTenantResult': TypeInfo(TypeOf.Class, create:() => DispatchHeartbeatTenantResult()), 'DispatchHeartbeatResponse': TypeInfo(TypeOf.Class, create:() => DispatchHeartbeatResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'DispatchHeartbeatRequest': TypeInfo(TypeOf.Class, create:() => DispatchHeartbeatRequest()), });