// Package finances provides primitives to interact the openapi HTTP API.
//
// Code generated by go-sdk-codegen DO NOT EDIT.
package finances

import (
	"time"
)

// AdjustmentEvent defines model for AdjustmentEvent.
type AdjustmentEvent struct {

	// A currency type and amount.
	AdjustmentAmount *Currency `json:"AdjustmentAmount,omitempty"`

	// A list of information about items in an adjustment to the seller's account.
	AdjustmentItemList *AdjustmentItemList `json:"AdjustmentItemList,omitempty"`

	// The type of adjustment.
	//
	// Possible values:
	//
	// * FBAInventoryReimbursement - An FBA inventory reimbursement to a seller's account. This occurs if a seller's inventory is damaged.
	//
	// * ReserveEvent - A reserve event that is generated at the time of a settlement period closing. This occurs when some money from a seller's account is held back.
	//
	// * PostageBilling - The amount paid by a seller for shipping labels.
	//
	// * PostageRefund - The reimbursement of shipping labels purchased for orders that were canceled or refunded.
	//
	// * LostOrDamagedReimbursement - An Amazon Easy Ship reimbursement to a seller's account for a package that we lost or damaged.
	//
	// * CanceledButPickedUpReimbursement - An Amazon Easy Ship reimbursement to a seller's account. This occurs when a package is picked up and the order is subsequently canceled. This value is used only in the India marketplace.
	//
	// * ReimbursementClawback - An Amazon Easy Ship reimbursement clawback from a seller's account. This occurs when a prior reimbursement is reversed. This value is used only in the India marketplace.
	//
	// * SellerRewards - An award credited to a seller's account for their participation in an offer in the Seller Rewards program. Applies only to the India marketplace.
	AdjustmentType *string `json:"AdjustmentType,omitempty"`
	PostedDate     *Date   `json:"PostedDate,omitempty"`
}

// AdjustmentEventList defines model for AdjustmentEventList.
type AdjustmentEventList []AdjustmentEvent

// AdjustmentItem defines model for AdjustmentItem.
type AdjustmentItem struct {

	// The Amazon Standard Identification Number (ASIN) of the item.
	ASIN *string `json:"ASIN,omitempty"`

	// A unique identifier assigned to products stored in and fulfilled from a fulfillment center.
	FnSKU *string `json:"FnSKU,omitempty"`

	// A currency type and amount.
	PerUnitAmount *Currency `json:"PerUnitAmount,omitempty"`

	// A short description of the item.
	ProductDescription *string `json:"ProductDescription,omitempty"`

	// Represents the number of units in the seller's inventory when the AdustmentType is FBAInventoryReimbursement.
	Quantity *string `json:"Quantity,omitempty"`

	// The seller SKU of the item. The seller SKU is qualified by the seller's seller ID, which is included with every call to the Selling Partner API.
	SellerSKU *string `json:"SellerSKU,omitempty"`

	// A currency type and amount.
	TotalAmount *Currency `json:"TotalAmount,omitempty"`
}

// AdjustmentItemList defines model for AdjustmentItemList.
type AdjustmentItemList []AdjustmentItem

// AffordabilityExpenseEvent defines model for AffordabilityExpenseEvent.
type AffordabilityExpenseEvent struct {

	// An Amazon-defined identifier for an order.
	AmazonOrderId *string `json:"AmazonOrderId,omitempty"`

	// A currency type and amount.
	BaseExpense *Currency `json:"BaseExpense,omitempty"`

	// An encrypted, Amazon-defined marketplace identifier.
	MarketplaceId *string `json:"MarketplaceId,omitempty"`
	PostedDate    *Date   `json:"PostedDate,omitempty"`

	// A currency type and amount.
	TaxTypeCGST Currency `json:"TaxTypeCGST"`

	// A currency type and amount.
	TaxTypeIGST Currency `json:"TaxTypeIGST"`

	// A currency type and amount.
	TaxTypeSGST Currency `json:"TaxTypeSGST"`

	// A currency type and amount.
	TotalExpense *Currency `json:"TotalExpense,omitempty"`

	// Indicates the type of transaction.
	//
	// Possible values:
	//
	// * Charge - For an affordability promotion expense.
	//
	// * Refund - For an affordability promotion expense reversal.
	TransactionType *string `json:"TransactionType,omitempty"`
}

// AffordabilityExpenseEventList defines model for AffordabilityExpenseEventList.
type AffordabilityExpenseEventList []AffordabilityExpenseEvent

// BigDecimal defines model for BigDecimal.
type BigDecimal float32

// ChargeComponent defines model for ChargeComponent.
type ChargeComponent struct {

	// A currency type and amount.
	ChargeAmount *Currency `json:"ChargeAmount,omitempty"`

	// The type of charge.
	ChargeType *string `json:"ChargeType,omitempty"`
}

// ChargeComponentList defines model for ChargeComponentList.
type ChargeComponentList []ChargeComponent

// ChargeInstrument defines model for ChargeInstrument.
type ChargeInstrument struct {

	// A currency type and amount.
	Amount *Currency `json:"Amount,omitempty"`

	// A short description of the charge instrument.
	Description *string `json:"Description,omitempty"`

	// The account tail (trailing digits) of the charge instrument.
	Tail *string `json:"Tail,omitempty"`
}

// ChargeInstrumentList defines model for ChargeInstrumentList.
type ChargeInstrumentList []ChargeInstrument

