29 lines
1.8 KiB
Go
29 lines
1.8 KiB
Go
package models
|
|
|
|
import "time"
|
|
|
|
type PromoCode struct {
|
|
ID string `json:"id"`
|
|
Codeword string `json:"codeword"` // то, что будет вводить пользователь, чтобы получить плюшки
|
|
Description string `json:"description"` // описание, необходимое менеджеру в админке
|
|
Greetings string `json:"greetings"` // текст, выдаваемый пользователю в ответ на активацию промокода
|
|
DueTo int64 `json:"dueTo"` // таймштамп времени окончания работы активации промокода
|
|
ActivationCount int64 `json:"activationCount"` // предел количества активаций промокода
|
|
Bonus struct {
|
|
Privilege struct {
|
|
PrivilegeID string `json:"privilegeID"` // айдишник привилегии, которая будет выдаваться
|
|
Amount uint64 `json:"amount"` // количество
|
|
} `json:"privilege"`
|
|
Discount struct {
|
|
Layer int `json:"layer"` // 1|2
|
|
Factor float64 `json:"factor"` // процент скидки, вернее множитель, при котором достигается этот процент скидки
|
|
Target string `json:"target"` // PrivilegeID или ServiceKey в зависимости от слоя
|
|
Threshold int64 `json:"threshold"` // граничное значение, при пересечении которого применяется эта скидка
|
|
} `json:"discount"`
|
|
} `json:"bonus"`
|
|
Outdated bool `json:"outdated"`
|
|
OffLimit bool `json:"offLimit"`
|
|
Delete bool `json:"delete"`
|
|
CreatedAt time.Time `json:"createdAt"`
|
|
}
|