Skip to content

Руководство администратора GS Coffee ​

Содержание ​

  1. Вход в админ-панель
  2. Dashboard (Главная)
  3. Управление лотами (Lots)
  4. Работа с запросами (Quotes)
  5. Управление заказами (Orders)
  6. Инвойсы (Invoices)
  7. Тикеты поддержки (Tickets)
  8. Управление пользователями (Users)
  9. Серийные номера (Serial Numbers)
  10. Страница «О нас» (About Us)
  11. Команды, Фонд и Донаты
  12. Полный цикл: от запроса до доставки

1. Вход в админ-панель ​

  1. Откройте в браузере: https://gs-coffee.co/admin
  2. Введите email и пароль администратора
  3. Нажмите Sign in

После входа вы попадёте на Dashboard — главную страницу панели.


2. Dashboard (Главная) ​

На Dashboard отображаются виджеты с общей статистикой:

  • Stats Overview — количество лотов, запросов, заказов, открытых тикетов
  • Recent Quotes — последние поступившие запросы
  • Open Tickets — тикеты, требующие внимания

В левом меню доступны разделы:

ГруппаРазделОписание
CatalogLotsУправление лотами кофе
CatalogSerial NumbersСерийные номера партий
TeamsTeamsУправление командами работников
TeamsDonationsИстория всех донатов
TeamsFundsКошельки команд
TeamsStatsСтатистика и графики
SalesQuotesЗапросы от клиентов
SalesOrdersЗаказы
SalesInvoicesИнвойсы (счета)
SupportTicketsТикеты поддержки
ContentAbout UsСтраница «О нас»
SettingsUsersУправление пользователями

Рядом с Quotes, Tickets и Donations отображаются бейджи с количеством ожидающих обработки элементов.


3. Управление лотами (Lots) ​

3.1. Список лотов ​

Перейдите в Catalog → Lots. В таблице отображаются:

  • Lot ID — уникальный идентификатор (например, GS-2025-001)
  • Coffee Type — тип кофе (Green / Roasted)
  • Name — название лота
  • Region, Processing Method — регион и способ обработки
  • Volume, Price/kg — объём и цена
  • Status — текущий статус (Available / Reserved / Sold Out)

Фильтры (кнопка с иконкой фильтра):

  • По типу кофе (Green / Roasted)
  • По статусу (Available / Reserved / Sold Out)
  • По способу обработки (Washed / Natural / Honey)
  • Показать удалённые (Trashed)

Поиск: введите Lot ID или название в строку поиска.

3.2. Создание нового лота ​

  1. Нажмите Create (кнопка в правом верхнем углу)
  2. Заполните секции:

Basic Information (Основная информация) ​

ПолеОписаниеОбязательное
Lot IDУникальный код лота, например GS-2025-001✅
SlugURL-идентификатор (латиница, дефисы), например ethiopia-yirgacheffe-2025✅
Coffee TypeВыберите Green (зелёный) или Roasted (обжаренный)✅
StatusAvailable — доступен, Reserved — зарезервирован, Sold Out — продан✅
Sort OrderЧисло для сортировки (меньше = выше в списке)—

Cover Image (Обложка) ​

Загрузите фото мешка. Это изображение отображается:

  • В каталоге на сайте (как карточка лота)
  • Первым изображением в галерее на странице лота

Максимальный размер файла: 5 MB. Форматы: JPEG, PNG, WebP.

Translations (Переводы) ​

Переключайтесь между вкладками языков (English, Українська, Русский, Français, Deutsch, Español):

ПолеОписание
NameНазвание лота на выбранном языке
DescriptionОписание лота (поддерживает форматирование: жирный, курсив, списки, ссылки)
Flavor ProfileВкусовой профиль — только для Roasted Coffee

Обязательно заполните хотя бы Name (EN). Остальные языки — по желанию.

Green Coffee Details (только для Green) ​

ПолеОписание
FarmНазвание фермы
Country of OriginСтрана происхождения
RegionРегион
Processing MethodWashed / Natural / Honey
Harvest YearГод урожая
Available Volume (kg)Доступный объём в кг
Altitude (m)Высота произрастания в метрах
VarietyРазновидность кофе

Roasted Coffee Details (только для Roasted) ​

ПолеОписание
RegionРегион
VarietyРазновидность кофе
Processing MethodWashed / Natural / Honey
Roast LevelLight / Medium / Dark

Pricing (Цена) ​

