package model

// GetTransactionsResponse ...
type GetTransactionsResponse struct {
	Total int64             `json:"total"`
	Limit int64             `json:"limit"`
	List  []TransactionInfo `json:"list"`
}

// TransactionInfo ...
type TransactionInfo struct {
	ID                       string                     `json:"_id"`
	Code                     string                     `json:"code"`
	Campaign                 ResponseCampaignShort      `json:"campaign"`
	Seller                   ResponseSellerInfo         `json:"seller"`
	Source                   string                     `json:"source"`
	Commission               ResponseCampaignCommission `json:"commission"`
	EstimateSellerCommission float64                    `json:"estimateSellerCommission"`
	TransactionTime          string                     `json:"transactionTime"`
	Status                   string                     `json:"status"`
	RejectedReason           string                     `json:"rejectedReason"`
	EstimateCashbackAt       string                     `json:"estimateCashbackAt"`
}

// ResponseCampaignCommission ...
type ResponseCampaignCommission struct {
	Real          float64 `json:"real"`
	SellerPercent float64 `json:"sellerPercent"`
	Selly         float64 `json:"selly"`
	Seller        float64 `json:"seller"`
}

// ResponseCampaignShort ...
type ResponseCampaignShort struct {
	ID   string     `json:"_id"`
	Name string     `json:"name"`
	Logo *FilePhoto `json:"logo"`
}