Billhighway Cloud API

<back to all web services

Pmi

The following routes are available for this service:
POST/PMI
import java.math.*;
import java.util.*;
import net.servicestack.client.*;

public class dtos
{

    public static class Pmi
    {
        public String UniqueId = null;
        public Date CreatedDateTime = null;
        public Integer ClientId = null;
        public Integer GroupId = null;
        public Member MemberInfo = null;
        public ArrayList<Invoice> InvoiceCollection = null;
        public CreditCardPayment CcPaymentInfo = null;
        public CreateApplyCredit CreditInfo = null;
        public AchPayment AchPaymentInfo = null;
        public Long LockboxId = null;
        public Long MemberSubscriptionInvoiceId = null;
        
        public String getUniqueId() { return UniqueId; }
        public Pmi setUniqueId(String value) { this.UniqueId = value; return this; }
        public Date getCreatedDateTime() { return CreatedDateTime; }
        public Pmi setCreatedDateTime(Date value) { this.CreatedDateTime = value; return this; }
        public Integer getClientId() { return ClientId; }
        public Pmi setClientId(Integer value) { this.ClientId = value; return this; }
        public Integer getGroupId() { return GroupId; }
        public Pmi setGroupId(Integer value) { this.GroupId = value; return this; }
        public Member getMemberInfo() { return MemberInfo; }
        public Pmi setMemberInfo(Member value) { this.MemberInfo = value; return this; }
        public ArrayList<Invoice> getInvoiceCollection() { return InvoiceCollection; }
        public Pmi setInvoiceCollection(ArrayList<Invoice> value) { this.InvoiceCollection = value; return this; }
        public CreditCardPayment getCcPaymentInfo() { return CcPaymentInfo; }
        public Pmi setCcPaymentInfo(CreditCardPayment value) { this.CcPaymentInfo = value; return this; }
        public CreateApplyCredit getCreditInfo() { return CreditInfo; }
        public Pmi setCreditInfo(CreateApplyCredit value) { this.CreditInfo = value; return this; }
        public AchPayment getAchPaymentInfo() { return AchPaymentInfo; }
        public Pmi setAchPaymentInfo(AchPayment value) { this.AchPaymentInfo = value; return this; }
        public Long getLockboxId() { return LockboxId; }
        public Pmi setLockboxId(Long value) { this.LockboxId = value; return this; }
        public Long getMemberSubscriptionInvoiceId() { return MemberSubscriptionInvoiceId; }
        public Pmi setMemberSubscriptionInvoiceId(Long value) { this.MemberSubscriptionInvoiceId = value; return this; }
    }

    public static class Member
    {
        public String ClassName = null;
        public String UniqueId = null;
        public Date CreatedDateTime = null;
        public Integer ClientId = null;
        public String GroupId = null;
        public String UserId = null;
        public String AlternateUserId = null;
        public Integer BhUserId = null;
        public String FirstName = null;
        public String LastName = null;
        public String MiddleName = null;
        public String PreferredEmailAddress = null;
        public String OtherEmailAddress = null;
        public String PreferredPhoneNumber = null;
        public String PreferredAddress1 = null;
        public String PreferredAddress2 = null;
        public String PreferredCity = null;
        public String PreferredState = null;
        public String PreferredZip = null;
        public String PreferredCountry = null;
        public String AccessLevel = null;
        public String MemberStatus = null;
        public String MemberTypeClient = null;
        public String BillingType = null;
        public Integer FiscalYear = null;
        public String WorkLocation = null;
        public Date DOB = null;
        public String Paperless = null;
        public String DisplayName = null;
        public String DisableLogin = null;
        public RecurringInvoiceSettings RecurringInvoiceSettings = null;
        public ArrayList<SubscriberFormField> FormFields = null;
        public ArrayList<AttributeItem> Attributes = null;
        public ArrayList<Chapter> GroupList = null;
        