ПолеОписание
Price per kgЦена за 1 кг
CurrencyВалюта (USD / EUR / UAH)

Field Visibility (Видимость полей) ​

Переключатели позволяют показать или скрыть каждое поле на публичной странице лота. Например, если вы не хотите показывать цену — выключите Show Price.

  1. Нажмите Create для сохранения.

3.3. Медиа-галерея (фото, видео, PDF) ​

После создания лота — откройте его на редактирование (кнопка Edit в таблице). Прокрутите вниз — вы увидите секцию Media Gallery.

Добавить один файл ​

  1. Нажмите Add File
  2. Загрузите файл (фото, видео или PDF)
  3. Тип файла определится автоматически
  4. Имя файла подставится автоматически (можно изменить)
  5. Укажите Sort Order (порядок отображения)
  6. Нажмите Create

Массовая загрузка фото/видео ​

  1. Нажмите Bulk Upload Images (зелёная кнопка)
  2. Выберите до 20 файлов за раз
  3. Нажмите Submit — файлы загрузятся и добавятся в галерею

Максимальный размер: 128 MB на файл. Форматы: JPEG, PNG, WebP, GIF, MP4, WebM, QuickTime.

Изменить порядок ​

Перетаскивайте строки в таблице для изменения порядка отображения (drag & drop).

Удалить файлы ​

  • Один файл: кнопка Delete в строке
  • Несколько файлов: отметьте чекбоксами → Delete selected

При удалении файл также удаляется с сервера.

3.4. Редактирование и удаление лота ​

  • Редактировать: кнопка Edit в строке таблицы → измените нужные поля → Save
  • Удалить: кнопка Delete в строке (лот перемещается в корзину)
  • Восстановить: включите фильтр "Trashed" → кнопка Restore

3.5. Управление статусами ​

Для обновления статуса лота:

  1. Откройте лот на редактирование
  2. Измените Status: Available → Reserved → Sold Out
  3. Сохраните

Статусы отображаются цветными бейджами на сайте:

  • 🟢 Available — зелёный
  • 🟡 Reserved — жёлтый
  • 🔴 Sold Out — красный

3.6. Медиа-страницы лота (Media Pages — по партиям) ​

У каждого лота может быть несколько медиа-страниц — по одной на каждую партию (batch). Каждая медиа-страница содержит только заголовок, дату партии, описание и свою галерею фото/видео. Технических характеристик, цены и кнопки «Request a Quote» на ней нет.

Адрес медиа-страницы конкретной партии: https://gs-coffee.co/en/green-coffee/{slug}/media/{page-slug}

Адрес индекса медиа-страниц лота: https://gs-coffee.co/en/green-coffee/{slug}/media

Если у лота только одна медиа-страница — переход по /media автоматически откроет её. Если страниц нет — ссылка на сайте не отображается.

На основной странице лота под описанием автоматически появляется ссылка «View media page» (или «View media pages» при нескольких) → ведёт на индекс или сразу на единственную страницу.

Как создать медиа-страницу? ​

  1. Откройте лот на редактирование (Catalog → Lots → Edit)
  2. Прокрутите вниз до секции Media Pages (Batches)
  3. Нажмите Add Media Page
  4. Заполните основные поля:
ПолеОписаниеОбязательное
SlugURL-идентификатор (латиница, цифры, дефис), например batch-2026-05. Уникален в рамках лота.✅
Batch DateДата партии—
Sort OrderПорядок при нескольких страницах (меньше = выше)—
  1. Перейдите на языковые вкладки (English, Українська, Русский, Français, Deutsch, Español, Polski, 中文) и заполните:
    • Title — заголовок медиа-страницы
    • Description — описание (поддерживает форматирование: жирный текст, списки)
  2. Загрузите медиа-файлы в поле Media — это отдельная галерея, не связанная с основной галереей лота
  3. Нажмите Create

Можно создавать любое количество медиа-страниц на один лот. Каждая партия — отдельная страница.

Редактирование и удаление медиа-страниц ​

  • Нажмите Edit (значок карандаша) в строке → измените поля → Save
  • Нажмите Delete (значок корзины) → страница удаляется безвозвратно

3.7. QR-код для медиа-страницы ​

Каждая медиа-страница партии имеет свой QR-код. QR-код ведёт прямо на страницу этой партии. Подходит для печати на упаковке, этикетках и в буклетах.

