package contract import ( "time" ) // Response Contracts type GetCustomerPointsResponse struct { Status string `json:"status"` Message string `json:"message"` Data *GetCustomerPointsResponseData `json:"data,omitempty"` } type GetCustomerPointsResponseData struct { TotalPoints int64 `json:"total_points"` PointsHistory []PointsHistoryItem `json:"points_history,omitempty"` LastUpdated time.Time `json:"last_updated"` } type PointsHistoryItem struct { ID string `json:"id"` Points int64 `json:"points"` Type string `json:"type"` // EARNED, REDEEMED, EXPIRED Description string `json:"description"` CreatedAt time.Time `json:"created_at"` } type GetCustomerWalletResponse struct { Status string `json:"status"` Message string `json:"message"` Data *GetCustomerWalletResponseData `json:"data,omitempty"` } type GetCustomerWalletResponseData struct { TotalPoints int64 `json:"total_points"` PointsHistory []PointsHistoryItem `json:"points_history,omitempty"` LastUpdated time.Time `json:"last_updated"` }