        public String getClassName() { return ClassName; }
        public Member setClassName(String value) { this.ClassName = value; return this; }
        public String getUniqueId() { return UniqueId; }
        public Member setUniqueId(String value) { this.UniqueId = value; return this; }
        public Date getCreatedDateTime() { return CreatedDateTime; }
        public Member setCreatedDateTime(Date value) { this.CreatedDateTime = value; return this; }
        public Integer getClientId() { return ClientId; }
        public Member setClientId(Integer value) { this.ClientId = value; return this; }
        public String getGroupId() { return GroupId; }
        public Member setGroupId(String value) { this.GroupId = value; return this; }
        public String getUserId() { return UserId; }
        public Member setUserId(String value) { this.UserId = value; return this; }
        public String getAlternateUserId() { return AlternateUserId; }
        public Member setAlternateUserId(String value) { this.AlternateUserId = value; return this; }
        public Integer getBhUserId() { return BhUserId; }
        public Member setBhUserId(Integer value) { this.BhUserId = value; return this; }
        public String getFirstName() { return FirstName; }
        public Member setFirstName(String value) { this.FirstName = value; return this; }
        public String getLastName() { return LastName; }
        public Member setLastName(String value) { this.LastName = value; return this; }
        public String getMiddleName() { return MiddleName; }
        public Member setMiddleName(String value) { this.MiddleName = value; return this; }
        public String getPreferredEmailAddress() { return PreferredEmailAddress; }
        public Member setPreferredEmailAddress(String value) { this.PreferredEmailAddress = value; return this; }
        public String getOtherEmailAddress() { return OtherEmailAddress; }
        public Member setOtherEmailAddress(String value) { this.OtherEmailAddress = value; return this; }
        public String getPreferredPhoneNumber() { return PreferredPhoneNumber; }
        public Member setPreferredPhoneNumber(String value) { this.PreferredPhoneNumber = value; return this; }
        public String getPreferredAddress1() { return PreferredAddress1; }
        public Member setPreferredAddress1(String value) { this.PreferredAddress1 = value; return this; }
        public String getPreferredAddress2() { return PreferredAddress2; }
        public Member setPreferredAddress2(String value) { this.PreferredAddress2 = value; return this; }
        public String getPreferredCity() { return PreferredCity; }
        public Member setPreferredCity(String value) { this.PreferredCity = value; return this; }
        public String getPreferredState() { return PreferredState; }
        public Member setPreferredState(String value) { this.PreferredState = value; return this; }
        public String getPreferredZip() { return PreferredZip; }
        public Member setPreferredZip(String value) { this.PreferredZip = value; return this; }
        public String getPreferredCountry() { return PreferredCountry; }
        public Member setPreferredCountry(String value) { this.PreferredCountry = value; return this; }
        public String getAccessLevel() { return AccessLevel; }
        public Member setAccessLevel(String value) { this.AccessLevel = value; return this; }
        public String getMemberStatus() { return MemberStatus; }
        public Member setMemberStatus(String value) { this.MemberStatus = value; return this; }
        public String getMemberTypeClient() { return MemberTypeClient; }
        public Member setMemberTypeClient(String value) { this.MemberTypeClient = value; return this; }
        public String getBillingType() { return BillingType; }
        public Member setBillingType(String value) { this.BillingType = value; return this; }
        public Integer getFiscalYear() { return FiscalYear; }
        public Member setFiscalYear(Integer value) { this.FiscalYear = value; return this; }
        public String getWorkLocation() { return WorkLocation; }
        public Member setWorkLocation(String value) { this.WorkLocation = value; return this; }
        public Date getDob() { return DOB; }
        public Member setDob(Date value) { this.DOB = value; return this; }
        public String getPaperless() { return Paperless; }
        public Member setPaperless(String value) { this.Paperless = value; return this; }
        public String getDisplayName() { return DisplayName; }
        public Member setDisplayName(String value) { this.DisplayName = value; return this; }
        public String getDisableLogin() { return DisableLogin; }
        public Member setDisableLogin(String value) { this.DisableLogin = value; return this; }
        public RecurringInvoiceSettings getRecurringInvoiceSettings() { return RecurringInvoiceSettings; }
        public Member setRecurringInvoiceSettings(RecurringInvoiceSettings value) { this.RecurringInvoiceSettings = value; return this; }
        public ArrayList<SubscriberFormField> getFormFields() { return FormFields; }
        public Member setFormFields(ArrayList<SubscriberFormField> value) { this.FormFields = value; return this; }
        public ArrayList<AttributeItem> getAttributes() { return Attributes; }
        public Member setAttributes(ArrayList<AttributeItem> value) { this.Attributes = value; return this; }
        public ArrayList<Chapter> getGroupList() { return GroupList; }
        public Member setGroupList(ArrayList<Chapter> value) { this.GroupList = value; return this; }
    }

    public static class RecurringInvoiceSettings
    {
        public String DonationAmount = null;
        
        public String getDonationAmount() { return DonationAmount; }
        public RecurringInvoiceSettings setDonationAmount(String value) { this.DonationAmount = value; return this; }
    }

