Billhighway Cloud API

<back to all web services

RecurringObligationFormInfoGetRq

The following routes are available for this service:
GET/signup/api/nat/{natID}/recurring/obligation/info
GET/signup/api/nat/{natID}/group/{groupId}/recurring/obligation/info
GET/signup/api/nat/{natID}/group/{groupId}/{usertype}/user/{userid}/recurring/obligation/info
import 'package:servicestack/servicestack.dart';

class ContextualHelpDto implements IConvertible
{
    String? ControlName;
    String? LabelText;
    bool? IsVisible;
    bool? IsRequired;

    ContextualHelpDto({this.ControlName,this.LabelText,this.IsVisible,this.IsRequired});
    ContextualHelpDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ControlName = json['ControlName'];
        LabelText = json['LabelText'];
        IsVisible = json['IsVisible'];
        IsRequired = json['IsRequired'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ControlName': ControlName,
        'LabelText': LabelText,
        'IsVisible': IsVisible,
        'IsRequired': IsRequired
    };

    getTypeName() => "ContextualHelpDto";
    TypeContext? context = _ctx;
}

class CountryDto implements IConvertible
{
    int? CountryID;
    String? FullName;
    String? Abbr;

    CountryDto({this.CountryID,this.FullName,this.Abbr});
    CountryDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        CountryID = json['CountryID'];
        FullName = json['FullName'];
        Abbr = json['Abbr'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'CountryID': CountryID,
        'FullName': FullName,
        'Abbr': Abbr
    };

    getTypeName() => "CountryDto";
    TypeContext? context = _ctx;
}

class StateDto implements IConvertible
{
    int? StateID;
    int? CountryID;
    String? FullName;
    String? Abbr;

    StateDto({this.StateID,this.CountryID,this.FullName,this.Abbr});
    StateDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        StateID = json['StateID'];
        CountryID = json['CountryID'];
        FullName = json['FullName'];
        Abbr = json['Abbr'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'StateID': StateID,
        'CountryID': CountryID,
        'FullName': FullName,
        'Abbr': Abbr
    };

    getTypeName() => "StateDto";
    TypeContext? context = _ctx;
}

class ChapterDto implements IConvertible
{
    int? ChapId;
    String? College;
    String? Designation;

    ChapterDto({this.ChapId,this.College,this.Designation});
    ChapterDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ChapId = json['ChapId'];
        College = json['College'];
        Designation = json['Designation'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ChapId': ChapId,
        'College': College,
        'Designation': Designation
    };

    getTypeName() => "ChapterDto";
    TypeContext? context = _ctx;
}

class RecurringInvoiceModel implements IConvertible
{
    int? ChapID;
    String? ClientGroupID;
    int? RecurringInvoiceID;
    int? MemTypeID;
    String? BillingTypeName;
    String? InvoiceDescription;
    double? Amount;
    String? ProcessingCurrency;
    String? FrequencyDescription;
    DateTime? EffectiveDate;
    DateTime? EndDate;
    DateTime? NextDueDate;
    String? donationCoaNum;
    String? donationCoaDesc;
    int? Donation_ChapBillCatID;
    int? FrequencyID;
    int? Monthly_DayOfMOnth;
    int? Weekly_DayOfWeek;
    int? SemiMonthly_DayOfMonth1;
    int? SemiMonthly_DayOfMonth2;
    bool? UseLastDayOfMonth;
    bool? IsActive;
    int? NumOccurences;