Как скачать QR? ​

  1. Откройте лот на редактирование (Catalog → Lots → Edit)
  2. Прокрутите вниз до секции Media Pages (Batches)
  3. В строке нужной медиа-страницы нажмите QR (SVG)
  4. Браузер скачает файл qr-{lot-slug}-{page-slug}.svg

У каждой партии свой QR-код. Если у лота 3 партии — будет 3 разных QR-кода.

Что делать с файлом? ​

SVG — векторный формат, не теряет качество при любом масштабировании.

  • Для печати: откройте в Illustrator, CorelDRAW или Photoshop, установите нужный размер (обычно 5×5 см) и распечатайте
  • Для соцсетей: экспортируйте в PNG или JPG
  • Для буклетов/каталогов: вставьте SVG напрямую в InDesign или Word

4. Работа с запросами (Quotes) ​

Когда клиент нажимает Request a Quote на сайте — в системе создаётся запрос.

4.1. Список запросов ​

Перейдите в Sales → Quotes. В таблице:

  • Reference — номер запроса (например, QR-202503-0001)
  • Name, Company — данные клиента
  • Lot — к какому лоту относится запрос
  • Volume — запрошенный объём
  • Status — Pending / Reviewed / Converted / Rejected
  • Created — дата создания

4.2. Обработка запроса ​

Для каждого запроса доступны действия (кнопки в строке таблицы):

ДействиеКнопкаКогда доступно
Просмотр👁 ViewВсегда
Ответить клиенту💬 ReplyПока не Rejected/Converted
Отметить просмотренным👁 Mark ReviewedТолько для Pending
Конвертировать в заказ✅ Convert to OrderДля Pending/Reviewed
Отклонить❌ RejectДля Pending/Reviewed

Просмотр запроса ​

Нажмите View — откроется страница с полной информацией:

  • Контактные данные клиента
  • Информация о лоте и запрошенном объёме
  • Сообщение клиента
  • Связанный заказ (если конвертирован)

Переписка с клиентом ​

  1. Нажмите Reply (в таблице или на странице запроса)
  2. Введите текст сообщения
  3. Нажмите Submit

Переписка видна в секции Quote Messages на странице запроса. Сообщения автоматически обновляются каждые 10 секунд. Клиент получает email-уведомление о каждом вашем ответе.

На странице просмотра запроса (View Quote) внизу находится полная история переписки.

Конвертация в заказ ​

  1. Нажмите Convert to Order
  2. Укажите стоимость доставки (Shipping Cost) — по умолчанию 0
  3. Подтвердите действие

Система автоматически:

  • Создаст заказ с уникальным номером
  • Добавит позиции заказа (snapshot данных лота)
  • Изменит статус запроса на Converted

4.3. Статусы запросов ​

СтатусЗначение
PendingНовый, ожидает обработки
ReviewedПросмотрен администратором
ConvertedПреобразован в заказ
RejectedОтклонён

5. Управление заказами (Orders) ​

5.1. Список заказов ​

Перейдите в Sales → Orders. В таблице:

  • Reference — номер заказа (например, ORD-202503-0001)
  • Customer — имя клиента
  • Total — итоговая сумма
  • Status — текущий статус
  • Invoice — номер инвойса (если создан)

5.2. Действия с заказом ​

ДействиеОписание
ViewПросмотр полной информации
EditРедактирование стоимости доставки, примечаний, статуса
Change StatusБыстрая смена статуса
Generate InvoiceСоздать инвойс (если ещё не создан)

Изменение статуса доставки ​

  1. Нажмите Change Status (или Edit)
  2. Выберите новый статус
  3. Подтвердите

Клиент получает email-уведомление при каждом изменении статуса.

5.3. Статусы заказа ​

СтатусЗначениеКогда устанавливать
PendingОжидает подтвержденияАвтоматически при создании
ConfirmedПодтверждёнПосле оплаты или подтверждения
ShippedОтправленТовар передан перевозчику
In TransitВ путиТовар в пути к покупателю
DeliveredДоставленТовар получен покупателем
CancelledОтменёнПри отмене заказа

5.4. Позиции заказа (Order Items) ​

На странице просмотра заказа (View) внизу есть секция Items со списком позиций:

  • Lot ID и название
  • Количество (кг)
  • Цена за кг
  • Итого по позиции

Это snapshot данных лота на момент создания заказа — при изменении лота данные заказа не меняются.


6. Инвойсы (Invoices) ​

