ent
Описание сущностей
1. Пользователь
Сущность пользоваль отображает всех возможных пользователей телеграм бота.
1.1. Структура данных
- name
- Имя пользователя, логин или псевдоним.
- id
- Уникальный идентификатор пользователся, который идентичен идентификатору Telegram
- type
- Тип пользователя: официант, клиент. Различие между официантом и клиентом будут описаны ниже.
- balance
- Количество бонусных баллов.
1.2. Функциональные возможности
Функциональные возможности пользователя зависит от типа: клиент или официант. Стоит отметить, что официант также может быть и клиентом, по-этому официант имеет возможность выполнять все те же функциональные возможности, что и клиент.
Функциональные возможности клиента:
- Зачисление бонуса по ссылке
- После того как клиент купил товар и отсканировал QR код, производится переход по ссылке, которая содержит команду зачисления бонусных баллов на счет
- Просмотр меню бонусов
- Телеграм бот предоставляет пользователю возможность просматривать доступные бонусы и перемещаться по меню. Структура навигации будет определена позже в отдельном документе
- Активация угощения
- Пользователь имеет возможность выбрать понравившееся угощение и активировать его: в момент активации со счета пользователя списываются бонусные баллы. Затем формируется ссылка на получение угощения и соответствующий QR код.
Функциональные возможности официант:
- Принести угощение
- Официант сканирует QR код, который содержит ссылку с командой выдачи угощения. После активации ссылки официант видит название и изображение угощения, которое нужно принести.
2. Угощение
Сущность угощение отображает товар, который можно обменять на бонусные баллы.
2.1. Структура данных
- id
- Уникальный идентификатор угощения.
- image
- Идентификатор изображения товара.
- title
- Короткое название (например: булочка с капустой)
- description
- Побробное описание. Тут может быть любая информация о товаре. Формат может быть TXT, HTML или любой другой легко и красиво отображаемый.
- price
- Цена угощения в баллах
2.2. Функциональные возможности
Угощение является объектом, над которым выполняется действие. Никаких функциональных возможностей не предусмотрено.
3. Ссылка
Сущность ссылка является важным функциональным звеном, так как содержит информацию об угощениях и операциях/командах.
3.1. Структура данных
- url_hash
- Уникальный идентификатор, с его помощбю будет формироваться url.
- expired
- true or false
- command
- Ссылка несет в себе разные комманды: add_balance - зачисление бонусных баллов пользователю; activate_cake - активация угощения;
- amount
- Если поле command содержит значение add_balance, это поле содержит кол-во баллов которое необходимо зачислить на счет пользователя. Иначе поле содержит 0.
- cake_id
- Если поле command содержит значение activate_cake, это поле содержит идентификатор угощения. Иначе поле содержит 0.
3.2. Функциональные возможности
Нет.