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"`
|
||
|
}
|