Шесть взрослых обмениваются подарками на семейном ужине. Три пары живут вместе, поэтому организатор хочет распределить людей за пределами их домов. У семьи уже есть приватный чат, и новый аккаунт никому не нужен.
Организатор подтверждает окончательные шесть имён
В списке короткие понятные имена. Дата ужина и бюджет 30 € — дополнительный контекст, а не входные данные алгоритма.
Три взаимные пары не совпадают
Организатор добавляет исключение для каждой пары. GiftDraw проверяет все ограничения до сохранения и создаёт полное назначение: каждый дарит один раз и получает один подарок.
Каждая ссылка уходит в отдельный диалог
Страница управления показывает шесть строк. Организатор копирует ссылку Майи в личный чат с Майей и повторяет для остальных. Рядом есть QR-код для личной передачи.
Участник открывает только своего получателя
Майя открывает ссылку, проверяет своё имя и узнаёт одного получателя. После перезагрузки результат тот же. Организатор видит факт открытия, но не таблицу назначений.