    public static class SubscriberFormField
    {
        public String Name = null;
        public String Value = null;
        
        public String getName() { return Name; }
        public SubscriberFormField setName(String value) { this.Name = value; return this; }
        public String getValue() { return Value; }
        public SubscriberFormField setValue(String value) { this.Value = value; return this; }
    }

    public static class AttributeItem
    {
        public String Name = null;
        public String Value = null;
        
        public String getName() { return Name; }
        public AttributeItem setName(String value) { this.Name = value; return this; }
        public String getValue() { return Value; }
        public AttributeItem setValue(String value) { this.Value = value; return this; }
    }

    public static class Chapter
    {
        public String GroupId = null;
        
        public String getGroupId() { return GroupId; }
        public Chapter setGroupId(String value) { this.GroupId = value; return this; }
    }

    public static class Invoice implements IInvoiceValidation
    {
        public String UniqueId = null;
        public Integer ClientId = null;
        public String GroupId = null;
        public String Description = null;
        public String OpportunityId = null;
        public Integer Installments = null;
        public Integer Frequency = null;
        public Date InvoiceDueDate = null;
        public Boolean Deliver = null;
        public String UserId = null;
        public Integer BhUserId = null;
        public String CurrencyType = null;
        public ArrayList<InvoiceItem> InvoiceItems = null;
        public Integer InvoiceNo = null;
        public BigDecimal InvoiceAmt = null;
        public String ExternalInvBatchNo = null;
        public Boolean ExemptFromLateFee = null;
        
        public String getUniqueId() { return UniqueId; }
        public Invoice setUniqueId(String value) { this.UniqueId = value; return this; }
        public Integer getClientId() { return ClientId; }
        public Invoice setClientId(Integer value) { this.ClientId = value; return this; }
        public String getGroupId() { return GroupId; }
        public Invoice setGroupId(String value) { this.GroupId = value; return this; }
        public String getDescription() { return Description; }
        public Invoice setDescription(String value) { this.Description = value; return this; }
        public String getOpportunityId() { return OpportunityId; }
        public Invoice setOpportunityId(String value) { this.OpportunityId = value; return this; }
        public Integer getInstallments() { return Installments; }
        public Invoice setInstallments(Integer value) { this.Installments = value; return this; }
        public Integer getFrequency() { return Frequency; }
        public Invoice setFrequency(Integer value) { this.Frequency = value; return this; }
        public Date getInvoiceDueDate() { return InvoiceDueDate; }
        public Invoice setInvoiceDueDate(Date value) { this.InvoiceDueDate = value; return this; }
        public Boolean isDeliver() { return Deliver; }
        public Invoice setDeliver(Boolean value) { this.Deliver = value; return this; }
        public String getUserId() { return UserId; }
        public Invoice setUserId(String value) { this.UserId = value; return this; }
        public Integer getBhUserId() { return BhUserId; }
        public Invoice setBhUserId(Integer value) { this.BhUserId = value; return this; }
        public String getCurrencyType() { return CurrencyType; }
        public Invoice setCurrencyType(String value) { this.CurrencyType = value; return this; }
        public ArrayList<InvoiceItem> getInvoiceItems() { return InvoiceItems; }
        public Invoice setInvoiceItems(ArrayList<InvoiceItem> value) { this.InvoiceItems = value; return this; }
        public Integer getInvoiceNo() { return InvoiceNo; }
        public Invoice setInvoiceNo(Integer value) { this.InvoiceNo = value; return this; }
        public BigDecimal getInvoiceAmt() { return InvoiceAmt; }
        public Invoice setInvoiceAmt(BigDecimal value) { this.InvoiceAmt = value; return this; }
        public String getExternalInvBatchNo() { return ExternalInvBatchNo; }
        public Invoice setExternalInvBatchNo(String value) { this.ExternalInvBatchNo = value; return this; }
        public Boolean isExemptFromLateFee() { return ExemptFromLateFee; }
        public Invoice setExemptFromLateFee(Boolean value) { this.ExemptFromLateFee = value; return this; }
    }

    public static class InvoiceItem implements IInvoiceItemValidation
    {
        public String UniqueId = null;
        public String ProductName = null;
        public BigDecimal AmountDue = null;
        public String ProductType = null;
        public Integer ActPatternTypeID = null;
        public Date TermStartDate = null;
        public Date TermEndDate = null;
        public Integer RecognitionPeriod = null;
        public String RevenueAccount = null;
        public String AccountsReceivableAccount = null;
        public String LiabilityAccount = null;
        public String CreditExpenseAccount = null;
        public String InvoiceClearingAccount = null;
        public String CostCenter = null;
        public String Region = null;
        