// CouponPaymentEvent defines model for CouponPaymentEvent.
type CouponPaymentEvent struct {

	// A charge on the seller's account.
	//
	// Possible values:
	//
	// * Principal - The selling price of the order item, equal to the selling price of the item multiplied by the quantity ordered.
	//
	// * Tax - The tax collected by the seller on the Principal.
	//
	// * MarketplaceFacilitatorTax-Principal - The tax withheld on the Principal.
	//
	// * MarketplaceFacilitatorTax-Shipping - The tax withheld on the ShippingCharge.
	//
	// * MarketplaceFacilitatorTax-Giftwrap - The tax withheld on the Giftwrap charge.
	//
	// * MarketplaceFacilitatorTax-Other - The tax withheld on other miscellaneous charges.
	//
	// * Discount - The promotional discount for an order item.
	//
	// * TaxDiscount - The tax amount deducted for promotional rebates.
	//
	// * CODItemCharge - The COD charge for an order item.
	//
	// * CODItemTaxCharge - The tax collected by the seller on a CODItemCharge.
	//
	// * CODOrderCharge - The COD charge for an order.
	//
	// * CODOrderTaxCharge - The tax collected by the seller on a CODOrderCharge.
	//
	// * CODShippingCharge - Shipping charges for a COD order.
	//
	// * CODShippingTaxCharge - The tax collected by the seller on a CODShippingCharge.
	//
	// * ShippingCharge - The shipping charge.
	//
	// * ShippingTax - The tax collected by the seller on a ShippingCharge.
	//
	// * Goodwill - The amount given to a buyer as a gesture of goodwill or to compensate for pain and suffering in the buying experience.
	//
	// * Giftwrap - The gift wrap charge.
	//
	// * GiftwrapTax - The tax collected by the seller on a Giftwrap charge.
	//
	// * RestockingFee - The charge applied to the buyer when returning a product in certain categories.
	//
	// * ReturnShipping - The amount given to the buyer to compensate for shipping the item back in the event we are at fault.
	//
	// * PointsFee - The value of Amazon Points deducted from the refund if the buyer does not have enough Amazon Points to cover the deduction.
	//
	// * GenericDeduction - A generic bad debt deduction.
	//
	// * FreeReplacementReturnShipping - The compensation for return shipping when a buyer receives the wrong item, requests a free replacement, and returns the incorrect item.
	//
	// * PaymentMethodFee - The fee collected for certain payment methods in certain marketplaces.
	//
	// * ExportCharge - The export duty that is charged when an item is shipped to an international destination as part of the Amazon Global program.
	//
	// * SAFE-TReimbursement - The SAFE-T claim amount for the item.
	//
	// * TCS-CGST - Tax Collected at Source (TCS) for Central Goods and Services Tax (CGST).
	//
	// * TCS-SGST - Tax Collected at Source for State Goods and Services Tax (SGST).
	//
	// * TCS-IGST - Tax Collected at Source for Integrated Goods and Services Tax (IGST).
	//
	// * TCS-UTGST - Tax Collected at Source for Union Territories Goods and Services Tax (UTGST).
	ChargeComponent *ChargeComponent `json:"ChargeComponent,omitempty"`

	// The number of coupon clips or redemptions.
	ClipOrRedemptionCount *int64 `json:"ClipOrRedemptionCount,omitempty"`

	// A coupon identifier.
	CouponId *string `json:"CouponId,omitempty"`

	// A fee associated with the event.
	FeeComponent *FeeComponent `json:"FeeComponent,omitempty"`

	// A payment event identifier.
	PaymentEventId *string `json:"PaymentEventId,omitempty"`
	PostedDate     *Date   `json:"PostedDate,omitempty"`

	// The description provided by the seller when they created the coupon.
	SellerCouponDescription *string `json:"SellerCouponDescription,omitempty"`

	// A currency type and amount.
	TotalAmount *Currency `json:"TotalAmount,omitempty"`
}

// CouponPaymentEventList defines model for CouponPaymentEventList.
type CouponPaymentEventList []CouponPaymentEvent

// Currency defines model for Currency.
type Currency struct {
	CurrencyAmount *BigDecimal `json:"CurrencyAmount,omitempty"`

	// The three-digit currency code in ISO 4217 format.
	CurrencyCode *string `json:"CurrencyCode,omitempty"`
}

// Date defines model for Date.
type Date time.Time

// DebtRecoveryEvent defines model for DebtRecoveryEvent.
type DebtRecoveryEvent struct {

	// A list of payment instruments.
	ChargeInstrumentList *ChargeInstrumentList `json:"ChargeInstrumentList,omitempty"`

	// A list of debt recovery item information.
	DebtRecoveryItemList *DebtRecoveryItemList `json:"DebtRecoveryItemList,omitempty"`

	// The debt recovery type.
	//
	// Possible values:
	//
	// * DebtPayment
	//
	// * DebtPaymentFailure
	//
	// *DebtAdjustment
	DebtRecoveryType *string `json:"DebtRecoveryType,omitempty"`

	// A currency type and amount.
	OverPaymentCredit *Currency `json:"OverPaymentCredit,omitempty"`

	// A currency type and amount.
	RecoveryAmount *Currency `json:"RecoveryAmount,omitempty"`
}

// DebtRecoveryEventList defines model for DebtRecoveryEventList.
type DebtRecoveryEventList []DebtRecoveryEvent

// DebtRecoveryItem defines model for DebtRecoveryItem.
type DebtRecoveryItem struct {
	GroupBeginDate *Date `json:"GroupBeginDate,omitempty"`
	GroupEndDate   *Date `json:"GroupEndDate,omitempty"`

	// A currency type and amount.
	OriginalAmount *Currency `json:"OriginalAmount,omitempty"`

	// A currency type and amount.
	RecoveryAmount *Currency `json:"RecoveryAmount,omitempty"`
}

// DebtRecoveryItemList defines model for DebtRecoveryItemList.
type DebtRecoveryItemList []DebtRecoveryItem

// DirectPayment defines model for DirectPayment.
type DirectPayment struct {

	// A currency type and amount.
	DirectPaymentAmount *Currency `json:"DirectPaymentAmount,omitempty"`

	// The type of payment.
	//
	// Possible values:
	//
	// * StoredValueCardRevenue - The amount that is deducted from the seller's account because the seller received money through a stored value card.
	//
	// * StoredValueCardRefund - The amount that Amazon returns to the seller if the order that is bought using a stored value card is refunded.
	//
	// * PrivateLabelCreditCardRevenue - The amount that is deducted from the seller's account because the seller received money through a private label credit card offered by Amazon.
	//
	// * PrivateLabelCreditCardRefund - The amount that Amazon returns to the seller if the order that is bought using a private label credit card offered by Amazon is refunded.
	//
	// * CollectOnDeliveryRevenue - The COD amount that the seller collected directly from the buyer.
	//
	// * CollectOnDeliveryRefund - The amount that Amazon refunds to the buyer if an order paid for by COD is refunded.
	DirectPaymentType *string `json:"DirectPaymentType,omitempty"`
}

// DirectPaymentList defines model for DirectPaymentList.
type DirectPaymentList []DirectPayment

// Error defines model for Error.
type Error struct {

	// An error code that identifies the type of error that occurred.
	Code string `json:"code"`

	// Additional details that can help the caller understand or fix the issue.
	Details *string `json:"details,omitempty"`

	// A message that describes the error condition in a human-readable form.
	Message string `json:"message"`
}

// ErrorList defines model for ErrorList.
type ErrorList []Error

// FBALiquidationEvent defines model for FBALiquidationEvent.
type FBALiquidationEvent struct {

	// A currency type and amount.
	LiquidationFeeAmount *Currency `json:"LiquidationFeeAmount,omitempty"`

	// A currency type and amount.
	LiquidationProceedsAmount *Currency `json:"LiquidationProceedsAmount,omitempty"`

	// The identifier for the original removal order.
	OriginalRemovalOrderId *string `json:"OriginalRemovalOrderId,omitempty"`
	PostedDate             *Date   `json:"PostedDate,omitempty"`
}

