package domain type PaymentOption int64 const ( CASH_TRANSACTION PaymentOption = iota TELEBIRR_TRANSACTION ARIFPAY_TRANSACTION BANK ) // Transaction only represents when the user cashes out a bet in the shop // It probably would be better to call it a CashOut or ShopWithdrawal type Transaction struct { ID int64 Amount Currency BranchID int64 CashierID int64 BetID int64 PaymentOption PaymentOption FullName string PhoneNumber string // Payment Details for bank BankCode string BeneficiaryName string AccountName string AccountNumber string ReferenceNumber string Verified bool } type CreateTransaction struct { Amount Currency BranchID int64 CashierID int64 BetID int64 PaymentOption PaymentOption FullName string PhoneNumber string // Payment Details for bank BankCode string BeneficiaryName string AccountName string AccountNumber string ReferenceNumber string }