Работа с неполным ТЗ (Задача 2)

Рассмотрим задачу проектирования функционала купонов на скидку, поставленную в формате неполного и противоречивого ТЗ.

1. Вопросы для уточнения перед стартом

2. Проектирование системы купонов

Проектировал бы систему на следующих сущностях:

Логика применения:

3. Возможные подводные камни

4. Работа с акциями и приоритеты применения

В дополнение к купонам стоит предусмотреть работу с параллельными акциями, которые могут влиять на сумму заказа:

Как применять скидки и акции между собой:

Приоритет применения скидок:

  1. Промо-акции магазина (скидки на товары, скидки на сумму, скидки выходного дня).
  2. Праздничные акции.
  3. Персональные скидки покупателей.
  4. Купоны.

Важно: система должна позволять настраивать правила совместимости скидок и приоритеты без переписывания кода.

5. Организация кода

6. Краткое резюме

Перед началом обязательно собрать уточнения по бизнес-логике.
Архитектура должна быть расширяемой и учитывать конфликты скидок.
Применение купонов должно быть прозрачным для пользователя и легко поддерживаемым для команды разработки.

Готов к реализации после согласования всех открытых вопросов.