// FBALiquidationEventList defines model for FBALiquidationEventList.
type FBALiquidationEventList []FBALiquidationEvent

// FeeComponent defines model for FeeComponent.
type FeeComponent struct {

	// A currency type and amount.
	FeeAmount *Currency `json:"FeeAmount,omitempty"`

	// The type of fee. For more information about Selling on Amazon fees, see [Selling on Amazon Fee Schedule](https://sellercentral.amazon.com/gp/help/200336920) on Seller Central. For more information about Fulfillment by Amazon fees, see [FBA features, services and fees](https://sellercentral.amazon.com/gp/help/201074400) on Seller Central.
	FeeType *string `json:"FeeType,omitempty"`
}

// FeeComponentList defines model for FeeComponentList.
type FeeComponentList []FeeComponent

// FinancialEventGroup defines model for FinancialEventGroup.
type FinancialEventGroup struct {

	// The account tail of the payment instrument.
	AccountTail *string `json:"AccountTail,omitempty"`

	// A currency type and amount.
	BeginningBalance *Currency `json:"BeginningBalance,omitempty"`

	// A currency type and amount.
	ConvertedTotal         *Currency `json:"ConvertedTotal,omitempty"`
	FinancialEventGroupEnd *Date     `json:"FinancialEventGroupEnd,omitempty"`

	// A unique identifier for the financial event group.
	FinancialEventGroupId    *string `json:"FinancialEventGroupId,omitempty"`
	FinancialEventGroupStart *Date   `json:"FinancialEventGroupStart,omitempty"`
	FundTransferDate         *Date   `json:"FundTransferDate,omitempty"`

	// The status of the fund transfer.
	FundTransferStatus *string `json:"FundTransferStatus,omitempty"`

	// A currency type and amount.
	OriginalTotal *Currency `json:"OriginalTotal,omitempty"`

	// The processing status of the financial event group indicates whether the balance of the financial event group is settled.
	//
	// Possible values:
	//
	// * Open
	//
	// * Closed
	ProcessingStatus *string `json:"ProcessingStatus,omitempty"`

	// The trace identifier used by sellers to look up transactions externally.
	TraceId *string `json:"TraceId,omitempty"`
}

// FinancialEventGroupList defines model for FinancialEventGroupList.
type FinancialEventGroupList []FinancialEventGroup

// FinancialEvents defines model for FinancialEvents.
type FinancialEvents struct {

	// A list of adjustment event information for the seller's account.
	AdjustmentEventList *AdjustmentEventList `json:"AdjustmentEventList,omitempty"`

	// A list of expense information related to an affordability promotion.
	AffordabilityExpenseEventList *AffordabilityExpenseEventList `json:"AffordabilityExpenseEventList,omitempty"`

	// A list of expense information related to an affordability promotion.
	AffordabilityExpenseReversalEventList *AffordabilityExpenseEventList `json:"AffordabilityExpenseReversalEventList,omitempty"`

	// A list of shipment event information.
	ChargebackEventList *ShipmentEventList `json:"ChargebackEventList,omitempty"`

	// A list of coupon payment event information.
	CouponPaymentEventList *CouponPaymentEventList `json:"CouponPaymentEventList,omitempty"`

	// A list of debt recovery event information.
	DebtRecoveryEventList *DebtRecoveryEventList `json:"DebtRecoveryEventList,omitempty"`

	// A list of FBA inventory liquidation payment events.
	FBALiquidationEventList *FBALiquidationEventList `json:"FBALiquidationEventList,omitempty"`

	// A list of shipment event information.
	GuaranteeClaimEventList *ShipmentEventList `json:"GuaranteeClaimEventList,omitempty"`

	// A list of fee events related to Amazon Imaging services.
	ImagingServicesFeeEventList *ImagingServicesFeeEventList `json:"ImagingServicesFeeEventList,omitempty"`

	// A list of loan servicing events.
	LoanServicingEventList *LoanServicingEventList `json:"LoanServicingEventList,omitempty"`

	// A list of network commingling transaction events.
	NetworkComminglingTransactionEventList *NetworkComminglingTransactionEventList `json:"NetworkComminglingTransactionEventList,omitempty"`

	// A list of events related to the seller's Pay with Amazon account.
	PayWithAmazonEventList *PayWithAmazonEventList `json:"PayWithAmazonEventList,omitempty"`

	// A list of sponsored products payment events.
	ProductAdsPaymentEventList *ProductAdsPaymentEventList `json:"ProductAdsPaymentEventList,omitempty"`

	// A list of shipment event information.
	RefundEventList *ShipmentEventList `json:"RefundEventList,omitempty"`

	// A list of rental transaction event information.
	RentalTransactionEventList *RentalTransactionEventList `json:"RentalTransactionEventList,omitempty"`

	// A list of information about Retrocharge or RetrochargeReversal events.
	RetrochargeEventList *RetrochargeEventList `json:"RetrochargeEventList,omitempty"`

	// A list of SAFETReimbursementEvents.
	SAFETReimbursementEventList *SAFETReimbursementEventList `json:"SAFETReimbursementEventList,omitempty"`

	// A list of payment events for deal-related fees.
	SellerDealPaymentEventList *SellerDealPaymentEventList `json:"SellerDealPaymentEventList,omitempty"`

	// A list of information about fee events for the Early Reviewer Program.
	SellerReviewEnrollmentPaymentEventList *SellerReviewEnrollmentPaymentEventList `json:"SellerReviewEnrollmentPaymentEventList,omitempty"`

	// A list of information about service fee events.
	ServiceFeeEventList *ServiceFeeEventList `json:"ServiceFeeEventList,omitempty"`

	// A list of information about solution provider credits.
	ServiceProviderCreditEventList *SolutionProviderCreditEventList `json:"ServiceProviderCreditEventList,omitempty"`

	// A list of shipment event information.
	ShipmentEventList *ShipmentEventList `json:"ShipmentEventList,omitempty"`
}

// ImagingServicesFeeEvent defines model for ImagingServicesFeeEvent.
type ImagingServicesFeeEvent struct {

	// The Amazon Standard Identification Number (ASIN) of the item for which the imaging service was requested.
	ASIN *string `json:"ASIN,omitempty"`

	// A list of fee component information.
	FeeList *FeeComponentList `json:"FeeList,omitempty"`

	// The identifier for the imaging services request.
	ImagingRequestBillingItemID *string `json:"ImagingRequestBillingItemID,omitempty"`
	PostedDate                  *Date   `json:"PostedDate,omitempty"`
}

