Дальше всё должно работать без ручного вмешательства. Раз в день по расписанию система проходит по активным подпискам и сравнивает текущую цену товара с ценой, зафиксированной на момент подписки. Как только фиксируется снижение, покупателю уходит письмо с названием товара, прежней и новой стоимостью и ссылкой обратно на страницу товара. После отправки такого письма подписку нужно закрывать как выполненную — иначе при дальнейших колебаниях цены человек будет получать повторные письма об одном и том же снижении.
Отдельно нужен личный кабинет покупателя со списком его подписок на снижение цены и кнопкой отмены на каждую, а на стороне магазина — счётчик того, сколько покупателей ждут снижения по конкретной позиции. Реализацию обсуждаем: подойдёт встраивание в существующий каталог и использование уже работающего механизма отложенных или периодических задач, отдельный сервис поднимать не нужно.
Что должно быть в итоге:
— кнопка подписки на цену рядом с ценой товара;
— ежедневная фоновая проверка цен по подпискам;
— письмо строго при снижении, без спама при повышении или без изменений;
— личный кабинет со списком и отменой подписок;
— счётчик подписчиков по товару для магазина.