    RecurringInvoiceModel({this.ChapID,this.ClientGroupID,this.RecurringInvoiceID,this.MemTypeID,this.BillingTypeName,this.InvoiceDescription,this.Amount,this.ProcessingCurrency,this.FrequencyDescription,this.EffectiveDate,this.EndDate,this.NextDueDate,this.donationCoaNum,this.donationCoaDesc,this.Donation_ChapBillCatID,this.FrequencyID,this.Monthly_DayOfMOnth,this.Weekly_DayOfWeek,this.SemiMonthly_DayOfMonth1,this.SemiMonthly_DayOfMonth2,this.UseLastDayOfMonth,this.IsActive,this.NumOccurences});
    RecurringInvoiceModel.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ChapID = json['ChapID'];
        ClientGroupID = json['ClientGroupID'];
        RecurringInvoiceID = json['RecurringInvoiceID'];
        MemTypeID = json['MemTypeID'];
        BillingTypeName = json['BillingTypeName'];
        InvoiceDescription = json['InvoiceDescription'];
        Amount = JsonConverters.toDouble(json['Amount']);
        ProcessingCurrency = json['ProcessingCurrency'];
        FrequencyDescription = json['FrequencyDescription'];
        EffectiveDate = JsonConverters.fromJson(json['EffectiveDate'],'DateTime',context!);
        EndDate = JsonConverters.fromJson(json['EndDate'],'DateTime',context!);
        NextDueDate = JsonConverters.fromJson(json['NextDueDate'],'DateTime',context!);
        donationCoaNum = json['donationCoaNum'];
        donationCoaDesc = json['donationCoaDesc'];
        Donation_ChapBillCatID = json['Donation_ChapBillCatID'];
        FrequencyID = json['FrequencyID'];
        Monthly_DayOfMOnth = json['Monthly_DayOfMOnth'];
        Weekly_DayOfWeek = json['Weekly_DayOfWeek'];
        SemiMonthly_DayOfMonth1 = json['SemiMonthly_DayOfMonth1'];
        SemiMonthly_DayOfMonth2 = json['SemiMonthly_DayOfMonth2'];
        UseLastDayOfMonth = json['UseLastDayOfMonth'];
        IsActive = json['IsActive'];
        NumOccurences = json['NumOccurences'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ChapID': ChapID,
        'ClientGroupID': ClientGroupID,
        'RecurringInvoiceID': RecurringInvoiceID,
        'MemTypeID': MemTypeID,
        'BillingTypeName': BillingTypeName,
        'InvoiceDescription': InvoiceDescription,
        'Amount': Amount,
        'ProcessingCurrency': ProcessingCurrency,
        'FrequencyDescription': FrequencyDescription,
        'EffectiveDate': JsonConverters.toJson(EffectiveDate,'DateTime',context!),
        'EndDate': JsonConverters.toJson(EndDate,'DateTime',context!),
        'NextDueDate': JsonConverters.toJson(NextDueDate,'DateTime',context!),
        'donationCoaNum': donationCoaNum,
        'donationCoaDesc': donationCoaDesc,
        'Donation_ChapBillCatID': Donation_ChapBillCatID,
        'FrequencyID': FrequencyID,
        'Monthly_DayOfMOnth': Monthly_DayOfMOnth,
        'Weekly_DayOfWeek': Weekly_DayOfWeek,
        'SemiMonthly_DayOfMonth1': SemiMonthly_DayOfMonth1,
        'SemiMonthly_DayOfMonth2': SemiMonthly_DayOfMonth2,
        'UseLastDayOfMonth': UseLastDayOfMonth,
        'IsActive': IsActive,
        'NumOccurences': NumOccurences
    };

    getTypeName() => "RecurringInvoiceModel";
    TypeContext? context = _ctx;
}

class FiscalYearItem implements IConvertible
{
    int? Year;
    DateTime? BeginDate;
    DateTime? EndDate;

    FiscalYearItem({this.Year,this.BeginDate,this.EndDate});
    FiscalYearItem.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Year = json['Year'];
        BeginDate = JsonConverters.fromJson(json['BeginDate'],'DateTime',context!);
        EndDate = JsonConverters.fromJson(json['EndDate'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Year': Year,
        'BeginDate': JsonConverters.toJson(BeginDate,'DateTime',context!),
        'EndDate': JsonConverters.toJson(EndDate,'DateTime',context!)
    };

    getTypeName() => "FiscalYearItem";
    TypeContext? context = _ctx;
}

class RecurringObligationInvoiceTemplateItem implements IConvertible
{
    int? RecurringObligationTemplateItemId;
    int? RecurringObligationInvoiceTemplateItemId;
    int? RecurringObligationInvoiceTemplateId;
    double? Amount;
    int? ChapBillCatId;
    String? Name;