        public String getUniqueId() { return UniqueId; }
        public InvoiceItem setUniqueId(String value) { this.UniqueId = value; return this; }
        public String getProductName() { return ProductName; }
        public InvoiceItem setProductName(String value) { this.ProductName = value; return this; }
        public BigDecimal getAmountDue() { return AmountDue; }
        public InvoiceItem setAmountDue(BigDecimal value) { this.AmountDue = value; return this; }
        public String getProductType() { return ProductType; }
        public InvoiceItem setProductType(String value) { this.ProductType = value; return this; }
        public Integer getActPatternTypeID() { return ActPatternTypeID; }
        public InvoiceItem setActPatternTypeID(Integer value) { this.ActPatternTypeID = value; return this; }
        public Date getTermStartDate() { return TermStartDate; }
        public InvoiceItem setTermStartDate(Date value) { this.TermStartDate = value; return this; }
        public Date getTermEndDate() { return TermEndDate; }
        public InvoiceItem setTermEndDate(Date value) { this.TermEndDate = value; return this; }
        public Integer getRecognitionPeriod() { return RecognitionPeriod; }
        public InvoiceItem setRecognitionPeriod(Integer value) { this.RecognitionPeriod = value; return this; }
        public String getRevenueAccount() { return RevenueAccount; }
        public InvoiceItem setRevenueAccount(String value) { this.RevenueAccount = value; return this; }
        public String getAccountsReceivableAccount() { return AccountsReceivableAccount; }
        public InvoiceItem setAccountsReceivableAccount(String value) { this.AccountsReceivableAccount = value; return this; }
        public String getLiabilityAccount() { return LiabilityAccount; }
        public InvoiceItem setLiabilityAccount(String value) { this.LiabilityAccount = value; return this; }
        public String getCreditExpenseAccount() { return CreditExpenseAccount; }
        public InvoiceItem setCreditExpenseAccount(String value) { this.CreditExpenseAccount = value; return this; }
        public String getInvoiceClearingAccount() { return InvoiceClearingAccount; }
        public InvoiceItem setInvoiceClearingAccount(String value) { this.InvoiceClearingAccount = value; return this; }
        public String getCostCenter() { return CostCenter; }
        public InvoiceItem setCostCenter(String value) { this.CostCenter = value; return this; }
        public String getRegion() { return Region; }
        public InvoiceItem setRegion(String value) { this.Region = value; return this; }
    }

    public static class CreditCardPayment extends CreditCardPayment
    {
        public SubscriptionParameters SubscriptionInfo = null;
        
        public SubscriptionParameters getSubscriptionInfo() { return SubscriptionInfo; }
        public CreditCardPayment setSubscriptionInfo(SubscriptionParameters value) { this.SubscriptionInfo = value; return this; }
    }

    public static class SubscriptionParameters
    {
        public Integer FormTemplateID = null;
        public Integer SubscriptionInvoiceID = null;
        public String ClientSubscriberId = null;
        public Integer SignupTypeID = null;
        public Integer FrequencyID = null;
        public Boolean AutoRenew = null;
        public Long CompanyID = null;
        public Integer UserID = null;
        public Long ChapMemPayID = null;
        public Long MemberSubscriptionInvID = null;
        public ArrayList<SubscriberFormField> Fields = null;
        public Integer CreatedBy = null;
        public Integer UpdatedBy = null;
        public Integer AptifyUpdateType = null;
        public Long RenewedMemberSubscriptionInvID = null;
        public Integer ChapId = null;
        
