fix(site): честность текстов + убраны чужие системы учёта; статус/changelog без фикции

Чужие СИСТЕМЫ УЧЁТА (МойСклад, 1С) убраны со всего публичного сайта: тексты,
KB, блог, FAQ, og-картинки, meta. Платёжные системы и маркетплейсы (Kaspi,
Wildberries, Ozon и т.п.) оставлены только как честная пометка «в разработке»
на /integrations и главной.

- /integrations, /import, главная, about, features, pricing, blog, kb/faq:
  «перенос из МойСклад/1С» → «импорт каталога из файлов Excel/CSV»; импорт из
  других систем учёта — «в разработке, в личном кабинете магазина».
- kb/pos-setup: касса для Windows и Linux, вход по адресу сервера + логин + PIN,
  установка «скоро»; чековые принтеры 58/80 мм (ESC/POS).
- kb/billing: переписан под реальность — биллинг-UI/подписки в продукте нет
  (заглушка до Phase 4); оплата вручную через поддержку, онлайн-оплата «в
  разработке»; убраны несуществующие «Настройки→Подписка→История», e-mail-
  напоминания, баннер, формула кредита, SLA. Цены «тг» → «₸».
- kb/faq: бэкапы «каждые 24 ч» → «регулярно»; «TLS 1.3» → «TLS»; формулировка
  про ЗРК смягчена; «триал» → «бесплатный период».
- /status: убраны фиктивные зелёные индикаторы (мониторинга нет) — честная
  пометка «в разработке» + контакты для инцидентов.
- /changelog: убран внутренний жаргон (Phase N, SuperAdmin, retention, tenant,
  inline) — человеческие формулировки.
- og.mjs: сабтайтлы без чужих брендов; касса Windows и Linux; «триал»→«бесплатно».
- sitemap.xml: канонические URL со слэшем + статьи KB и блога.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
nns 2026-10-11 01:21:47 +05:00
parent 304b72dc04
commit 330032b13a
17 changed files with 117 additions and 140 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 85 KiB

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 KiB

After

Width:  |  Height:  |  Size: 76 KiB

View file