// ImagingServicesFeeEventList defines model for ImagingServicesFeeEventList.
type ImagingServicesFeeEventList []ImagingServicesFeeEvent

// ListFinancialEventGroupsPayload defines model for ListFinancialEventGroupsPayload.
type ListFinancialEventGroupsPayload struct {

	// A list of financial event group information.
	FinancialEventGroupList *FinancialEventGroupList `json:"FinancialEventGroupList,omitempty"`

	// When present and not empty, pass this string token in the next request to return the next response page.
	NextToken *string `json:"NextToken,omitempty"`
}

// ListFinancialEventGroupsResponse defines model for ListFinancialEventGroupsResponse.
type ListFinancialEventGroupsResponse struct {

	// A list of error responses returned when a request is unsuccessful.
	Errors *ErrorList `json:"errors,omitempty"`

	// The payload for the listFinancialEventGroups operation.
	Payload *ListFinancialEventGroupsPayload `json:"payload,omitempty"`
}

// ListFinancialEventsPayload defines model for ListFinancialEventsPayload.
type ListFinancialEventsPayload struct {

	// Contains all information related to a financial event.
	FinancialEvents *FinancialEvents `json:"FinancialEvents,omitempty"`

	// When present and not empty, pass this string token in the next request to return the next response page.
	NextToken *string `json:"NextToken,omitempty"`
}

// ListFinancialEventsResponse defines model for ListFinancialEventsResponse.
type ListFinancialEventsResponse struct {

	// A list of error responses returned when a request is unsuccessful.
	Errors *ErrorList `json:"errors,omitempty"`

	// The payload for the listFinancialEvents operation.
	Payload *ListFinancialEventsPayload `json:"payload,omitempty"`
}

// LoanServicingEvent defines model for LoanServicingEvent.
type LoanServicingEvent struct {

	// A currency type and amount.
	LoanAmount *Currency `json:"LoanAmount,omitempty"`

	// The type of event.
	//
	// Possible values:
	//
	// * LoanAdvance
	//
	// * LoanPayment
	//
	// * LoanRefund
	SourceBusinessEventType *string `json:"SourceBusinessEventType,omitempty"`
}

// LoanServicingEventList defines model for LoanServicingEventList.
type LoanServicingEventList []LoanServicingEvent

// NetworkComminglingTransactionEvent defines model for NetworkComminglingTransactionEvent.
type NetworkComminglingTransactionEvent struct {

	// The Amazon Standard Identification Number (ASIN) of the swapped item.
	ASIN *string `json:"ASIN,omitempty"`

	// The marketplace in which the event took place.
	MarketplaceId *string `json:"MarketplaceId,omitempty"`

	// The identifier for the network item swap.
	NetCoTransactionID *string `json:"NetCoTransactionID,omitempty"`
	PostedDate         *Date   `json:"PostedDate,omitempty"`

	// The reason for the network item swap.
	SwapReason *string `json:"SwapReason,omitempty"`

	// A currency type and amount.
	TaxAmount *Currency `json:"TaxAmount,omitempty"`

	// A currency type and amount.
	TaxExclusiveAmount *Currency `json:"TaxExclusiveAmount,omitempty"`

	// The type of network item swap.
	//
	// Possible values:
	//
	// * NetCo - A Fulfillment by Amazon inventory pooling transaction. Available only in the India marketplace.
	//
	// * ComminglingVAT - A commingling VAT transaction. Available only in the UK, Spain, France, Germany, and Italy marketplaces.
	TransactionType *string `json:"TransactionType,omitempty"`
}

// NetworkComminglingTransactionEventList defines model for NetworkComminglingTransactionEventList.
type NetworkComminglingTransactionEventList []NetworkComminglingTransactionEvent

// PayWithAmazonEvent defines model for PayWithAmazonEvent.
type PayWithAmazonEvent struct {

	// A short description of this payment event.
	AmountDescription *string `json:"AmountDescription,omitempty"`

	// The type of business object.
	BusinessObjectType *string `json:"BusinessObjectType,omitempty"`

	// A charge on the seller's account.
	//
	// Possible values:
	//
	// * Principal - The selling price of the order item, equal to the selling price of the item multiplied by the quantity ordered.
	//
	// * Tax - The tax collected by the seller on the Principal.
	//
	// * MarketplaceFacilitatorTax-Principal - The tax withheld on the Principal.
	//
	// * MarketplaceFacilitatorTax-Shipping - The tax withheld on the ShippingCharge.
	//
	// * MarketplaceFacilitatorTax-Giftwrap - The tax withheld on the Giftwrap charge.
	//
	// * MarketplaceFacilitatorTax-Other - The tax withheld on other miscellaneous charges.
	//
	// * Discount - The promotional discount for an order item.
	//
	// * TaxDiscount - The tax amount deducted for promotional rebates.
	//
	// * CODItemCharge - The COD charge for an order item.
	//
	// * CODItemTaxCharge - The tax collected by the seller on a CODItemCharge.
	//
	// * CODOrderCharge - The COD charge for an order.
	//
	// * CODOrderTaxCharge - The tax collected by the seller on a CODOrderCharge.
	//
	// * CODShippingCharge - Shipping charges for a COD order.
	//
	// * CODShippingTaxCharge - The tax collected by the seller on a CODShippingCharge.
	//
	// * ShippingCharge - The shipping charge.
	//
	// * ShippingTax - The tax collected by the seller on a ShippingCharge.
	//
	// * Goodwill - The amount given to a buyer as a gesture of goodwill or to compensate for pain and suffering in the buying experience.
	//
	// * Giftwrap - The gift wrap charge.
	//
	// * GiftwrapTax - The tax collected by the seller on a Giftwrap charge.
	//
	// * RestockingFee - The charge applied to the buyer when returning a product in certain categories.
	//
	// * ReturnShipping - The amount given to the buyer to compensate for shipping the item back in the event we are at fault.
	//
	// * PointsFee - The value of Amazon Points deducted from the refund if the buyer does not have enough Amazon Points to cover the deduction.
	//
	// * GenericDeduction - A generic bad debt deduction.
	//
	// * FreeReplacementReturnShipping - The compensation for return shipping when a buyer receives the wrong item, requests a free replacement, and returns the incorrect item.
	//
	// * PaymentMethodFee - The fee collected for certain payment methods in certain marketplaces.
	//
	// * ExportCharge - The export duty that is charged when an item is shipped to an international destination as part of the Amazon Global program.
	//
	// * SAFE-TReimbursement - The SAFE-T claim amount for the item.
	//
	// * TCS-CGST - Tax Collected at Source (TCS) for Central Goods and Services Tax (CGST).
	//
	// * TCS-SGST - Tax Collected at Source for State Goods and Services Tax (SGST).
	//
	// * TCS-IGST - Tax Collected at Source for Integrated Goods and Services Tax (IGST).
	//
	// * TCS-UTGST - Tax Collected at Source for Union Territories Goods and Services Tax (UTGST).
	Charge *ChargeComponent `json:"Charge,omitempty"`

	// A list of fee component information.
	FeeList *FeeComponentList `json:"FeeList,omitempty"`

	// The fulfillment channel.
	//
	// Possible values:
	//
	// * AFN - Amazon Fulfillment Network (Fulfillment by Amazon)
	//
	// * MFN - Merchant Fulfillment Network (self-fulfilled)
	FulfillmentChannel *string `json:"FulfillmentChannel,omitempty"`

	// The type of payment.
	//
	// Possible values:
	//
	// * Sales
	PaymentAmountType *string `json:"PaymentAmountType,omitempty"`

	// The sales channel for the transaction.
	SalesChannel *string `json:"SalesChannel,omitempty"`

	// An order identifier that is specified by the seller.
	SellerOrderId *string `json:"SellerOrderId,omitempty"`

	// The store name where the event occurred.
	StoreName             *string `json:"StoreName,omitempty"`
	TransactionPostedDate *Date   `json:"TransactionPostedDate,omitempty"`
}