    RecurringObligationInvoiceTemplateItem({this.RecurringObligationTemplateItemId,this.RecurringObligationInvoiceTemplateItemId,this.RecurringObligationInvoiceTemplateId,this.Amount,this.ChapBillCatId,this.Name});
    RecurringObligationInvoiceTemplateItem.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        RecurringObligationTemplateItemId = json['RecurringObligationTemplateItemId'];
        RecurringObligationInvoiceTemplateItemId = json['RecurringObligationInvoiceTemplateItemId'];
        RecurringObligationInvoiceTemplateId = json['RecurringObligationInvoiceTemplateId'];
        Amount = JsonConverters.toDouble(json['Amount']);
        ChapBillCatId = json['ChapBillCatId'];
        Name = json['Name'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'RecurringObligationTemplateItemId': RecurringObligationTemplateItemId,
        'RecurringObligationInvoiceTemplateItemId': RecurringObligationInvoiceTemplateItemId,
        'RecurringObligationInvoiceTemplateId': RecurringObligationInvoiceTemplateId,
        'Amount': Amount,
        'ChapBillCatId': ChapBillCatId,
        'Name': Name
    };

    getTypeName() => "RecurringObligationInvoiceTemplateItem";
    TypeContext? context = _ctx;
}

class RecurringObligationInvoiceTemplate implements IConvertible
{
    int? RecurringObligationTemplateId;
    int? RecurringObligationInvoiceTemplateId;
    int? NationalId;
    int? MemberTypeClientId;
    FiscalYearItem? FiscalYear;
    int? ChapId;
    bool? IsDeleted;
    String? Name;
    List<RecurringObligationInvoiceTemplateItem>? RecurringObligationInvoiceTemplateItems;

    RecurringObligationInvoiceTemplate({this.RecurringObligationTemplateId,this.RecurringObligationInvoiceTemplateId,this.NationalId,this.MemberTypeClientId,this.FiscalYear,this.ChapId,this.IsDeleted,this.Name,this.RecurringObligationInvoiceTemplateItems});
    RecurringObligationInvoiceTemplate.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        RecurringObligationTemplateId = json['RecurringObligationTemplateId'];
        RecurringObligationInvoiceTemplateId = json['RecurringObligationInvoiceTemplateId'];
        NationalId = json['NationalId'];
        MemberTypeClientId = json['MemberTypeClientId'];
        FiscalYear = JsonConverters.fromJson(json['FiscalYear'],'FiscalYearItem',context!);
        ChapId = json['ChapId'];
        IsDeleted = json['IsDeleted'];
        Name = json['Name'];
        RecurringObligationInvoiceTemplateItems = JsonConverters.fromJson(json['RecurringObligationInvoiceTemplateItems'],'List<RecurringObligationInvoiceTemplateItem>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'RecurringObligationTemplateId': RecurringObligationTemplateId,
        'RecurringObligationInvoiceTemplateId': RecurringObligationInvoiceTemplateId,
        'NationalId': NationalId,
        'MemberTypeClientId': MemberTypeClientId,
        'FiscalYear': JsonConverters.toJson(FiscalYear,'FiscalYearItem',context!),
        'ChapId': ChapId,
        'IsDeleted': IsDeleted,
        'Name': Name,
        'RecurringObligationInvoiceTemplateItems': JsonConverters.toJson(RecurringObligationInvoiceTemplateItems,'List<RecurringObligationInvoiceTemplateItem>',context!)
    };