@ -17,9 +17,9 @@ const logoUri = `data:image/png;base64,${logoPng.toString('base64')}`
const pages = [ const pages = [
{ file: 'home.png', title: 'Программа учёта и касса для розничных магазинов в Казахстане', sub: 'Касса с торговыми весами и импортом каталога. Бесплатно 90 дней.' }, { file: 'home.png', title: 'Программа учёта и касса для розничных магазинов в Казахстане', sub: 'Касса с торговыми весами и импортом каталога. Бесплатно 90 дней.' },
{ file: 'pos.png', title: 'Касса для Windows с поддержкой торговых весов', sub: 'Установка за 5 минут. Офлайн-режим. Стандартное оборудование.' }, { file: 'pos.png', title: 'Касса для Windows и Linux с поддержкой торговых весов', sub: 'Офлайн-режим. Торговые весы и стандартное оборудование.' },
{ file: 'pricing.png', title: 'Прозрачные тарифы ALL MARKET', sub: 'От 5 000 ₸/мес. Все возможности на любом тарифе. 90 дней триал.' }, { file: 'pricing.png', title: 'Прозрачные тарифы ALL MARKET', sub: 'От 5 000 ₸/мес. Все возможности на любом тарифе. 90 дней бесплатно.' },
{ file: 'import.png', title: 'Перенесите каталог за один клик', sub: 'Excel, CSV, 1С, МойСклад. До 100 000 товаров. Бесплатно.' }, { file: 'import.png', title: 'Перенесите каталог за один клик', sub: 'Импорт каталога из файлов Excel и CSV. До 100 000 товаров. Бесплатно.' },
{ file: 'about.png', title: 'О ALL MARKET', sub: 'Программа учёта розничной торговли, созданная в Казахстане.' }, { file: 'about.png', title: 'О ALL MARKET', sub: 'Программа учёта розничной торговли, созданная в Казахстане.' },
{ file: 'for-grocery.png', title: 'ALL MARKET для продуктового магазина', sub: 'Весовой товар, скоропорт, штрихкоды, учёт остатков.' }, { file: 'for-grocery.png', title: 'ALL MARKET для продуктового магазина', sub: 'Весовой товар, скоропорт, штрихкоды, учёт остатков.' },
{ file: 'for-pharmacy.png', title: 'ALL MARKET для аптеки', sub: 'Серии, сроки годности, рецептурный отпуск, контроль ЛП.' }, { file: 'for-pharmacy.png', title: 'ALL MARKET для аптеки', sub: 'Серии, сроки годности, рецептурный отпуск, контроль ЛП.' },

View file

@ -7,8 +7,6 @@ description: "Сегодня мы запускаем ALL MARKET — програ
cover_image: /photos/blog-launch.jpg cover_image: /photos/blog-launch.jpg
--- ---
# ALL MARKET запустился
Сегодня мы открываем публичный доступ к ALL MARKET — программе учёта розничной торговли, созданной командой казахстанских разработчиков и практиков ритейла. Сегодня мы открываем публичный доступ к ALL MARKET — программе учёта розничной торговли, созданной командой казахстанских разработчиков и практиков ритейла.
## Что мы сделали ## Что мы сделали
@ -18,25 +16,25 @@ cover_image: /photos/blog-launch.jpg
- **работать с первого клика** — без долгой настройки и платных консультаций - **работать с первого клика** — без долгой настройки и платных консультаций
- **стоить честно** — без скрытых доплат за модули, которые должны быть в базе - **стоить честно** — без скрытых доплат за модули, которые должны быть в базе
- **поддерживать локальное железо** — торговые весы нативно, без переходников и сторонних драйверов - **поддерживать локальное железо** — торговые весы нативно, без переходников и сторонних драйверов
- **позволять попробовать без риска** — настоящий триал, а не «14 дней с привязкой карты» - **позволять попробовать без риска** — честный бесплатный период, а не «14 дней с привязкой карты»
Мы воплотили эти принципы в ALL MARKET. Мы воплотили эти принципы в ALL MARKET.
## Что вы получаете ## Что вы получаете
- **5 000 тг/мес** за тариф «Старт» — 1 магазин, 1 касса, 1 склад, без лимита товаров - **5 000 ₸/мес** за тариф «Старт» — 1 магазин, 1 касса, 1 склад, без лимита товаров
- **90 дней триала** без карты, без обязательств, со всеми возможностями - **90 дней бесплатно** — без карты и без обязательств
- **Касса для Windows** с нативной поддержкой торговых весов - **Касса для Windows и Linux** с нативной поддержкой торговых весов (приложение для скачивания — скоро)
- **Импорт каталога** из Excel, CSV или API за один клик - **Импорт каталога** из файлов Excel/CSV за один клик
- **Все возможности на любом тарифе** — никаких доплат за CRM, лояльность, финансы или сценарии - **Без доплат за модули** — учёт денег, отчёты и работа с клиентами входят в тариф
## Что дальше ## Что дальше
Сейчас мы открываем регистрацию и принимаем первых клиентов. Будем активно собирать обратную связь и улучшать продукт каждую неделю. Сейчас мы открываем регистрацию и принимаем первых клиентов. Будем активно собирать обратную связь и улучшать продукт каждую неделю.
В ближайших планах: В ближайших планах:
- Интеграция с Kaspi Magazin - Приём оплат картой и онлайн-касса (ОФД) — в разработке
- Marketplace интеграции (Wildberries, Ozon — Q4 2026) - Маркетплейсы — в разработке
- Мобильное приложение для руководителя - Мобильное приложение для руководителя
[Зарегистрироваться →](/signup) [Зарегистрироваться →](/signup)

View file

@ -4,11 +4,9 @@ date: 2026-04-30
author: Команда ALL MARKET author: Команда ALL MARKET
category: guide category: guide
description: "Пошаговая инструкция первого запуска: от регистрации до первой продажи." description: "Пошаговая инструкция первого запуска: от регистрации до первой продажи."
cover_image: /photos/blog-quickstart.jpg cover_image: /screenshots/catalog.webp
--- ---
# Запустите магазин в ALL MARKET за 15 минут
Часто новые SaaS-сервисы требуют дней на настройку и обучение. Мы спроектировали ALL MARKET так, чтобы вы могли начать продавать в день регистрации. Часто новые SaaS-сервисы требуют дней на настройку и обучение. Мы спроектировали ALL MARKET так, чтобы вы могли начать продавать в день регистрации.
Реальное время от пустого экрана до первого пробитого чека — **15 минут**. Реальное время от пустого экрана до первого пробитого чека — **15 минут**.
@ -32,9 +30,7 @@ cover_image: /photos/blog-quickstart.jpg
- Сопоставьте колонки (название, штрихкод, цена) — ALL MARKET подскажет правильное соответствие - Сопоставьте колонки (название, штрихкод, цена) — ALL MARKET подскажет правильное соответствие
- Запустите импорт — 5 000 SKU перенесутся за минуту - Запустите импорт — 5 000 SKU перенесутся за минуту
**Б. Импорт через API** — если работаете в системе с открытым API: **Б. Импорт из других систем учёта** — в разработке: появится в личном кабинете магазина. Пока используйте импорт из файла Excel/CSV.
- «Импорт» → выберите систему → введите API-токен
- Запустите автоматическую синхронизацию
**В. Вручную** — если у вас 10-50 товаров: **В. Вручную** — если у вас 10-50 товаров:
- «Товары» → «Добавить» - «Товары» → «Добавить»
@ -42,10 +38,10 @@ cover_image: /photos/blog-quickstart.jpg
## Шаг 3. Установите кассу (5 минут) ## Шаг 3. Установите кассу (5 минут)
Приложение кассы для Windows — скоро (появится в разделе «Касса»). Приложение кассы для Windows и Linux — скоро (появится в разделе «Касса»).
1. Запустите .msi файл — нажмите «Далее» три раза 1. Когда касса будет доступна: укажите адрес сервера и войдите логином
2. Введите ключ организации (показан в админке) 2. Задайте PIN кассира — касса привяжется к точке продаж
3. Подключите торговые весы через USB-COM 3. Подключите торговые весы через USB-COM
4. Подключите сканер штрихкодов через USB 4. Подключите сканер штрихкодов через USB
5. Подключите чековый принтер 5. Подключите чековый принтер
@ -67,8 +63,8 @@ cover_image: /photos/blog-quickstart.jpg
После первой продажи: После первой продажи:
- Добавьте остальных кассиров — «Сотрудники» → «Добавить» - Добавьте остальных кассиров — «Сотрудники» → «Добавить»
- Настройте программу лояльности — «Лояльность» → «Создать программу» - Запустите акции и скидки — раздел «Акции и скидки»
- Запустите акции и скидки — «Маркетинг» → «Акции» - Программа лояльности — в расширенном режиме (раздел «Лояльность»)
Полная документация в нашей [Базе знаний](/kb). Полная документация в нашей [Базе знаний](/kb).

View file

@ -4,60 +4,41 @@ category: Биллинг
order: 4 order: 4
--- ---
Полная информация о подписках ALL MARKET и порядке оплаты. Информация о тарифах ALL MARKET и порядке оплаты.
## Тарифы ## Тарифы
См. полную таблицу на [странице тарифов](/pricing). См. полную таблицу на [странице тарифов](/pricing).
Кратко: Кратко — первые 90 дней бесплатно, без банковской карты:
Все тарифы — первые 90 дней бесплатно, без банковской карты.
- **Старт** — 5 000 тг/мес, 1 магазин, 1 касса, 1 склад, до 2 сотрудников - **Старт** — 5 000 ₸/мес, 1 магазин, 1 касса, 1 склад, до 2 сотрудников
- **Бизнес** — от 10 000 тг/мес, конструктор (до 3 магазинов / 5 касс / 5 складов) - **Бизнес** — от 10 000 ₸/мес, конструктор (до 3 магазинов / 5 касс / 5 складов)
- **Сеть** — по запросу, без ограничений - **Сеть** — по запросу, без ограничений
## Способы оплаты ## Способы оплаты
### Для физических лиц и ИП На время раннего доступа оплату оформляем вручную — напишите на billing@food-market.kz, подскажем удобный способ. Самостоятельная оплата в личном кабинете и приём оплат картой онлайн — в разработке.
Способ оплаты подписки уточняется — свяжитесь с нами: support@food-market.kz. Приём оплат картой онлайн — в разработке.
### Для юридических лиц ### Для юридических лиц
- Безналичный расчёт по счёту-фактуре - Безналичный расчёт по счёту
- Email счёта-фактуры — billing@food-market.kz с реквизитами вашего ТОО - Чтобы выставить счёт, напишите на billing@food-market.kz с реквизитами вашего ТОО
- Срок оплаты — 5 рабочих дней с даты выставления счёта
- Доступ продлевается после поступления средств на расчётный счёт - Доступ продлевается после поступления средств на расчётный счёт
## Изменение тарифа ## Изменение тарифа
В любой момент через «Настройки» → «Подписка». Тариф можно сменить в любой момент — напишите в поддержку (support@food-market.kz), и мы пересчитаем стоимость за оставшийся оплаченный период. Порядок перерасчёта при повышении и понижении тарифа уточняйте в поддержке.
**Повышение тарифа** (например Старт → Бизнес):
- Доплата за оставшийся период текущего тарифа
- Расчёт: (новая цена − старая цена) × оставшиеся дни / 30
- Доступ к новым возможностям — сразу после оплаты
**Понижение тарифа** (Бизнес → Старт):
- Кредит на следующий месяц
- Расчёт: (старая цена − новая цена) × оставшиеся дни / 30
- Кредит сгорает через 6 месяцев если не использован
## Истечение оплаченного периода ## Истечение оплаченного периода
За 7 дней до окончания: Мы заранее напомним об окончании оплаченного периода. Если оплата не поступит:
- Email-напоминание о необходимости продления
- Баннер в админке
В день окончания (если не оплачено): - Доступ к админке сохраняется в режиме просмотра
- Доступ к админке сохраняется (только просмотр)
- Касса блокируется (нельзя открыть смену) - Касса блокируется (нельзя открыть смену)
- Импорт и экспорт работают - Экспорт данных продолжает работать
Через 30 дней без оплаты: Контент сохраняется 30 календарных дней (см. оферту, п. 5.3/11.3), после чего может быть удалён.
- Email с финальным предупреждением
- Контент сохраняется 30 календарных дней (см. оферту, п. 5.3/11.3), после чего может быть удалён
## Возврат средств ## Возврат средств
@ -65,19 +46,17 @@ order: 4
Заявка: support@food-market.kz с указанием причины и реквизитов для возврата. Заявка: support@food-market.kz с указанием причины и реквизитов для возврата.
## История платежей и счёта ## История платежей и документы
«Настройки» → «Подписка» → «История»: Историю платежей и копии счетов можно запросить в поддержке — billing@food-market.kz. Личный кабинет с историей платежей и скачиванием документов — в разработке.
- Список всех платежей за период
- Скачивание счетов-фактур (для юрлиц)
- Скачивание чеков об оплате (для физлиц)
## Корпоративные клиенты ## Корпоративные клиенты
Для тарифа «Сеть» и сетей с >3 магазинами: Для тарифа «Сеть» и сетей с несколькими магазинами:
- Индивидуальный договор - Индивидуальный договор
- Безналичный расчёт с НДС - Безналичный расчёт
- SLA по доступности и скорости поддержки - Персональный менеджер
- Выделенный менеджер - Индивидуальные условия поддержки
Заявка: sales@food-market.kz Заявка: sales@food-market.kz

View file

@ -4,16 +4,16 @@ category: Общее
order: 5 order: 5
--- ---
## Регистрация и триал ## Регистрация и бесплатный период
### Сколько длится триал? ### Сколько длится бесплатный период?
90 дней с момента регистрации. Без необходимости вводить карту. 90 дней с момента регистрации. Без необходимости вводить карту.
### Что произойдёт после 90 дней? ### Что произойдёт после 90 дней?
Доступ к админке сохранится в режиме просмотра. Касса заблокируется. Если в течение 30 дней не оплатите — данные удаляются. Доступ к админке сохранится в режиме просмотра. Касса заблокируется. Если в течение 30 дней не оплатите — данные удаляются.
### Можно ли активировать триал повторно? ### Можно ли активировать бесплатный период повторно?
Нет, триал предоставляется один раз на email. После окончания — нужно выбрать платный тариф. Нет, бесплатный период предоставляется один раз на email. После окончания — нужно выбрать платный тариф.
### Можно ли пользоваться без email? ### Можно ли пользоваться без email?
Нет, email обязателен — это ваш логин и канал уведомлений. Нет, email обязателен — это ваш логин и канал уведомлений.
@ -21,7 +21,7 @@ order: 5
## Тарифы и оплата ## Тарифы и оплата
### Сколько стоит самый дешёвый тариф? ### Сколько стоит самый дешёвый тариф?
Старт — 5 000 тг/мес. Включает 1 магазин, 1 кассу, 1 склад, до 2 сотрудников, без лимита товаров. Старт — 5 000 ₸/мес. Включает 1 магазин, 1 кассу, 1 склад, до 2 сотрудников, без лимита товаров.
### Что входит в тариф Бизнес? ### Что входит в тариф Бизнес?
Конструктор: до 3 магазинов, до 5 касс, до 5 складов. Цена считается по формуле base 10 000 + 2 000 за магазин + 500 за кассу + 500 за склад. Конструктор: до 3 магазинов, до 5 касс, до 5 складов. Цена считается по формуле base 10 000 + 2 000 за магазин + 500 за кассу + 500 за склад.
@ -52,13 +52,13 @@ order: 5
## Данные и безопасность ## Данные и безопасность
### Где хранятся мои данные? ### Где хранятся мои данные?
На серверах в Казахстане. Резервные копии каждые 24 часа. На серверах в Казахстане. Делаем регулярные резервные копии.
### Можно ли экспортировать данные? ### Можно ли экспортировать данные?
Да, в любой момент. Экспорт каталога, контрагентов, операций в Excel/CSV. Да, в любой момент. Экспорт каталога, контрагентов, операций в Excel/CSV.
### Безопасно ли вводить данные клиентов? ### Безопасно ли вводить данные клиентов?
Да. Данные шифруются при передаче (TLS 1.3) и при хранении. Соответствие ЗРК «О персональных данных». Да. Данные шифруются при передаче (TLS) и при хранении. Персональные данные обрабатываем в соответствии с законодательством РК.
### Что будет с моими данными если я закрою аккаунт? ### Что будет с моими данными если я закрою аккаунт?
30 дней хранятся на случай восстановления, потом удаляются безвозвратно. 30 дней хранятся на случай восстановления, потом удаляются безвозвратно.
@ -66,7 +66,7 @@ order: 5
## Импорт и миграция ## Импорт и миграция
### Можно перенести данные из другой системы учёта? ### Можно перенести данные из другой системы учёта?
Да. Поддерживаем импорт из файла Excel/CSV, выгрузку 1С (сохранённую в CSV) и перенос из МойСклад по токену. Подробнее — на странице [/import](/import). Да. Поддерживаем импорт каталога из файла Excel/CSV (название, штрихкод, цена, остаток, группа). Импорт из других систем учёта — в разработке (появится в личном кабинете). Подробнее — на странице [/import](/import).
### Какой объём каталога переносится? ### Какой объём каталога переносится?
До 100 000 товаров за один импорт. Каталог 10 000 позиций обычно переносится за 5–10 минут. До 100 000 товаров за один импорт. Каталог 10 000 позиций обычно переносится за 5–10 минут.
@ -85,7 +85,7 @@ order: 5
Ежедневно с 09:00 до 18:00 по Астане. В выходные — задержка ответа до 24 часов. Ежедневно с 09:00 до 18:00 по Астане. В выходные — задержка ответа до 24 часов.
### Платная ли поддержка? ### Платная ли поддержка?
Базовая поддержка бесплатна для всех тарифов. Приоритетная поддержка с SLA — в тарифах Бизнес и Сеть. Базовая поддержка бесплатна для всех тарифов. Приоритетная поддержка — в тарифах Бизнес и Сеть.
### Есть ли обучение и внедрение? ### Есть ли обучение и внедрение?
Большинство клиентов справляются самостоятельно с помощью базы знаний. Если нужна помощь с настройкой или импортом — напишите в поддержку, поможем. Большинство клиентов справляются самостоятельно с помощью базы знаний. Если нужна помощь с настройкой или импортом — напишите в поддержку, поможем.

View file

@ -4,38 +4,29 @@ category: Касса
order: 3 order: 3
--- ---
Полная инструкция установки и настройки кассы ALL MARKET для Windows. Время — 15-20 минут. Касса ALL MARKET — приложение для Windows и Linux. Работает и офлайн.
## Системные требования ## Системные требования
- **ОС:** Windows 10 (64-bit) или Windows 11 - **ОС:** Windows 10/11 (64-bit) или Linux x64
- **CPU:** любой Intel/AMD от 2015 года - **CPU:** любой Intel/AMD от 2015 года
- **RAM:** 4 GB минимум, 8 GB рекомендуется - **RAM:** 4 GB минимум, 8 GB рекомендуется
- **Диск:** 5 GB свободного места - **Диск:** 5 GB свободного места
- **Интернет:** опционально (касса работает офлайн) - **Интернет:** опционально (касса работает офлайн)
## Скачивание установщика
1. Войдите в админку ALL MARKET
2. Откройте раздел «Касса» в боковом меню
3. Приложение кассы для Windows — скоро (кнопка появится в разделе «Касса»)
4. Сохраните файл `food-market-pos-setup.msi` (~80 МБ)
## Установка ## Установка
1. Запустите скачанный `.msi` файл Приложение кассы для скачивания — **скоро**: кнопка появится в админке в разделе «Касса».
2. Если Windows покажет предупреждение — нажмите «Подробнее» → «Выполнить в любом случае» (мы скоро подпишем сертификатом) Здесь опишем шаги по мере готовности. Если нужна касса уже сейчас — напишите в поддержку.
3. В мастере установки нажмите «Далее» три раза, затем «Установить»
4. Подождите 1-2 минуты пока завершится установка
5. По завершении — запустите кассу с рабочего стола
## Активация ## Вход и привязка к точке
При первом запуске касса попросит ввести **ключ организации**. При первом запуске касса спросит адрес сервера и логин:
1. В админке ALL MARKET: «Касса» → «Ключ организации» — скопируйте 32-символьный код 1. Укажите адрес сервера (например, `https://admin.food-market.kz`)
2. В кассе — вставьте ключ, нажмите «Активировать» 2. Войдите логином сотрудника — касса привяжется к точке продаж
3. Касса синхронизирует каталог товаров с облаком (~30 секунд для 5000 SKU) 3. Дальше — быстрый вход по **PIN** кассира на этом устройстве
4. Касса загрузит каталог товаров для работы офлайн
## Подключение оборудования ## Подключение оборудования
@ -65,7 +56,7 @@ order: 3
4. Выберите принтер из выпадающего списка 4. Выберите принтер из выпадающего списка
5. Нажмите «Тестовая печать» — должен распечататься тестовый чек 5. Нажмите «Тестовая печать» — должен распечататься тестовый чек
Поддерживаемые принтеры: любые ОКП РК-совместимые модели. Поддерживаются чековые принтеры 58/80 мм (ESC/POS).
## Открытие смены и первая продажа ## Открытие смены и первая продажа

View file

@ -20,7 +20,7 @@ import BaseLayout from '@/layouts/BaseLayout.astro'
<li>Касса с торговыми весами — для Windows и Linux, работает без интернета.</li> <li>Касса с торговыми весами — для Windows и Linux, работает без интернета.</li>
<li>Склад: приёмки, инвентаризация, списание, оприходование, перемещение.</li> <li>Склад: приёмки, инвентаризация, списание, оприходование, перемещение.</li>
<li>Отчёты по продажам, остаткам и прибыли.</li> <li>Отчёты по продажам, остаткам и прибыли.</li>
<li>Перенос каталога из МойСклад и из файла CSV (в том числе выгрузки 1С).</li> <li>Перенос каталога из файлов Excel/CSV.</li>
</ul> </ul>
<h2>Что в разработке</h2> <h2>Что в разработке</h2>

View file

@ -1,17 +1,17 @@
--- ---
import BaseLayout from '@/layouts/BaseLayout.astro' import BaseLayout from '@/layouts/BaseLayout.astro'
const releases = [ const releases = [
{ date: '2026-04', title: 'Phase 6 — Публичный сайт', items: ['Маркетинговый сайт food-market.kz','Регистрация без админа платформы','Тарифы Старт / Бизнес-конструктор / Сеть'] }, { date: '2026-04', title: 'Публичный сайт и регистрация', items: ['Сайт ALL MARKET','Самостоятельная регистрация магазина','Тарифы: Старт, конструктор «Бизнес», Сеть'] },
{ date: '2026-04', title: 'Phase 4 — SuperAdmin консоль', items: ['Управление организациями','Журнал действий','Read-only «открыть как…»','Edit-mode с reason + audit-trail','Настраиваемый retention period'] }, { date: '2026-04', title: 'Управление и безопасность', items: ['Управление организациями','Журнал действий','Режим просмотра «открыть как…»','Правки с указанием причины и историей изменений','Настраиваемый срок хранения данных'] },
{ date: '2026-04', title: 'Phase 3 — Цены и роли', items: ['Расширенная модель цен','Сотрудники и роли','Системные роли (Администратор, Кассир)'] }, { date: '2026-04', title: 'Цены, сотрудники и роли', items: ['Гибкие типы цен (розница, опт)','Сотрудники и права доступа','Готовые роли: администратор и кассир'] },
{ date: '2026-04', title: 'Phase 2 — Закупки и приёмки', items: ['Документ приёмки со сканером','Скользящее среднее себестоимости','Inline quick-add позиций'] }, { date: '2026-04', title: 'Закупки и приёмки', items: ['Приёмка товара со сканером','Автоматический расчёт себестоимости','Быстрое добавление позиций'] },
{ date: '2026-03', title: 'Phase 1 — Каталог и tenant-изоляция', items: ['Multi-tenant архитектура','Товары, группы, штрихкоды, остатки','Импорт из других систем'] }, { date: '2026-03', title: 'Каталог и учёт по магазинам', items: ['Данные каждого магазина изолированы друг от друга','Товары, группы, штрихкоды, остатки','Импорт каталога из файлов Excel/CSV'] },
] ]
--- ---
<BaseLayout title="Changelog" description="История релизов ALL MARKET: что нового в продукте."> <BaseLayout title="Что нового" description="История обновлений ALL MARKET: что нового в продукте.">
<section class="max-w-3xl mx-auto px-4 sm:px-6 py-14"> <section class="max-w-3xl mx-auto px-4 sm:px-6 py-14">
<h1 class="text-4xl font-extrabold">Changelog</h1> <h1 class="text-4xl font-extrabold">Что нового</h1>
<p class="text-slate-500 mt-2">История релизов ALL MARKET.</p> <p class="text-slate-500 mt-2">История обновлений ALL MARKET.</p>
<div class="mt-10 space-y-8"> <div class="mt-10 space-y-8">
{releases.map((r) => ( {releases.map((r) => (
<article class="rounded-xl border border-slate-200 bg-white p-5"> <article class="rounded-xl border border-slate-200 bg-white p-5">

View file

@ -1,7 +1,7 @@
--- ---
import BaseLayout from '@/layouts/BaseLayout.astro' import BaseLayout from '@/layouts/BaseLayout.astro'
const sections = [ const sections = [
{ id: 'catalog', icon: '📦', title: 'Товары и каталог', items: ['Группы и подгруппы','Штрихкоды EAN-13, EAN-8, Code 128','Цены: розничная и оптовая','Автогенерация штрихкода для весовых товаров','Импорт из CSV, 1С и МойСклад','Фото товаров'] }, { id: 'catalog', icon: '📦', title: 'Товары и каталог', items: ['Группы и подгруппы','Штрихкоды EAN-13, EAN-8, Code 128','Цены: розничная и оптовая','Автогенерация штрихкода для весовых товаров','Импорт каталога из файлов Excel/CSV','Фото товаров'] },
{ id: 'sales', icon: '💳', title: 'Продажи и касса', items: ['Касса для Windows и Linux','Работа без интернета','Поддержка торговых весов','USB-сканер штрихкодов','Печать чека (58/80 мм)','Скидки и акции','Возвраты на кассе'] }, { id: 'sales', icon: '💳', title: 'Продажи и касса', items: ['Касса для Windows и Linux','Работа без интернета','Поддержка торговых весов','USB-сканер штрихкодов','Печать чека (58/80 мм)','Скидки и акции','Возвраты на кассе'] },
{ id: 'stock', icon: '🏬', title: 'Склад и остатки', items: ['Несколько складов','Приёмка со сканером','Себестоимость считается автоматически','Инвентаризация','Списание (брак/просрочка)','Оприходование','Перемещения между складами','История движений'] }, { id: 'stock', icon: '🏬', title: 'Склад и остатки', items: ['Несколько складов','Приёмка со сканером','Себестоимость считается автоматически','Инвентаризация','Списание (брак/просрочка)','Оприходование','Перемещения между складами','История движений'] },
{ id: 'purchase', icon: '🚚', title: 'Закупки и поставщики', items: ['База поставщиков','Документы приёмки','Себестоимость по приёмкам','Возвраты поставщику'] }, { id: 'purchase', icon: '🚚', title: 'Закупки и поставщики', items: ['База поставщиков','Документы приёмки','Себестоимость по приёмкам','Возвраты поставщику'] },

View file

@ -2,38 +2,38 @@
import BaseLayout from '@/layouts/BaseLayout.astro' import BaseLayout from '@/layouts/BaseLayout.astro'
const formats = [ const formats = [
{ icon: '📊', title: 'Файл CSV', text: 'Выгрузите каталог из старой системы в CSV (Excel умеет «Сохранить как CSV»). ALL MARKET разложит данные по колонкам. Нужны колонки: название, штрихкод, цена — остальное по желанию.' }, { icon: '📊', title: 'Файл Excel/CSV', text: 'Выгрузите каталог из старой системы в CSV (Excel умеет «Сохранить как CSV»). ALL MARKET разложит данные по колонкам. Нужны колонки: название, штрихкод, цена — остальное по желанию.' },
{ icon: '🔌', title: 'Из МойСклад', text: 'Введите токен МойСклад — ALL MARKET подтянет товары, контрагентов, остатки и цены.' }, { icon: '✍️', title: 'Вручную', text: 'Если товаров немного — заводите карточки прямо в админке: «Товары» → «Добавить». Удобно для 10–50 позиций.' },
{ icon: '📦', title: 'Из 1С', text: 'Сохраните типовую выгрузку 1С (Бухгалтерия, УТ, Розница) в CSV и загрузите файлом. Каталог, цены, штрихкоды, группы.' }, { icon: '🧩', title: 'Из других систем учёта', text: 'Импорт напрямую из других систем учёта — в разработке. Появится в личном кабинете магазина.' },
] ]
const matrix: [string, string, string][] = [ const matrix: [string, string][] = [
['Товары (название, штрихкоды, цены)', '✅', '✅'], ['Товары (название, штрихкоды, цены)', '✅'],
['Группы товаров', '✅', '✅'], ['Группы товаров', '✅'],
['Единицы измерения', '✅', '✅'], ['Единицы измерения', '✅'],
['Контрагенты (поставщики, клиенты)', '⚠️ Отдельным файлом', '✅'], ['Контрагенты (поставщики, клиенты)', '⚠️ Отдельным файлом'],
['Текущие остатки по складам', '⚠️ Отдельным файлом', '✅'], ['Текущие остатки по складам', '⚠️ Отдельным файлом'],
['Цены по типам (розница, опт)', '⚠️ Отдельным файлом', '✅'], ['Цены по типам (розница, опт)', '⚠️ Отдельным файлом'],
] ]
const steps = [ const steps = [
{ title: 'Зарегистрируйтесь в ALL MARKET', text: 'Заполните короткую форму: email, название магазина, пароль. 90 дней бесплатно, без карты.' }, { title: 'Зарегистрируйтесь в ALL MARKET', text: 'Заполните короткую форму: email, название магазина, пароль. 90 дней бесплатно, без карты.' },
{ title: 'Подготовьте данные', text: 'CSV: выгрузите каталог из старой системы в CSV. Из МойСклад: получите токен в настройках МойСклад.' }, { title: 'Подготовьте файл', text: 'Выгрузите каталог из старой системы в CSV (или Excel «Сохранить как CSV»). Нужны колонки: название, штрихкод, цена.' },
{ title: 'Запустите импорт', text: 'В админке: «Импорт» → выберите формат → загрузите файл или введите токен → нажмите «Запустить».' }, { title: 'Запустите импорт', text: 'В админке: «Импорт» → «Из файла» → загрузите файл → сопоставьте колонки → нажмите «Запустить».' },
{ title: 'Проверьте результат', text: 'Откройте «Товары» — каталог должен быть полным. Проверьте 5–10 случайных товаров: цены, штрихкоды, остатки.' }, { title: 'Проверьте результат', text: 'Откройте «Товары» — каталог должен быть полным. Проверьте 5–10 случайных товаров: цены, штрихкоды, остатки.' },
{ title: 'Начните вести учёт', text: 'Каталог, остатки и отчёты — сразу в браузере. Касса для Windows и Linux появится для скачивания скоро.' }, { title: 'Начните вести учёт', text: 'Каталог, остатки и отчёты — сразу в браузере. Касса для Windows и Linux появится для скачивания скоро.' },
] ]
const faq = [ const faq = [
{ q: 'Сохранятся ли данные в исходной системе?', a: 'Да. Импорт из МойСклад только читает данные — ничего не удаляет и не меняет. Импорт из файла работает с копией. Ваш текущий учёт остаётся нетронутым.' }, { q: 'Сохранятся ли данные в исходной системе?', a: 'Да. Импорт работает с копией вашего файла — он ничего не меняет в исходной системе. Ваш текущий учёт остаётся нетронутым.' },
{ q: 'Можно ли работать в обеих системах параллельно?', a: 'Технически — да, в бесплатный период. Но синхронизации в реальном времени нет — это создаст путаницу с остатками. Лучше выбрать одну систему как основную.' }, { q: 'Можно ли работать в двух системах параллельно?', a: 'Технически — да, в бесплатный период. Но синхронизации в реальном времени нет — это создаст путаницу с остатками. Лучше выбрать одну систему как основную.' },
{ q: 'Что если у меня кастомные поля или специфичные настройки?', a: 'Напишите нам перед импортом — посмотрим. В большинстве случаев всё переносится. Если что-то нестандартное — настроим вручную.' }, { q: 'Что если у меня кастомные поля или специфичные настройки?', a: 'Напишите нам перед импортом — посмотрим. В большинстве случаев всё переносится. Если что-то нестандартное — настроим вручную.' },
{ q: 'Сколько времени занимает импорт?', a: 'Каталог 1 000 товаров — около 1 минуты. 10 000 товаров — 5–10 минут. 50 000+ — до часа. Прогресс отображается в реальном времени.' }, { q: 'Сколько времени занимает импорт?', a: 'Каталог 1 000 товаров — около 1 минуты. 10 000 товаров — 5–10 минут. 50 000+ — до часа. Прогресс отображается в реальном времени.' },
{ q: 'Сколько стоит импорт?', a: 'Бесплатно. Никаких сборов за импорт, настройку или консультацию.' }, { q: 'Сколько стоит импорт?', a: 'Бесплатно. Никаких сборов за импорт, настройку или консультацию.' },
{ q: 'Что если возникли проблемы?', a: 'Напишите на support@food-market.kz — поможем разобраться и при необходимости настроим импорт вручную.' }, { q: 'Что если возникли проблемы?', a: 'Напишите на support@food-market.kz — поможем разобраться и при необходимости настроим импорт вручную.' },
] ]
--- ---
<BaseLayout title="Импорт каталога" description="Перенесите товары, контрагентов, остатки и штрихкоды из вашей системы за минуты. CSV, 1С, МойСклад." ogImage="/og/import.png"> <BaseLayout title="Импорт каталога" description="Перенесите товары, остатки и штрихкоды из файла Excel/CSV за минуты — без ручного ввода." ogImage="/og/import.png">
<section class="relative overflow-hidden"> <section class="relative overflow-hidden">
<img src="/screenshots/catalog.webp" srcset="/screenshots/catalog.webp 1440w, /screenshots/catalog@2x.webp 2880w" sizes="100vw" width="1440" height="900" alt="Каталог товаров в ALL MARKET" class="absolute inset-0 w-full h-full object-cover" /> <img src="/screenshots/catalog.webp" srcset="/screenshots/catalog.webp 1440w, /screenshots/catalog@2x.webp 2880w" sizes="100vw" width="1440" height="900" alt="Каталог товаров в ALL MARKET" class="absolute inset-0 w-full h-full object-cover" />
<div class="absolute inset-0 bg-gradient-to-r from-slate-900/85 via-slate-900/60 to-slate-900/30"></div> <div class="absolute inset-0 bg-gradient-to-r from-slate-900/85 via-slate-900/60 to-slate-900/30"></div>
@ -73,16 +73,14 @@ const faq = [
<thead class="bg-slate-50 border-b border-slate-200"> <thead class="bg-slate-50 border-b border-slate-200">
<tr> <tr>
<th class="px-5 py-3 text-left font-semibold">Сущность</th> <th class="px-5 py-3 text-left font-semibold">Сущность</th>
<th class="px-5 py-3 text-center font-semibold">CSV (файл)</th> <th class="px-5 py-3 text-center font-semibold">Импорт из файла Excel/CSV</th>
<th class="px-5 py-3 text-center font-semibold">МойСклад</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{matrix.map(([entity, csv, api]) => ( {matrix.map(([entity, csv]) => (
<tr class="border-b border-slate-100 last:border-b-0"> <tr class="border-b border-slate-100 last:border-b-0">
<td class="px-5 py-3.5">{entity}</td> <td class="px-5 py-3.5">{entity}</td>
<td class="px-5 py-3.5 text-center">{csv}</td> <td class="px-5 py-3.5 text-center">{csv}</td>
<td class="px-5 py-3.5 text-center">{api}</td>
</tr> </tr>
))} ))}
</tbody> </tbody>

View file

@ -3,7 +3,7 @@ import BaseLayout from '@/layouts/BaseLayout.astro'
import FAQ from '@/components/FAQ.tsx' import FAQ from '@/components/FAQ.tsx'
const modules = [ const modules = [
{ icon: '📦', title: 'Товары и каталог', text: 'Группы, штрихкоды, цены, остатки. Перенос каталога файлом или из МойСклад.' }, { icon: '📦', title: 'Товары и каталог', text: 'Группы, штрихкоды, цены, остатки. Перенос каталога из файла (Excel/CSV).' },
{ icon: '💳', title: 'Продажи и касса', text: 'Касса с весами, сканером и печатью чека. Работает на Windows и Linux, в том числе без интернета.' }, { icon: '💳', title: 'Продажи и касса', text: 'Касса с весами, сканером и печатью чека. Работает на Windows и Linux, в том числе без интернета.' },
{ icon: '🏬', title: 'Склад и приёмки', text: 'Несколько складов, приёмка со сканером, инвентаризация, списание, оприходование, перемещение.' }, { icon: '🏬', title: 'Склад и приёмки', text: 'Несколько складов, приёмка со сканером, инвентаризация, списание, оприходование, перемещение.' },
{ icon: '🚚', title: 'Закупки и себестоимость', text: 'Приёмки от поставщиков. Себестоимость считается автоматически по приёмкам.' }, { icon: '🚚', title: 'Закупки и себестоимость', text: 'Приёмки от поставщиков. Себестоимость считается автоматически по приёмкам.' },
@ -60,7 +60,7 @@ const modules = [
<div class="rounded-xl border border-slate-200 p-5"> <div class="rounded-xl border border-slate-200 p-5">
<div class="text-3xl">⬇️</div> <div class="text-3xl">⬇️</div>
<h3 class="font-semibold mt-2">Перенос каталога без ручного ввода</h3> <h3 class="font-semibold mt-2">Перенос каталога без ручного ввода</h3>
<p class="text-sm text-slate-600 mt-1">Загрузите товары, остатки и штрихкоды файлом CSV (в том числе выгрузкой из 1С) или подтяните из МойСклад. Не нужно заводить тысячи позиций руками.</p> <p class="text-sm text-slate-600 mt-1">Загрузите товары, остатки и штрихкоды файлом Excel/CSV. Не нужно заводить тысячи позиций руками.</p>
</div> </div>
<div class="rounded-xl border border-slate-200 p-5"> <div class="rounded-xl border border-slate-200 p-5">
<div class="text-3xl">🎁</div> <div class="text-3xl">🎁</div>
@ -178,7 +178,7 @@ const modules = [
<div class="max-w-3xl mx-auto px-4 sm:px-6 text-center"> <div class="max-w-3xl mx-auto px-4 sm:px-6 text-center">
<h2 class="text-3xl font-bold mb-3">Перенос и интеграции</h2> <h2 class="text-3xl font-bold mb-3">Перенос и интеграции</h2>
<p class="text-slate-600"> <p class="text-slate-600">
Переносим каталог из МойСклад и из CSV (в том числе выгрузки из 1С) — уже сейчас. Переносим каталог из файлов Excel/CSV — уже сейчас.
Онлайн-касса (ОФД), приём оплат картой и маркетплейсы — в разработке. Онлайн-касса (ОФД), приём оплат картой и маркетплейсы — в разработке.
</p> </p>
<a href="/import" class="mt-5 inline-block text-sm font-semibold text-brand hover:text-brand-hover">Как перенести каталог →</a> <a href="/import" class="mt-5 inline-block text-sm font-semibold text-brand hover:text-brand-hover">Как перенести каталог →</a>
@ -199,7 +199,7 @@ const modules = [
<li>2 сотрудника</li> <li>2 сотрудника</li>
<li>Без ограничения по числу товаров</li> <li>Без ограничения по числу товаров</li>
<li>Касса с весами</li> <li>Касса с весами</li>
<li>Перенос каталога из CSV и МойСклад</li> <li>Перенос каталога из файлов Excel/CSV</li>
</ul> </ul>
<a href="/signup?plan=start" class="block text-center mt-6 px-4 py-2.5 bg-brand text-white rounded-md font-semibold">Начать</a> <a href="/signup?plan=start" class="block text-center mt-6 px-4 py-2.5 bg-brand text-white rounded-md font-semibold">Начать</a>
</div> </div>
@ -214,7 +214,7 @@ const modules = [
<li>До 10 сотрудников</li> <li>До 10 сотрудников</li>
<li>Все отчёты по прибыли и остаткам</li> <li>Все отчёты по прибыли и остаткам</li>
</ul> </ul>
<a href="/pricing" class="block text-center mt-6 px-4 py-2.5 bg-brand text-white rounded-md font-semibold">Настроить тариф</a> <a href="/pricing#configurator" class="block text-center mt-6 px-4 py-2.5 bg-brand text-white rounded-md font-semibold">Настроить тариф</a>
</div> </div>
<div class="rounded-xl border border-slate-200 p-6 bg-white"> <div class="rounded-xl border border-slate-200 p-6 bg-white">
<h3 class="font-bold text-lg">Сеть</h3> <h3 class="font-bold text-lg">Сеть</h3>

View file

@ -1,15 +1,16 @@
--- ---
import BaseLayout from '@/layouts/BaseLayout.astro' import BaseLayout from '@/layouts/BaseLayout.astro'
const ready = [ const ready = [
{ title: 'Перенос каталога', items: ['Импорт из МойСклад по токену', 'Импорт из файла CSV', 'Выгрузка 1С (сохранённая в CSV)'] }, { title: 'Перенос каталога', items: ['Импорт каталога из файла Excel/CSV', 'Переносятся названия, штрихкоды, цены, остатки, группы'] },
{ title: 'Оборудование', items: ['Торговые весы CAS, Масса-К и совместимые (USB/COM)', 'USB-сканеры штрихкодов', 'Чековые принтеры 58/80 мм', 'Денежные ящики', 'Дисплей покупателя (по RS-232)'] }, { title: 'Оборудование', items: ['Торговые весы CAS, Масса-К и совместимые (USB/COM)', 'USB-сканеры штрихкодов', 'Чековые принтеры 58/80 мм (ESC/POS)', 'Денежные ящики', 'Дисплей покупателя (RS-232)'] },
] ]
const planned = [ const planned = [
{ title: 'Онлайн-касса и оплаты', items: ['Фискализация через ОФД РК', 'Приём оплат картой (Kaspi Pay и банки)'] }, { title: 'Онлайн-касса и оплаты', items: ['Фискализация через ОФД РК', 'Приём оплат картой (Kaspi Pay и банки)'] },
{ title: 'Маркетплейсы', items: ['Kaspi Magazin', 'Ozon', 'Wildberries'] }, { title: 'Маркетплейсы', items: ['Kaspi Magazin', 'Ozon', 'Wildberries'] },
{ title: 'Импорт из других систем учёта', items: ['Перенос из других систем учёта — появится в личном кабинете магазина'] },
] ]
--- ---
<BaseLayout title="Перенос и интеграции" description="Что уже подключается к ALL MARKET: МойСклад, CSV, 1С, торговое оборудование. Онлайн-касса (ОФД), оплаты картой и маркетплейсы — в разработке."> <BaseLayout title="Перенос и интеграции" description="Что уже работает: импорт каталога из файлов Excel/CSV и торговое оборудование. Онлайн-касса (ОФД), приём оплат картой и маркетплейсы — в разработке.">
<section class="max-w-5xl mx-auto px-4 sm:px-6 py-12"> <section class="max-w-5xl mx-auto px-4 sm:px-6 py-12">
<h1 class="text-4xl font-extrabold text-center">Перенос и интеграции</h1> <h1 class="text-4xl font-extrabold text-center">Перенос и интеграции</h1>
<p class="text-center text-slate-500 mt-3">Честно о том, что уже работает и что готовим.</p> <p class="text-center text-slate-500 mt-3">Честно о том, что уже работает и что готовим.</p>

View file

@ -1,4 +1,5 @@
import type { APIRoute } from 'astro' import type { APIRoute } from 'astro'
import { getCollection } from 'astro:content'
const PAGES = [ const PAGES = [
'', 'features', 'pricing', 'pos', 'import', 'integrations', '', 'features', 'pricing', 'pos', 'import', 'integrations',
@ -7,9 +8,19 @@ const PAGES = [
'legal/offer', 'legal/privacy', 'legal/consent', 'legal/requisites', 'legal/offer', 'legal/privacy', 'legal/consent', 'legal/requisites',
] ]
export const GET: APIRoute = ({ site }) => { export const GET: APIRoute = async ({ site }) => {
const base = (site?.toString() ?? 'https://test.food-market.kz').replace(/\/$/, '') const base = (site?.toString() ?? 'https://test.food-market.kz').replace(/\/$/, '')
const urls = PAGES.map((p) => `<url><loc>${base}/${p}</loc></url>`).join('\n ') // Канонические URL — со слэшем на конце (Astro отдаёт .../features/, а запрос
// без слэша 301-редиректится). Статьи KB и блога добавляем из коллекций.
const kb = await getCollection('kb')
const blog = await getCollection('blog')
const paths = [
...PAGES,
...kb.map((e) => `kb/${e.slug}`),
...blog.map((e) => `blog/${e.slug}`),
]
const loc = (p: string) => (p === '' ? `${base}/` : `${base}/${p}/`)
const urls = paths.map((p) => `<url><loc>${loc(p)}</loc></url>`).join('\n ')
const xml = `<?xml version="1.0" encoding="UTF-8"?> const xml = `<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
${urls} ${urls}

View file

@ -1,15 +1,18 @@
--- ---
import BaseLayout from '@/layouts/BaseLayout.astro' import BaseLayout from '@/layouts/BaseLayout.astro'
--- ---
<BaseLayout title="Status" description="Статус систем ALL MARKET: API, админка, касса."> <BaseLayout title="Статус" description="Страница статуса систем ALL MARKET.">
<section class="max-w-2xl mx-auto px-4 sm:px-6 py-14"> <section class="max-w-2xl mx-auto px-4 sm:px-6 py-14">
<h1 class="text-4xl font-extrabold text-center">Статус систем</h1> <h1 class="text-4xl font-extrabold text-center">Статус систем</h1>
<ul class="mt-10 divide-y divide-slate-200 border border-slate-200 rounded-xl bg-white"> <div class="mt-8 rounded-xl border border-slate-200 bg-white p-6 text-center">
<li class="flex items-center justify-between px-5 py-4"><span>API</span><span class="text-emerald-600 text-sm">● Работает</span></li> <p class="text-slate-700">Публичная страница статуса с автоматическим мониторингом и историей инцидентов — в разработке. Пока реального статуса в реальном времени здесь нет, поэтому мы не показываем его, чтобы не вводить в заблуждение.</p>
<li class="flex items-center justify-between px-5 py-4"><span>Админка</span><span class="text-emerald-600 text-sm">● Работает</span></li> <p class="text-slate-600 mt-4">Если вы столкнулись с перебоем в работе — напишите нам, ответим оперативно:</p>
<li class="flex items-center justify-between px-5 py-4"><span>База данных</span><span class="text-emerald-600 text-sm">● Работает</span></li> <p class="mt-3 text-sm">
<li class="flex items-center justify-between px-5 py-4"><span>Касса (Windows)</span><span class="text-slate-400 text-sm">○ Скоро</span></li> <a href="mailto:support@food-market.kz" class="text-brand underline">support@food-market.kz</a>
</ul> <span class="text-slate-400"> · </span>
<p class="text-xs text-slate-400 mt-6 text-center">Раздел в разработке. Скоро добавим автоматический мониторинг и историю инцидентов.</p> Telegram <span class="font-medium">@FoodMarketKZ_Support</span>
</p>
</div>
<p class="text-xs text-slate-400 mt-6 text-center">Приложение кассы для Windows и Linux — скоро.</p>
</section> </section>
</BaseLayout> </BaseLayout>