// PayWithAmazonEventList defines model for PayWithAmazonEventList.
type PayWithAmazonEventList []PayWithAmazonEvent

// ProductAdsPaymentEvent defines model for ProductAdsPaymentEvent.
type ProductAdsPaymentEvent struct {

	// A currency type and amount.
	BaseValue *Currency `json:"baseValue,omitempty"`

	// Identifier for the invoice that the transaction appears in.
	InvoiceId  *string `json:"invoiceId,omitempty"`
	PostedDate *Date   `json:"postedDate,omitempty"`

	// A currency type and amount.
	TaxValue *Currency `json:"taxValue,omitempty"`

	// Indicates if the transaction is for a charge or a refund.
	//
	// Possible values:
	//
	// * charge - Charge
	//
	// * refund - Refund
	TransactionType *string `json:"transactionType,omitempty"`

	// A currency type and amount.
	TransactionValue *Currency `json:"transactionValue,omitempty"`
}

// ProductAdsPaymentEventList defines model for ProductAdsPaymentEventList.
type ProductAdsPaymentEventList []ProductAdsPaymentEvent

// Promotion defines model for Promotion.
type Promotion struct {

	// A currency type and amount.
	PromotionAmount *Currency `json:"PromotionAmount,omitempty"`

	// The seller-specified identifier for the promotion.
	PromotionId *string `json:"PromotionId,omitempty"`

	// The type of promotion.
	PromotionType *string `json:"PromotionType,omitempty"`
}

// PromotionList defines model for PromotionList.
type PromotionList []Promotion

// RemovalShipmentEvent defines model for RemovalShipmentEvent.
type RemovalShipmentEvent struct {

	// The identifier for the removal shipment order.
	OrderId    *string `json:"OrderId,omitempty"`
	PostedDate *Date   `json:"PostedDate,omitempty"`

	// A list of information about removal shipment items.
	RemovalShipmentItemList *RemovalShipmentItemList `json:"RemovalShipmentItemList,omitempty"`

	// The type of removal order.
	//
	// Possible values:
	//
	// * WHOLESALE_LIQUIDATION
	TransactionType *string `json:"TransactionType,omitempty"`
}

// RemovalShipmentEventList defines model for RemovalShipmentEventList.
type RemovalShipmentEventList []RemovalShipmentEvent

// RemovalShipmentItem defines model for RemovalShipmentItem.
type RemovalShipmentItem struct {

	// A currency type and amount.
	FeeAmount *Currency `json:"FeeAmount,omitempty"`

	// The Amazon fulfillment network SKU for the item.
	FulfillmentNetworkSKU *string `json:"FulfillmentNetworkSKU,omitempty"`

	// The quantity of the item.
	Quantity *int32 `json:"Quantity,omitempty"`

	// An identifier for an item in a removal shipment.
	RemovalShipmentItemId *string `json:"RemovalShipmentItemId,omitempty"`

	// A currency type and amount.
	Revenue *Currency `json:"Revenue,omitempty"`

	// A currency type and amount.
	TaxAmount *Currency `json:"TaxAmount,omitempty"`

	// The tax collection model applied to the item.
	//
	// Possible values:
	//
	// * MarketplaceFacilitator - Tax is withheld and remitted to the taxing authority by Amazon on behalf of the seller.
	//
	// * Standard - Tax is paid to the seller and not remitted to the taxing authority by Amazon.
	TaxCollectionModel *string `json:"TaxCollectionModel,omitempty"`

	// A currency type and amount.
	TaxWithheld *Currency `json:"TaxWithheld,omitempty"`
}

// RemovalShipmentItemList defines model for RemovalShipmentItemList.
type RemovalShipmentItemList []RemovalShipmentItem

// RentalTransactionEvent defines model for RentalTransactionEvent.
type RentalTransactionEvent struct {

	// An Amazon-defined identifier for an order.
	AmazonOrderId *string `json:"AmazonOrderId,omitempty"`

	// The number of days that the buyer extended an already rented item. This value is only returned for RentalCustomerPayment-Extension and RentalCustomerRefund-Extension events.
	ExtensionLength *int32 `json:"ExtensionLength,omitempty"`

	// The name of the marketplace.
	MarketplaceName *string `json:"MarketplaceName,omitempty"`
	PostedDate      *Date   `json:"PostedDate,omitempty"`

	// A list of charge information on the seller's account.
	RentalChargeList *ChargeComponentList `json:"RentalChargeList,omitempty"`

	// The type of rental event.
	//
	// Possible values:
	//
	// * RentalCustomerPayment-Buyout - Transaction type that represents when the customer wants to buy out a rented item.
	//
	// * RentalCustomerPayment-Extension - Transaction type that represents when the customer wants to extend the rental period.
	//
	// * RentalCustomerRefund-Buyout - Transaction type that represents when the customer requests a refund for the buyout of the rented item.
	//
	// * RentalCustomerRefund-Extension - Transaction type that represents when the customer requests a refund over the extension on the rented item.
	//
	// * RentalHandlingFee - Transaction type that represents the fee that Amazon charges sellers who rent through Amazon.
	//
	// * RentalChargeFailureReimbursement - Transaction type that represents when Amazon sends money to the seller to compensate for a failed charge.
	//
	// * RentalLostItemReimbursement - Transaction type that represents when Amazon sends money to the seller to compensate for a lost item.
	RentalEventType *string `json:"RentalEventType,omitempty"`

	// A list of fee component information.
	RentalFeeList *FeeComponentList `json:"RentalFeeList,omitempty"`

	// A currency type and amount.
	RentalInitialValue *Currency `json:"RentalInitialValue,omitempty"`

	// A currency type and amount.
	RentalReimbursement *Currency `json:"RentalReimbursement,omitempty"`

	// A list of information about taxes withheld.
	RentalTaxWithheldList *TaxWithheldComponentList `json:"RentalTaxWithheldList,omitempty"`
}