    getTypeName() => "RecurringObligationInvoiceTemplate";
    TypeContext? context = _ctx;
}

class RecurringObligationChapBillCatDetail implements IConvertible
{
    int? ChapBillCatId;
    String? ChapBillCatDesc;
    int? NatId;
    bool? IsContribution;
    int? CalcTypeId;
    List<KeyValuePair<int,String>>? DonationAmounts;
    String? ChartOfAccountRefId;

    RecurringObligationChapBillCatDetail({this.ChapBillCatId,this.ChapBillCatDesc,this.NatId,this.IsContribution,this.CalcTypeId,this.DonationAmounts,this.ChartOfAccountRefId});
    RecurringObligationChapBillCatDetail.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ChapBillCatId = json['ChapBillCatId'];
        ChapBillCatDesc = json['ChapBillCatDesc'];
        NatId = json['NatId'];
        IsContribution = json['IsContribution'];
        CalcTypeId = json['CalcTypeId'];
        DonationAmounts = JsonConverters.fromJson(json['DonationAmounts'],'List<KeyValuePair<int,String>>',context!);
        ChartOfAccountRefId = json['ChartOfAccountRefId'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ChapBillCatId': ChapBillCatId,
        'ChapBillCatDesc': ChapBillCatDesc,
        'NatId': NatId,
        'IsContribution': IsContribution,
        'CalcTypeId': CalcTypeId,
        'DonationAmounts': JsonConverters.toJson(DonationAmounts,'List<KeyValuePair<int,String>>',context!),
        'ChartOfAccountRefId': ChartOfAccountRefId
    };

    getTypeName() => "RecurringObligationChapBillCatDetail";
    TypeContext? context = _ctx;
}

class RecurringObligationFormInfo implements IConvertible
{
    List<ContextualHelpDto>? ContextualHelp;
    List<CountryDto>? Countries;
    List<StateDto>? States;
    List<ChapterDto>? Chapters;
    List<RecurringInvoiceModel>? RecurringInvoices;
    List<RecurringObligationInvoiceTemplate>? RecurringObligationTemplates;
    List<RecurringObligationChapBillCatDetail>? RecurringObligationChapBillCatDetail;

    RecurringObligationFormInfo({this.ContextualHelp,this.Countries,this.States,this.Chapters,this.RecurringInvoices,this.RecurringObligationTemplates,this.RecurringObligationChapBillCatDetail});
    RecurringObligationFormInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ContextualHelp = JsonConverters.fromJson(json['ContextualHelp'],'List<ContextualHelpDto>',context!);
        Countries = JsonConverters.fromJson(json['Countries'],'List<CountryDto>',context!);
        States = JsonConverters.fromJson(json['States'],'List<StateDto>',context!);
        Chapters = JsonConverters.fromJson(json['Chapters'],'List<ChapterDto>',context!);
        RecurringInvoices = JsonConverters.fromJson(json['RecurringInvoices'],'List<RecurringInvoiceModel>',context!);
        RecurringObligationTemplates = JsonConverters.fromJson(json['RecurringObligationTemplates'],'List<RecurringObligationInvoiceTemplate>',context!);
        RecurringObligationChapBillCatDetail = JsonConverters.fromJson(json['RecurringObligationChapBillCatDetail'],'List<RecurringObligationChapBillCatDetail>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ContextualHelp': JsonConverters.toJson(ContextualHelp,'List<ContextualHelpDto>',context!),
        'Countries': JsonConverters.toJson(Countries,'List<CountryDto>',context!),
        'States': JsonConverters.toJson(States,'List<StateDto>',context!),
        'Chapters': JsonConverters.toJson(Chapters,'List<ChapterDto>',context!),
        'RecurringInvoices': JsonConverters.toJson(RecurringInvoices,'List<RecurringInvoiceModel>',context!),
        'RecurringObligationTemplates': JsonConverters.toJson(RecurringObligationTemplates,'List<RecurringObligationInvoiceTemplate>',context!),
        'RecurringObligationChapBillCatDetail': JsonConverters.toJson(RecurringObligationChapBillCatDetail,'List<RecurringObligationChapBillCatDetail>',context!)
    };