        public Integer getFormTemplateID() { return FormTemplateID; }
        public SubscriptionParameters setFormTemplateID(Integer value) { this.FormTemplateID = value; return this; }
        public Integer getSubscriptionInvoiceID() { return SubscriptionInvoiceID; }
        public SubscriptionParameters setSubscriptionInvoiceID(Integer value) { this.SubscriptionInvoiceID = value; return this; }
        public String getClientSubscriberId() { return ClientSubscriberId; }
        public SubscriptionParameters setClientSubscriberId(String value) { this.ClientSubscriberId = value; return this; }
        public Integer getSignupTypeID() { return SignupTypeID; }
        public SubscriptionParameters setSignupTypeID(Integer value) { this.SignupTypeID = value; return this; }
        public Integer getFrequencyID() { return FrequencyID; }
        public SubscriptionParameters setFrequencyID(Integer value) { this.FrequencyID = value; return this; }
        public Boolean isAutoRenew() { return AutoRenew; }
        public SubscriptionParameters setAutoRenew(Boolean value) { this.AutoRenew = value; return this; }
        public Long getCompanyID() { return CompanyID; }
        public SubscriptionParameters setCompanyID(Long value) { this.CompanyID = value; return this; }
        public Integer getUserID() { return UserID; }
        public SubscriptionParameters setUserID(Integer value) { this.UserID = value; return this; }
        public Long getChapMemPayID() { return ChapMemPayID; }
        public SubscriptionParameters setChapMemPayID(Long value) { this.ChapMemPayID = value; return this; }
        public Long getMemberSubscriptionInvID() { return MemberSubscriptionInvID; }
        public SubscriptionParameters setMemberSubscriptionInvID(Long value) { this.MemberSubscriptionInvID = value; return this; }
        public ArrayList<SubscriberFormField> getFields() { return Fields; }
        public SubscriptionParameters setFields(ArrayList<SubscriberFormField> value) { this.Fields = value; return this; }
        public Integer getCreatedBy() { return CreatedBy; }
        public SubscriptionParameters setCreatedBy(Integer value) { this.CreatedBy = value; return this; }
        public Integer getUpdatedBy() { return UpdatedBy; }
        public SubscriptionParameters setUpdatedBy(Integer value) { this.UpdatedBy = value; return this; }
        public Integer getAptifyUpdateType() { return AptifyUpdateType; }
        public SubscriptionParameters setAptifyUpdateType(Integer value) { this.AptifyUpdateType = value; return this; }
        public Long getRenewedMemberSubscriptionInvID() { return RenewedMemberSubscriptionInvID; }
        public SubscriptionParameters setRenewedMemberSubscriptionInvID(Long value) { this.RenewedMemberSubscriptionInvID = value; return this; }
        public Integer getChapId() { return ChapId; }
        public SubscriptionParameters setChapId(Integer value) { this.ChapId = value; return this; }
    }

    public static class CreateApplyCredit
    {
        public String ClassName = null;
        public String UniqueId = null;
        public Date CreatedDateTime = null;
        public Integer ClientId = null;
        public String GroupId = null;
        public String UserId = null;
        public Integer BhUserId = null;
        public Integer CreditId = null;
        public String CurrencyType = null;
        public String CreditType = null;
        public String Notes = null;
        public ArrayList<SalesForceCreditInvoiceDetails> InvoiceDetails = null;
        
        public String getClassName() { return ClassName; }
        public CreateApplyCredit setClassName(String value) { this.ClassName = value; return this; }
        public String getUniqueId() { return UniqueId; }
        public CreateApplyCredit setUniqueId(String value) { this.UniqueId = value; return this; }
        public Date getCreatedDateTime() { return CreatedDateTime; }
        public CreateApplyCredit setCreatedDateTime(Date value) { this.CreatedDateTime = value; return this; }
        public Integer getClientId() { return ClientId; }
        public CreateApplyCredit setClientId(Integer value) { this.ClientId = value; return this; }
        public String getGroupId() { return GroupId; }
        public CreateApplyCredit setGroupId(String value) { this.GroupId = value; return this; }
        public String getUserId() { return UserId; }
        public CreateApplyCredit setUserId(String value) { this.UserId = value; return this; }
        public Integer getBhUserId() { return BhUserId; }
        public CreateApplyCredit setBhUserId(Integer value) { this.BhUserId = value; return this; }
        public Integer getCreditId() { return CreditId; }
        public CreateApplyCredit setCreditId(Integer value) { this.CreditId = value; return this; }
        public String getCurrencyType() { return CurrencyType; }
        public CreateApplyCredit setCurrencyType(String value) { this.CurrencyType = value; return this; }
        public String getCreditType() { return CreditType; }
        public CreateApplyCredit setCreditType(String value) { this.CreditType = value; return this; }
        public String getNotes() { return Notes; }
        public CreateApplyCredit setNotes(String value) { this.Notes = value; return this; }
        public ArrayList<SalesForceCreditInvoiceDetails> getInvoiceDetails() { return InvoiceDetails; }
        public CreateApplyCredit setInvoiceDetails(ArrayList<SalesForceCreditInvoiceDetails> value) { this.InvoiceDetails = value; return this; }
    }