// RentalTransactionEventList defines model for RentalTransactionEventList.
type RentalTransactionEventList []RentalTransactionEvent

// RetrochargeEvent defines model for RetrochargeEvent.
type RetrochargeEvent struct {

	// An Amazon-defined identifier for an order.
	AmazonOrderId *string `json:"AmazonOrderId,omitempty"`

	// A currency type and amount.
	BaseTax *Currency `json:"BaseTax,omitempty"`

	// The name of the marketplace where the retrocharge event occurred.
	MarketplaceName *string `json:"MarketplaceName,omitempty"`
	PostedDate      *Date   `json:"PostedDate,omitempty"`

	// The type of event.
	//
	// Possible values:
	//
	// * Retrocharge
	//
	// * RetrochargeReversal
	RetrochargeEventType *string `json:"RetrochargeEventType,omitempty"`

	// A list of information about taxes withheld.
	RetrochargeTaxWithheldList *TaxWithheldComponentList `json:"RetrochargeTaxWithheldList,omitempty"`

	// A currency type and amount.
	ShippingTax *Currency `json:"ShippingTax,omitempty"`
}

// RetrochargeEventList defines model for RetrochargeEventList.
type RetrochargeEventList []RetrochargeEvent

// SAFETReimbursementEvent defines model for SAFETReimbursementEvent.
type SAFETReimbursementEvent struct {
	PostedDate *Date `json:"PostedDate,omitempty"`

	// Indicates why the seller was reimbursed.
	ReasonCode *string `json:"ReasonCode,omitempty"`

	// A currency type and amount.
	ReimbursedAmount *Currency `json:"ReimbursedAmount,omitempty"`

	// A SAFE-T claim identifier.
	SAFETClaimId *string `json:"SAFETClaimId,omitempty"`

	// A list of SAFETReimbursementItems.
	SAFETReimbursementItemList *SAFETReimbursementItemList `json:"SAFETReimbursementItemList,omitempty"`
}

// SAFETReimbursementEventList defines model for SAFETReimbursementEventList.
type SAFETReimbursementEventList []SAFETReimbursementEvent

// SAFETReimbursementItem defines model for SAFETReimbursementItem.
type SAFETReimbursementItem struct {

	// A list of charge information on the seller's account.
	ItemChargeList *ChargeComponentList `json:"itemChargeList,omitempty"`

	// The description of the item as shown on the product detail page on the retail website.
	ProductDescription *string `json:"productDescription,omitempty"`

	// The number of units of the item being reimbursed.
	Quantity *string `json:"quantity,omitempty"`
}

// SAFETReimbursementItemList defines model for SAFETReimbursementItemList.
type SAFETReimbursementItemList []SAFETReimbursementItem

// SellerDealPaymentEvent defines model for SellerDealPaymentEvent.
type SellerDealPaymentEvent struct {

	// The internal description of the deal.
	DealDescription *string `json:"dealDescription,omitempty"`

	// The unique identifier of the deal.
	DealId *string `json:"dealId,omitempty"`

	// The type of event: SellerDealComplete.
	EventType *string `json:"eventType,omitempty"`

	// A currency type and amount.
	FeeAmount *Currency `json:"feeAmount,omitempty"`

	// The type of fee: RunLightningDealFee.
	FeeType    *string `json:"feeType,omitempty"`
	PostedDate *Date   `json:"postedDate,omitempty"`

	// A currency type and amount.
	TaxAmount *Currency `json:"taxAmount,omitempty"`

	// A currency type and amount.
	TotalAmount *Currency `json:"totalAmount,omitempty"`
}

// SellerDealPaymentEventList defines model for SellerDealPaymentEventList.
type SellerDealPaymentEventList []SellerDealPaymentEvent

// SellerReviewEnrollmentPaymentEvent defines model for SellerReviewEnrollmentPaymentEvent.
type SellerReviewEnrollmentPaymentEvent struct {

	// A charge on the seller's account.
	//
	// Possible values:
	//
	// * Principal - The selling price of the order item, equal to the selling price of the item multiplied by the quantity ordered.
	//
	// * Tax - The tax collected by the seller on the Principal.
	//
	// * MarketplaceFacilitatorTax-Principal - The tax withheld on the Principal.
	//
	// * MarketplaceFacilitatorTax-Shipping - The tax withheld on the ShippingCharge.
	//
	// * MarketplaceFacilitatorTax-Giftwrap - The tax withheld on the Giftwrap charge.
	//
	// * MarketplaceFacilitatorTax-Other - The tax withheld on other miscellaneous charges.
	//
	// * Discount - The promotional discount for an order item.
	//
	// * TaxDiscount - The tax amount deducted for promotional rebates.
	//
	// * CODItemCharge - The COD charge for an order item.
	//
	// * CODItemTaxCharge - The tax collected by the seller on a CODItemCharge.
	//
	// * CODOrderCharge - The COD charge for an order.
	//
	// * CODOrderTaxCharge - The tax collected by the seller on a CODOrderCharge.
	//
	// * CODShippingCharge - Shipping charges for a COD order.
	//
	// * CODShippingTaxCharge - The tax collected by the seller on a CODShippingCharge.
	//
	// * ShippingCharge - The shipping charge.
	//
	// * ShippingTax - The tax collected by the seller on a ShippingCharge.
	//
	// * Goodwill - The amount given to a buyer as a gesture of goodwill or to compensate for pain and suffering in the buying experience.
	//
	// * Giftwrap - The gift wrap charge.
	//
	// * GiftwrapTax - The tax collected by the seller on a Giftwrap charge.
	//
	// * RestockingFee - The charge applied to the buyer when returning a product in certain categories.
	//
	// * ReturnShipping - The amount given to the buyer to compensate for shipping the item back in the event we are at fault.
	//
	// * PointsFee - The value of Amazon Points deducted from the refund if the buyer does not have enough Amazon Points to cover the deduction.
	//
	// * GenericDeduction - A generic bad debt deduction.
	//
	// * FreeReplacementReturnShipping - The compensation for return shipping when a buyer receives the wrong item, requests a free replacement, and returns the incorrect item.
	//
	// * PaymentMethodFee - The fee collected for certain payment methods in certain marketplaces.
	//
	// * ExportCharge - The export duty that is charged when an item is shipped to an international destination as part of the Amazon Global program.
	//
	// * SAFE-TReimbursement - The SAFE-T claim amount for the item.
	//
	// * TCS-CGST - Tax Collected at Source (TCS) for Central Goods and Services Tax (CGST).
	//
	// * TCS-SGST - Tax Collected at Source for State Goods and Services Tax (SGST).
	//
	// * TCS-IGST - Tax Collected at Source for Integrated Goods and Services Tax (IGST).
	//
	// * TCS-UTGST - Tax Collected at Source for Union Territories Goods and Services Tax (UTGST).
	ChargeComponent *ChargeComponent `json:"ChargeComponent,omitempty"`

	// An enrollment identifier.
	EnrollmentId *string `json:"EnrollmentId,omitempty"`

	// A fee associated with the event.
	FeeComponent *FeeComponent `json:"FeeComponent,omitempty"`

	// The Amazon Standard Identification Number (ASIN) of the item that was enrolled in the Early Reviewer Program.
	ParentASIN *string `json:"ParentASIN,omitempty"`
	PostedDate *Date   `json:"PostedDate,omitempty"`

	// A currency type and amount.
	TotalAmount *Currency `json:"TotalAmount,omitempty"`
}