    getTypeName() => "RecurringObligationFormInfo";
    TypeContext? context = _ctx;
}

class Link implements IConvertible
{
    String? Rel;
    String? Url;

    Link({this.Rel,this.Url});
    Link.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Rel = json['Rel'];
        Url = json['Url'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Rel': Rel,
        'Url': Url
    };

    getTypeName() => "Link";
    TypeContext? context = _ctx;
}

class RecurringObligationFormInfoGetRs implements IConvertible
{
    RecurringObligationFormInfo? RecurringObligationFormInfo;
    List<Link>? Links;

    RecurringObligationFormInfoGetRs({this.RecurringObligationFormInfo,this.Links});
    RecurringObligationFormInfoGetRs.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        RecurringObligationFormInfo = JsonConverters.fromJson(json['RecurringObligationFormInfo'],'RecurringObligationFormInfo',context!);
        Links = JsonConverters.fromJson(json['Links'],'List<Link>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'RecurringObligationFormInfo': JsonConverters.toJson(RecurringObligationFormInfo,'RecurringObligationFormInfo',context!),
        'Links': JsonConverters.toJson(Links,'List<Link>',context!)
    };

    getTypeName() => "RecurringObligationFormInfoGetRs";
    TypeContext? context = _ctx;
}

class RecurringObligationFormInfoGetRq implements IConvertible
{
    int? NatID;
    int? GroupId;
    String? UserId;
    String? UserType;

    RecurringObligationFormInfoGetRq({this.NatID,this.GroupId,this.UserId,this.UserType});
    RecurringObligationFormInfoGetRq.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        NatID = json['NatID'];
        GroupId = json['GroupId'];
        UserId = json['UserId'];
        UserType = json['UserType'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'NatID': NatID,
        'GroupId': GroupId,
        'UserId': UserId,
        'UserType': UserType
    };

