diff --git a/models_gift_card.go b/models_gift_card.go index b3b3c62..1280ff0 100644 --- a/models_gift_card.go +++ b/models_gift_card.go @@ -44,3 +44,24 @@ type GiftCardReply struct { InitAmount decimal.Decimal `json:"initAmount"` ValidUntil *time.Time `json:"validUntil,omitempty"` } + +type GiftCardInfoReply struct { + Number string `json:"number"` + InitAmount decimal.Decimal `json:"initAmount"` + Balance decimal.Decimal `json:"balance"` + Status string `json:"status"` + ActivatedAt *time.Time `json:"activatedAt,omitempty"` + BlockedAt *time.Time `json:"blockedAt,omitempty"` + ValidFrom *time.Time `json:"validFrom,omitempty"` + ValidUntil *time.Time `json:"validUntil,omitempty"` +} + +type GiftCardStatus string + +const ( + GiftCardStatusInactive GiftCardStatus = "INACTIVE" + GiftCardStatusActive GiftCardStatus = "ACTIVE" + GiftCardStatusRedeemed GiftCardStatus = "REDEEMED" + GiftCardStatusExpired GiftCardStatus = "EXPIRED" + GiftCardStatusBlocked GiftCardStatus = "BLOCKED" +) diff --git a/models_v2.go b/models_v2.go index 2f78e13..d35526d 100644 --- a/models_v2.go +++ b/models_v2.go @@ -49,6 +49,7 @@ type CalculationQuery struct { Promocode string `json:"promocode,omitempty"` DiscountRoundStep *float64 `json:"discountRoundStep,omitempty"` ExtraFields ExtraFields `json:"extraFields,omitempty"` + GiftCards []string `json:"giftCards,omitempty"` } type CalculationQueryRow struct { @@ -95,6 +96,14 @@ type CalculationResult struct { Bonuses *CalculationResultBonuses `json:"bonuses,omitempty"` Promocode *CalculationResultPromocode `json:"promocode,omitempty"` GiftCard *CalculationResultPromocode `json:"giftCard,omitempty"` + GiftCards []CalculationResultGiftCard `json:"giftCards,omitempty"` +} + +type CalculationResultGiftCard struct { + Code string `json:"code"` + Status string `json:"status"` + UsedAmount decimal.Decimal `json:"usedAmount"` + Error *CalculationResultError `json:"error,omitempty"` } type CalculationResultRow struct { @@ -141,6 +150,7 @@ type CalculationResultRowPromocode struct { type CalculationResultSummary struct { TotalDiscount decimal.Decimal `json:"totalDiscount"` Discounts CalculationResultDiscounts `json:"discounts"` + PrepaidAmount decimal.Decimal `json:"prepaidAmount"` } type CalculationResultBonuses struct {