// SellerReviewEnrollmentPaymentEventList defines model for SellerReviewEnrollmentPaymentEventList.
type SellerReviewEnrollmentPaymentEventList []SellerReviewEnrollmentPaymentEvent

// ServiceFeeEvent defines model for ServiceFeeEvent.
type ServiceFeeEvent struct {

	// The Amazon Standard Identification Number (ASIN) of the item.
	ASIN *string `json:"ASIN,omitempty"`

	// An Amazon-defined identifier for an order.
	AmazonOrderId *string `json:"AmazonOrderId,omitempty"`

	// A short description of the service fee event.
	FeeDescription *string `json:"FeeDescription,omitempty"`

	// A list of fee component information.
	FeeList *FeeComponentList `json:"FeeList,omitempty"`

	// A short description of the service fee reason.
	FeeReason *string `json:"FeeReason,omitempty"`

	// A unique identifier assigned by Amazon to products stored in and fulfilled from an Amazon fulfillment center.
	FnSKU *string `json:"FnSKU,omitempty"`

	// The seller SKU of the item. The seller SKU is qualified by the seller's seller ID, which is included with every call to the Selling Partner API.
	SellerSKU *string `json:"SellerSKU,omitempty"`
}

// ServiceFeeEventList defines model for ServiceFeeEventList.
type ServiceFeeEventList []ServiceFeeEvent

// ShipmentEvent defines model for ShipmentEvent.
type ShipmentEvent struct {

	// An Amazon-defined identifier for an order.
	AmazonOrderId *string `json:"AmazonOrderId,omitempty"`

	// A list of direct payment information.
	DirectPaymentList *DirectPaymentList `json:"DirectPaymentList,omitempty"`

	// The name of the marketplace where the event occurred.
	MarketplaceName *string `json:"MarketplaceName,omitempty"`

	// A list of charge information on the seller's account.
	OrderChargeAdjustmentList *ChargeComponentList `json:"OrderChargeAdjustmentList,omitempty"`

	// A list of charge information on the seller's account.
	OrderChargeList *ChargeComponentList `json:"OrderChargeList,omitempty"`

	// A list of fee component information.
	OrderFeeAdjustmentList *FeeComponentList `json:"OrderFeeAdjustmentList,omitempty"`

	// A list of fee component information.
	OrderFeeList *FeeComponentList `json:"OrderFeeList,omitempty"`
	PostedDate   *Date             `json:"PostedDate,omitempty"`

	// A seller-defined identifier for an order.
	SellerOrderId *string `json:"SellerOrderId,omitempty"`

	// A list of fee component information.
	ShipmentFeeAdjustmentList *FeeComponentList `json:"ShipmentFeeAdjustmentList,omitempty"`

	// A list of fee component information.
	ShipmentFeeList *FeeComponentList `json:"ShipmentFeeList,omitempty"`

	// A list of shipment items.
	ShipmentItemAdjustmentList *ShipmentItemList `json:"ShipmentItemAdjustmentList,omitempty"`

	// A list of shipment items.
	ShipmentItemList *ShipmentItemList `json:"ShipmentItemList,omitempty"`
}

// ShipmentEventList defines model for ShipmentEventList.
type ShipmentEventList []ShipmentEvent

// ShipmentItem defines model for ShipmentItem.
type ShipmentItem struct {

	// A currency type and amount.
	CostOfPointsGranted *Currency `json:"CostOfPointsGranted,omitempty"`

	// A currency type and amount.
	CostOfPointsReturned *Currency `json:"CostOfPointsReturned,omitempty"`

	// A list of charge information on the seller's account.
	ItemChargeAdjustmentList *ChargeComponentList `json:"ItemChargeAdjustmentList,omitempty"`

	// A list of charge information on the seller's account.
	ItemChargeList *ChargeComponentList `json:"ItemChargeList,omitempty"`

	// A list of fee component information.
	ItemFeeAdjustmentList *FeeComponentList `json:"ItemFeeAdjustmentList,omitempty"`

	// A list of fee component information.
	ItemFeeList *FeeComponentList `json:"ItemFeeList,omitempty"`

	// A list of information about taxes withheld.
	ItemTaxWithheldList *TaxWithheldComponentList `json:"ItemTaxWithheldList,omitempty"`

	// An Amazon-defined order adjustment identifier defined for refunds, guarantee claims, and chargeback events.
	OrderAdjustmentItemId *string `json:"OrderAdjustmentItemId,omitempty"`

	// An Amazon-defined order item identifier.
	OrderItemId *string `json:"OrderItemId,omitempty"`

	// A list of promotions.
	PromotionAdjustmentList *PromotionList `json:"PromotionAdjustmentList,omitempty"`

	// A list of promotions.
	PromotionList *PromotionList `json:"PromotionList,omitempty"`

	// The number of items shipped.
	QuantityShipped *int32 `json:"QuantityShipped,omitempty"`

	// The seller SKU of the item. The seller SKU is qualified by the seller's seller ID, which is included with every call to the Selling Partner API.
	SellerSKU *string `json:"SellerSKU,omitempty"`
}