    getTypeName() => "RecurringObligationFormInfoGetRq";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'devapi.billhighway.com', types: <String, TypeInfo> {
    'ContextualHelpDto': TypeInfo(TypeOf.Class, create:() => ContextualHelpDto()),
    'CountryDto': TypeInfo(TypeOf.Class, create:() => CountryDto()),
    'StateDto': TypeInfo(TypeOf.Class, create:() => StateDto()),
    'ChapterDto': TypeInfo(TypeOf.Class, create:() => ChapterDto()),
    'RecurringInvoiceModel': TypeInfo(TypeOf.Class, create:() => RecurringInvoiceModel()),
    'FiscalYearItem': TypeInfo(TypeOf.Class, create:() => FiscalYearItem()),
    'RecurringObligationInvoiceTemplateItem': TypeInfo(TypeOf.Class, create:() => RecurringObligationInvoiceTemplateItem()),
    'RecurringObligationInvoiceTemplate': TypeInfo(TypeOf.Class, create:() => RecurringObligationInvoiceTemplate()),
    'List<RecurringObligationInvoiceTemplateItem>': TypeInfo(TypeOf.Class, create:() => <RecurringObligationInvoiceTemplateItem>[]),
    'RecurringObligationChapBillCatDetail': TypeInfo(TypeOf.Class, create:() => RecurringObligationChapBillCatDetail()),
    'List<KeyValuePair<int,String>>': TypeInfo(TypeOf.Class, create:() => <KeyValuePair<int,String>>[]),
    'KeyValuePair<int,String>': TypeInfo(TypeOf.Class, create:() => KeyValuePair<int,String>()),
    'RecurringObligationFormInfo': TypeInfo(TypeOf.Class, create:() => RecurringObligationFormInfo()),
    'List<ContextualHelpDto>': TypeInfo(TypeOf.Class, create:() => <ContextualHelpDto>[]),
    'List<CountryDto>': TypeInfo(TypeOf.Class, create:() => <CountryDto>[]),
    'List<StateDto>': TypeInfo(TypeOf.Class, create:() => <StateDto>[]),
    'List<ChapterDto>': TypeInfo(TypeOf.Class, create:() => <ChapterDto>[]),
    'List<RecurringInvoiceModel>': TypeInfo(TypeOf.Class, create:() => <RecurringInvoiceModel>[]),
    'List<RecurringObligationInvoiceTemplate>': TypeInfo(TypeOf.Class, create:() => <RecurringObligationInvoiceTemplate>[]),
    'List<RecurringObligationChapBillCatDetail>': TypeInfo(TypeOf.Class, create:() => <RecurringObligationChapBillCatDetail>[]),
    'Link': TypeInfo(TypeOf.Class, create:() => Link()),
    'RecurringObligationFormInfoGetRs': TypeInfo(TypeOf.Class, create:() => RecurringObligationFormInfoGetRs()),
    'List<Link>': TypeInfo(TypeOf.Class, create:() => <Link>[]),
    'RecurringObligationFormInfoGetRq': TypeInfo(TypeOf.Class, create:() => RecurringObligationFormInfoGetRq()),
});

Dart RecurringObligationFormInfoGetRq DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /signup/api/nat/{natID}/recurring/obligation/info HTTP/1.1 
Host: devapi.billhighway.com 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	RecurringObligationFormInfo: 
	{
		ContextualHelp: 
		[
			{
				ControlName: String,
				LabelText: String,
				IsVisible: False,
				IsRequired: False
			}
		],
		Countries: 
		[
			{
				CountryID: 0,
				FullName: String,
				Abbr: String
			}
		],
		States: 
		[
			{
				StateID: 0,
				CountryID: 0,
				FullName: String,
				Abbr: String
			}
		],
		Chapters: 
		[
			{
				ChapId: 0,
				College: String,
				Designation: String
			}
		],
		RecurringInvoices: 
		[
			{
				ChapID: 0,
				ClientGroupID: String,
				RecurringInvoiceID: 0,
				MemTypeID: 0,
				BillingTypeName: String,
				InvoiceDescription: String,
				Amount: 0,
				ProcessingCurrency: String,
				FrequencyDescription: String,
				EffectiveDate: 0001-01-01,
				EndDate: 0001-01-01,
				NextDueDate: 0001-01-01,
				donationCoaNum: String,
				donationCoaDesc: String,
				Donation_ChapBillCatID: 0,
				FrequencyID: 0,
				Monthly_DayOfMOnth: 0,
				Weekly_DayOfWeek: 0,
				SemiMonthly_DayOfMonth1: 0,
				SemiMonthly_DayOfMonth2: 0,
				UseLastDayOfMonth: False,
				IsActive: False,
				NumOccurences: 0
			}
		],
		RecurringObligationTemplates: 
		[
			{
				RecurringObligationTemplateId: 0,
				RecurringObligationInvoiceTemplateId: 0,
				NationalId: 0,
				MemberTypeClientId: 0,
				FiscalYear: 
				{
					Year: 0,
					BeginDate: 0001-01-01,
					EndDate: 0001-01-01
				},
				ChapId: 0,
				IsDeleted: False,
				Name: String,
				RecurringObligationInvoiceTemplateItems: 
				[
					{
						RecurringObligationTemplateItemId: 0,
						RecurringObligationInvoiceTemplateItemId: 0,
						RecurringObligationInvoiceTemplateId: 0,
						Amount: 0,
						ChapBillCatId: 0,
						Name: String
					}
				]
			}
		],
		RecurringObligationChapBillCatDetail: 
		[
			{
				ChapBillCatId: 0,
				ChapBillCatDesc: String,
				NatId: 0,
				IsContribution: False,
				CalcTypeId: 0,
				DonationAmounts: 
				[
					{
						Key: 0,
						Value: String
					}
				],
				ChartOfAccountRefId: String
			}
		]
	},
	Links: 
	[
		{
			Rel: String,
			Url: String
		}
	]
}