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 datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ContextualHelpDto:
    control_name: Optional[str] = None
    label_text: Optional[str] = None
    is_visible: Optional[bool] = None
    is_required: Optional[bool] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CountryDto:
    country_i_d: Optional[int] = None
    full_name: Optional[str] = None
    abbr: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class StateDto:
    state_i_d: Optional[int] = None
    country_i_d: Optional[int] = None
    full_name: Optional[str] = None
    abbr: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ChapterDto:
    chap_id: Optional[int] = None
    college: Optional[str] = None
    designation: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RecurringInvoiceModel:
    chap_i_d: Optional[int] = None
    client_group_i_d: Optional[str] = None
    recurring_invoice_i_d: Optional[int] = None
    mem_type_i_d: Optional[int] = None
    billing_type_name: Optional[str] = None
    invoice_description: Optional[str] = None
    amount: Optional[Decimal] = None
    processing_currency: Optional[str] = None
    frequency_description: Optional[str] = None
    effective_date: Optional[datetime.datetime] = None
    end_date: Optional[datetime.datetime] = None
    next_due_date: Optional[datetime.datetime] = None
    donation_coa_num: Optional[str] = None
    donation_coa_desc: Optional[str] = None
    donation__chap_bill_cat_i_d: Optional[int] = None
    frequency_i_d: Optional[int] = None
    monthly__day_of_m_onth: Optional[int] = None
    weekly__day_of_week: Optional[int] = None
    semi_monthly__day_of_month1: Optional[int] = None
    semi_monthly__day_of_month2: Optional[int] = None
    use_last_day_of_month: Optional[bool] = None
    is_active: Optional[bool] = None
    num_occurences: Optional[int] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class FiscalYearItem:
    year: Optional[int] = None
    begin_date: Optional[datetime.datetime] = None
    end_date: Optional[datetime.datetime] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RecurringObligationInvoiceTemplateItem:
    recurring_obligation_template_item_id: Optional[int] = None
    recurring_obligation_invoice_template_item_id: Optional[int] = None
    recurring_obligation_invoice_template_id: Optional[int] = None
    amount: Optional[Decimal] = None
    chap_bill_cat_id: Optional[int] = None
    name: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RecurringObligationInvoiceTemplate:
    recurring_obligation_template_id: Optional[int] = None
    recurring_obligation_invoice_template_id: Optional[int] = None
    national_id: Optional[int] = None
    member_type_client_id: Optional[int] = None
    fiscal_year: Optional[FiscalYearItem] = None
    chap_id: Optional[int] = None
    is_deleted: Optional[bool] = None
    name: Optional[str] = None
    recurring_obligation_invoice_template_items: Optional[List[RecurringObligationInvoiceTemplateItem]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RecurringObligationChapBillCatDetail:
    chap_bill_cat_id: Optional[int] = None
    chap_bill_cat_desc: Optional[str] = None
    nat_id: Optional[int] = None
    is_contribution: Optional[bool] = None
    calc_type_id: Optional[int] = None
    donation_amounts: Optional[List[KeyValuePair[int, str]]] = None
    chart_of_account_ref_id: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RecurringObligationFormInfo:
    contextual_help: Optional[List[ContextualHelpDto]] = None
    countries: Optional[List[CountryDto]] = None
    states: Optional[List[StateDto]] = None
    chapters: Optional[List[ChapterDto]] = None
    recurring_invoices: Optional[List[RecurringInvoiceModel]] = None
    recurring_obligation_templates: Optional[List[RecurringObligationInvoiceTemplate]] = None
    recurring_obligation_chap_bill_cat_detail: Optional[List[RecurringObligationChapBillCatDetail]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Link:
    rel: Optional[str] = None
    url: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RecurringObligationFormInfoGetRs:
    recurring_obligation_form_info: Optional[RecurringObligationFormInfo] = None
    links: Optional[List[Link]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RecurringObligationFormInfoGetRq:
    nat_i_d: Optional[int] = None
    group_id: Optional[int] = None
    user_id: Optional[str] = None
    user_type: Optional[str] = None

Python RecurringObligationFormInfoGetRq DTOs

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

HTTP + XML

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: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<RecurringObligationFormInfoGetRs xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BH.CloudAPI.Common4.DTO.RecurringObligation.Response">
  <Links xmlns:d2p1="http://schemas.datacontract.org/2004/07/BH.API.CloudApi.Core">
    <d2p1:Link>
      <d2p1:Rel>String</d2p1:Rel>
      <d2p1:Url>String</d2p1:Url>
    </d2p1:Link>
  </Links>
  <RecurringObligationFormInfo xmlns:d2p1="http://schemas.datacontract.org/2004/07/BH.CloudAPI.Common4.DTO.RecurringObligation">
    <d2p1:_x003C_Chapters_x003E_k__BackingField xmlns:d3p1="http://schemas.datacontract.org/2004/07/BH.API.DataAccess.Dto">
      <d3p1:ChapterDto>
        <d3p1:ChapId>0</d3p1:ChapId>
        <d3p1:College>String</d3p1:College>
        <d3p1:Designation>String</d3p1:Designation>
      </d3p1:ChapterDto>
    </d2p1:_x003C_Chapters_x003E_k__BackingField>
    <d2p1:_x003C_ContextualHelp_x003E_k__BackingField xmlns:d3p1="http://schemas.datacontract.org/2004/07/BH.API.DataAccess.Dto">
      <d3p1:ContextualHelpDto>
        <d3p1:ControlName>String</d3p1:ControlName>
        <d3p1:IsRequired>false</d3p1:IsRequired>
        <d3p1:IsVisible>false</d3p1:IsVisible>
        <d3p1:LabelText>String</d3p1:LabelText>
      </d3p1:ContextualHelpDto>
    </d2p1:_x003C_ContextualHelp_x003E_k__BackingField>
    <d2p1:_x003C_Countries_x003E_k__BackingField xmlns:d3p1="http://schemas.datacontract.org/2004/07/BH.API.DataAccess.Dto">
      <d3p1:CountryDto>
        <d3p1:Abbr>String</d3p1:Abbr>
        <d3p1:CountryID>0</d3p1:CountryID>
        <d3p1:FullName>String</d3p1:FullName>
      </d3p1:CountryDto>
    </d2p1:_x003C_Countries_x003E_k__BackingField>
    <d2p1:_x003C_RecurringInvoices_x003E_k__BackingField xmlns:d3p1="http://schemas.datacontract.org/2004/07/BH.CloudAPI.Common.DTO.RecurringInvoice">
      <d3p1:RecurringInvoiceModel>
        <d3p1:Amount>0</d3p1:Amount>
        <d3p1:BillingTypeName>String</d3p1:BillingTypeName>
        <d3p1:ChapID>0</d3p1:ChapID>
        <d3p1:ClientGroupID>String</d3p1:ClientGroupID>
        <d3p1:Donation_ChapBillCatID>0</d3p1:Donation_ChapBillCatID>
        <d3p1:EffectiveDate>0001-01-01T00:00:00</d3p1:EffectiveDate>
        <d3p1:EndDate>0001-01-01T00:00:00</d3p1:EndDate>
        <d3p1:FrequencyDescription>String</d3p1:FrequencyDescription>
        <d3p1:FrequencyID>0</d3p1:FrequencyID>
        <d3p1:InvoiceDescription>String</d3p1:InvoiceDescription>
        <d3p1:IsActive>false</d3p1:IsActive>
        <d3p1:MemTypeID>0</d3p1:MemTypeID>
        <d3p1:Monthly_DayOfMOnth>0</d3p1:Monthly_DayOfMOnth>
        <d3p1:NextDueDate>0001-01-01T00:00:00</d3p1:NextDueDate>
        <d3p1:NumOccurences>0</d3p1:NumOccurences>
        <d3p1:ProcessingCurrency>String</d3p1:ProcessingCurrency>
        <d3p1:RecurringInvoiceID>0</d3p1:RecurringInvoiceID>
        <d3p1:SemiMonthly_DayOfMonth1>0</d3p1:SemiMonthly_DayOfMonth1>
        <d3p1:SemiMonthly_DayOfMonth2>0</d3p1:SemiMonthly_DayOfMonth2>
        <d3p1:UseLastDayOfMonth>false</d3p1:UseLastDayOfMonth>
        <d3p1:Weekly_DayOfWeek>0</d3p1:Weekly_DayOfWeek>
        <d3p1:donationCoaDesc>String</d3p1:donationCoaDesc>
        <d3p1:donationCoaNum>String</d3p1:donationCoaNum>
      </d3p1:RecurringInvoiceModel>
    </d2p1:_x003C_RecurringInvoices_x003E_k__BackingField>
    <d2p1:_x003C_RecurringObligationChapBillCatDetail_x003E_k__BackingField xmlns:d3p1="http://schemas.datacontract.org/2004/07/BH.CloudAPI.Common.DTO.RecurringObligations">
      <d3p1:RecurringObligationChapBillCatDetail>
        <d3p1:CalcTypeId>0</d3p1:CalcTypeId>
        <d3p1:ChapBillCatDesc>String</d3p1:ChapBillCatDesc>
        <d3p1:ChapBillCatId>0</d3p1:ChapBillCatId>
        <d3p1:ChartOfAccountRefId>String</d3p1:ChartOfAccountRefId>
        <d3p1:DonationAmounts xmlns:d5p1="http://schemas.datacontract.org/2004/07/System.Collections.Generic">
          <d5p1:KeyValuePairOfintstring>
            <d5p1:key>0</d5p1:key>
            <d5p1:value>String</d5p1:value>
          </d5p1:KeyValuePairOfintstring>
        </d3p1:DonationAmounts>
        <d3p1:IsContribution>false</d3p1:IsContribution>
        <d3p1:NatId>0</d3p1:NatId>
      </d3p1:RecurringObligationChapBillCatDetail>
    </d2p1:_x003C_RecurringObligationChapBillCatDetail_x003E_k__BackingField>
    <d2p1:_x003C_RecurringObligationTemplates_x003E_k__BackingField xmlns:d3p1="http://schemas.datacontract.org/2004/07/BH.CloudAPI.Common.DTO.RecurringObligations">
      <d3p1:RecurringObligationInvoiceTemplate>
        <d3p1:ChapId>0</d3p1:ChapId>
        <d3p1:FiscalYear xmlns:d5p1="http://schemas.datacontract.org/2004/07/BH.CloudAPI.Common.DTO">
          <d5p1:BeginDate>0001-01-01T00:00:00</d5p1:BeginDate>
          <d5p1:EndDate>0001-01-01T00:00:00</d5p1:EndDate>
          <d5p1:Year>0</d5p1:Year>
        </d3p1:FiscalYear>
        <d3p1:IsDeleted>false</d3p1:IsDeleted>
        <d3p1:MemberTypeClientId>0</d3p1:MemberTypeClientId>
        <d3p1:Name>String</d3p1:Name>
        <d3p1:NationalId>0</d3p1:NationalId>
        <d3p1:RecurringObligationInvoiceTemplateId>0</d3p1:RecurringObligationInvoiceTemplateId>
        <d3p1:RecurringObligationInvoiceTemplateItems>
          <d3p1:RecurringObligationInvoiceTemplateItem>
            <d3p1:Amount>0</d3p1:Amount>
            <d3p1:ChapBillCatId>0</d3p1:ChapBillCatId>
            <d3p1:Name>String</d3p1:Name>
            <d3p1:RecurringObligationInvoiceTemplateId>0</d3p1:RecurringObligationInvoiceTemplateId>
            <d3p1:RecurringObligationInvoiceTemplateItemId>0</d3p1:RecurringObligationInvoiceTemplateItemId>
            <d3p1:RecurringObligationTemplateItemId>0</d3p1:RecurringObligationTemplateItemId>
          </d3p1:RecurringObligationInvoiceTemplateItem>
        </d3p1:RecurringObligationInvoiceTemplateItems>
        <d3p1:RecurringObligationTemplateId>0</d3p1:RecurringObligationTemplateId>
      </d3p1:RecurringObligationInvoiceTemplate>
    </d2p1:_x003C_RecurringObligationTemplates_x003E_k__BackingField>
    <d2p1:_x003C_States_x003E_k__BackingField xmlns:d3p1="http://schemas.datacontract.org/2004/07/BH.API.DataAccess.Dto">
      <d3p1:StateDto>
        <d3p1:Abbr>String</d3p1:Abbr>
        <d3p1:CountryID>0</d3p1:CountryID>
        <d3p1:FullName>String</d3p1:FullName>
        <d3p1:StateID>0</d3p1:StateID>
      </d3p1:StateDto>
    </d2p1:_x003C_States_x003E_k__BackingField>
  </RecurringObligationFormInfo>
</RecurringObligationFormInfoGetRs>