// Code generated by go-swagger; DO NOT EDIT.

// All Code Copyright(c) 2018-2020 by Taxnexus, Inc.
// All rights reserved worldwide.
// Proprietary product; unlicensed use is not allowed

package sf_gate_models

// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command

import (
	"github.com/go-openapi/strfmt"
	"github.com/go-openapi/swag"
)

// CashReceipt Cash Receipt tracks all cash transactions in and out of the enterprise
//
// swagger:model CashReceipt
type CashReceipt struct {

	// Account Balance
	Accountbalance float64 `json:"accountbalance,omitempty"`

	// Account
	Accountid string `json:"accountid,omitempty"`

	// Account Name
	Accountname string `json:"accountname,omitempty"`

	// Amount
	Amount float64 `json:"amount,omitempty"`

	// Applied Amount
	Appliedamount float64 `json:"appliedamount,omitempty"`

	// Attempt Number
	AttemptNumber float64 `json:"attempt_number,omitempty"`

	// Audit Trail Message
	Auditmessage string `json:"auditmessage,omitempty"`

	// Autopay?
	Autopay bool `json:"autopay,omitempty"`

	// Billing Contact
	Billingcontactid string `json:"billingcontactid,omitempty"`

	// Billing Run
	Billingrunid string `json:"billingrunid,omitempty"`

	// Created By
	Createdbyid string `json:"createdbyid,omitempty"`

	// Customer Id
	Customerid string `json:"customerid,omitempty"`

	// Journal Date
	Date string `json:"date,omitempty"`

	// Memo
	Description string `json:"description,omitempty"`

	// Gateway
	Gateway string `json:"gateway,omitempty"`

	// Gateway Key
	Gatewaykey string `json:"gatewaykey,omitempty"`

	// Gateway Message
	Gatewaymessage string `json:"gatewaymessage,omitempty"`

	// GatewayTxn?
	Gatewaytxn bool `json:"gatewaytxn,omitempty"`

	// Taxnexus Record ID
	ID string `json:"id,omitempty"`

	// Invoice
	Invoiceid string `json:"invoiceid,omitempty"`

	// Is Valid?
	Isvalid bool `json:"isvalid,omitempty"`

	// Last Modified By
	Lastmodifiedbyid string `json:"lastmodifiedbyid,omitempty"`

	// Payment Number
	Name string `json:"name,omitempty"`

	// Parent Foreign Key
	Parentfk string `json:"parentfk,omitempty"`

	// Partner Account
	Partneraccountid string `json:"partneraccountid,omitempty"`

	// Payment Method
	PaymentMethod string `json:"payment_method,omitempty"`

	// Pending?
	Pending bool `json:"pending,omitempty"`

	// Period
	Periodid string `json:"periodid,omitempty"`

	// Picklist Value
	Picklistvalue string `json:"picklistvalue,omitempty"`

	// Posted
	Posted bool `json:"posted,omitempty"`

	// Processed
	Processed bool `json:"processed,omitempty"`

	// Processing
	Processing bool `json:"processing,omitempty"`

	// Record Type
	Recordtypeid string `json:"recordtypeid,omitempty"`

	// External Reference
	Ref string `json:"ref,omitempty"`

	// Reference
	Reference string `json:"reference,omitempty"`

	// Reference Number
	Referencenumber float64 `json:"referencenumber,omitempty"`

	// Rejected?
	Rejected bool `json:"rejected,omitempty"`

	// Source Payment Method
	Sourceid string `json:"sourceid,omitempty"`

	// Statement Item Type
	Statementitemtype string `json:"statementitemtype,omitempty"`

	// Status
	Status string `json:"status,omitempty"`

	// Template
	Templateid string `json:"templateid,omitempty"`

	// tenant identifier
	Tenantid string `json:"tenantid,omitempty"`

	// Type
	Type string `json:"type,omitempty"`

	// Unapplied Amount
	Unappliedamount float64 `json:"unappliedamount,omitempty"`

	// Valid Payment?
	Validpayment bool `json:"validpayment,omitempty"`

	// Xero Credit Note Id
	Xeroid string `json:"xeroid,omitempty"`
}

// Validate validates this cash receipt
func (m *CashReceipt) Validate(formats strfmt.Registry) error {
	return nil
}

// MarshalBinary interface implementation
func (m *CashReceipt) MarshalBinary() ([]byte, error) {
	if m == nil {
		return nil, nil
	}
	return swag.WriteJSON(m)
}

// UnmarshalBinary interface implementation
func (m *CashReceipt) UnmarshalBinary(b []byte) error {
	var res CashReceipt
	if err := swag.ReadJSON(b, &res); err != nil {
		return err
	}
	*m = res
	return nil
}
