This repository has been archived by the owner on Feb 21, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
/
accounts_types.go
103 lines (99 loc) · 6.49 KB
/
accounts_types.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
package zuora
// Account has all the possible properties given by Zuora. This comes from
// the Describe endpoint.
type Account struct {
ID *string `json:"id,omitempty"`
AccountNumber *string `json:"accountNumber,omitempty"`
// AdditionalEmailAddresses show as part of GetById response as a string but
// as an array in Get response but inside `billingAndPayment`.
// TODO: Check with ZOQL
// AdditionalEmailAddresses *string `json:"additionalEmailAddresses,omitempty"`
AllowInvoiceEdit *bool `json:"allowInvoiceEdit,omitempty"`
AutoPay *bool `json:"autoPay,omitempty"`
Balance *float64 `json:"balance,omitempty"`
Batch *string `json:"batch,omitempty"`
BcdSettingOption string `json:"bcdSettingOption"`
BillCycleDay int `json:"billCycleDay"`
BillToID *string `json:"billToId,omitempty"`
CommunicationProfileID *string `json:"communicationProfileId,omitempty"`
CreatedByID *string `json:"createdById,omitempty"`
CreatedDate *string `json:"createdDate,omitempty"`
CreditBalance *float64 `json:"creditBalance,omitempty"`
CrmID *string `json:"crmId,omitempty"`
Currency string `json:"currency"`
CustomerServiceRepName *string `json:"customerServiceRepName,omitempty"`
DefaultPaymentMethodID *string `json:"defaultPaymentMethodId,omitempty"`
InvoiceDeliveryPrefsEmail *bool `json:"invoiceDeliveryPrefsEmail,omitempty"`
InvoiceDeliveryPrefsPrint *bool `json:"invoiceDeliveryPrefsPrint,omitempty"`
InvoiceTemplateID *string `json:"invoiceTemplateId,omitempty"`
LastInvoiceDate *string `json:"lastInvoiceDate,omitempty"`
Mrr *float64 `json:"mrr,omitempty"`
Name string `json:"name"`
Notes *string `json:"notes,omitempty"`
ParentID *string `json:"parentId,omitempty"`
PaymentGateway *string `json:"paymentGateway,omitempty"`
PaymentTerm *string `json:"paymentTerm,omitempty"`
PurchaseOrderNumber *string `json:"purchaseOrderNumber,omitempty"`
SalesRepName *string `json:"salesRepName,omitempty"`
SequenceSetID *string `json:"sequenceSetId,omitempty"`
SoldToID *string `json:"soldToId,omitempty"`
Status string `json:"status"`
TaxCompanyCode *string `json:"taxCompanyCode,omitempty"`
TaxExemptCertificateID *string `json:"taxExemptCertificateID,omitempty"`
TaxExemptCertificateType *string `json:"taxExemptCertificateType,omitempty"`
TaxExemptDescription *string `json:"taxExemptDescription,omitempty"`
TaxExemptEffectiveDate *string `json:"taxExemptEffectiveDate,omitempty"`
TaxExemptEntityUseCode *string `json:"taxExemptEntityUseCode,omitempty"`
TaxExemptExpirationDate *string `json:"taxExemptExpirationDate,omitempty"`
TaxExemptIssuingJurisdiction *string `json:"taxExemptIssuingJurisdiction,omitempty"`
TaxExemptStatus *string `json:"taxExemptStatus,omitempty"`
TotalDebitMemoBalance *float64 `json:"totalDebitMemoBalance,omitempty"`
TotalInvoiceBalance *float64 `json:"totalInvoiceBalance,omitempty"`
UnappliedBalance float64 `json:"unappliedBalance"`
UnappliedCreditMemoAmount *float64 `json:"unappliedCreditMemoAmount,omitempty"`
UpdatedByID *string `json:"updatedById,omitempty"`
UpdatedDate *string `json:"updatedDate,omitempty"`
VATId *string `json:"vatId,omitempty"`
}
// AccountUpdate has all the possible properties given by Zuora. This comes from
// the Describe endpoint.
type AccountUpdate struct {
AdditionalEmailAddresses []string `json:"additionalEmailAddresses,omitempty"`
AutoPay *bool `json:"autoPay,omitempty"`
Batch *string `json:"batch,omitempty"`
BillToContact *Contact `json:"billToContact,omitempty"`
CommunicationProfileID *string `json:"communicationProfileId,omitempty"`
CreditMemoTemplateID *string `json:"creditMemoTemplateId,omitempty"`
CrmID *string `json:"crmId,omitempty"`
DebitMemoTemplateID *string `json:"debitMemoTemplateId,omitempty"`
InvoiceDeliveryPrefsEmail *bool `json:"invoiceDeliveryPrefsEmail,omitempty"`
InvoiceDeliveryPrefsPrint *bool `json:"invoiceDeliveryPrefsPrint,omitempty"`
InvoiceTemplateID *string `json:"invoiceTemplateId,omitempty"`
Name string `json:"name,omitempty"`
Notes *string `json:"notes,omitempty"`
ParentID *string `json:"parentId,omitempty"`
PaymentGateway *string `json:"paymentGateway,omitempty"`
SalesRepName *string `json:"salesRepName,omitempty"`
SequenceSetID *string `json:"sequenceSetId,omitempty"`
SoldToContact *Contact `json:"soldToContact,omitempty"`
Tagging *string `json:"tagging,omitempty"`
TaxInfo *AccountUpdateTaxInfo `json:"taxInfo,omitempty"`
}
// AccountUpdateTaxInfo Container for tax exempt information, used to establish the tax exempt status of a customer account.
type AccountUpdateTaxInfo struct {
VATId *string `json:"vatId,omitempty"`
CompanyCode *string `json:"companyCode,omitempty"`
ExemptCertificateID *string `json:"exemptCertificateID,omitempty"`
ExemptCertificateType *string `json:"exemptCertificateType,omitempty"`
ExemptDescription *string `json:"exemptDescription,omitempty"`
ExemptEffectiveDate *string `json:"exemptEffectiveDate,omitempty"`
ExemptEntityUseCode *string `json:"exemptEntityUseCode,omitempty"`
ExemptExpirationDate *string `json:"exemptExpirationDate,omitempty"`
ExemptIssuingJurisdiction *string `json:"exemptIssuingJurisdiction,omitempty"`
ExemptStatus *string `json:"exemptStatus,omitempty"`
}
// AccountUpdateResponse CRUD responses have this response.
type AccountUpdateResponse struct {
Success bool `json:"success"`
ID string `json:"id"`
}