ent

ent


Описание сущностей

1. Пользователь

Сущность пользоваль отображает всех возможных пользователей телеграм бота.


1.1. Структура данных

  • name
  • Имя пользователя, логин или псевдоним.
  • id
  • Уникальный идентификатор пользователся, который идентичен идентификатору Telegram
  • type
  • Тип пользователя: официант, клиент. Различие между официантом и клиентом будут описаны ниже.
  • balance
  • Количество бонусных баллов.

1.2. Функциональные возможности

Функциональные возможности пользователя зависит от типа: клиент или официант. Стоит отметить, что официант также может быть и клиентом, по-этому официант имеет возможность выполнять все те же функциональные возможности, что и клиент.

Функциональные возможности клиента:

  1. Зачисление бонуса по ссылке
  2. После того как клиент купил товар и отсканировал QR код, производится переход по ссылке, которая содержит команду зачисления бонусных баллов на счет
  3. Просмотр меню бонусов
  4. Телеграм бот предоставляет пользователю возможность просматривать доступные бонусы и перемещаться по меню. Структура навигации будет определена позже в отдельном документе
  5. Активация угощения
  6. Пользователь имеет возможность выбрать понравившееся угощение и активировать его: в момент активации со счета пользователя списываются бонусные баллы. Затем формируется ссылка на получение угощения и соответствующий QR код.

Функциональные возможности официант:

  1. Принести угощение
  2. Официант сканирует 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. Функциональные возможности

Нет.


Report Page