/* Options: Date: 2026-08-10 17:07:04 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: LaborSalesSummaryRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class DayView implements IConvertible { String? DateIso; double? GrossSales; int? TransactionCount; double? LaborHours; double? CostedHours; double? LaborCost; int? WorkerCount; double? LaborPct; double? Splh; DayView({this.DateIso,this.GrossSales,this.TransactionCount,this.LaborHours,this.CostedHours,this.LaborCost,this.WorkerCount,this.LaborPct,this.Splh}); DayView.fromJson(Map json) { fromMap(json); } fromMap(Map json) { DateIso = json['DateIso']; GrossSales = JsonConverters.toDouble(json['GrossSales']); TransactionCount = json['TransactionCount']; LaborHours = JsonConverters.toDouble(json['LaborHours']); CostedHours = JsonConverters.toDouble(json['CostedHours']); LaborCost = JsonConverters.toDouble(json['LaborCost']); WorkerCount = json['WorkerCount']; LaborPct = JsonConverters.toDouble(json['LaborPct']); Splh = JsonConverters.toDouble(json['Splh']); return this; } Map toJson() => { 'DateIso': DateIso, 'GrossSales': GrossSales, 'TransactionCount': TransactionCount, 'LaborHours': LaborHours, 'CostedHours': CostedHours, 'LaborCost': LaborCost, 'WorkerCount': WorkerCount, 'LaborPct': LaborPct, 'Splh': Splh }; getTypeName() => "DayView"; TypeContext? context = _ctx; } class LocationView implements IConvertible { String? LocationId; String? LocationName; double? GrossSales; int? TransactionCount; double? SharePct; String? BranchId; String? BranchName; double? LaborHours; double? CostedHours; double? LaborCost; double? LaborPct; double? Splh; LocationView({this.LocationId,this.LocationName,this.GrossSales,this.TransactionCount,this.SharePct,this.BranchId,this.BranchName,this.LaborHours,this.CostedHours,this.LaborCost,this.LaborPct,this.Splh}); LocationView.fromJson(Map json) { fromMap(json); } fromMap(Map json) { LocationId = json['LocationId']; LocationName = json['LocationName']; GrossSales = JsonConverters.toDouble(json['GrossSales']); TransactionCount = json['TransactionCount']; SharePct = JsonConverters.toDouble(json['SharePct']); BranchId = json['BranchId']; BranchName = json['BranchName']; LaborHours = JsonConverters.toDouble(json['LaborHours']); CostedHours = JsonConverters.toDouble(json['CostedHours']); LaborCost = JsonConverters.toDouble(json['LaborCost']); LaborPct = JsonConverters.toDouble(json['LaborPct']); Splh = JsonConverters.toDouble(json['Splh']); return this; } Map toJson() => { 'LocationId': LocationId, 'LocationName': LocationName, 'GrossSales': GrossSales, 'TransactionCount': TransactionCount, 'SharePct': SharePct, 'BranchId': BranchId, 'BranchName': BranchName, 'LaborHours': LaborHours, 'CostedHours': CostedHours, 'LaborCost': LaborCost, 'LaborPct': LaborPct, 'Splh': Splh }; getTypeName() => "LocationView"; TypeContext? context = _ctx; } class TotalsView implements IConvertible { double? GrossSales; int? TransactionCount; double? LaborHours; double? CostedHours; double? LaborCost; double? LaborPct; double? Splh; int? DaysWithSales; int? DaysWithLabor; TotalsView({this.GrossSales,this.TransactionCount,this.LaborHours,this.CostedHours,this.LaborCost,this.LaborPct,this.Splh,this.DaysWithSales,this.DaysWithLabor}); TotalsView.fromJson(Map json) { fromMap(json); } fromMap(Map json) { GrossSales = JsonConverters.toDouble(json['GrossSales']); TransactionCount = json['TransactionCount']; LaborHours = JsonConverters.toDouble(json['LaborHours']); CostedHours = JsonConverters.toDouble(json['CostedHours']); LaborCost = JsonConverters.toDouble(json['LaborCost']); LaborPct = JsonConverters.toDouble(json['LaborPct']); Splh = JsonConverters.toDouble(json['Splh']); DaysWithSales = json['DaysWithSales']; DaysWithLabor = json['DaysWithLabor']; return this; } Map toJson() => { 'GrossSales': GrossSales, 'TransactionCount': TransactionCount, 'LaborHours': LaborHours, 'CostedHours': CostedHours, 'LaborCost': LaborCost, 'LaborPct': LaborPct, 'Splh': Splh, 'DaysWithSales': DaysWithSales, 'DaysWithLabor': DaysWithLabor }; getTypeName() => "TotalsView"; TypeContext? context = _ctx; } class SummaryView implements IConvertible { bool? Configured; bool? Connected; bool? NeedsReconnect; String? Currency; List? Days = []; List? Locations = []; TotalsView? Totals; TotalsView? PriorTotals; String? AttributionNote; SummaryView({this.Configured,this.Connected,this.NeedsReconnect,this.Currency,this.Days,this.Locations,this.Totals,this.PriorTotals,this.AttributionNote}); SummaryView.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Configured = json['Configured']; Connected = json['Connected']; NeedsReconnect = json['NeedsReconnect']; Currency = json['Currency']; Days = JsonConverters.fromJson(json['Days'],'List',context!); Locations = JsonConverters.fromJson(json['Locations'],'List',context!); Totals = JsonConverters.fromJson(json['Totals'],'TotalsView',context!); PriorTotals = JsonConverters.fromJson(json['PriorTotals'],'TotalsView',context!); AttributionNote = json['AttributionNote']; return this; } Map toJson() => { 'Configured': Configured, 'Connected': Connected, 'NeedsReconnect': NeedsReconnect, 'Currency': Currency, 'Days': JsonConverters.toJson(Days,'List',context!), 'Locations': JsonConverters.toJson(Locations,'List',context!), 'Totals': JsonConverters.toJson(Totals,'TotalsView',context!), 'PriorTotals': JsonConverters.toJson(PriorTotals,'TotalsView',context!), 'AttributionNote': AttributionNote }; getTypeName() => "SummaryView"; TypeContext? context = _ctx; } class LaborSalesSummaryResponse implements IConvertible { SummaryView? Summary; String? FromDate; String? ToDate; ResponseStatus? ResponseStatus; LaborSalesSummaryResponse({this.Summary,this.FromDate,this.ToDate,this.ResponseStatus}); LaborSalesSummaryResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Summary = JsonConverters.fromJson(json['Summary'],'SummaryView',context!); FromDate = json['FromDate']; ToDate = json['ToDate']; ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); return this; } Map toJson() => { 'Summary': JsonConverters.toJson(Summary,'SummaryView',context!), 'FromDate': FromDate, 'ToDate': ToDate, 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!) }; getTypeName() => "LaborSalesSummaryResponse"; TypeContext? context = _ctx; } // @Route("/v1/laborsales/summary", "GET,OPTIONS") class LaborSalesSummaryRequest implements IReturn, IConvertible, IGet { String? FromDate; String? ToDate; LaborSalesSummaryRequest({this.FromDate,this.ToDate}); LaborSalesSummaryRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { FromDate = json['FromDate']; ToDate = json['ToDate']; return this; } Map toJson() => { 'FromDate': FromDate, 'ToDate': ToDate }; createResponse() => LaborSalesSummaryResponse(); getResponseTypeName() => "LaborSalesSummaryResponse"; getTypeName() => "LaborSalesSummaryRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: { 'DayView': TypeInfo(TypeOf.Class, create:() => DayView()), 'LocationView': TypeInfo(TypeOf.Class, create:() => LocationView()), 'TotalsView': TypeInfo(TypeOf.Class, create:() => TotalsView()), 'SummaryView': TypeInfo(TypeOf.Class, create:() => SummaryView()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'LaborSalesSummaryResponse': TypeInfo(TypeOf.Class, create:() => LaborSalesSummaryResponse()), 'LaborSalesSummaryRequest': TypeInfo(TypeOf.Class, create:() => LaborSalesSummaryRequest()), });