feat(loyalty): report EnakPoint apart from money received
Keeps EnakPoint out of the money in on the payment method analytics (docs/prd-point-coin.md F9, K7, PC-308), the one report that sums payments; the daily transaction and profit-loss PDFs do not break payments down by method. summary.total_amount is now only money actually received. EnakPoint stays listed as its own method, with points_used, and the summary adds point_amount, points_used and total_with_points. Each method row says whether it counts_as_cash_in, and the shares are of the money received, 0 for EnakPoint. The average order value still includes what EnakPoint paid, since that is part of what the orders were worth. How EnakPoint is booked waits on note N2. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
d7138b8f87
commit
0b52edf84e
@@ -28,7 +28,11 @@ type PaymentMethodAnalyticsResponse struct {
|
||||
|
||||
// PaymentMethodSummary represents the summary of payment method analytics
|
||||
type PaymentMethodSummary struct {
|
||||
// Money actually received; EnakPoint is reported apart (docs/prd-point-coin.md F9).
|
||||
TotalAmount float64 `json:"total_amount"`
|
||||
PointAmount float64 `json:"point_amount"`
|
||||
PointsUsed int64 `json:"points_used"`
|
||||
TotalWithPoints float64 `json:"total_with_points"`
|
||||
TotalOrders int64 `json:"total_orders"`
|
||||
TotalPayments int64 `json:"total_payments"`
|
||||
AverageOrderValue float64 `json:"average_order_value"`
|
||||
@@ -42,6 +46,8 @@ type PaymentMethodAnalyticsData struct {
|
||||
OrderCount int64 `json:"order_count"`
|
||||
PaymentCount int64 `json:"payment_count"`
|
||||
Percentage float64 `json:"percentage"`
|
||||
PointsUsed int64 `json:"points_used"`
|
||||
CountsAsCashIn bool `json:"counts_as_cash_in"`
|
||||
}
|
||||
|
||||
type SalesAnalyticsRequest struct {
|
||||
|
||||
Reference in New Issue
Block a user