не решил пока что. При использовании купон прикрепляю к заказу, где он должен примениться, чтобы была возможность его отыскать и сказать - чувак, твой купон уже использовался в таком-то заказе
Ничего страшного, если Купоны и Промокоды - это будет одна модель/таблица?
скидочный Купон выдается пользователю за предыдущий заказ. Информация привязана к пользователю, но он может им поделится с кем угодно. Его можно применить лишь один раз. Имеет срок действия.
Промокод - для неограниченного круга лиц. Также имеет срок действия. К пользователю/заказа не привязан. Применить можно один раз.
чем модели разные? у купона будет заполнено поле order_id, а у промокода - нет. Купон будет иметь рандомную строку, например Q45JK, а промокод несколько осмысленную строку YOUTUBEKIRKOROVCHANELL