// ShipmentItemList defines model for ShipmentItemList.
type ShipmentItemList []ShipmentItem

// SolutionProviderCreditEvent defines model for SolutionProviderCreditEvent.
type SolutionProviderCreditEvent struct {

	// The two-letter country code of the country associated with the marketplace where the order was placed.
	MarketplaceCountryCode *string `json:"MarketplaceCountryCode,omitempty"`

	// The identifier of the marketplace where the order was placed.
	MarketplaceId *string `json:"MarketplaceId,omitempty"`

	// The Amazon-defined identifier of the solution provider.
	ProviderId *string `json:"ProviderId,omitempty"`

	// The store name where the payment event occurred.
	ProviderStoreName *string `json:"ProviderStoreName,omitempty"`

	// The transaction type.
	ProviderTransactionType *string `json:"ProviderTransactionType,omitempty"`

	// The Amazon-defined identifier of the seller.
	SellerId *string `json:"SellerId,omitempty"`

	// A seller-defined identifier for an order.
	SellerOrderId *string `json:"SellerOrderId,omitempty"`

	// The store name where the payment event occurred.
	SellerStoreName *string `json:"SellerStoreName,omitempty"`

	// A currency type and amount.
	TransactionAmount       *Currency `json:"TransactionAmount,omitempty"`
	TransactionCreationDate *Date     `json:"TransactionCreationDate,omitempty"`
}

// SolutionProviderCreditEventList defines model for SolutionProviderCreditEventList.
type SolutionProviderCreditEventList []SolutionProviderCreditEvent

// TDSReimbursementEvent defines model for TDSReimbursementEvent.
type TDSReimbursementEvent struct {
	PostedDate *Date `json:"PostedDate,omitempty"`

	// A currency type and amount.
	ReimbursedAmount *Currency `json:"ReimbursedAmount,omitempty"`

	// A tax deduction at source (TDS) claim identifier.
	TdsOrderId *string `json:"TdsOrderId,omitempty"`
}

// TDSReimbursementEventList defines model for TDSReimbursementEventList.
type TDSReimbursementEventList []TDSReimbursementEvent

// TaxWithheldComponent defines model for TaxWithheldComponent.
type TaxWithheldComponent struct {

	// The tax collection model applied to the item.
	//
	// Possible values:
	//
	// * MarketplaceFacilitator - Tax is withheld and remitted to the taxing authority by Amazon on behalf of the seller.
	//
	// * Standard - Tax is paid to the seller and not remitted to the taxing authority by Amazon.
	TaxCollectionModel *string `json:"TaxCollectionModel,omitempty"`

	// A list of charge information on the seller's account.
	TaxesWithheld *ChargeComponentList `json:"TaxesWithheld,omitempty"`
}

// TaxWithheldComponentList defines model for TaxWithheldComponentList.
type TaxWithheldComponentList []TaxWithheldComponent

// TrialShipmentEvent defines model for TrialShipmentEvent.
type TrialShipmentEvent struct {

	// An Amazon-defined identifier for an order.
	AmazonOrderId *string `json:"AmazonOrderId,omitempty"`

	// A list of fee component information.
	FeeList *FeeComponentList `json:"FeeList,omitempty"`

	// The identifier of the financial event group.
	FinancialEventGroupId *string `json:"FinancialEventGroupId,omitempty"`
	PostedDate            *Date   `json:"PostedDate,omitempty"`

	// The seller SKU of the item. The seller SKU is qualified by the seller's seller ID, which is included with every call to the Selling Partner API.
	SKU *string `json:"SKU,omitempty"`
}

// TrialShipmentEventList defines model for TrialShipmentEventList.
type TrialShipmentEventList []TrialShipmentEvent

// ListFinancialEventGroupsParams defines parameters for ListFinancialEventGroups.
type ListFinancialEventGroupsParams struct {

	// The maximum number of results to return per page.
	MaxResultsPerPage *int32 `json:"MaxResultsPerPage,omitempty"`

	// A date used for selecting financial event groups that opened before (but not at) a specified date and time, in ISO 8601 format. The date-time  must be later than FinancialEventGroupStartedAfter and no later than two minutes before the request was submitted. If FinancialEventGroupStartedAfter and FinancialEventGroupStartedBefore are more than 180 days apart, no financial event groups are returned.
	FinancialEventGroupStartedBefore *time.Time `json:"FinancialEventGroupStartedBefore,omitempty"`

	// A date used for selecting financial event groups that opened after (or at) a specified date and time, in ISO 8601 format. The date-time must be no later than two minutes before the request was submitted.
	FinancialEventGroupStartedAfter *time.Time `json:"FinancialEventGroupStartedAfter,omitempty"`

	// A string token returned in the response of your previous request.
	NextToken *string `json:"NextToken,omitempty"`
}

// ListFinancialEventsByGroupIdParams defines parameters for ListFinancialEventsByGroupId.
type ListFinancialEventsByGroupIdParams struct {

	// The maximum number of results to return per page.
	MaxResultsPerPage *int32 `json:"MaxResultsPerPage,omitempty"`

	// A string token returned in the response of your previous request.
	NextToken *string `json:"NextToken,omitempty"`
}

// ListFinancialEventsParams defines parameters for ListFinancialEvents.
type ListFinancialEventsParams struct {

	// The maximum number of results to return per page.
	MaxResultsPerPage *int32 `json:"MaxResultsPerPage,omitempty"`

	// A date used for selecting financial events posted after (or at) a specified time. The date-time must be no later than two minutes before the request was submitted, in ISO 8601 date time format.
	PostedAfter *time.Time `json:"PostedAfter,omitempty"`

	// A date used for selecting financial events posted before (but not at) a specified time. The date-time must be later than PostedAfter and no later than two minutes before the request was submitted, in ISO 8601 date time format. If PostedAfter and PostedBefore are more than 180 days apart, no financial events are returned. You must specify the PostedAfter parameter if you specify the PostedBefore parameter. Default: Now minus two minutes.
	PostedBefore *time.Time `json:"PostedBefore,omitempty"`

	// A string token returned in the response of your previous request.
	NextToken *string `json:"NextToken,omitempty"`
}

// ListFinancialEventsByOrderIdParams defines parameters for ListFinancialEventsByOrderId.
type ListFinancialEventsByOrderIdParams struct {

	// The maximum number of results to return per page.
	MaxResultsPerPage *int32 `json:"MaxResultsPerPage,omitempty"`

	// A string token returned in the response of your previous request.
	NextToken *string `json:"NextToken,omitempty"`
}