    public static class SalesForceCreditInvoiceDetails
    {
        public Long Invoice = null;
        public BigDecimal AmountPaid = null;
        public String Region = null;
        public String CostCenter = null;
        
        public Long getInvoice() { return Invoice; }
        public SalesForceCreditInvoiceDetails setInvoice(Long value) { this.Invoice = value; return this; }
        public BigDecimal getAmountPaid() { return AmountPaid; }
        public SalesForceCreditInvoiceDetails setAmountPaid(BigDecimal value) { this.AmountPaid = value; return this; }
        public String getRegion() { return Region; }
        public SalesForceCreditInvoiceDetails setRegion(String value) { this.Region = value; return this; }
        public String getCostCenter() { return CostCenter; }
        public SalesForceCreditInvoiceDetails setCostCenter(String value) { this.CostCenter = value; return this; }
    }

    public static class AchPayment
    {
        public String ClassName = null;
        public String UniqueId = null;
        public Date CreatedDateTime = null;
        public Integer ClientId = null;
        public String GroupId = null;
        public String UserId = null;
        public Integer BhUserId = null;
        public BigDecimal Amount = null;
        public String CurrencyType = null;
        public String Country = null;
        public String RoutingNumber = null;
        public String AccountNumber = null;
        public String AchReference = null;
        public String AccountType = null;
        public Boolean IsSavingsAccount = null;
        public String PayerName = null;
        public String CheckNumber = null;
        public String PreferredEmailAddress = null;
        public String Memo = null;
        public ArrayList<SalesForceMemberPaymentInvoiceDetail> InvoiceList = null;
        public Boolean AutoPay = null;
        public Boolean StoreAchInfo = null;
        public Integer EncryptionTypeId = null;
        
        public String getClassName() { return ClassName; }
        public AchPayment setClassName(String value) { this.ClassName = value; return this; }
        public String getUniqueId() { return UniqueId; }
        public AchPayment setUniqueId(String value) { this.UniqueId = value; return this; }
        public Date getCreatedDateTime() { return CreatedDateTime; }
        public AchPayment setCreatedDateTime(Date value) { this.CreatedDateTime = value; return this; }
        public Integer getClientId() { return ClientId; }
        public AchPayment setClientId(Integer value) { this.ClientId = value; return this; }
        public String getGroupId() { return GroupId; }
        public AchPayment setGroupId(String value) { this.GroupId = value; return this; }
        public String getUserId() { return UserId; }
        public AchPayment setUserId(String value) { this.UserId = value; return this; }
        public Integer getBhUserId() { return BhUserId; }
        public AchPayment setBhUserId(Integer value) { this.BhUserId = value; return this; }
        public BigDecimal getAmount() { return Amount; }
        public AchPayment setAmount(BigDecimal value) { this.Amount = value; return this; }
        public String getCurrencyType() { return CurrencyType; }
        public AchPayment setCurrencyType(String value) { this.CurrencyType = value; return this; }
        public String getCountry() { return Country; }
        public AchPayment setCountry(String value) { this.Country = value; return this; }
        public String getRoutingNumber() { return RoutingNumber; }
        public AchPayment setRoutingNumber(String value) { this.RoutingNumber = value; return this; }
        public String getAccountNumber() { return AccountNumber; }
        public AchPayment setAccountNumber(String value) { this.AccountNumber = value; return this; }
        public String getAchReference() { return AchReference; }
        public AchPayment setAchReference(String value) { this.AchReference = value; return this; }
        public String getAccountType() { return AccountType; }
        public AchPayment setAccountType(String value) { this.AccountType = value; return this; }
        public Boolean getIsSavingsAccount() { return IsSavingsAccount; }
        public AchPayment setIsSavingsAccount(Boolean value) { this.IsSavingsAccount = value; return this; }
        public String getPayerName() { return PayerName; }
        public AchPayment setPayerName(String value) { this.PayerName = value; return this; }
        public String getCheckNumber() { return CheckNumber; }
        public AchPayment setCheckNumber(String value) { this.CheckNumber = value; return this; }
        public String getPreferredEmailAddress() { return PreferredEmailAddress; }
        public AchPayment setPreferredEmailAddress(String value) { this.PreferredEmailAddress = value; return this; }
        public String getMemo() { return Memo; }
        public AchPayment setMemo(String value) { this.Memo = value; return this; }
        public ArrayList<SalesForceMemberPaymentInvoiceDetail> getInvoiceList() { return InvoiceList; }
        public AchPayment setInvoiceList(ArrayList<SalesForceMemberPaymentInvoiceDetail> value) { this.InvoiceList = value; return this; }
        public Boolean isAutoPay() { return AutoPay; }
        public AchPayment setAutoPay(Boolean value) { this.AutoPay = value; return this; }
        public Boolean isStoreAchInfo() { return StoreAchInfo; }
        public AchPayment setStoreAchInfo(Boolean value) { this.StoreAchInfo = value; return this; }
        public Integer getEncryptionTypeId() { return EncryptionTypeId; }
        public AchPayment setEncryptionTypeId(Integer value) { this.EncryptionTypeId = value; return this; }
    }