6.1. Создание инвойса ​

Инвойс создаётся из заказа:

  1. Перейдите в Sales → Orders
  2. Найдите заказ → нажмите Generate Invoice
  3. Инвойс появится в разделе Sales → Invoices

6.2. Работа с инвойсом ​

На странице Invoices в строке каждого инвойса доступны действия:

ДействиеОписание
ViewПросмотр деталей инвойса
Generate PDFСформировать PDF-файл инвойса
Send to ClientОтправить инвойс клиенту по email
Download PDFСкачать сформированный PDF
Mark OverdueПометить как просроченный

Типичный процесс ​

  1. Generate Invoice (из заказа) → создаётся инвойс со статусом Draft
  2. Generate PDF → формируется PDF-файл
  3. Send to Client → клиент получает email с инвойсом, статус меняется на Sent
  4. Клиент оплачивает через кнопку Pay Now в личном кабинете (Monobank)
  5. После оплаты статус автоматически меняется на Paid (через webhook)

6.3. Статусы инвойса ​

СтатусЗначение
DraftЧерновик (не отправлен)
SentОтправлен клиенту
PaidОплачен
OverdueПросрочен
CancelledОтменён

6.4. Платежи ​

На странице просмотра инвойса (View) внизу есть секция Payments с историей платежей:

  • Provider (Monobank)
  • External ID
  • Сумма и валюта
  • Статус (Pending / Success / Failure)
  • Дата оплаты

7. Тикеты поддержки (Tickets) ​

7.1. Список тикетов ​

Перейдите в Support → Tickets. В таблице:

  • Reference — номер тикета (например, TKT-202503-0001)
  • Customer — кто обратился
  • Subject — тема обращения
  • Priority — Low / Medium / High
  • Status — Open / In Progress / Resolved / Closed
  • Messages — количество сообщений

7.2. Ответ на тикет ​

  1. Нажмите Reply в строке тикета
  2. Введите текст ответа
  3. Нажмите Submit

Клиент получит email-уведомление о вашем ответе.

Полную историю переписки можно посмотреть на странице тикета (View → секция Messages внизу).

7.3. Смена статуса тикета ​

  1. Нажмите Change Status в строке
  2. Выберите новый статус:
    • Open → новый тикет
    • In Progress → вы работаете над обращением
    • Resolved → проблема решена
    • Closed → тикет закрыт

8. Управление пользователями (Users) ​

8.1. Список пользователей ​

Перейдите в Settings → Users. В таблице:

  • Name, Email — данные пользователя
  • Company — компания
  • Admin — является ли администратором (✅ / ✗)
  • Quotes / Orders — количество запросов и заказов

8.2. Создание пользователя ​

  1. Нажмите Create
  2. Заполните данные (Name, Email, Company, Phone, Country)
  3. Выберите Locale (предпочтительный язык)
  4. Включите Administrator, если нужен админ-доступ
  5. Установите пароль (минимум 8 символов)
  6. Нажмите Create

8.3. Редактирование пользователя ​

  1. Нажмите Edit в строке
  2. Измените нужные поля
  3. Пароль: оставьте пустым, чтобы не менять; заполните, чтобы установить новый
  4. Нажмите Save

9. Серийные номера (Serial Numbers) ​

Серийные номера позволяют проверить подлинность каждой пачки кофе. На один лот можно привязать несколько партий с разными кодами.

Формат кода: KC2026-01-23232

  • KC2026-01 — код партии (вы задаёте при генерации)
  • 23232 — номер пачки в партии (5 цифр, генерируется случайно от 00001 до 99999)

9.1. Список номеров ​

Перейдите в Catalog → Serial Numbers. В таблице:

  • Code — полный серийный номер
  • Batch — код партии
  • Lot — привязанный лот
  • Sequence — порядковый номер в партии
  • Roast Date — дата обжарки (если указана)
  • Checks — сколько раз номер проверяли

Фильтры: по лоту, по коду партии.

Экспорт: кнопка Export to Excel (вверху таблицы) выгружает текущий отфильтрованный список в формате XLSX.

9.2. Создать один номер вручную ​

Нужен один номер для конкретной пачки:

  1. Нажмите Create
  2. Заполните:
    • Lot — выберите лот
    • Batch Code — код партии (например, KC2026-01)
    • Roast Date — дата обжарки (опционально)
    • Code — введите вручную в формате {BATCH}-{NNNNN} (например, KC2026-01-23232)
  3. Нажмите Create

