/* Options: Date: 2026-11-08 12:03:39 Version: 5.140 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://devapi.billhighway.com //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GroupSubscriptionInfoGetRq.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart,dart:collection */ import 'package:servicestack/servicestack.dart'; import 'dart:collection'; abstract class IApiRequest { } abstract class IApiResponse { } class Link implements IConvertible { String? Rel; String? Url; Link({this.Rel,this.Url}); Link.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Rel = json['Rel']; Url = json['Url']; return this; } Map toJson() => { 'Rel': Rel, 'Url': Url }; getTypeName() => "Link"; TypeContext? context = _ctx; } class ApiParameter implements IConvertible { String? Name; String? Value; ApiParameter({this.Name,this.Value}); ApiParameter.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Name = json['Name']; Value = json['Value']; return this; } Map toJson() => { 'Name': Name, 'Value': Value }; getTypeName() => "ApiParameter"; TypeContext? context = _ctx; } class CountryInfo implements IConvertible { int? CountryID; String? Abbr; String? FullName; String? IsoA2; int? IsoNum; CountryInfo({this.CountryID,this.Abbr,this.FullName,this.IsoA2,this.IsoNum}); CountryInfo.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CountryID = json['CountryID']; Abbr = json['Abbr']; FullName = json['FullName']; IsoA2 = json['IsoA2']; IsoNum = json['IsoNum']; return this; } Map toJson() => { 'CountryID': CountryID, 'Abbr': Abbr, 'FullName': FullName, 'IsoA2': IsoA2, 'IsoNum': IsoNum }; getTypeName() => "CountryInfo"; TypeContext? context = _ctx; } class StateInfo implements IConvertible { int? CountryID; int? StateID; String? Abbr; String? FullName; StateInfo({this.CountryID,this.StateID,this.Abbr,this.FullName}); StateInfo.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CountryID = json['CountryID']; StateID = json['StateID']; Abbr = json['Abbr']; FullName = json['FullName']; return this; } Map toJson() => { 'CountryID': CountryID, 'StateID': StateID, 'Abbr': Abbr, 'FullName': FullName }; getTypeName() => "StateInfo"; TypeContext? context = _ctx; } class GroupBrandingInfo implements IConvertible { List? Items; List? Countries; List? States; GroupBrandingInfo({this.Items,this.Countries,this.States}); GroupBrandingInfo.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Items = JsonConverters.fromJson(json['Items'],'List',context!); Countries = JsonConverters.fromJson(json['Countries'],'List',context!); States = JsonConverters.fromJson(json['States'],'List',context!); return this; } Map toJson() => { 'Items': JsonConverters.toJson(Items,'List',context!), 'Countries': JsonConverters.toJson(Countries,'List',context!), 'States': JsonConverters.toJson(States,'List',context!) }; getTypeName() => "GroupBrandingInfo"; TypeContext? context = _ctx; } class SubscriptionFrequency implements IConvertible { int? ID; String? Description; String? FriendlyDescription; double? TotalAmount; double? InstallmentAmount; int? NumInstallments; SubscriptionFrequency({this.ID,this.Description,this.FriendlyDescription,this.TotalAmount,this.InstallmentAmount,this.NumInstallments}); SubscriptionFrequency.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ID = json['ID']; Description = json['Description']; FriendlyDescription = json['FriendlyDescription']; TotalAmount = JsonConverters.toDouble(json['TotalAmount']); InstallmentAmount = JsonConverters.toDouble(json['InstallmentAmount']); NumInstallments = json['NumInstallments']; return this; } Map toJson() => { 'ID': ID, 'Description': Description, 'FriendlyDescription': FriendlyDescription, 'TotalAmount': TotalAmount, 'InstallmentAmount': InstallmentAmount, 'NumInstallments': NumInstallments }; getTypeName() => "SubscriptionFrequency"; TypeContext? context = _ctx; } class GroupSubscriptionInvoiceItem implements IConvertible { int? ID; String? Description; double? Amount; List? Frequencies; GroupSubscriptionInvoiceItem({this.ID,this.Description,this.Amount,this.Frequencies}); GroupSubscriptionInvoiceItem.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ID = json['ID']; Description = json['Description']; Amount = JsonConverters.toDouble(json['Amount']); Frequencies = JsonConverters.fromJson(json['Frequencies'],'List',context!); return this; } Map toJson() => { 'ID': ID, 'Description': Description, 'Amount': Amount, 'Frequencies': JsonConverters.toJson(Frequencies,'List',context!) }; getTypeName() => "GroupSubscriptionInvoiceItem"; TypeContext? context = _ctx; } class GroupSubscriptionInvoice implements IConvertible { int? ID; int? LineageID; int? TypeID; String? Description; List? InvoiceItems; List? FrequencyTotals; String? ClientSubscriptionTypeID; GroupSubscriptionInvoice({this.ID,this.LineageID,this.TypeID,this.Description,this.InvoiceItems,this.FrequencyTotals,this.ClientSubscriptionTypeID}); GroupSubscriptionInvoice.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ID = json['ID']; LineageID = json['LineageID']; TypeID = json['TypeID']; Description = json['Description']; InvoiceItems = JsonConverters.fromJson(json['InvoiceItems'],'List',context!); FrequencyTotals = JsonConverters.fromJson(json['FrequencyTotals'],'List',context!); ClientSubscriptionTypeID = json['ClientSubscriptionTypeID']; return this; } Map toJson() => { 'ID': ID, 'LineageID': LineageID, 'TypeID': TypeID, 'Description': Description, 'InvoiceItems': JsonConverters.toJson(InvoiceItems,'List',context!), 'FrequencyTotals': JsonConverters.toJson(FrequencyTotals,'List',context!), 'ClientSubscriptionTypeID': ClientSubscriptionTypeID }; getTypeName() => "GroupSubscriptionInvoice"; TypeContext? context = _ctx; } class GroupSubscriptionInvoiceType implements IConvertible { int? ID; String? Name; List? SubscriptionInvoices; int? SubscriptionInvTemplateTypeID; String? TemplateTypeName; GroupSubscriptionInvoiceType({this.ID,this.Name,this.SubscriptionInvoices,this.SubscriptionInvTemplateTypeID,this.TemplateTypeName}); GroupSubscriptionInvoiceType.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ID = json['ID']; Name = json['Name']; SubscriptionInvoices = JsonConverters.fromJson(json['SubscriptionInvoices'],'List',context!); SubscriptionInvTemplateTypeID = json['SubscriptionInvTemplateTypeID']; TemplateTypeName = json['TemplateTypeName']; return this; } Map toJson() => { 'ID': ID, 'Name': Name, 'SubscriptionInvoices': JsonConverters.toJson(SubscriptionInvoices,'List',context!), 'SubscriptionInvTemplateTypeID': SubscriptionInvTemplateTypeID, 'TemplateTypeName': TemplateTypeName }; getTypeName() => "GroupSubscriptionInvoiceType"; TypeContext? context = _ctx; } class SubscriberFormField implements IConvertible { int? FormTemplateFieldID; String? Name; String? Value; SubscriberFormField({this.FormTemplateFieldID,this.Name,this.Value}); SubscriberFormField.fromJson(Map json) { fromMap(json); } fromMap(Map json) { FormTemplateFieldID = json['FormTemplateFieldID']; Name = json['Name']; Value = json['Value']; return this; } Map toJson() => { 'FormTemplateFieldID': FormTemplateFieldID, 'Name': Name, 'Value': Value }; getTypeName() => "SubscriberFormField"; TypeContext? context = _ctx; } class SubscriberForm implements IConvertible { int? ID; int? FormTempateID; int? SubscriptionInvoiceID; int? SignupTypeID; List? Fields; SubscriberForm({this.ID,this.FormTempateID,this.SubscriptionInvoiceID,this.SignupTypeID,this.Fields}); SubscriberForm.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ID = json['ID']; FormTempateID = json['FormTempateID']; SubscriptionInvoiceID = json['SubscriptionInvoiceID']; SignupTypeID = json['SignupTypeID']; Fields = JsonConverters.fromJson(json['Fields'],'List',context!); return this; } Map toJson() => { 'ID': ID, 'FormTempateID': FormTempateID, 'SubscriptionInvoiceID': SubscriptionInvoiceID, 'SignupTypeID': SignupTypeID, 'Fields': JsonConverters.toJson(Fields,'List',context!) }; getTypeName() => "SubscriberForm"; TypeContext? context = _ctx; } class CampaignItem implements IConvertible { int? Id; String? Name; String? SubTitle; String? Description; bool? HasGoal; String? DetailUri; CampaignTheme? Theme; CampaignGoal? Goal; List? Levels; String? LogoUrl; String? HighResolutionLogoUrl; Signup? Signup; CampaignItem({this.Id,this.Name,this.SubTitle,this.Description,this.HasGoal,this.DetailUri,this.Theme,this.Goal,this.Levels,this.LogoUrl,this.HighResolutionLogoUrl,this.Signup}); CampaignItem.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Name = json['Name']; SubTitle = json['SubTitle']; Description = json['Description']; HasGoal = json['HasGoal']; DetailUri = json['DetailUri']; Theme = JsonConverters.fromJson(json['Theme'],'CampaignTheme',context!); Goal = JsonConverters.fromJson(json['Goal'],'CampaignGoal',context!); Levels = JsonConverters.fromJson(json['Levels'],'List',context!); LogoUrl = json['LogoUrl']; HighResolutionLogoUrl = json['HighResolutionLogoUrl']; Signup = JsonConverters.fromJson(json['Signup'],'Signup',context!); return this; } Map toJson() => { 'Id': Id, 'Name': Name, 'SubTitle': SubTitle, 'Description': Description, 'HasGoal': HasGoal, 'DetailUri': DetailUri, 'Theme': JsonConverters.toJson(Theme,'CampaignTheme',context!), 'Goal': JsonConverters.toJson(Goal,'CampaignGoal',context!), 'Levels': JsonConverters.toJson(Levels,'List',context!), 'LogoUrl': LogoUrl, 'HighResolutionLogoUrl': HighResolutionLogoUrl, 'Signup': JsonConverters.toJson(Signup,'Signup',context!) }; getTypeName() => "CampaignItem"; TypeContext? context = _ctx; } class GroupSubscriptionInfo implements IConvertible { GroupBrandingInfo? BrandingInfo; List? Subscriptions; SubscriberForm? FormInfo; List? Campaigns; GroupSubscriptionInfo({this.BrandingInfo,this.Subscriptions,this.FormInfo,this.Campaigns}); GroupSubscriptionInfo.fromJson(Map json) { fromMap(json); } fromMap(Map json) { BrandingInfo = JsonConverters.fromJson(json['BrandingInfo'],'GroupBrandingInfo',context!); Subscriptions = JsonConverters.fromJson(json['Subscriptions'],'List',context!); FormInfo = JsonConverters.fromJson(json['FormInfo'],'SubscriberForm',context!); Campaigns = JsonConverters.fromJson(json['Campaigns'],'List',context!); return this; } Map toJson() => { 'BrandingInfo': JsonConverters.toJson(BrandingInfo,'GroupBrandingInfo',context!), 'Subscriptions': JsonConverters.toJson(Subscriptions,'List',context!), 'FormInfo': JsonConverters.toJson(FormInfo,'SubscriberForm',context!), 'Campaigns': JsonConverters.toJson(Campaigns,'List',context!) }; getTypeName() => "GroupSubscriptionInfo"; TypeContext? context = _ctx; } class SubscriberFormField implements IConvertible { String? Name; String? Value; SubscriberFormField({this.Name,this.Value}); SubscriberFormField.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Name = json['Name']; Value = json['Value']; return this; } Map toJson() => { 'Name': Name, 'Value': Value }; getTypeName() => "SubscriberFormField"; TypeContext? context = _ctx; } class GroupSubscriptionInfoGetRs implements IApiResponse, IConvertible { GroupSubscriptionInfo? SignupInfo; List? Links; GroupSubscriptionInfoGetRs({this.SignupInfo,this.Links}); GroupSubscriptionInfoGetRs.fromJson(Map json) { fromMap(json); } fromMap(Map json) { SignupInfo = JsonConverters.fromJson(json['SignupInfo'],'GroupSubscriptionInfo',context!); Links = JsonConverters.fromJson(json['Links'],'List',context!); return this; } Map toJson() => { 'SignupInfo': JsonConverters.toJson(SignupInfo,'GroupSubscriptionInfo',context!), 'Links': JsonConverters.toJson(Links,'List',context!) }; getTypeName() => "GroupSubscriptionInfoGetRs"; TypeContext? context = _ctx; } // @Route("/signup/api/nat/{natID}/group/{groupId}/signup/info", "GET") // @Route("/signup/api/nat/{natID}/group/{groupId}/{usertype}/user/{userid}/signup/info", "GET") class GroupSubscriptionInfoGetRq implements IReturn, IApiRequest, IConvertible { int? GroupId; String? UserId; String? UserType; int? NatID; String? isPrintView; GroupSubscriptionInfoGetRq({this.GroupId,this.UserId,this.UserType,this.NatID,this.isPrintView}); GroupSubscriptionInfoGetRq.fromJson(Map json) { fromMap(json); } fromMap(Map json) { GroupId = json['GroupId']; UserId = json['UserId']; UserType = json['UserType']; NatID = json['NatID']; isPrintView = json['isPrintView']; return this; } Map toJson() => { 'GroupId': GroupId, 'UserId': UserId, 'UserType': UserType, 'NatID': NatID, 'isPrintView': isPrintView }; createResponse() => GroupSubscriptionInfoGetRs(); getResponseTypeName() => "GroupSubscriptionInfoGetRs"; getTypeName() => "GroupSubscriptionInfoGetRq"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'devapi.billhighway.com', types: { 'IApiRequest': TypeInfo(TypeOf.Interface), 'IApiResponse': TypeInfo(TypeOf.Interface), 'Link': TypeInfo(TypeOf.Class, create:() => Link()), 'ApiParameter': TypeInfo(TypeOf.Class, create:() => ApiParameter()), 'CountryInfo': TypeInfo(TypeOf.Class, create:() => CountryInfo()), 'StateInfo': TypeInfo(TypeOf.Class, create:() => StateInfo()), 'GroupBrandingInfo': TypeInfo(TypeOf.Class, create:() => GroupBrandingInfo()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'SubscriptionFrequency': TypeInfo(TypeOf.Class, create:() => SubscriptionFrequency()), 'GroupSubscriptionInvoiceItem': TypeInfo(TypeOf.Class, create:() => GroupSubscriptionInvoiceItem()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'GroupSubscriptionInvoice': TypeInfo(TypeOf.Class, create:() => GroupSubscriptionInvoice()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'GroupSubscriptionInvoiceType': TypeInfo(TypeOf.Class, create:() => GroupSubscriptionInvoiceType()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'SubscriberFormField': TypeInfo(TypeOf.Class, create:() => SubscriberFormField()), 'SubscriberForm': TypeInfo(TypeOf.Class, create:() => SubscriberForm()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'CampaignItem': TypeInfo(TypeOf.Class, create:() => CampaignItem()), 'CampaignTheme': TypeInfo(TypeOf.Class, create:() => CampaignTheme()), 'CampaignGoal': TypeInfo(TypeOf.Class, create:() => CampaignGoal()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'CampaignLevel': TypeInfo(TypeOf.Class, create:() => CampaignLevel()), 'Signup': TypeInfo(TypeOf.Class, create:() => Signup()), 'GroupSubscriptionInfo': TypeInfo(TypeOf.Class, create:() => GroupSubscriptionInfo()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'GroupSubscriptionInfoGetRs': TypeInfo(TypeOf.Class, create:() => GroupSubscriptionInfoGetRs()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'GroupSubscriptionInfoGetRq': TypeInfo(TypeOf.Class, create:() => GroupSubscriptionInfoGetRq()), });