Как сделать систему купонов и бонусов для интернет-магазина?
Доброго времени суток!
Имеется каталог (в будущем интернет-магазин) книг. В качестве базы данных используется система MongoDB. Искал в русскоязычной части интернета, но, к сожалению, не нашёл. Каким образом можно реализовать систему купонов и бонусов в интернет-магазине. Интересует архитектура процессов.
1) Система купонов - имеются купоны, которые можно использовать для получения скидки при оформлении заказа. Купоны могут использоваться однократно, или же многократно; можно задать определённое количество использований купона, или же купоны могут использоваться до определённой даты. Купон можно использовать при оформлении заказа, естественно, для одного заказа может использоваться лишь один купон. В дальнейшем в истории заказов будет указано, что для оплаты был использован купон.
2) Бонусы - после платежа на счёт пользователя поступает определённый процент от суммы заказа (может также варьироваться от категории или каких либо других факторов). В дальнейшем можно обменивать эти бонусы на какие-либо услуги, или на бесплатные книги.
Не хочется изобретать велосипед, поэтому спрашиваю у вас. Каким же образом можно это всё реализовать? Смотрел структуру базы данных Magento, но ничего не нашёл. Возможно вы поделитесь какими-нибудь ссылками.
То что вы описываете непосредственно со структурой базы не связано. Во всяком случае бонусы могут быть просто полем в документе пользователя. Суть в том, что вам нужен метод оплаты через бонусы, по сути.
Для купонов - так же можно помечать что когда было использовано. Но разруливать всеравно придется в коде.