// Code generated by msgraph.go/gen DO NOT EDIT.

package msgraph

import "time"

// Customer undocumented
type Customer struct {
	// Entity is the base model of Customer
	Entity
	// Number undocumented
	Number *string `json:"number,omitempty"`
	// DisplayName undocumented
	DisplayName *string `json:"displayName,omitempty"`
	// Type undocumented
	Type *string `json:"type,omitempty"`
	// Address undocumented
	Address *PostalAddressType `json:"address,omitempty"`
	// PhoneNumber undocumented
	PhoneNumber *string `json:"phoneNumber,omitempty"`
	// Email undocumented
	Email *string `json:"email,omitempty"`
	// Website undocumented
	Website *string `json:"website,omitempty"`
	// TaxLiable undocumented
	TaxLiable *bool `json:"taxLiable,omitempty"`
	// TaxAreaID undocumented
	TaxAreaID *UUID `json:"taxAreaId,omitempty"`
	// TaxAreaDisplayName undocumented
	TaxAreaDisplayName *string `json:"taxAreaDisplayName,omitempty"`
	// TaxRegistrationNumber undocumented
	TaxRegistrationNumber *string `json:"taxRegistrationNumber,omitempty"`
	// CurrencyID undocumented
	CurrencyID *UUID `json:"currencyId,omitempty"`
	// CurrencyCode undocumented
	CurrencyCode *string `json:"currencyCode,omitempty"`
	// PaymentTermsID undocumented
	PaymentTermsID *UUID `json:"paymentTermsId,omitempty"`
	// ShipmentMethodID undocumented
	ShipmentMethodID *UUID `json:"shipmentMethodId,omitempty"`
	// PaymentMethodID undocumented
	PaymentMethodID *UUID `json:"paymentMethodId,omitempty"`
	// Blocked undocumented
	Blocked *string `json:"blocked,omitempty"`
	// LastModifiedDateTime undocumented
	LastModifiedDateTime *time.Time `json:"lastModifiedDateTime,omitempty"`
	// Picture undocumented
	Picture []Picture `json:"picture,omitempty"`
	// Currency undocumented
	Currency *Currency `json:"currency,omitempty"`
	// PaymentTerm undocumented
	PaymentTerm *PaymentTerm `json:"paymentTerm,omitempty"`
	// ShipmentMethod undocumented
	ShipmentMethod *ShipmentMethod `json:"shipmentMethod,omitempty"`
	// PaymentMethod undocumented
	PaymentMethod *PaymentMethod `json:"paymentMethod,omitempty"`
}

// CustomerPayment undocumented
type CustomerPayment struct {
	// Entity is the base model of CustomerPayment
	Entity
	// JournalDisplayName undocumented
	JournalDisplayName *string `json:"journalDisplayName,omitempty"`
	// LineNumber undocumented
	LineNumber *int `json:"lineNumber,omitempty"`
	// CustomerID undocumented
	CustomerID *UUID `json:"customerId,omitempty"`
	// CustomerNumber undocumented
	CustomerNumber *string `json:"customerNumber,omitempty"`
	// ContactID undocumented
	ContactID *string `json:"contactId,omitempty"`
	// PostingDate undocumented
	PostingDate *Date `json:"postingDate,omitempty"`
	// DocumentNumber undocumented
	DocumentNumber *string `json:"documentNumber,omitempty"`
	// ExternalDocumentNumber undocumented
	ExternalDocumentNumber *string `json:"externalDocumentNumber,omitempty"`
	// Amount undocumented
	Amount *int `json:"amount,omitempty"`
	// AppliesToInvoiceID undocumented
	AppliesToInvoiceID *UUID `json:"appliesToInvoiceId,omitempty"`
	// AppliesToInvoiceNumber undocumented
	AppliesToInvoiceNumber *string `json:"appliesToInvoiceNumber,omitempty"`
	// Description undocumented
	Description *string `json:"description,omitempty"`
	// Comment undocumented
	Comment *string `json:"comment,omitempty"`
	// LastModifiedDateTime undocumented
	LastModifiedDateTime *time.Time `json:"lastModifiedDateTime,omitempty"`
	// Customer undocumented
	Customer *Customer `json:"customer,omitempty"`
}

// CustomerPaymentJournal undocumented
type CustomerPaymentJournal struct {
	// Entity is the base model of CustomerPaymentJournal
	Entity
	// Code undocumented
	Code *string `json:"code,omitempty"`
	// DisplayName undocumented
	DisplayName *string `json:"displayName,omitempty"`
	// LastModifiedDateTime undocumented
	LastModifiedDateTime *time.Time `json:"lastModifiedDateTime,omitempty"`
	// BalancingAccountID undocumented
	BalancingAccountID *UUID `json:"balancingAccountId,omitempty"`
	// BalancingAccountNumber undocumented
	BalancingAccountNumber *string `json:"balancingAccountNumber,omitempty"`
	// CustomerPayments undocumented
	CustomerPayments []CustomerPayment `json:"customerPayments,omitempty"`
	// Account undocumented
	Account *Account `json:"account,omitempty"`
}