9.3. Создать партию номеров (Generate Batch) ​

Нужно много номеров сразу (например, 500 пачек):

  1. Нажмите кнопку Generate Batch (вверху таблицы)
  2. Заполните:
    • Lot — выберите лот
    • Batch Code — код партии (например, KC2026-01)
    • Roast Date — дата обжарки (опционально; применяется ко всем номерам партии)
    • Count — количество пачек (от 1 до 10 000)
  3. Нажмите Generate

Номера генерируются случайным образом в диапазоне 00001–99999 и уникальны в рамках партии. Максимум 99 999 номеров на одну партию.

9.4. Как клиент проверяет подлинность? ​

Публичная страница проверки: https://gs-coffee.co/en/verify

  1. Клиент вводит номер (например, KC2026-01-23232) и нажимает Verify
  2. Результат при найденном номере:
    • Информация о лоте (название, регион, способ обработки)
    • Код партии и дата обжарки (если указана)
    • Количество проверок и уровень подозрительности
    • Таблица проверок: страна / дата / количество (сгруппировано)
  3. При незнакомом номере — сообщение «Serial number not found»

Каждая проверка увеличивает счётчик и записывается в лог (IP, страна по IP, дата).

На той же странице клиент может оставить обратную связь (жалоба на поддельную продукцию, вопрос о качестве) — форма содержит поля: имя, email, телефон, город, серийный номер, сообщение. После отправки вы получите email.

9.5. Уровни подозрительности ​

ПроверокУровеньЦветЗначение
1–5Trusted🟢 ЗелёныйНовый номер, всё в порядке
6–20Normal⚪ СерыйОбычный объём проверок
21–100Elevated🟡 ЖёлтыйПовышенный интерес
>100Suspicious🔴 Красный⚠️ Подозрительно много — возможна подделка

10. Страница «О нас» (About Us) ​

Раздел Content → About Us позволяет самостоятельно управлять содержимым страницы /about на сайте.

10.1. Как редактировать? ​

  1. Перейдите в Content → About Us
  2. Вы сразу попадёте на форму редактирования (список страниц не нужен — страница одна)
  3. Заполните или обновите:
ПолеОписание
TitleЗаголовок страницы (вкладки по языкам)
BodyОсновной текст страницы (WYSIWYG-редактор, вкладки по языкам)
Hero ImageГлавное изображение страницы
Gallery ImagesНесколько фотографий для галереи
Hero VideoГлавное видео страницы (MP4/WebM)
Gallery VideosНесколько видео для галереи
  1. Переключайтесь между языковыми вкладками (English, Українська, Русский, Français, Deutsch, Español, Polski, 中文) для каждого поля Title и Body
  2. Нажмите Save

Изменения мгновенно отражаются на странице /about на сайте.


11. Команды, Фонд и Донаты ​

Раздел отвечает за прозрачную систему поддержки работников кофейных плантаций. Включает управление командами, накопительный фонд и донаты от клиентов из личного баланса.

Ключевой принцип: с продаж автоматически отчисляется ТОЛЬКО сумма в фонд. Работники получают донаты ИСКЛЮЧИТЕЛЬНО добровольно из личного баланса клиента — не из стоимости покупки.

11.1. Управление пользователями (личный баланс) ​

В разделе Settings → Users для каждого пользователя добавлено новое поле:

ПолеОписание
Personal BalanceЛичный баланс клиента в UAH для добровольных переводов. Устанавливается вручную администратором. Не может быть отрицательным.

Как установить баланс клиенту ​

  1. Перейдите в Settings → Users
  2. Найдите нужного пользователя → нажмите Edit
  3. В поле Personal Balance укажите сумму (например, 50.00)
  4. Нажмите Save

Баланс — это виртуальные «средства для донатов». Они НЕ связаны с суммами заказов. Клиент может перевести эти средства в фонд или конкретному работнику.

11.2. Управление командами (Teams) ​

Перейдите в Teams → Teams. В таблице отображаются:

  • Name — название команды (на всех 8 языках)
  • Description — описание
  • Color — цвет для бейджей и заголовков
  • Logo — логотип команды (необязательно)
  • Members — количество активных работников
  • Is Active — статус (активна / неактивна)