    public static class SalesForceMemberPaymentInvoiceDetail
    {
        public String ClassName = null;
        public String UniqueId = null;
        public Date CreatedDateTime = null;
        public Integer ClientId = null;
        public Integer Invoice = null;
        public String AmountPaid = null;
        
        public String getClassName() { return ClassName; }
        public SalesForceMemberPaymentInvoiceDetail setClassName(String value) { this.ClassName = value; return this; }
        public String getUniqueId() { return UniqueId; }
        public SalesForceMemberPaymentInvoiceDetail setUniqueId(String value) { this.UniqueId = value; return this; }
        public Date getCreatedDateTime() { return CreatedDateTime; }
        public SalesForceMemberPaymentInvoiceDetail setCreatedDateTime(Date value) { this.CreatedDateTime = value; return this; }
        public Integer getClientId() { return ClientId; }
        public SalesForceMemberPaymentInvoiceDetail setClientId(Integer value) { this.ClientId = value; return this; }
        public Integer getInvoice() { return Invoice; }
        public SalesForceMemberPaymentInvoiceDetail setInvoice(Integer value) { this.Invoice = value; return this; }
        public String getAmountPaid() { return AmountPaid; }
        public SalesForceMemberPaymentInvoiceDetail setAmountPaid(String value) { this.AmountPaid = value; return this; }
    }

    public static class PmiReply implements IHaveErrorField
    {
        public String UniqueId = null;
        public Date CreatedDateTime = null;
        public Integer ClientId = null;
        public String BillhighwayPaymentConfirmationNumber = null;
        public Integer BillhighwayUserId = null;
        public ArrayList<Integer> BhInvoiceBatchId = null;
        public Long ChapMemPayid = null;
        public Integer ErrorCode = null;
        public String ErrorMessage = null;
        public Boolean IsError = null;
        
        public String getUniqueId() { return UniqueId; }
        public PmiReply setUniqueId(String value) { this.UniqueId = value; return this; }
        public Date getCreatedDateTime() { return CreatedDateTime; }
        public PmiReply setCreatedDateTime(Date value) { this.CreatedDateTime = value; return this; }
        public Integer getClientId() { return ClientId; }
        public PmiReply setClientId(Integer value) { this.ClientId = value; return this; }
        public String getBillhighwayPaymentConfirmationNumber() { return BillhighwayPaymentConfirmationNumber; }
        public PmiReply setBillhighwayPaymentConfirmationNumber(String value) { this.BillhighwayPaymentConfirmationNumber = value; return this; }
        public Integer getBillhighwayUserId() { return BillhighwayUserId; }
        public PmiReply setBillhighwayUserId(Integer value) { this.BillhighwayUserId = value; return this; }
        public ArrayList<Integer> getBhInvoiceBatchId() { return BhInvoiceBatchId; }
        public PmiReply setBhInvoiceBatchId(ArrayList<Integer> value) { this.BhInvoiceBatchId = value; return this; }
        public Long getChapMemPayid() { return ChapMemPayid; }
        public PmiReply setChapMemPayid(Long value) { this.ChapMemPayid = value; return this; }
        public Integer getErrorCode() { return ErrorCode; }
        public PmiReply setErrorCode(Integer value) { this.ErrorCode = value; return this; }
        public String getErrorMessage() { return ErrorMessage; }
        public PmiReply setErrorMessage(String value) { this.ErrorMessage = value; return this; }
        public Boolean getIsError() { return IsError; }
        public PmiReply setIsError(Boolean value) { this.IsError = value; return this; }
    }

}

Java Pmi 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.

