package dto_astrologer

// WithdrawResponse is one row of the Statement screen's Withdrawals and
// Settlements tabs, and is also returned when a request is created.
type WithdrawResponse struct {
	ID        uint   `json:"id"`
	RequestNo string `json:"requestNo,omitempty"`

	Amount        float64 `json:"amount"`
	WithdrawType  string  `json:"withdrawType,omitempty"`
	Status        string  `json:"status"`
	StatusLabel   string  `json:"statusLabel,omitempty"`
	PaymentMethod string  `json:"paymentMethod"`

	// Breakdown as stored on the row. Zero on a general withdrawal, which is
	// charged nothing at request time.
	TDSPercent    float64 `json:"tdsPercent"`
	TDSAmount     float64 `json:"tdsAmount"`
	InstantCharge float64 `json:"instantCharge"`
	NetAmount     float64 `json:"netAmount"`

	// Where the money is going, masked for display — "raju@paytm" or
	// "SBI · ····9012" on the statement rows.
	PayoutTo  string `json:"payoutTo,omitempty"`
	BankName  string `json:"bankName,omitempty"`
	Remarks   string `json:"remarks,omitempty"`
	IsInstant bool   `json:"isInstant"`

	RequestDate    string `json:"requestDate"`
	ProcessedDate  string `json:"processedDate,omitempty"`
	SettlementDate string `json:"settlementDate,omitempty"`
}
