/* Options: Date: 2026-11-08 11:51:50 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: UserObligation.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class ObligationLineItem implements IConvertible { int? ChartOfAccountId; String? ChartOfAccountRefId; double? Amount; ObligationLineItem({this.ChartOfAccountId,this.ChartOfAccountRefId,this.Amount}); ObligationLineItem.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ChartOfAccountId = json['ChartOfAccountId']; ChartOfAccountRefId = json['ChartOfAccountRefId']; Amount = JsonConverters.toDouble(json['Amount']); return this; } Map toJson() => { 'ChartOfAccountId': ChartOfAccountId, 'ChartOfAccountRefId': ChartOfAccountRefId, 'Amount': Amount }; getTypeName() => "ObligationLineItem"; TypeContext? context = _ctx; } abstract class IHaveErrorField { bool? IsError; } class ErrorDetail implements IConvertible { int? Id; String? Message; String? Value; ErrorDetail({this.Id,this.Message,this.Value}); ErrorDetail.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Message = json['Message']; Value = json['Value']; return this; } Map toJson() => { 'Id': Id, 'Message': Message, 'Value': Value }; getTypeName() => "ErrorDetail"; TypeContext? context = _ctx; } abstract class IHaveErrorField { bool? IsError; } class ObligationLineItem implements IConvertible { String? ChartOfAccountRefId; double? Amount; ObligationLineItem({this.ChartOfAccountRefId,this.Amount}); ObligationLineItem.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ChartOfAccountRefId = json['ChartOfAccountRefId']; Amount = JsonConverters.toDouble(json['Amount']); return this; } Map toJson() => { 'ChartOfAccountRefId': ChartOfAccountRefId, 'Amount': Amount }; getTypeName() => "ObligationLineItem"; TypeContext? context = _ctx; } class ObligationResponse implements IHaveErrorField, IConvertible { List? ErrorDetails; bool? IsError; int? MemberCount; double? TotalAmount; ObligationResponse({this.ErrorDetails,this.IsError,this.MemberCount,this.TotalAmount}); ObligationResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ErrorDetails = JsonConverters.fromJson(json['ErrorDetails'],'List',context!); IsError = json['IsError']; MemberCount = json['MemberCount']; TotalAmount = JsonConverters.toDouble(json['TotalAmount']); return this; } Map toJson() => { 'ErrorDetails': JsonConverters.toJson(ErrorDetails,'List',context!), 'IsError': IsError, 'MemberCount': MemberCount, 'TotalAmount': TotalAmount }; getTypeName() => "ObligationResponse"; TypeContext? context = _ctx; } // @Route("/invoices/recurringInvoices/obligation", "PUT") class UserObligation implements IReturn, IConvertible { String? UserId; int? FiscalYear; String? GroupId; List? LineItems; bool? OptedToPayCTADues; UserObligation({this.UserId,this.FiscalYear,this.GroupId,this.LineItems,this.OptedToPayCTADues}); UserObligation.fromJson(Map json) { fromMap(json); } fromMap(Map json) { UserId = json['UserId']; FiscalYear = json['FiscalYear']; GroupId = json['GroupId']; LineItems = JsonConverters.fromJson(json['LineItems'],'List',context!); OptedToPayCTADues = json['OptedToPayCTADues']; return this; } Map toJson() => { 'UserId': UserId, 'FiscalYear': FiscalYear, 'GroupId': GroupId, 'LineItems': JsonConverters.toJson(LineItems,'List',context!), 'OptedToPayCTADues': OptedToPayCTADues }; createResponse() => ObligationResponse(); getResponseTypeName() => "ObligationResponse"; getTypeName() => "UserObligation"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'devapi.billhighway.com', types: { 'ObligationLineItem': TypeInfo(TypeOf.Class, create:() => ObligationLineItem()), 'IHaveErrorField': TypeInfo(TypeOf.Interface), 'ErrorDetail': TypeInfo(TypeOf.Class, create:() => ErrorDetail()), 'ObligationResponse': TypeInfo(TypeOf.Class, create:() => ObligationResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'UserObligation': TypeInfo(TypeOf.Class, create:() => UserObligation()), 'List': TypeInfo(TypeOf.Class, create:() => []), });