POST /PMI HTTP/1.1 
Host: devapi.billhighway.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	UniqueId: String,
	CreatedDateTime: 0001-01-01,
	ClientId: 0,
	GroupId: 0,
	MemberInfo: 
	{
		ClassName: String,
		UniqueId: String,
		CreatedDateTime: 0001-01-01,
		ClientId: 0,
		GroupId: String,
		UserId: String,
		AlternateUserId: String,
		BhUserId: 0,
		FirstName: String,
		LastName: String,
		MiddleName: String,
		PreferredEmailAddress: String,
		OtherEmailAddress: String,
		PreferredPhoneNumber: String,
		PreferredAddress1: String,
		PreferredAddress2: String,
		PreferredCity: String,
		PreferredState: String,
		PreferredZip: String,
		PreferredCountry: String,
		AccessLevel: String,
		MemberStatus: String,
		MemberTypeClient: String,
		BillingType: String,
		FiscalYear: 0,
		WorkLocation: String,
		DOB: 0001-01-01,
		Paperless: String,
		DisplayName: String,
		DisableLogin: String,
		RecurringInvoiceSettings: 
		{
			DonationAmount: String
		},
		FormFields: 
		[
			{
				Name: String,
				Value: String
			}
		],
		Attributes: 
		[
			{
				Name: String,
				Value: String
			}
		],
		GroupList: 
		[
			{
				GroupId: String
			}
		]
	},
	InvoiceCollection: 
	[
		{
			UniqueId: String,
			ClientId: 0,
			GroupId: String,
			UserId: String,
			OpportunityId: String,
			InvoiceDueDate: 0001-01-01,
			Installments: 0,
			Frequency: 0,
			BhUserId: 0,
			Description: String,
			Deliver: False,
			CurrencyType: String,
			InvoiceItems: 
			[
				{
					ProductName: String,
					AmountDue: String,
					RevenueAccount: String
				}
			],
			InvoiceNo: 0,
			InvoiceAmt: 0,
			ExternalInvBatchNo: String,
			ExemptFromLateFee: False
		}
	],
	CcPaymentInfo: 
	{
		ClassName: String,
		UniqueId: String,
		CreatedDateTime: 0001-01-01,
		ClientId: 0,
		GroupId: String,
		UserId: String,
		BhUserId: 0,
		Amount: String,
		AutoPay: False,
		CurrencyType: String,
		Country: String,
		CardReferenceOrCardNumber: String,
		StoreCardInfo: False,
		Address1: String,
		Address2: String,
		BillingCity: String,
		BillingState: String,
		PreferredEmailAddress: String,
		Memo: String,
		OpportunityId: String,
		ExpMonth: 0,
		ExpYear: 0,
		Cvv: String,
		PostalCode: String,
		Location: String,
		NameOnCard: String,
		CardType: String,
		InvoiceList: 
		[
			{
				ClassName: String,
				UniqueId: String,
				CreatedDateTime: 0001-01-01,
				ClientId: 0,
				Invoice: 0,
				AmountPaid: String
			}
		]
	},
	CreditInfo: 
	{
		ClassName: String,
		UniqueId: String,
		CreatedDateTime: 0001-01-01,
		ClientId: 0,
		GroupId: String,
		UserId: String,
		BhUserId: 0,
		CreditId: 0,
		CurrencyType: String,
		CreditType: String,
		Notes: String,
		InvoiceDetails: 
		[
			{
				Invoice: 0,
				AmountPaid: 0,
				Region: String,
				CostCenter: String
			}
		]
	},
	AchPaymentInfo: 
	{
		ClassName: String,
		UniqueId: String,
		CreatedDateTime: 0001-01-01,
		ClientId: 0,
		GroupId: String,
		UserId: String,
		BhUserId: 0,
		Amount: 0,
		CurrencyType: String,
		Country: String,
		RoutingNumber: String,
		AccountNumber: String,
		AchReference: String,
		AccountType: String,
		IsSavingsAccount: False,
		PayerName: String,
		CheckNumber: String,
		PreferredEmailAddress: String,
		Memo: String,
		InvoiceList: 
		[
			{
				ClassName: String,
				UniqueId: String,
				CreatedDateTime: 0001-01-01,
				ClientId: 0,
				Invoice: 0,
				AmountPaid: String
			}
		],
		AutoPay: False,
		StoreAchInfo: False,
		EncryptionTypeId: 0
	},
	LockboxId: 0,
	MemberSubscriptionInvoiceId: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	UniqueId: String,
	CreatedDateTime: 0001-01-01,
	ClientId: 0,
	BillhighwayPaymentConfirmationNumber: String,
	BillhighwayUserId: 0,
	BhInvoiceBatchId: 
	[
		0
	],
	ChapMemPayid: 0,
	ErrorCode: 0,
	ErrorMessage: String,
	IsError: True
}