Создание команды ​

  1. Нажмите Create
  2. Заполните поля:
    • Name и Description — переводите на нужные языки через вкладки
    • Color — выберите акцентный цвет (по умолчанию #5B5C2D, оливковый)
    • Logo — загрузите логотип (необязательно)
  3. В секции Team Members добавьте работников из списка пользователей
  4. Нажмите Create

Каждая команда привязывается к конкретным лотам (см. ниже). Один лот может иметь только одну команду, но одна команда может работать с несколькими лотами.

Редактирование команды ​

  1. Нажмите Edit в строке таблицы
  2. Измените нужные поля
  3. В секции Team Members можно добавлять/удалять работников
  4. Нажмите Save

11.3. Привязка команды к лоту (Team-Lot Linkage) ​

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

Как привязать команду к лоту ​

  1. Откройте лот на редактирование (Catalog → Lots → Edit)
  2. Прокрутите до секции Team & Fund
  3. Выберите Team из выпадающего списка (или создайте новую)
  4. Укажите Fund Per Unit — фиксированная сумма, идущая в фонд с каждой единицы товара:
    • Для зелёного кофе — количество в кг
    • Для обжаренного кофе — количество в упаковках
  5. Нажмите Save

Связка «лот → команда» уникальна — нельзя привязать два разных лота к одной команде? Нет, один лот = одна команда, но одна команда может работать с множеством лотов.

Пример расчёта ​

Лот: Ethiopia Yirgacheffe (Green Coffee)
Команда: "Harvest Workers"
Fund Per Unit: 2.00 UAH/kg
Продажа: 500 кг

Автоматическое отчисление в фонд: 500 × 2.00 = 1 000 UAH
Работники ничего не получают из этой суммы автоматически.

11.4. Фонд (Funds) ​

Перейдите в Teams → Funds. Здесь отображаются кошельки команд:

  • Team Name — название команды
  • Total In — всего поступило средств
  • Total Out — всего переведено работникам
  • Balance — текущий баланс (= Total In − Total Out)

Источники пополнения фонда ​

ИсточникОписание
Автоматические отчисления из продажfixed_fund_per_unit × quantity_sold (когда заказ оплачен)
Добровольные донаты клиентов из личного балансаКлиент переводит средства через раздел «Мои донаты» в личном кабинете

Перевод из фонда работнику ​

  1. Перейдите в Teams → Funds
  2. Нажмите Transfer to Worker на нужной карточке фонда
  3. Выберите работника (должен быть участником команды) и сумму
  4. Укажите примечание (необязательно)
  5. Подтвердите перевод

После перевода создаётся запись типа fund_to_worker. Фонд уменьшается, работник получает уведомление. Вывод средств на карту не автоматический — только учётная запись.

11.5. Донаты (Donations) ​

Перейдите в Teams → Donations. Здесь полная история всех транзакций:

Типы донатов:

ТипИсточникНазначение
client_to_fundЛичный баланс клиента → ФондДобровольный перевод клиента в фонд команды
client_to_workerЛичный баланс клиента → РаботникДобровольный перевод конкретного работнику
fund_to_workerФонд → РаботникПеревод из фонда (админ-действие, см. 11.4)

Автоматический тип sale_share более не используется — с продаж идёт только в фонд, работники получают донаты исключительно из личных балансов клиентов.

Фильтры: по типу, дате, команде, заказу, донору, работнику.

11.6. Статистика (Stats) ​

Перейдите в Teams → Stats. Дашборд с виджетами:

  • KPI Cards: Донаты за месяц, Активные команды, Баланс фонда, Активность чатов
  • Chart 1: Поступления за период (линейный график, переключение день/неделя/месяц)
  • Chart 2: Источники — продажи vs добровольные донаты клиентов
  • Chart 3: Топ донаторов (по сумме из личного баланса)
  • Table: Последние транзакции с раскрывающимися деталями

11.7. Пользовательский баланс (Personal Balance Management) ​

Администратор управляет личными балансами пользователей для системы донатов:

  1. Перейдите в Settings → Users
  2. Найдите пользователя
  3. Отредактируйте поле Personal Balance — установите сумму, которую клиент может добровольно перевести
  4. Сохраните

Баланс начисляется вручную админом. Клиент видит свой доступный баланс в разделе My balance и решает сам, сколько перевести в фонд. В разделе «Команды сборщиков» личный баланс не показывается — только сумма, уже пожертвованная в фонд. Отказы невозможны — это полностью добровольные переводы.

11.8. Чат (Chat) ​

  • Один общий чат для всех авторизованных пользователей (/chat), доступен на всех языках
  • Администратор может читать все сообщения и писать от имени любого пользователя; сообщения администратора подписаны как GS COFFEE
  • Удаление сообщений: у администратора под каждым сообщением есть кнопка Delete (с подтверждением). Удалённое сообщение исчезает у всех участников — клиенты видят это в течение ~5 секунд (чат обновляется автоматически). У обычных клиентов кнопки удаления нет, и попытка удалить сообщение в обход интерфейса отклоняется с ошибкой 403
  • Чатов команд больше нет: работники — не пользователи платформы, отдельных комнат на команду не создаётся

11.9. Видимость раздела «Команды сборщиков» ​

В Team Fund → Fund Settings → блок Picker teams section visibility:

  1. Visible to everyone (по умолчанию) — пункт «Команды сборщиков» виден всем авторизованным клиентам.
  2. Hidden (with exceptions) — раздел скрыт. В поле Users who can still see the section выберите пользователей, которым он всё равно доступен (поиск по имени/e-mail, можно несколько). Нажмите Save changes.

Что происходит в режиме Hidden:

  • у остальных клиентов пункт «Команды сборщиков» исчезает из сайдбара, а /my-account/donations отвечает 404 (как будто страницы нет);
  • в карточке заказа пропадает ссылка «Meet the picker teams», но сумма отчисления в пользу сборщиков остаётся видимой;
  • на публичной странице /impact кнопка «Contribute to the Fund» скрывается только у вошедших пользователей без доступа; сама страница остаётся публичной;
  • администраторы видят раздел всегда;
  • список исключений не теряется, если позже вернуть режим Visible to everyone.

11.10. Календарь активности по командам ​

Календарь в разделе «Команды сборщиков» разделён по командам — у каждой команды свой набор дней.

  1. Перейдите в Team Fund → Activity Calendar.
  2. Нажмите New calendar entry (или Edit у существующей записи).
  3. В поле Team выберите команду — оно обязательное: день принадлежит ровно одной команде.
  4. Заполните дату, заголовок/описание (вкладки по языкам), фото и при желании ссылку на YouTube. Нажмите Create / Save changes.

В списке записей есть колонка Team и фильтр по команде. Клиент в разделе «Команды сборщиков» видит над календарём кнопки активных команд: нажатие переключает календарь на дни выбранной команды. Неактивные команды в переключателе не показываются; дни, опубликованные до появления этого поля, миграция привязала к первой активной команде.

Если у вас несколько бригад, создайте их в Team Fund → Teams и для каждой публикуйте свои дни — клиент переключается между командами одним кликом.

11.11. Текст страницы после оплаты ​

Страница /payment/success, которую клиент видит сразу после оплаты, редактируется в админке:

  1. Перейдите в Settings → Payment Settings.
  2. Прокрутите до блока Page after a successful payment.
  3. Выберите язык (вкладки EN / UA / RU / FR / DE / ES / PL / ZH) и заполните Page title и Page message.
  4. Нажмите Save changes.

Пустое поле означает «использовать встроенный перевод» — страница никогда не останется без заголовка и текста. Это же окно управляет описаниями способов оплаты на /checkout (блок выше).


12. Лабораторные исследования (Lab Research) ​

Клиенты могут запросить лабораторный анализ кофе прямо из личного кабинета. Одобренные заявки публикуются на сайте вместе с маркой кофе — это отдельный раздел, не связанный с фондом команд.

12.1. Как клиент отправляет заявку ​

  1. Клиент входит в кабинет и открывает Лабораторные исследования (/my-account/lab-research) — пункт в левом меню.
  2. Заполняет форму: при необходимости выбирает лот (тогда название кофе подставится автоматически), вводит название кофе, выбирает тип исследования (каппинг, влажность и плотность, остатки и безопасность, полная панель, другое) и комментарий.
  3. Нажимает Отправить запрос. Заявка получает статус На рассмотрении и появляется в блоке Мои запросы — там же клиент видит марку, лабораторию, дату и результат после одобрения или причину отказа.

12.2. Как администратор рассматривает заявки ​

  1. Откройте Lab Research → Lab Research (/admin/lab-research-requests). В навигации виден счётчик заявок на рассмотрении.
  2. В таблице: дата отправки, клиент с e-mail, кофе, тип, статус, марка, лаборатория. Фильтры — по статусу и типу.
  3. Одобрить: кнопка Approve → заполните обязательное поле Coffee mark (марка, которая будет опубликована), при желании лабораторию, дату исследования и результат → Submit. Заявка становится Approved и сразу попадает в публичный список.
  4. Отклонить: кнопка Reject → укажите причину → Submit. Клиент увидит причину в кабинете, а заявка не публикуется (марка очищается).
  5. Кнопка Edit позволяет изменить любые поля заявки, включая статус и марку.

Марка обязательна

Публикуются только одобренные заявки с непустой маркой. Без марки заявка не появится на публичной странице, даже если статус — Approved.

12.3. Кто видит публичную страницу ​

Публичная страница: /{locale}/lab-research — марка, название кофе, тип исследования, лаборатория, дата и результат. Персональные данные клиента не публикуются.

  1. Откройте Lab Research → Lab Research Visibility (/admin/lab-research-settings).
  2. Выберите режим:
    • Visible to everyone (по умолчанию) — страница открыта всем, включая гостей;
    • Visible to selected users only — страница доступна только администраторам и пользователям из списка Users who can open the page (поиск по имени/e-mail, можно несколько).
  3. Нажмите Save changes.

В режиме «только выбранным» остальным страница отвечает 404, а ссылка «Лабораторные исследования» исчезает из футера. Список пользователей сохраняется при возврате в режим «для всех».


13. Полный цикл: от запроса до доставки ​

Типичный бизнес-процесс:

1. Клиент заходит на сайт → выбирает лот → нажимает Request a Quote
                          ↓
2. В Quotes появляется новый запрос (Pending)
                          ↓
3. Вы открываете запрос → ведёте переписку (Reply)
                          ↓
4. Договариваетесь → нажимаете Convert to Order
   (указываете стоимость доставки)
                          ↓
5. В Orders появляется заказ → нажимаете Generate Invoice
                          ↓
6. В Invoices → Generate PDF → Send to Client
                          ↓
7. Клиент получает email → оплачивает через Pay Now (Monobank)
                          ↓
8. Статус инвойса автоматически → Paid
                          ↓
9. Вы меняете статус заказа:
   Confirmed → Shipped → In Transit → Delivered
   (клиент получает email на каждом шаге)

Краткая шпаргалка ​

ЭтапГде в панелиДействие
Клиент отправил запросQuotesПросмотреть, ответить
ДоговорилисьQuotesConvert to Order
Нужен инвойсOrdersGenerate Invoice
Отправить инвойсInvoicesGenerate PDF → Send to Client
Клиент оплатилInvoicesАвтоматически (Monobank webhook)
Отправка товараOrdersChange Status → Shipped
Товар в путиOrdersChange Status → In Transit
ДоставленOrdersChange Status → Delivered
Клиент задаёт вопросTicketsReply, Change Status
Новый лотLotsCreate → заполнить → загрузить медиа
Лот распроданLotsEdit → Status: Sold Out
Маркетинг / соцсетиLots → Edit → Media PagesДобавить медиа-страницу партии, загрузить фото/видео
Скачать QR-кодLots → Edit → Media PagesКнопка QR (SVG) в строке нужной медиа-страницы
Создать серийные номераSerial NumbersGenerate Batch
Обновить страницу «О нас»About UsЗаполнить Title + Body, загрузить медиа
Клиент проверяет пачку—Публичная страница /verify
Отчисление в фондАвтоматическиПри оплате: units × fixed_fund_per_unit → Fund
Настроить отчисление в фондLots → Edit → Team & FundПривязать лот к команде и задать fixed_fund_per_unit
Перевести из фонда работникуTeams → FundsTransfer to Worker
Посмотреть донаты клиентовTeams → DonationsФильтры по типу: client_to_fund / client_to_worker
Настроить баланс для донатовSettings → UsersРедактировать Personal Balance клиента

────────── Автоматические донаты из продаж ────────── 10. При оплате (Monobank webhook success): - Если лот привязан к команде → в фонд идёт: units × fixed_fund_per_unit - Создаётся Donation, баланс фонда обновляется Пример: 500 кг × 2.00 UAH = 1 000 UAH → Fund ────────── Добровольные донаты из личного баланса ───── 11. Клиент заходит в личный кабинет → раздел «Мои донаты»: - Переводит X UAH из своего personal_balance в фонд команды - Или выбирает конкретного работника и переводит ему Эти донаты НЕ связаны с чеком — полностью добровольно.