diff --git a/src/food-market.public/public/og/import.png b/src/food-market.public/public/og/import.png index 5656809..cf5403d 100644 Binary files a/src/food-market.public/public/og/import.png and b/src/food-market.public/public/og/import.png differ diff --git a/src/food-market.public/public/og/pos.png b/src/food-market.public/public/og/pos.png index 6eb3219..6aa2557 100644 Binary files a/src/food-market.public/public/og/pos.png and b/src/food-market.public/public/og/pos.png differ diff --git a/src/food-market.public/public/og/pricing.png b/src/food-market.public/public/og/pricing.png index bd4e47a..dcaace9 100644 Binary files a/src/food-market.public/public/og/pricing.png and b/src/food-market.public/public/og/pricing.png differ diff --git a/src/food-market.public/scripts/og.mjs b/src/food-market.public/scripts/og.mjs index 2796ba6..1a387c2 100644 --- a/src/food-market.public/scripts/og.mjs +++ b/src/food-market.public/scripts/og.mjs @@ -17,9 +17,9 @@ const logoUri = `data:image/png;base64,${logoPng.toString('base64')}` const pages = [ { file: 'home.png', title: 'Программа учёта и касса для розничных магазинов в Казахстане', sub: 'Касса с торговыми весами и импортом каталога. Бесплатно 90 дней.' }, - { file: 'pos.png', title: 'Касса для Windows с поддержкой торговых весов', sub: 'Установка за 5 минут. Офлайн-режим. Стандартное оборудование.' }, - { file: 'pricing.png', title: 'Прозрачные тарифы ALL MARKET', sub: 'От 5 000 ₸/мес. Все возможности на любом тарифе. 90 дней триал.' }, - { file: 'import.png', title: 'Перенесите каталог за один клик', sub: 'Excel, CSV, 1С, МойСклад. До 100 000 товаров. Бесплатно.' }, + { file: 'pos.png', title: 'Касса для Windows и Linux с поддержкой торговых весов', sub: 'Офлайн-режим. Торговые весы и стандартное оборудование.' }, + { file: 'pricing.png', title: 'Прозрачные тарифы ALL MARKET', sub: 'От 5 000 ₸/мес. Все возможности на любом тарифе. 90 дней бесплатно.' }, + { file: 'import.png', title: 'Перенесите каталог за один клик', sub: 'Импорт каталога из файлов Excel и CSV. До 100 000 товаров. Бесплатно.' }, { file: 'about.png', title: 'О ALL MARKET', sub: 'Программа учёта розничной торговли, созданная в Казахстане.' }, { file: 'for-grocery.png', title: 'ALL MARKET для продуктового магазина', sub: 'Весовой товар, скоропорт, штрихкоды, учёт остатков.' }, { file: 'for-pharmacy.png', title: 'ALL MARKET для аптеки', sub: 'Серии, сроки годности, рецептурный отпуск, контроль ЛП.' }, diff --git a/src/food-market.public/src/content/blog/launch.md b/src/food-market.public/src/content/blog/launch.md index 177269f..1f8fb1e 100644 --- a/src/food-market.public/src/content/blog/launch.md +++ b/src/food-market.public/src/content/blog/launch.md @@ -7,8 +7,6 @@ description: "Сегодня мы запускаем ALL MARKET — програ cover_image: /photos/blog-launch.jpg --- -# ALL MARKET запустился - Сегодня мы открываем публичный доступ к ALL MARKET — программе учёта розничной торговли, созданной командой казахстанских разработчиков и практиков ритейла. ## Что мы сделали @@ -18,25 +16,25 @@ cover_image: /photos/blog-launch.jpg - **работать с первого клика** — без долгой настройки и платных консультаций - **стоить честно** — без скрытых доплат за модули, которые должны быть в базе - **поддерживать локальное железо** — торговые весы нативно, без переходников и сторонних драйверов -- **позволять попробовать без риска** — настоящий триал, а не «14 дней с привязкой карты» +- **позволять попробовать без риска** — честный бесплатный период, а не «14 дней с привязкой карты» Мы воплотили эти принципы в ALL MARKET. ## Что вы получаете -- **5 000 тг/мес** за тариф «Старт» — 1 магазин, 1 касса, 1 склад, без лимита товаров -- **90 дней триала** без карты, без обязательств, со всеми возможностями -- **Касса для Windows** с нативной поддержкой торговых весов -- **Импорт каталога** из Excel, CSV или API за один клик -- **Все возможности на любом тарифе** — никаких доплат за CRM, лояльность, финансы или сценарии +- **5 000 ₸/мес** за тариф «Старт» — 1 магазин, 1 касса, 1 склад, без лимита товаров +- **90 дней бесплатно** — без карты и без обязательств +- **Касса для Windows и Linux** с нативной поддержкой торговых весов (приложение для скачивания — скоро) +- **Импорт каталога** из файлов Excel/CSV за один клик +- **Без доплат за модули** — учёт денег, отчёты и работа с клиентами входят в тариф ## Что дальше Сейчас мы открываем регистрацию и принимаем первых клиентов. Будем активно собирать обратную связь и улучшать продукт каждую неделю. В ближайших планах: -- Интеграция с Kaspi Magazin -- Marketplace интеграции (Wildberries, Ozon — Q4 2026) +- Приём оплат картой и онлайн-касса (ОФД) — в разработке +- Маркетплейсы — в разработке - Мобильное приложение для руководителя [Зарегистрироваться →](/signup) diff --git a/src/food-market.public/src/content/blog/quick-start.md b/src/food-market.public/src/content/blog/quick-start.md index 7bdc11b..74567fb 100644 --- a/src/food-market.public/src/content/blog/quick-start.md +++ b/src/food-market.public/src/content/blog/quick-start.md @@ -4,11 +4,9 @@ date: 2026-04-30 author: Команда ALL MARKET category: guide description: "Пошаговая инструкция первого запуска: от регистрации до первой продажи." -cover_image: /photos/blog-quickstart.jpg +cover_image: /screenshots/catalog.webp --- -# Запустите магазин в ALL MARKET за 15 минут - Часто новые SaaS-сервисы требуют дней на настройку и обучение. Мы спроектировали ALL MARKET так, чтобы вы могли начать продавать в день регистрации. Реальное время от пустого экрана до первого пробитого чека — **15 минут**. @@ -32,9 +30,7 @@ cover_image: /photos/blog-quickstart.jpg - Сопоставьте колонки (название, штрихкод, цена) — ALL MARKET подскажет правильное соответствие - Запустите импорт — 5 000 SKU перенесутся за минуту -**Б. Импорт через API** — если работаете в системе с открытым API: -- «Импорт» → выберите систему → введите API-токен -- Запустите автоматическую синхронизацию +**Б. Импорт из других систем учёта** — в разработке: появится в личном кабинете магазина. Пока используйте импорт из файла Excel/CSV. **В. Вручную** — если у вас 10-50 товаров: - «Товары» → «Добавить» @@ -42,10 +38,10 @@ cover_image: /photos/blog-quickstart.jpg ## Шаг 3. Установите кассу (5 минут) -Приложение кассы для Windows — скоро (появится в разделе «Касса»). +Приложение кассы для Windows и Linux — скоро (появится в разделе «Касса»). -1. Запустите .msi файл — нажмите «Далее» три раза -2. Введите ключ организации (показан в админке) +1. Когда касса будет доступна: укажите адрес сервера и войдите логином +2. Задайте PIN кассира — касса привяжется к точке продаж 3. Подключите торговые весы через USB-COM 4. Подключите сканер штрихкодов через USB 5. Подключите чековый принтер @@ -67,8 +63,8 @@ cover_image: /photos/blog-quickstart.jpg После первой продажи: - Добавьте остальных кассиров — «Сотрудники» → «Добавить» -- Настройте программу лояльности — «Лояльность» → «Создать программу» -- Запустите акции и скидки — «Маркетинг» → «Акции» +- Запустите акции и скидки — раздел «Акции и скидки» +- Программа лояльности — в расширенном режиме (раздел «Лояльность») Полная документация в нашей [Базе знаний](/kb). diff --git a/src/food-market.public/src/content/kb/billing.md b/src/food-market.public/src/content/kb/billing.md index 0b1fd17..72552fe 100644 --- a/src/food-market.public/src/content/kb/billing.md +++ b/src/food-market.public/src/content/kb/billing.md @@ -4,60 +4,41 @@ category: Биллинг order: 4 --- -Полная информация о подписках ALL MARKET и порядке оплаты. +Информация о тарифах ALL MARKET и порядке оплаты. ## Тарифы См. полную таблицу на [странице тарифов](/pricing). -Кратко: -Все тарифы — первые 90 дней бесплатно, без банковской карты. +Кратко — первые 90 дней бесплатно, без банковской карты: -- **Старт** — 5 000 тг/мес, 1 магазин, 1 касса, 1 склад, до 2 сотрудников -- **Бизнес** — от 10 000 тг/мес, конструктор (до 3 магазинов / 5 касс / 5 складов) +- **Старт** — 5 000 ₸/мес, 1 магазин, 1 касса, 1 склад, до 2 сотрудников +- **Бизнес** — от 10 000 ₸/мес, конструктор (до 3 магазинов / 5 касс / 5 складов) - **Сеть** — по запросу, без ограничений ## Способы оплаты -### Для физических лиц и ИП - -Способ оплаты подписки уточняется — свяжитесь с нами: support@food-market.kz. Приём оплат картой онлайн — в разработке. +На время раннего доступа оплату оформляем вручную — напишите на billing@food-market.kz, подскажем удобный способ. Самостоятельная оплата в личном кабинете и приём оплат картой онлайн — в разработке. ### Для юридических лиц -- Безналичный расчёт по счёту-фактуре -- Email счёта-фактуры — billing@food-market.kz с реквизитами вашего ТОО -- Срок оплаты — 5 рабочих дней с даты выставления счёта +- Безналичный расчёт по счёту +- Чтобы выставить счёт, напишите на billing@food-market.kz с реквизитами вашего ТОО - Доступ продлевается после поступления средств на расчётный счёт ## Изменение тарифа -В любой момент через «Настройки» → «Подписка». - -**Повышение тарифа** (например Старт → Бизнес): -- Доплата за оставшийся период текущего тарифа -- Расчёт: (новая цена − старая цена) × оставшиеся дни / 30 -- Доступ к новым возможностям — сразу после оплаты - -**Понижение тарифа** (Бизнес → Старт): -- Кредит на следующий месяц -- Расчёт: (старая цена − новая цена) × оставшиеся дни / 30 -- Кредит сгорает через 6 месяцев если не использован +Тариф можно сменить в любой момент — напишите в поддержку (support@food-market.kz), и мы пересчитаем стоимость за оставшийся оплаченный период. Порядок перерасчёта при повышении и понижении тарифа уточняйте в поддержке. ## Истечение оплаченного периода -За 7 дней до окончания: -- Email-напоминание о необходимости продления -- Баннер в админке +Мы заранее напомним об окончании оплаченного периода. Если оплата не поступит: -В день окончания (если не оплачено): -- Доступ к админке сохраняется (только просмотр) +- Доступ к админке сохраняется в режиме просмотра - Касса блокируется (нельзя открыть смену) -- Импорт и экспорт работают +- Экспорт данных продолжает работать -Через 30 дней без оплаты: -- Email с финальным предупреждением -- Контент сохраняется 30 календарных дней (см. оферту, п. 5.3/11.3), после чего может быть удалён +Контент сохраняется 30 календарных дней (см. оферту, п. 5.3/11.3), после чего может быть удалён. ## Возврат средств @@ -65,19 +46,17 @@ order: 4 Заявка: support@food-market.kz с указанием причины и реквизитов для возврата. -## История платежей и счёта +## История платежей и документы -«Настройки» → «Подписка» → «История»: -- Список всех платежей за период -- Скачивание счетов-фактур (для юрлиц) -- Скачивание чеков об оплате (для физлиц) +Историю платежей и копии счетов можно запросить в поддержке — billing@food-market.kz. Личный кабинет с историей платежей и скачиванием документов — в разработке. ## Корпоративные клиенты -Для тарифа «Сеть» и сетей с >3 магазинами: +Для тарифа «Сеть» и сетей с несколькими магазинами: + - Индивидуальный договор -- Безналичный расчёт с НДС -- SLA по доступности и скорости поддержки -- Выделенный менеджер +- Безналичный расчёт +- Персональный менеджер +- Индивидуальные условия поддержки Заявка: sales@food-market.kz diff --git a/src/food-market.public/src/content/kb/faq.md b/src/food-market.public/src/content/kb/faq.md index 002d7e6..8afe6d4 100644 --- a/src/food-market.public/src/content/kb/faq.md +++ b/src/food-market.public/src/content/kb/faq.md @@ -4,16 +4,16 @@ category: Общее order: 5 --- -## Регистрация и триал +## Регистрация и бесплатный период -### Сколько длится триал? +### Сколько длится бесплатный период? 90 дней с момента регистрации. Без необходимости вводить карту. ### Что произойдёт после 90 дней? Доступ к админке сохранится в режиме просмотра. Касса заблокируется. Если в течение 30 дней не оплатите — данные удаляются. -### Можно ли активировать триал повторно? -Нет, триал предоставляется один раз на 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 за склад. @@ -52,13 +52,13 @@ order: 5 ## Данные и безопасность ### Где хранятся мои данные? -На серверах в Казахстане. Резервные копии каждые 24 часа. +На серверах в Казахстане. Делаем регулярные резервные копии. ### Можно ли экспортировать данные? Да, в любой момент. Экспорт каталога, контрагентов, операций в Excel/CSV. ### Безопасно ли вводить данные клиентов? -Да. Данные шифруются при передаче (TLS 1.3) и при хранении. Соответствие ЗРК «О персональных данных». +Да. Данные шифруются при передаче (TLS) и при хранении. Персональные данные обрабатываем в соответствии с законодательством РК. ### Что будет с моими данными если я закрою аккаунт? 30 дней хранятся на случай восстановления, потом удаляются безвозвратно. @@ -66,7 +66,7 @@ order: 5 ## Импорт и миграция ### Можно перенести данные из другой системы учёта? -Да. Поддерживаем импорт из файла Excel/CSV, выгрузку 1С (сохранённую в CSV) и перенос из МойСклад по токену. Подробнее — на странице [/import](/import). +Да. Поддерживаем импорт каталога из файла Excel/CSV (название, штрихкод, цена, остаток, группа). Импорт из других систем учёта — в разработке (появится в личном кабинете). Подробнее — на странице [/import](/import). ### Какой объём каталога переносится? До 100 000 товаров за один импорт. Каталог 10 000 позиций обычно переносится за 5–10 минут. @@ -85,7 +85,7 @@ order: 5 Ежедневно с 09:00 до 18:00 по Астане. В выходные — задержка ответа до 24 часов. ### Платная ли поддержка? -Базовая поддержка бесплатна для всех тарифов. Приоритетная поддержка с SLA — в тарифах Бизнес и Сеть. +Базовая поддержка бесплатна для всех тарифов. Приоритетная поддержка — в тарифах Бизнес и Сеть. ### Есть ли обучение и внедрение? Большинство клиентов справляются самостоятельно с помощью базы знаний. Если нужна помощь с настройкой или импортом — напишите в поддержку, поможем. diff --git a/src/food-market.public/src/content/kb/pos-setup.md b/src/food-market.public/src/content/kb/pos-setup.md index 7cb9d91..0f738fb 100644 --- a/src/food-market.public/src/content/kb/pos-setup.md +++ b/src/food-market.public/src/content/kb/pos-setup.md @@ -4,38 +4,29 @@ category: Касса 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 года - **RAM:** 4 GB минимум, 8 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-символьный код -2. В кассе — вставьте ключ, нажмите «Активировать» -3. Касса синхронизирует каталог товаров с облаком (~30 секунд для 5000 SKU) +1. Укажите адрес сервера (например, `https://admin.food-market.kz`) +2. Войдите логином сотрудника — касса привяжется к точке продаж +3. Дальше — быстрый вход по **PIN** кассира на этом устройстве +4. Касса загрузит каталог товаров для работы офлайн ## Подключение оборудования @@ -65,7 +56,7 @@ order: 3 4. Выберите принтер из выпадающего списка 5. Нажмите «Тестовая печать» — должен распечататься тестовый чек -Поддерживаемые принтеры: любые ОКП РК-совместимые модели. +Поддерживаются чековые принтеры 58/80 мм (ESC/POS). ## Открытие смены и первая продажа diff --git a/src/food-market.public/src/pages/about.astro b/src/food-market.public/src/pages/about.astro index 7db3cf2..8853dd9 100644 --- a/src/food-market.public/src/pages/about.astro +++ b/src/food-market.public/src/pages/about.astro @@ -20,7 +20,7 @@ import BaseLayout from '@/layouts/BaseLayout.astro'
  • Касса с торговыми весами — для Windows и Linux, работает без интернета.
  • Склад: приёмки, инвентаризация, списание, оприходование, перемещение.
  • Отчёты по продажам, остаткам и прибыли.
  • -
  • Перенос каталога из МойСклад и из файла CSV (в том числе выгрузки 1С).
  • +
  • Перенос каталога из файлов Excel/CSV.
  • Что в разработке

    diff --git a/src/food-market.public/src/pages/changelog.astro b/src/food-market.public/src/pages/changelog.astro index afdcb9e..c421a53 100644 --- a/src/food-market.public/src/pages/changelog.astro +++ b/src/food-market.public/src/pages/changelog.astro @@ -1,17 +1,17 @@ --- import BaseLayout from '@/layouts/BaseLayout.astro' const releases = [ - { date: '2026-04', title: 'Phase 6 — Публичный сайт', items: ['Маркетинговый сайт food-market.kz','Регистрация без админа платформы','Тарифы Старт / Бизнес-конструктор / Сеть'] }, - { date: '2026-04', title: 'Phase 4 — SuperAdmin консоль', items: ['Управление организациями','Журнал действий','Read-only «открыть как…»','Edit-mode с reason + audit-trail','Настраиваемый retention period'] }, - { date: '2026-04', title: 'Phase 3 — Цены и роли', items: ['Расширенная модель цен','Сотрудники и роли','Системные роли (Администратор, Кассир)'] }, - { date: '2026-04', title: 'Phase 2 — Закупки и приёмки', items: ['Документ приёмки со сканером','Скользящее среднее себестоимости','Inline quick-add позиций'] }, - { date: '2026-03', title: 'Phase 1 — Каталог и tenant-изоляция', items: ['Multi-tenant архитектура','Товары, группы, штрихкоды, остатки','Импорт из других систем'] }, + { date: '2026-04', title: 'Публичный сайт и регистрация', items: ['Сайт ALL MARKET','Самостоятельная регистрация магазина','Тарифы: Старт, конструктор «Бизнес», Сеть'] }, + { date: '2026-04', title: 'Управление и безопасность', items: ['Управление организациями','Журнал действий','Режим просмотра «открыть как…»','Правки с указанием причины и историей изменений','Настраиваемый срок хранения данных'] }, + { date: '2026-04', title: 'Цены, сотрудники и роли', items: ['Гибкие типы цен (розница, опт)','Сотрудники и права доступа','Готовые роли: администратор и кассир'] }, + { date: '2026-04', title: 'Закупки и приёмки', items: ['Приёмка товара со сканером','Автоматический расчёт себестоимости','Быстрое добавление позиций'] }, + { date: '2026-03', title: 'Каталог и учёт по магазинам', items: ['Данные каждого магазина изолированы друг от друга','Товары, группы, штрихкоды, остатки','Импорт каталога из файлов Excel/CSV'] }, ] --- - +
    -

    Changelog

    -

    История релизов ALL MARKET.

    +

    Что нового

    +

    История обновлений ALL MARKET.

    {releases.map((r) => (
    diff --git a/src/food-market.public/src/pages/features.astro b/src/food-market.public/src/pages/features.astro index f6bc751..187172b 100644 --- a/src/food-market.public/src/pages/features.astro +++ b/src/food-market.public/src/pages/features.astro @@ -1,7 +1,7 @@ --- import BaseLayout from '@/layouts/BaseLayout.astro' 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: 'stock', icon: '🏬', title: 'Склад и остатки', items: ['Несколько складов','Приёмка со сканером','Себестоимость считается автоматически','Инвентаризация','Списание (брак/просрочка)','Оприходование','Перемещения между складами','История движений'] }, { id: 'purchase', icon: '🚚', title: 'Закупки и поставщики', items: ['База поставщиков','Документы приёмки','Себестоимость по приёмкам','Возвраты поставщику'] }, diff --git a/src/food-market.public/src/pages/import.astro b/src/food-market.public/src/pages/import.astro index 8058f2f..d2a1bae 100644 --- a/src/food-market.public/src/pages/import.astro +++ b/src/food-market.public/src/pages/import.astro @@ -2,38 +2,38 @@ import BaseLayout from '@/layouts/BaseLayout.astro' const formats = [ - { icon: '📊', title: 'Файл CSV', text: 'Выгрузите каталог из старой системы в CSV (Excel умеет «Сохранить как CSV»). ALL MARKET разложит данные по колонкам. Нужны колонки: название, штрихкод, цена — остальное по желанию.' }, - { icon: '🔌', title: 'Из МойСклад', text: 'Введите токен МойСклад — ALL MARKET подтянет товары, контрагентов, остатки и цены.' }, - { icon: '📦', title: 'Из 1С', text: 'Сохраните типовую выгрузку 1С (Бухгалтерия, УТ, Розница) в CSV и загрузите файлом. Каталог, цены, штрихкоды, группы.' }, + { icon: '📊', title: 'Файл Excel/CSV', text: 'Выгрузите каталог из старой системы в CSV (Excel умеет «Сохранить как CSV»). ALL MARKET разложит данные по колонкам. Нужны колонки: название, штрихкод, цена — остальное по желанию.' }, + { icon: '✍️', title: 'Вручную', text: 'Если товаров немного — заводите карточки прямо в админке: «Товары» → «Добавить». Удобно для 10–50 позиций.' }, + { icon: '🧩', title: 'Из других систем учёта', text: 'Импорт напрямую из других систем учёта — в разработке. Появится в личном кабинете магазина.' }, ] -const matrix: [string, string, string][] = [ - ['Товары (название, штрихкоды, цены)', '✅', '✅'], - ['Группы товаров', '✅', '✅'], - ['Единицы измерения', '✅', '✅'], - ['Контрагенты (поставщики, клиенты)', '⚠️ Отдельным файлом', '✅'], - ['Текущие остатки по складам', '⚠️ Отдельным файлом', '✅'], - ['Цены по типам (розница, опт)', '⚠️ Отдельным файлом', '✅'], +const matrix: [string, string][] = [ + ['Товары (название, штрихкоды, цены)', '✅'], + ['Группы товаров', '✅'], + ['Единицы измерения', '✅'], + ['Контрагенты (поставщики, клиенты)', '⚠️ Отдельным файлом'], + ['Текущие остатки по складам', '⚠️ Отдельным файлом'], + ['Цены по типам (розница, опт)', '⚠️ Отдельным файлом'], ] const steps = [ { title: 'Зарегистрируйтесь в ALL MARKET', text: 'Заполните короткую форму: email, название магазина, пароль. 90 дней бесплатно, без карты.' }, - { title: 'Подготовьте данные', text: 'CSV: выгрузите каталог из старой системы в CSV. Из МойСклад: получите токен в настройках МойСклад.' }, - { title: 'Запустите импорт', text: 'В админке: «Импорт» → выберите формат → загрузите файл или введите токен → нажмите «Запустить».' }, + { title: 'Подготовьте файл', text: 'Выгрузите каталог из старой системы в CSV (или Excel «Сохранить как CSV»). Нужны колонки: название, штрихкод, цена.' }, + { title: 'Запустите импорт', text: 'В админке: «Импорт» → «Из файла» → загрузите файл → сопоставьте колонки → нажмите «Запустить».' }, { title: 'Проверьте результат', text: 'Откройте «Товары» — каталог должен быть полным. Проверьте 5–10 случайных товаров: цены, штрихкоды, остатки.' }, { title: 'Начните вести учёт', text: 'Каталог, остатки и отчёты — сразу в браузере. Касса для Windows и Linux появится для скачивания скоро.' }, ] const faq = [ - { q: 'Сохранятся ли данные в исходной системе?', a: 'Да. Импорт из МойСклад только читает данные — ничего не удаляет и не меняет. Импорт из файла работает с копией. Ваш текущий учёт остаётся нетронутым.' }, - { q: 'Можно ли работать в обеих системах параллельно?', a: 'Технически — да, в бесплатный период. Но синхронизации в реальном времени нет — это создаст путаницу с остатками. Лучше выбрать одну систему как основную.' }, + { q: 'Сохранятся ли данные в исходной системе?', a: 'Да. Импорт работает с копией вашего файла — он ничего не меняет в исходной системе. Ваш текущий учёт остаётся нетронутым.' }, + { q: 'Можно ли работать в двух системах параллельно?', a: 'Технически — да, в бесплатный период. Но синхронизации в реальном времени нет — это создаст путаницу с остатками. Лучше выбрать одну систему как основную.' }, { q: 'Что если у меня кастомные поля или специфичные настройки?', a: 'Напишите нам перед импортом — посмотрим. В большинстве случаев всё переносится. Если что-то нестандартное — настроим вручную.' }, { q: 'Сколько времени занимает импорт?', a: 'Каталог 1 000 товаров — около 1 минуты. 10 000 товаров — 5–10 минут. 50 000+ — до часа. Прогресс отображается в реальном времени.' }, { q: 'Сколько стоит импорт?', a: 'Бесплатно. Никаких сборов за импорт, настройку или консультацию.' }, { q: 'Что если возникли проблемы?', a: 'Напишите на support@food-market.kz — поможем разобраться и при необходимости настроим импорт вручную.' }, ] --- - +
    Каталог товаров в ALL MARKET
    @@ -73,16 +73,14 @@ const faq = [ Сущность - CSV (файл) - МойСклад + Импорт из файла Excel/CSV - {matrix.map(([entity, csv, api]) => ( + {matrix.map(([entity, csv]) => ( {entity} {csv} - {api} ))} diff --git a/src/food-market.public/src/pages/index.astro b/src/food-market.public/src/pages/index.astro index 37d25ba..47cf278 100644 --- a/src/food-market.public/src/pages/index.astro +++ b/src/food-market.public/src/pages/index.astro @@ -3,7 +3,7 @@ import BaseLayout from '@/layouts/BaseLayout.astro' import FAQ from '@/components/FAQ.tsx' const modules = [ - { icon: '📦', title: 'Товары и каталог', text: 'Группы, штрихкоды, цены, остатки. Перенос каталога файлом или из МойСклад.' }, + { icon: '📦', title: 'Товары и каталог', text: 'Группы, штрихкоды, цены, остатки. Перенос каталога из файла (Excel/CSV).' }, { icon: '💳', title: 'Продажи и касса', text: 'Касса с весами, сканером и печатью чека. Работает на Windows и Linux, в том числе без интернета.' }, { icon: '🏬', title: 'Склад и приёмки', text: 'Несколько складов, приёмка со сканером, инвентаризация, списание, оприходование, перемещение.' }, { icon: '🚚', title: 'Закупки и себестоимость', text: 'Приёмки от поставщиков. Себестоимость считается автоматически по приёмкам.' }, @@ -60,7 +60,7 @@ const modules = [
    ⬇️

    Перенос каталога без ручного ввода

    -

    Загрузите товары, остатки и штрихкоды файлом CSV (в том числе выгрузкой из 1С) или подтяните из МойСклад. Не нужно заводить тысячи позиций руками.

    +

    Загрузите товары, остатки и штрихкоды файлом Excel/CSV. Не нужно заводить тысячи позиций руками.

    🎁
    @@ -178,7 +178,7 @@ const modules = [

    Перенос и интеграции

    - Переносим каталог из МойСклад и из CSV (в том числе выгрузки из 1С) — уже сейчас. + Переносим каталог из файлов Excel/CSV — уже сейчас. Онлайн-касса (ОФД), приём оплат картой и маркетплейсы — в разработке.

    Как перенести каталог → @@ -199,7 +199,7 @@ const modules = [
  • 2 сотрудника
  • Без ограничения по числу товаров
  • Касса с весами
  • -
  • Перенос каталога из CSV и МойСклад
  • +
  • Перенос каталога из файлов Excel/CSV
  • Начать
    @@ -214,7 +214,7 @@ const modules = [
  • До 10 сотрудников
  • Все отчёты по прибыли и остаткам
  • - Настроить тариф + Настроить тариф

    Сеть

    diff --git a/src/food-market.public/src/pages/integrations.astro b/src/food-market.public/src/pages/integrations.astro index b61f776..b20de91 100644 --- a/src/food-market.public/src/pages/integrations.astro +++ b/src/food-market.public/src/pages/integrations.astro @@ -1,15 +1,16 @@ --- import BaseLayout from '@/layouts/BaseLayout.astro' const ready = [ - { title: 'Перенос каталога', items: ['Импорт из МойСклад по токену', 'Импорт из файла CSV', 'Выгрузка 1С (сохранённая в CSV)'] }, - { title: 'Оборудование', items: ['Торговые весы CAS, Масса-К и совместимые (USB/COM)', 'USB-сканеры штрихкодов', 'Чековые принтеры 58/80 мм', 'Денежные ящики', 'Дисплей покупателя (по RS-232)'] }, + { title: 'Перенос каталога', items: ['Импорт каталога из файла Excel/CSV', 'Переносятся названия, штрихкоды, цены, остатки, группы'] }, + { title: 'Оборудование', items: ['Торговые весы CAS, Масса-К и совместимые (USB/COM)', 'USB-сканеры штрихкодов', 'Чековые принтеры 58/80 мм (ESC/POS)', 'Денежные ящики', 'Дисплей покупателя (RS-232)'] }, ] const planned = [ { title: 'Онлайн-касса и оплаты', items: ['Фискализация через ОФД РК', 'Приём оплат картой (Kaspi Pay и банки)'] }, { title: 'Маркетплейсы', items: ['Kaspi Magazin', 'Ozon', 'Wildberries'] }, + { title: 'Импорт из других систем учёта', items: ['Перенос из других систем учёта — появится в личном кабинете магазина'] }, ] --- - +

    Перенос и интеграции

    Честно о том, что уже работает и что готовим.

    diff --git a/src/food-market.public/src/pages/sitemap.xml.ts b/src/food-market.public/src/pages/sitemap.xml.ts index 795e681..e4dc039 100644 --- a/src/food-market.public/src/pages/sitemap.xml.ts +++ b/src/food-market.public/src/pages/sitemap.xml.ts @@ -1,4 +1,5 @@ import type { APIRoute } from 'astro' +import { getCollection } from 'astro:content' const PAGES = [ '', 'features', 'pricing', 'pos', 'import', 'integrations', @@ -7,9 +8,19 @@ const PAGES = [ '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 urls = PAGES.map((p) => `${base}/${p}`).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) => `${loc(p)}`).join('\n ') const xml = ` ${urls} diff --git a/src/food-market.public/src/pages/status.astro b/src/food-market.public/src/pages/status.astro index 30a7679..362f6a6 100644 --- a/src/food-market.public/src/pages/status.astro +++ b/src/food-market.public/src/pages/status.astro @@ -1,15 +1,18 @@ --- import BaseLayout from '@/layouts/BaseLayout.astro' --- - +

    Статус систем

    -
      -
    • API● Работает
    • -
    • Админка● Работает
    • -
    • База данных● Работает
    • -
    • Касса (Windows)○ Скоро
    • -
    -

    Раздел в разработке. Скоро добавим автоматический мониторинг и историю инцидентов.

    +
    +

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

    +

    Если вы столкнулись с перебоем в работе — напишите нам, ответим оперативно:

    +

    + support@food-market.kz + · + Telegram @FoodMarketKZ_Support +

    +
    +

    Приложение кассы для Windows и Linux — скоро.