/* Options: Date: 2026-10-01 12:30:53 Version: 6.10 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://stubbur-app.azurewebsites.net //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: CampaignConversionRunRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class CampaignConversionPerson implements IConvertible { String? phone; String? email; int? recipientId; String? channel; DateTime? sentAt; CampaignConversionPerson({this.phone,this.email,this.recipientId,this.channel,this.sentAt}); CampaignConversionPerson.fromJson(Map json) { fromMap(json); } fromMap(Map json) { phone = json['phone']; email = json['email']; recipientId = json['recipientId']; channel = json['channel']; sentAt = JsonConverters.fromJson(json['sentAt'],'DateTime',context!); return this; } Map toJson() => { 'phone': phone, 'email': email, 'recipientId': recipientId, 'channel': channel, 'sentAt': JsonConverters.toJson(sentAt,'DateTime',context!) }; getTypeName() => "CampaignConversionPerson"; TypeContext? context = _ctx; } class CampaignConversionSurfaceCount implements IConvertible { String? key; int? people; int? count; double? amount; CampaignConversionSurfaceCount({this.key,this.people,this.count,this.amount}); CampaignConversionSurfaceCount.fromJson(Map json) { fromMap(json); } fromMap(Map json) { key = json['key']; people = json['people']; count = json['count']; amount = JsonConverters.toDouble(json['amount']); return this; } Map toJson() => { 'key': key, 'people': people, 'count': count, 'amount': amount }; getTypeName() => "CampaignConversionSurfaceCount"; TypeContext? context = _ctx; } class CampaignConversionResult implements IConvertible { String? runId; int? peopleMeasured; int? peopleConverted; double? totalAmount; List? bySurface; List? byChannel; int? headlineConversions; double? headlineAmount; int? medianHoursToConvert; List? notes; int? statusCode; String? message; CampaignConversionResult({this.runId,this.peopleMeasured,this.peopleConverted,this.totalAmount,this.bySurface,this.byChannel,this.headlineConversions,this.headlineAmount,this.medianHoursToConvert,this.notes,this.statusCode,this.message}); CampaignConversionResult.fromJson(Map json) { fromMap(json); } fromMap(Map json) { runId = json['runId']; peopleMeasured = json['peopleMeasured']; peopleConverted = json['peopleConverted']; totalAmount = JsonConverters.toDouble(json['totalAmount']); bySurface = JsonConverters.fromJson(json['bySurface'],'List',context!); byChannel = JsonConverters.fromJson(json['byChannel'],'List',context!); headlineConversions = json['headlineConversions']; headlineAmount = JsonConverters.toDouble(json['headlineAmount']); medianHoursToConvert = json['medianHoursToConvert']; notes = JsonConverters.fromJson(json['notes'],'List',context!); statusCode = json['statusCode']; message = json['message']; return this; } Map toJson() => { 'runId': runId, 'peopleMeasured': peopleMeasured, 'peopleConverted': peopleConverted, 'totalAmount': totalAmount, 'bySurface': JsonConverters.toJson(bySurface,'List',context!), 'byChannel': JsonConverters.toJson(byChannel,'List',context!), 'headlineConversions': headlineConversions, 'headlineAmount': headlineAmount, 'medianHoursToConvert': medianHoursToConvert, 'notes': JsonConverters.toJson(notes,'List',context!), 'statusCode': statusCode, 'message': message }; getTypeName() => "CampaignConversionResult"; TypeContext? context = _ctx; } // @Route("/CampaignConversions/Run", "POST") class CampaignConversionRunRequest implements IReturn, IConvertible { int? campaignId; List? people; int? windowHours; int? targetEventId; bool? includeFood; CampaignConversionRunRequest({this.campaignId,this.people,this.windowHours,this.targetEventId,this.includeFood}); CampaignConversionRunRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { campaignId = json['campaignId']; people = JsonConverters.fromJson(json['people'],'List',context!); windowHours = json['windowHours']; targetEventId = json['targetEventId']; includeFood = json['includeFood']; return this; } Map toJson() => { 'campaignId': campaignId, 'people': JsonConverters.toJson(people,'List',context!), 'windowHours': windowHours, 'targetEventId': targetEventId, 'includeFood': includeFood }; createResponse() => CampaignConversionResult(); getResponseTypeName() => "CampaignConversionResult"; getTypeName() => "CampaignConversionRunRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'stubbur_app.azurewebsites.net', types: { 'CampaignConversionPerson': TypeInfo(TypeOf.Class, create:() => CampaignConversionPerson()), 'CampaignConversionSurfaceCount': TypeInfo(TypeOf.Class, create:() => CampaignConversionSurfaceCount()), 'CampaignConversionResult': TypeInfo(TypeOf.Class, create:() => CampaignConversionResult()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'CampaignConversionRunRequest': TypeInfo(TypeOf.Class, create:() => CampaignConversionRunRequest()), 'List': TypeInfo(TypeOf.Class, create:() => []), });