content(public): naполнить блог + KB + about/contacts; убрать упоминания сторонних систем
Phase 6 контентная часть — частично: Блог (3 поста из /tmp/content/blog-and-kb.md, content collection): - launch — запуск Food Market - import-other-system — пошаговый гид миграции (внутренняя инструкция, frontmatter) - cash-with-scales — почему касса с весами Масса-К из коробки База знаний (5 статей, content collection с category + order): - quickstart, import-other-system, pos-setup, billing, faq Страницы /blog и /kb перерисованы — рендерят список из коллекций с группировкой по категориям, отдельные [slug].astro template'ы рендерят markdown с типографикой prose-md. /about и /contacts наполнены реальным контентом из /tmp/content/about-contacts-pricing-features.md (без заглушек). Контакты — 4 канала (email/phone/чат/реквизиты) с placeholder-ами для будущих контактов после регистрации юр.лица. Очистка от упоминаний сторонних систем (по правилу: не сравнивать с конкретными системами и не выводить чужие цены публично): - Hero/FAQ на главной — заменено «Импорт из сторонняя система» на «импорт каталога одной кнопкой», убран FAQ-вопрос «Чем отличаетесь от...», заменён на общий «Чем хорош Food Market?». - Footer: пункт «Импорт из сторонняя система» → «Импорт каталога». - /migration-from-other-system удалён (содержал сравнительную таблицу с ценами сторонняя система). Возможен возврат как KB-инструкция позже. - features/pos/pricing/integrations/changelog/for-grocery/for-pharmacy — sed-замена «сторонняя система» → «другие системы», ссылки на /migration-from-other-system → /features. - В content-collections блог/KB остались упоминания (юзер пришлёт PATCH-версии текстов отдельно). Контейнер пересобран и задеплоен на стенд: 30 страниц, smoke на /, /blog, /kb, /about, /blog/launch — все 200. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
4ac7dc585c
commit
f5a232a32e
|
|
@ -1,10 +1,10 @@
|
|||
import { useState } from 'react'
|
||||
|
||||
const ITEMS = [
|
||||
{ q: 'Что такое Food Market?', a: 'Облачная программа учёта и кассовая программа для розничных магазинов в Казахстане. Включает товарный учёт, склад, кассу с поддержкой весов, импорт из МойСклада и интеграции с банками и ОФД РК.' },
|
||||
{ q: 'Чем отличаетесь от МойСклад / UMag?', a: 'Касса с поддержкой весов Масса-К из коробки, импорт из МойСклада за 1 клик, единый тариф без скрытых доплат за CRM/финансы/лояльность, цены в тенге, локальная поддержка KZ.' },
|
||||
{ q: 'Нужно ли покупать железо?', a: 'Касса работает на любом Windows-компьютере. Весы Масса-К подключаются по USB или COM-порту. Сканер штрихкодов и чековый принтер можно купить за 30-50 тыс. тг отдельно.' },
|
||||
{ q: 'Как импортировать товары из МойСклад?', a: 'Подключаем ваш токен МойСклад API в настройках, нажимаете «Импортировать» — товары, группы, штрихкоды и остатки переносятся автоматически за 5–10 минут.' },
|
||||
{ q: 'Что такое Food Market?', a: 'Облачная программа учёта и кассовая программа для розничных магазинов в Казахстане. Включает товарный учёт, склад, кассу с поддержкой весов и интеграции с банками и ОФД РК.' },
|
||||
{ q: 'Чем хорош Food Market?', a: 'Касса с поддержкой весов Масса-К из коробки. Импорт каталога одной кнопкой. Единый тариф — CRM, финансы и лояльность включены без доплат. Цены в тенге, локальная поддержка KZ, сервера в Казахстане.' },
|
||||
{ q: 'Нужно ли покупать железо?', a: 'Касса работает на любом Windows-компьютере. Весы Масса-К подключаются по USB или COM-порту. Сканер штрихкодов и чековый принтер можно купить за 30–50 тыс. тг отдельно.' },
|
||||
{ q: 'Как перенести каталог из старой системы?', a: 'Поддерживаем загрузку через Excel CSV-файл и API-импорт. Товары, группы, штрихкоды и остатки переносятся автоматически за 5–10 минут.' },
|
||||
{ q: 'Можно ли отменить подписку?', a: 'Да, в любой момент. Триал 90 дней не требует банковской карты — никаких автосписаний, пока не оплатите подписку вручную.' },
|
||||
{ q: 'Есть ли мобильное приложение?', a: 'Веб-админка адаптирована под мобильные браузеры. Нативное приложение для iOS/Android — в дорожной карте на 2026.' },
|
||||
{ q: 'Где вы хранитe данные?', a: 'Данные хранятся в дата-центре в Казахстане. Резервные копии шифруются и хранятся отдельно. Соответствие ЗРК «О персональных данных».' },
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ import Logo from './Logo.astro'
|
|||
<ul class="space-y-1.5">
|
||||
<li><a href="/features" class="text-slate-700 hover:text-brand">Возможности</a></li>
|
||||
<li><a href="/pos" class="text-slate-700 hover:text-brand">Касса для Windows</a></li>
|
||||
<li><a href="/migration-from-moysklad" class="text-slate-700 hover:text-brand">Импорт из МойСклад</a></li>
|
||||
<li><a href="/features" class="text-slate-700 hover:text-brand">Импорт каталога</a></li>
|
||||
<li><a href="/integrations" class="text-slate-700 hover:text-brand">Интеграции</a></li>
|
||||
<li><a href="/pricing" class="text-slate-700 hover:text-brand">Тарифы</a></li>
|
||||
<li><a href="/changelog" class="text-slate-700 hover:text-brand">Дорожная карта</a></li>
|
||||
|
|
|
|||
72
src/food-market.public/src/content/blog/cash-with-scales.md
Normal file
72
src/food-market.public/src/content/blog/cash-with-scales.md
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
---
|
||||
title: "Касса с весами Масса-К — почему это важно"
|
||||
description: "Чем отличается «касса с поддержкой весов» от «касса с весами из коробки» и сколько это стоит вашему магазину."
|
||||
date: 2026-04-24
|
||||
---
|
||||
|
||||
```markdown
|
||||
---
|
||||
title: "Касса с весами Масса-К — почему это важно"
|
||||
slug: cash-with-scales
|
||||
date: 2026-05-02
|
||||
author: Команда Food Market
|
||||
category: feature
|
||||
excerpt: 80% магазинов в Казахстане используют Масса-К. Почему другие системы делают подключение через ад, и как мы решили эту проблему.
|
||||
cover_image: /blog/scales.jpg
|
||||
---
|
||||
|
||||
# Касса с весами Масса-К — почему это важно
|
||||
|
||||
Если вы продаёте овощи, фрукты, мясо, сыр или орехи на развес — у вас 99% шанс используются весы **Масса-К**. Это казахстанско-российский стандарт.
|
||||
|
||||
И вот тут начинается ад с большинством систем учёта.
|
||||
|
||||
## Как это работает у конкурентов
|
||||
|
||||
**МойСклад:** поддержка через сторонний драйвер. Нужно установить отдельную программу-посредник, которая опрашивает COM-порт весов и отправляет данные в кассу. Программа платная (~5000 тг/мес) или нужно покупать «комплект интеграции».
|
||||
|
||||
**UMag:** работают только с собственными весами производства партнёра — отдельная коробка за 80-150 тыс. тг. Если у вас уже есть Масса-К — переходники + бубен.
|
||||
|
||||
**1С:** теоретически поддерживает, но настройка занимает день специалиста. Драйвер от Атол или Штрих, конфликты, обновления ломают.
|
||||
|
||||
**Самописные:** если повезёт с разработчиком — может быть чисто. Если не повезёт — увидите слово «не отвечает COM-порт» в кошмарах.
|
||||
|
||||
## Как у нас
|
||||
|
||||
Установили Касса Food Market для Windows. Подключили весы Масса-К через RS-232 (или USB-COM кабель). Запустили кассу. **Всё.**
|
||||
|
||||
Касса автоматически:
|
||||
- Опрашивает COM-порт каждые 200 мс
|
||||
- Распознаёт модель Масса-К (МК-А, МК-В, MK-T, MK-D)
|
||||
- Считывает вес и штрихкод PLU
|
||||
- Подставляет в открытый чек
|
||||
|
||||
Никаких сторонних драйверов. Никаких подписок на «модуль интеграции». Никаких бубенов.
|
||||
|
||||
## Почему мы сделали это нативно
|
||||
|
||||
Когда мы делали Food Market — посмотрели на наших же знакомых в продуктовых магазинах. У них у всех Масса-К. И каждый раз конкуренты заставляли платить за поддержку того, что должно работать «из коробки».
|
||||
|
||||
Мы написали свой парсер протокола Масса-К прямо в кассу. Это заняло ~2 недели. Зато теперь это просто работает — без подписок, без посредников, без боли.
|
||||
|
||||
## Какие модели поддерживаем
|
||||
|
||||
Текущие версии:
|
||||
- **МК-А** (механические с чеком) — все модели
|
||||
- **МК-В** (электронные) — все модели
|
||||
- **MK-T** (торговые) — все модели
|
||||
- **MK-D** (для прилавочной торговли) — все модели
|
||||
|
||||
Планируем в ближайшем апдейте:
|
||||
- CAS — частые в аптечных весах
|
||||
- Штрих-М весы — иногда встречаются в магазинах одежды (для контроля посылок)
|
||||
|
||||
Не уверены, что ваша модель подойдёт? [Напишите →](/contacts) — проверим за 5 минут.
|
||||
|
||||
[Скачать кассу →](/pos)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## База знаний (KB): 5 стартовых статей
|
||||
|
||||
95
src/food-market.public/src/content/blog/import-moysklad.md
Normal file
95
src/food-market.public/src/content/blog/import-moysklad.md
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
---
|
||||
title: "Как перейти с МойСклада за 1 час"
|
||||
description: "Пошаговый гид: от регистрации до запущенной кассы в новой системе."
|
||||
date: 2026-04-25
|
||||
---
|
||||
|
||||
```markdown
|
||||
---
|
||||
title: "Как перейти с МойСклада на Food Market за 1 час"
|
||||
slug: import-moysklad
|
||||
date: 2026-04-28
|
||||
author: Команда Food Market
|
||||
category: guide
|
||||
excerpt: Пошаговая инструкция миграции каталога, контрагентов и остатков из МойСклада. С реальными цифрами и временем каждого шага.
|
||||
cover_image: /blog/migration.jpg
|
||||
---
|
||||
|
||||
# Как перейти с МойСклада на Food Market за 1 час
|
||||
|
||||
Если вы уже работаете в МойСкладе и думаете о смене — главный страх обычно один: «Не придётся ли перепечатывать каталог из 5000 товаров вручную?»
|
||||
|
||||
Не придётся. Импорт через API подтянет всё автоматически. Расскажем как.
|
||||
|
||||
## Что переносится
|
||||
|
||||
| Сущность | Время |
|
||||
|---|---|
|
||||
| Товары (со штрихкодами, ценами, фото) | ~30 секунд на 1000 SKU |
|
||||
| Группы товаров (полная иерархия) | ~5 секунд |
|
||||
| Единицы измерения | ~2 секунды |
|
||||
| Контрагенты (клиенты + поставщики) | ~10 секунд на 1000 |
|
||||
| Текущие остатки по складам | ~20 секунд на 1000 SKU |
|
||||
| Цены продажи (все типы цен) | ~10 секунд на 1000 SKU |
|
||||
|
||||
Каталог из 10 000 SKU + 500 контрагентов переносится за **5-10 минут**.
|
||||
|
||||
## Что НЕ переносится
|
||||
|
||||
- **История продаж** — это сотни тысяч документов, перенос займёт часы. Если нужно — загружаем вручную как initial-балансы.
|
||||
- **Сценарии и автоматизации МойСклада** — настраиваются заново под формат Food Market.
|
||||
- **Кастомные документы и шаблоны** — нужно настроить отдельно.
|
||||
|
||||
## Шаги
|
||||
|
||||
### Шаг 1. Регистрация в Food Market (1 минута)
|
||||
|
||||
Зайдите на [food-market.kz](/), нажмите «Начать бесплатно». Заполните email, пароль, название магазина. Триал 90 дней активируется автоматически.
|
||||
|
||||
### Шаг 2. Получить токен МойСклада (3 минуты)
|
||||
|
||||
В МойСкладе откройте «Настройки» → «API» → «Создать токен». Назовите его «Food Market Import», скопируйте.
|
||||
|
||||
⚠️ Токен даёт доступ к чтению вашего МойСклада. Не передавайте его третьим лицам кроме нас. После импорта рекомендуем удалить токен в МойСкладе.
|
||||
|
||||
### Шаг 3. Импорт в Food Market (5-30 минут)
|
||||
|
||||
В админке Food Market: «Импорт» → «Из МойСклад» → вставьте токен.
|
||||
|
||||
Отметьте галочками что переносить:
|
||||
- ☑ Товары (с фото и характеристиками)
|
||||
- ☑ Группы
|
||||
- ☑ Единицы измерения
|
||||
- ☑ Контрагенты
|
||||
- ☑ Текущие остатки
|
||||
- ☐ Архивные товары (по желанию)
|
||||
|
||||
Нажмите «Запустить». Прогресс показывается в реальном времени.
|
||||
|
||||
### Шаг 4. Проверка (5-10 минут)
|
||||
|
||||
После импорта откройте каталог — все товары на месте с правильными штрихкодами и ценами. Проверьте 5-10 случайных товаров: фото, цена, остаток, штрихкод.
|
||||
|
||||
Расхождения возможны если:
|
||||
- В МойСкладе товар архивирован (не импортируется)
|
||||
- Цена изменилась за время импорта (запустите повторный импорт)
|
||||
|
||||
### Шаг 5. Касса (15 минут)
|
||||
|
||||
Скачайте установщик кассы для Windows. Установите за 5 минут. Подключите весы и сканер. Откройте смену. Пробейте тестовый чек.
|
||||
|
||||
Готово. Магазин работает в Food Market, МойСклад можно отключить (или оставить параллельно на время триала для сверки).
|
||||
|
||||
## FAQ
|
||||
|
||||
### Можно ли работать в обеих системах одновременно?
|
||||
|
||||
Технически — да, на время триала. Но синхронизация остатков в режиме реального времени НЕ предусмотрена — будут расхождения. Рекомендуем выбрать одну систему как основную.
|
||||
|
||||
### Что если что-то пошло не так?
|
||||
|
||||
Напишите на support@food-market.kz — починим. Импорт можно перезапустить в любой момент.
|
||||
|
||||
[Начать миграцию →](/migration-from-moysklad)
|
||||
```
|
||||
|
||||
59
src/food-market.public/src/content/blog/launch.md
Normal file
59
src/food-market.public/src/content/blog/launch.md
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
---
|
||||
title: "Запуск Food Market"
|
||||
description: "Программа учёта и касса для розничных магазинов в Казахстане. Что мы построили и почему."
|
||||
date: 2026-04-26
|
||||
---
|
||||
|
||||
```markdown
|
||||
---
|
||||
title: "Food Market запустился — система учёта розницы для Казахстана"
|
||||
slug: launch
|
||||
date: 2026-04-26
|
||||
author: Команда Food Market
|
||||
category: news
|
||||
excerpt: Сегодня мы запускаем Food Market — программу учёта розничной торговли, созданную в Казахстане для казахстанских магазинов.
|
||||
cover_image: /blog/launch.jpg
|
||||
---
|
||||
|
||||
# Food Market запустился
|
||||
|
||||
Сегодня мы открываем публичный доступ к Food Market — программе учёта розничной торговли, созданной командой казахстанских разработчиков и практиков ритейла.
|
||||
|
||||
## Зачем ещё одна система учёта?
|
||||
|
||||
В Казахстане уже есть МойСклад, UMag, 1С и десятки локальных решений. Зачем ещё одна?
|
||||
|
||||
Мы три года работали в рознице — и видели одни и те же проблемы каждый раз:
|
||||
|
||||
- **МойСклад** — базовая цена «приманивает», а реальная функциональность собирается из 5-6 платных доплат. CRM, финансы, лояльность, сценарии — за каждое сверху.
|
||||
- **UMag** — нет триала, цена видна только после консультации, требуют единоразовый платёж 30 000 тг за установку. Касса завязана на их собственное железо.
|
||||
- **1С** — хороший продукт, но требует внедренца на 2-3 недели, сложен в освоении, абонплата высокая.
|
||||
- **Самописные системы** — работают, но без техподдержки, развития и интеграций.
|
||||
|
||||
Каждый раз клиент платил 30-50 тыс. тенге в месяц за то, что должно было стоить 5-10 тыс. И главное — каждый раз мучился с подключением весов Масса-К через переходники.
|
||||
|
||||
## Что мы сделали
|
||||
|
||||
Food Market — это:
|
||||
|
||||
- **5 000 тг/мес** за тариф «Старт» (1 магазин, 1 касса, 1 склад, без лимита товаров)
|
||||
- **90 дней триала** без карты
|
||||
- **Касса для Windows** с нативной поддержкой Масса-К
|
||||
- **Импорт из МойСклада** в один клик
|
||||
- **Все возможности на любом тарифе** — никаких доплат
|
||||
|
||||
## Что дальше
|
||||
|
||||
Сейчас мы открываем регистрацию и принимаем первых клиентов. Будем активно собирать обратную связь и улучшать продукт каждую неделю.
|
||||
|
||||
В ближайших планах:
|
||||
- Интеграция с Kaspi Magazin (Q2 2026)
|
||||
- Marketplace интеграции (Wildberries, Ozon — Q3 2026)
|
||||
- Мобильное приложение для руководителя
|
||||
- ЕГАИС-готовность для алкомаркетов
|
||||
|
||||
[Зарегистрироваться →](/signup)
|
||||
|
||||
[Посмотреть тарифы →](/pricing)
|
||||
```
|
||||
|
||||
|
|
@ -10,4 +10,22 @@ const legal = defineCollection({
|
|||
}),
|
||||
})
|
||||
|
||||
export const collections = { legal }
|
||||
const blog = defineCollection({
|
||||
type: 'content',
|
||||
schema: z.object({
|
||||
title: z.string(),
|
||||
description: z.string(),
|
||||
date: z.coerce.date(),
|
||||
}),
|
||||
})
|
||||
|
||||
const kb = defineCollection({
|
||||
type: 'content',
|
||||
schema: z.object({
|
||||
title: z.string(),
|
||||
category: z.string(),
|
||||
order: z.number().default(0),
|
||||
}),
|
||||
})
|
||||
|
||||
export const collections = { legal, blog, kb }
|
||||
|
|
|
|||
110
src/food-market.public/src/content/kb/billing.md
Normal file
110
src/food-market.public/src/content/kb/billing.md
Normal file
|
|
@ -0,0 +1,110 @@
|
|||
---
|
||||
title: Тарифы и оплата
|
||||
category: Биллинг
|
||||
order: 4
|
||||
---
|
||||
|
||||
```markdown
|
||||
---
|
||||
title: Тарифы, оплата, изменение тарифа
|
||||
slug: billing
|
||||
section: account
|
||||
order: 1
|
||||
---
|
||||
|
||||
# Тарифы, оплата, изменение тарифа
|
||||
|
||||
Полная информация о подписках Food Market и порядке оплаты.
|
||||
|
||||
## Тарифы
|
||||
|
||||
См. полную таблицу на [странице тарифов](/pricing).
|
||||
|
||||
Кратко:
|
||||
- **Триал** — 90 дней, бесплатно, без карты, все возможности
|
||||
- **Старт** — 5 000 тг/мес, 1 магазин, 1 касса, 1 склад
|
||||
- **Бизнес** — от 10 000 тг/мес, конструктор (до 3 магазинов / 5 касс / 5 складов)
|
||||
- **Сеть** — по запросу, без ограничений
|
||||
|
||||
## Способы оплаты
|
||||
|
||||
### Для физических лиц и ИП
|
||||
|
||||
- Kaspi Pay (карта или счёт)
|
||||
- Halyk Bank, Jusan, Forte и другие казахстанские банки
|
||||
- Visa / Mastercard
|
||||
|
||||
Оплата проходит мгновенно. Доступ продлевается на оплаченный период.
|
||||
|
||||
### Для юридических лиц
|
||||
|
||||
- Безналичный расчёт по счёту-фактуре
|
||||
- Email счёта-фактуры — billing@food-market.kz с реквизитами вашего ТОО
|
||||
- Срок оплаты — 5 рабочих дней с даты выставления счёта
|
||||
- Доступ продлевается после поступления средств на расчётный счёт
|
||||
|
||||
## Скидки за длительные периоды
|
||||
|
||||
При оплате авансом:
|
||||
- 3 месяца: −5%
|
||||
- 6 месяцев: −10%
|
||||
- 12 месяцев: −20%
|
||||
|
||||
Скидки применяются автоматически при выборе периода в форме оплаты.
|
||||
|
||||
## Изменение тарифа
|
||||
|
||||
В любой момент через «Настройки» → «Подписка».
|
||||
|
||||
**Повышение тарифа** (например Старт → Бизнес):
|
||||
- Доплата за оставшийся период текущего тарифа
|
||||
- Расчёт: (новая цена − старая цена) × оставшиеся дни / 30
|
||||
- Доступ к новым возможностям — сразу после оплаты
|
||||
|
||||
**Понижение тарифа** (Бизнес → Старт):
|
||||
- Кредит на следующий месяц
|
||||
- Расчёт: (старая цена − новая цена) × оставшиеся дни / 30
|
||||
- Кредит сгорает через 6 месяцев если не использован
|
||||
|
||||
## Истечение оплаченного периода
|
||||
|
||||
За 7 дней до окончания:
|
||||
- Email-напоминание о необходимости продления
|
||||
- Баннер в админке
|
||||
|
||||
В день окончания (если не оплачено):
|
||||
- Доступ к админке сохраняется (только просмотр)
|
||||
- Касса блокируется (нельзя открыть смену)
|
||||
- Импорт и экспорт работают
|
||||
|
||||
Через 30 дней без оплаты:
|
||||
- Учётная запись помечается на удаление
|
||||
- Email с финальным предупреждением
|
||||
- Через 60 дней без оплаты — данные удаляются
|
||||
|
||||
## Возврат средств
|
||||
|
||||
Возврат за неиспользованный период возможен:
|
||||
- В течение первых 14 дней с момента оплаты — без обоснования
|
||||
- После 14 дней — пропорционально неиспользованному периоду
|
||||
|
||||
Заявка на возврат: support@food-market.kz с указанием причины и реквизитов для возврата.
|
||||
|
||||
## История платежей и счёта
|
||||
|
||||
«Настройки» → «Подписка» → «История»:
|
||||
- Список всех платежей за период
|
||||
- Скачивание счетов-фактур (для юрлиц)
|
||||
- Скачивание чеков об оплате (для физлиц)
|
||||
|
||||
## Корпоративные клиенты
|
||||
|
||||
Для тарифа «Сеть» и сетей с >3 магазинами:
|
||||
- Индивидуальный договор
|
||||
- Безналичный расчёт с НДС
|
||||
- SLA по доступности и скорости поддержки
|
||||
- Выделенный менеджер
|
||||
|
||||
Заявка: sales@food-market.kz
|
||||
```
|
||||
|
||||
102
src/food-market.public/src/content/kb/faq.md
Normal file
102
src/food-market.public/src/content/kb/faq.md
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
---
|
||||
title: Частые вопросы
|
||||
category: Общее
|
||||
order: 5
|
||||
---
|
||||
|
||||
```markdown
|
||||
---
|
||||
title: Частые вопросы
|
||||
slug: faq
|
||||
section: general
|
||||
order: 99
|
||||
---
|
||||
|
||||
# Частые вопросы
|
||||
|
||||
## Регистрация и триал
|
||||
|
||||
### Сколько длится триал?
|
||||
90 дней с момента регистрации. Без необходимости вводить карту.
|
||||
|
||||
### Что произойдёт после 90 дней?
|
||||
Доступ к админке сохранится в режиме просмотра. Касса заблокируется. Если в течение 30 дней не оплатите — данные удаляются.
|
||||
|
||||
### Можно ли активировать триал повторно?
|
||||
Нет, триал предоставляется один раз на email. После окончания — нужно выбрать платный тариф.
|
||||
|
||||
### Можно ли пользоваться без email?
|
||||
Нет, email обязателен — это ваш логин и канал уведомлений.
|
||||
|
||||
## Тарифы и оплата
|
||||
|
||||
### Сколько стоит самый дешёвый тариф?
|
||||
Старт — 5 000 тг/мес. Включает 1 магазин, 1 кассу, 1 склад, без лимита товаров и пользователей.
|
||||
|
||||
### Что входит в тариф Бизнес?
|
||||
Конструктор: до 3 магазинов, до 5 касс, до 5 складов. Цена считается по формуле base 10 000 + 2 000 за магазин + 500 за кассу + 500 за склад.
|
||||
|
||||
### Можно ли понизить тариф?
|
||||
Да, в любой момент. Разница пойдёт кредитом на следующий месяц.
|
||||
|
||||
### Принимаете оплату от ИП и ТОО?
|
||||
Да, по счёту-фактуре с НДС или без (зависит от вашего режима налогообложения).
|
||||
|
||||
## Возможности
|
||||
|
||||
### Поддерживаете весы Масса-К?
|
||||
Да, нативно — без сторонних драйверов и переходников.
|
||||
|
||||
### Какие сканеры штрихкодов поддерживаете?
|
||||
Любые HID-совместимые: Honeywell, Zebra, Cipher, Datalogic, Newland.
|
||||
|
||||
### Касса работает без интернета?
|
||||
Да, в офлайн-режиме. Синхронизируется с облаком когда связь появляется.
|
||||
|
||||
### Можно подключить онлайн-кассу для ОФД РК?
|
||||
Да, поддерживаем ОКП-совместимые принтеры и интеграцию с операторами фискальных данных РК.
|
||||
|
||||
### Есть ли мобильное приложение?
|
||||
Сейчас нет, в дорожной карте на 2026 год — приложение для руководителя (просмотр аналитики).
|
||||
|
||||
## Данные и безопасность
|
||||
|
||||
### Где хранятся мои данные?
|
||||
На серверах в Казахстане. Резервные копии каждые 24 часа.
|
||||
|
||||
### Можно ли экспортировать данные?
|
||||
Да, в любой момент. Экспорт каталога, контрагентов, операций в Excel/CSV.
|
||||
|
||||
### Безопасно ли вводить данные клиентов?
|
||||
Да. Данные шифруются при передаче (TLS 1.3) и при хранении. Соответствие ЗРК «О персональных данных».
|
||||
|
||||
### Что будет с моими данными если я закрою аккаунт?
|
||||
30 дней хранятся на случай восстановления, потом удаляются безвозвратно.
|
||||
|
||||
## Импорт и миграция
|
||||
|
||||
### Можно перенести данные из МойСклада?
|
||||
Да, автоматический импорт через API. Подробная [инструкция](/kb/import-moysklad).
|
||||
|
||||
### Можно перенести данные из 1С?
|
||||
Через Excel-экспорт из 1С и импорт в Food Market. Прямой импорт из 1С — в дорожной карте.
|
||||
|
||||
### А из UMag?
|
||||
Прямого импорта пока нет. Можно через Excel-выгрузку.
|
||||
|
||||
## Поддержка
|
||||
|
||||
### Как связаться с поддержкой?
|
||||
- Email: support@food-market.kz (отвечаем в течение часа в рабочее время)
|
||||
- Telegram: @FoodMarketKZ_Support
|
||||
- Телефон: см. [Контакты](/contacts)
|
||||
|
||||
### Часы работы поддержки?
|
||||
Ежедневно с 09:00 до 18:00 по Астане. В выходные — задержка ответа до 24 часов.
|
||||
|
||||
### Платная ли поддержка?
|
||||
Базовая поддержка бесплатна для всех тарифов. Приоритетная поддержка с SLA — в тарифах Бизнес и Сеть.
|
||||
|
||||
### Есть ли обучение и внедрение?
|
||||
Платные консультации 5 000 тг/час. Большинство клиентов справляются самостоятельно с помощью нашей базы знаний и видео-уроков.
|
||||
```
|
||||
93
src/food-market.public/src/content/kb/import-moysklad.md
Normal file
93
src/food-market.public/src/content/kb/import-moysklad.md
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
---
|
||||
title: Импорт из МойСклада
|
||||
category: Миграция
|
||||
order: 2
|
||||
---
|
||||
|
||||
```markdown
|
||||
---
|
||||
title: Импорт каталога из МойСклада
|
||||
slug: import-moysklad
|
||||
section: data-import
|
||||
order: 1
|
||||
---
|
||||
|
||||
# Импорт каталога из МойСклада
|
||||
|
||||
Полная инструкция миграции каталога, контрагентов и остатков из МойСклада. Время выполнения — 5-30 минут в зависимости от объёма.
|
||||
|
||||
## Что переносится автоматически
|
||||
|
||||
- Товары (название, штрихкоды, цены, фото, характеристики)
|
||||
- Группы товаров (полная иерархия)
|
||||
- Единицы измерения
|
||||
- Контрагенты (клиенты + поставщики)
|
||||
- Текущие остатки по складам
|
||||
- Цены продажи (все типы)
|
||||
|
||||
## Что НЕ переносится
|
||||
|
||||
- История продаж и операций
|
||||
- Сценарии и автоматизации
|
||||
- Кастомные документы и шаблоны
|
||||
- Бухгалтерские проводки
|
||||
|
||||
История продаж может быть загружена вручную как initial-балансы — напишите в support, поможем.
|
||||
|
||||
## Получение токена МойСклада
|
||||
|
||||
1. Войдите в свой аккаунт МойСклад
|
||||
2. Откройте «Настройки» (шестерёнка справа сверху) → «Доступ» → «Сервисные приложения»
|
||||
3. Нажмите «Создать токен»
|
||||
4. Назовите токен «Food Market Import»
|
||||
5. Скопируйте токен в буфер обмена
|
||||
|
||||
Токен — это длинная строка из 32+ символов. Он даёт доступ только на ЧТЕНИЕ — мы не можем ничего изменить или удалить в вашем МойСкладе.
|
||||
|
||||
## Запуск импорта
|
||||
|
||||
1. Войдите в админку Food Market
|
||||
2. Откройте «Импорт» → «Из МойСклад»
|
||||
3. Вставьте скопированный токен
|
||||
4. Отметьте галочками что импортировать:
|
||||
- ☑ Товары
|
||||
- ☑ Группы товаров
|
||||
- ☑ Единицы измерения
|
||||
- ☑ Контрагенты
|
||||
- ☑ Остатки
|
||||
- ☐ Архивные товары (необязательно)
|
||||
5. Нажмите «Запустить импорт»
|
||||
|
||||
Прогресс отображается в реальном времени с указанием обрабатываемой сущности и процентов.
|
||||
|
||||
## После импорта
|
||||
|
||||
1. Откройте «Товары» — каталог должен быть полным.
|
||||
2. Проверьте 5-10 случайных товаров: фото, цена, остаток, штрихкод.
|
||||
3. Откройте «Контрагенты» — поставщики и клиенты на месте.
|
||||
4. Откройте «Остатки» по складам — цифры должны совпадать с МойСкладом.
|
||||
|
||||
## Возможные расхождения
|
||||
|
||||
- **Архивные товары** — не импортируются, если не отметить галочку.
|
||||
- **Изображения товаров** — могут импортироваться с задержкой (фоновый процесс).
|
||||
- **Цены изменились во время импорта** — запустите повторный импорт, обновятся.
|
||||
|
||||
## Удаление токена
|
||||
|
||||
После успешного импорта рекомендуем удалить токен в МойСкладе:
|
||||
1. МойСклад → Настройки → Доступ → Сервисные приложения
|
||||
2. Найдите «Food Market Import», нажмите «Удалить»
|
||||
|
||||
Это безопасная практика — токен больше не нужен после импорта.
|
||||
|
||||
## Помощь
|
||||
|
||||
Если импорт завершился с ошибкой или данные пришли не полностью — напишите на support@food-market.kz с указанием:
|
||||
- Email вашего аккаунта Food Market
|
||||
- Время запуска импорта
|
||||
- Скриншот сообщения об ошибке (если есть)
|
||||
|
||||
Починим в течение нескольких часов.
|
||||
```
|
||||
|
||||
111
src/food-market.public/src/content/kb/pos-setup.md
Normal file
111
src/food-market.public/src/content/kb/pos-setup.md
Normal file
|
|
@ -0,0 +1,111 @@
|
|||
---
|
||||
title: Настройка кассы и оборудования
|
||||
category: Касса
|
||||
order: 3
|
||||
---
|
||||
|
||||
```markdown
|
||||
---
|
||||
title: Настройка кассы для Windows
|
||||
slug: pos-setup
|
||||
section: cash-register
|
||||
order: 1
|
||||
---
|
||||
|
||||
# Настройка кассы для Windows
|
||||
|
||||
Полная инструкция установки и настройки кассы Food Market для Windows. Время — 15-20 минут.
|
||||
|
||||
## Системные требования
|
||||
|
||||
- **ОС:** Windows 10 (64-bit) или Windows 11
|
||||
- **CPU:** любой Intel/AMD от 2015 года
|
||||
- **RAM:** 4 GB минимум, 8 GB рекомендуется
|
||||
- **Диск:** 5 GB свободного места
|
||||
- **Интернет:** опционально (касса работает офлайн)
|
||||
|
||||
## Скачивание установщика
|
||||
|
||||
1. Войдите в админку Food Market
|
||||
2. Откройте раздел «Касса» в боковом меню
|
||||
3. Нажмите «Скачать кассу для Windows»
|
||||
4. Сохраните файл `food-market-pos-setup.msi` (~80 МБ)
|
||||
|
||||
## Установка
|
||||
|
||||
1. Запустите скачанный `.msi` файл
|
||||
2. Если Windows покажет предупреждение — нажмите «Подробнее» → «Выполнить в любом случае» (мы скоро подпишем сертификатом)
|
||||
3. В мастере установки нажмите «Далее» три раза, затем «Установить»
|
||||
4. Подождите 1-2 минуты пока завершится установка
|
||||
5. По завершении — запустите кассу с рабочего стола
|
||||
|
||||
## Активация
|
||||
|
||||
При первом запуске касса попросит ввести **ключ организации**.
|
||||
|
||||
1. В админке Food Market: «Касса» → «Ключ организации» — скопируйте 32-символьный код
|
||||
2. В кассе — вставьте ключ, нажмите «Активировать»
|
||||
3. Касса синхронизирует каталог товаров с облаком (~30 секунд для 5000 SKU)
|
||||
|
||||
## Подключение оборудования
|
||||
|
||||
### Весы Масса-К
|
||||
|
||||
1. Подключите весы к компьютеру через кабель RS-232 или USB-COM
|
||||
2. В кассе откройте «Настройки» → «Оборудование» → «Весы»
|
||||
3. Нажмите «Найти весы» — касса опросит COM-порты и распознает Масса-К автоматически
|
||||
4. Поставьте на чашу любой груз — должна появиться цифра в нижней панели кассы
|
||||
|
||||
Поддерживаемые модели: МК-А, МК-В, MK-T, MK-D и совместимые.
|
||||
|
||||
### Сканер штрихкодов
|
||||
|
||||
1. Подключите сканер через USB
|
||||
2. Сканер должен работать в режиме HID-эмуляции (по умолчанию у большинства моделей)
|
||||
3. Откройте «Блокнот», сосканируйте любой штрихкод — должны появиться цифры. Если работает — заработает и в кассе.
|
||||
4. Откройте кассу, в активном чеке сосканируйте штрихкод товара — он появится в позициях
|
||||
|
||||
Поддерживаемые сканеры: Honeywell, Zebra, Cipher, Datalogic, Newland — любой стандартный USB HID.
|
||||
|
||||
### Чековый принтер
|
||||
|
||||
1. Подключите принтер через USB или Ethernet
|
||||
2. Установите драйвер принтера (с диска производителя или с сайта)
|
||||
3. В кассе: «Настройки» → «Оборудование» → «Принтер чеков»
|
||||
4. Выберите принтер из выпадающего списка
|
||||
5. Нажмите «Тестовая печать» — должен распечататься тестовый чек
|
||||
|
||||
Поддерживаемые принтеры: Атол, Штрих-М, Меркурий, Эвотор и любые ОКП-совместимые.
|
||||
|
||||
## Открытие смены и первая продажа
|
||||
|
||||
1. Нажмите «Открыть смену»
|
||||
2. Введите начальный остаток наличных в кассе
|
||||
3. Найдите товар поиском или сканером
|
||||
4. Нажмите «Оплата» → выберите тип оплаты (Наличные / Kaspi / Карта)
|
||||
5. Введите сумму полученных денег → подтвердите
|
||||
6. Чек распечатается, сделка пройдёт в учёт
|
||||
|
||||
## Закрытие смены
|
||||
|
||||
В конце рабочего дня:
|
||||
1. Нажмите «Закрыть смену»
|
||||
2. Касса покажет Z-отчёт: выручка / возвраты / наличные / безналичные
|
||||
3. Сделайте инкассацию (вытащите наличные из ящика)
|
||||
4. Подтвердите закрытие — данные финализируются в облаке
|
||||
|
||||
## Возможные проблемы
|
||||
|
||||
**Касса не видит весы:** проверьте кабель, проверьте права доступа к COM-порту, перезагрузите весы.
|
||||
|
||||
**Сканер не работает:** убедитесь что в режиме HID. Проверьте в «Блокноте» — если там работает, проблема в кассе, напишите в support.
|
||||
|
||||
**Принтер не печатает:** проверьте драйвер, попробуйте «Тестовая печать» из настроек Windows. Если из Windows печатает, а из кассы нет — напишите в support.
|
||||
|
||||
**Касса не синхронизируется с облаком:** проверьте интернет. Касса работает офлайн, но требует периодической синхронизации.
|
||||
|
||||
## Поддержка
|
||||
|
||||
support@food-market.kz — отвечаем в течение часа в рабочее время.
|
||||
```
|
||||
|
||||
58
src/food-market.public/src/content/kb/quickstart.md
Normal file
58
src/food-market.public/src/content/kb/quickstart.md
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
---
|
||||
title: Быстрый старт за 15 минут
|
||||
category: Начало работы
|
||||
order: 1
|
||||
---
|
||||
|
||||
```markdown
|
||||
---
|
||||
title: Быстрый старт за 15 минут
|
||||
slug: quickstart
|
||||
section: getting-started
|
||||
order: 1
|
||||
---
|
||||
|
||||
# Быстрый старт за 15 минут
|
||||
|
||||
После регистрации в Food Market вам нужно сделать 4 простых шага, чтобы начать продавать.
|
||||
|
||||
## Шаг 1. Заполните данные магазина (1 мин)
|
||||
|
||||
В админке откройте «Настройки» → «Организация». Укажите:
|
||||
- Полное название (как на чеке)
|
||||
- Адрес магазина
|
||||
- Телефон поддержки клиентов
|
||||
- Часы работы
|
||||
|
||||
## Шаг 2. Загрузите каталог товаров (5 мин)
|
||||
|
||||
Три варианта:
|
||||
|
||||
**Вариант А — импорт из МойСклада** (если уже там работаете): «Импорт» → «Из МойСклад» → вставьте API-токен → запустите. [Подробная инструкция](/blog/import-moysklad)
|
||||
|
||||
**Вариант Б — импорт из Excel/CSV**: «Импорт» → «Из файла» → выберите .xlsx или .csv. Требуемые столбцы: название, штрихкод, цена. Остальные опциональны.
|
||||
|
||||
**Вариант В — вручную**: «Товары» → «Добавить». Подходит если у вас 10-50 товаров.
|
||||
|
||||
## Шаг 3. Установите кассу (5 мин)
|
||||
|
||||
«Касса» → «Скачать установщик». Запустите .msi файл, нажмите «Далее» три раза. После установки введите ключ организации (показан в разделе «Касса»).
|
||||
|
||||
Подключите оборудование:
|
||||
- Весы Масса-К — через RS-232 или USB-COM
|
||||
- Сканер штрихкодов — USB
|
||||
- Чековый принтер — USB или сетевой
|
||||
|
||||
## Шаг 4. Откройте смену и пробейте чек (1 мин)
|
||||
|
||||
В кассе нажмите «Открыть смену», введите начальный остаток наличных. Сосканируйте штрихкод любого товара — он появится в чеке. Нажмите «Оплата» → «Наличные» → подтвердите. Чек распечатается, сделка пройдёт в учёт.
|
||||
|
||||
🎉 Вы только что сделали первую продажу через Food Market.
|
||||
|
||||
## Что дальше?
|
||||
|
||||
- Добавить остальных кассиров и сотрудников: [Управление пользователями](/kb/users)
|
||||
- Настроить программу лояльности: [Лояльность и скидки](/kb/loyalty)
|
||||
- Подключить Kaspi Pay: [Интеграции](/kb/integrations)
|
||||
```
|
||||
|
||||
|
|
@ -1,26 +1,45 @@
|
|||
---
|
||||
import BaseLayout from '@/layouts/BaseLayout.astro'
|
||||
---
|
||||
<BaseLayout title="О нас" description="Food Market — программа учёта и касса для розничных магазинов Казахстана.">
|
||||
<section class="max-w-3xl mx-auto px-4 sm:px-6 py-14">
|
||||
<h1 class="text-4xl font-extrabold">О Food Market</h1>
|
||||
<p class="mt-6 text-lg text-slate-700">
|
||||
Food Market — облачная программа учёта и кассовая программа для розничных магазинов Казахстана.
|
||||
</p>
|
||||
<p class="mt-4 text-slate-600">
|
||||
Мы делаем продукт для тех, кому надоели тяжёлые российские системы с доплатами за каждую функцию.
|
||||
У нас один тариф — все возможности. Касса с весами из коробки, импорт из МойСклад одной кнопкой,
|
||||
KZ-локализация на всех уровнях (тенге, ОКЕИ, ОФД РК).
|
||||
</p>
|
||||
<h2 class="text-2xl font-bold mt-12 mb-4">Чем мы отличаемся</h2>
|
||||
<ul class="space-y-3 text-slate-700">
|
||||
<li>✓ <strong>Сделано в Казахстане</strong> — для казахстанских магазинов, с учётом местных требований и интеграций.</li>
|
||||
<li>✓ <strong>Без скрытых доплат</strong> — CRM, лояльность, финансы, поддержка включены во все тарифы.</li>
|
||||
<li>✓ <strong>Касса с весами Масса-К</strong> из коробки — не отдельный модуль и не сторонняя интеграция.</li>
|
||||
<li>✓ <strong>Импорт за 1 клик</strong> — переход с МойСклада за 5–10 минут.</li>
|
||||
<li>✓ <strong>90 дней триал без карты</strong> — без автосписаний и сюрпризов.</li>
|
||||
<BaseLayout title="О нас" description="Food Market — программа учёта и касса для розничных магазинов Казахстана. История, команда, принципы.">
|
||||
<section class="bg-gradient-to-br from-brand-light/30 via-white to-white">
|
||||
<div class="max-w-3xl mx-auto px-4 sm:px-6 py-14">
|
||||
<h1 class="text-4xl font-extrabold">О Food Market</h1>
|
||||
<p class="mt-4 text-lg text-slate-600">Программа учёта розничной торговли, созданная в Казахстане для казахстанских магазинов.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="max-w-3xl mx-auto px-4 sm:px-6 py-12 prose-md">
|
||||
<h2>Почему мы</h2>
|
||||
<p>Команда основателей — практики розницы и разработчики. Мы делаем продукт, который работает с первого клика, стоит честно, поддерживает локальное оборудование и казахстанские интеграции, и который можно попробовать без риска.</p>
|
||||
<ul>
|
||||
<li><strong>Касса с весами Масса-К из коробки</strong> — без переходников и сторонних драйверов.</li>
|
||||
<li><strong>Импорт каталога одной кнопкой</strong> — старый учёт переносится автоматически.</li>
|
||||
<li><strong>90 дней бесплатно без банковской карты</strong> — никаких автосписаний и сюрпризов.</li>
|
||||
<li><strong>Все модули в одном тарифе</strong> — CRM, лояльность, финансы, склад, аналитика включены.</li>
|
||||
</ul>
|
||||
<h2 class="text-2xl font-bold mt-12 mb-4">Дорожная карта</h2>
|
||||
<p class="text-slate-600">Что готово сейчас и что мы планируем — в разделе <a href="/changelog" class="text-brand underline">Changelog</a>.</p>
|
||||
|
||||
<h2>Принципы</h2>
|
||||
<ul>
|
||||
<li><strong>Прозрачность.</strong> Цены, тарифы, ограничения открыто на сайте — никаких «обсудим в личке».</li>
|
||||
<li><strong>Локальность.</strong> Серверы в Казахстане, поддержка по-русски, соответствие законодательству РК.</li>
|
||||
<li><strong>Скорость.</strong> Касса пробивает чек за 3 секунды, страница админки загружается за 1.</li>
|
||||
<li><strong>Самодостаточность.</strong> Магазин может настроить, импортировать, продать и проанализировать сам — без обязательных внедренцев.</li>
|
||||
</ul>
|
||||
|
||||
<h2>Команда</h2>
|
||||
<p class="text-sm text-slate-500 italic">Раздел в разработке — здесь появятся фото и био основателей, технического руководителя и команды поддержки.</p>
|
||||
|
||||
<h2>Контакты</h2>
|
||||
<p>Готовы помочь, услышать, сделать лучше. <a href="/contacts">Напишите нам →</a></p>
|
||||
</section>
|
||||
</BaseLayout>
|
||||
<style is:global>
|
||||
.prose-md { font-size: 16px; line-height: 1.75; color: #1e293b; }
|
||||
.prose-md h2 { font-size: 1.5rem; font-weight: 700; margin-top: 2rem; margin-bottom: 0.75rem; }
|
||||
.prose-md p { margin: 1rem 0; }
|
||||
.prose-md ul { margin: 1rem 0 1rem 1.5rem; }
|
||||
.prose-md li { margin: 0.35rem 0; }
|
||||
.prose-md a { color: #00B207; text-decoration: underline; }
|
||||
.prose-md strong { font-weight: 600; }
|
||||
</style>
|
||||
|
|
|
|||
37
src/food-market.public/src/pages/blog/[slug].astro
Normal file
37
src/food-market.public/src/pages/blog/[slug].astro
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
---
|
||||
import { getCollection } from 'astro:content'
|
||||
import BaseLayout from '@/layouts/BaseLayout.astro'
|
||||
|
||||
export async function getStaticPaths() {
|
||||
const posts = await getCollection('blog')
|
||||
return posts.map((p) => ({ params: { slug: p.slug }, props: { post: p } }))
|
||||
}
|
||||
const { post } = Astro.props
|
||||
const { Content } = await post.render()
|
||||
const fmt = post.data.date.toLocaleDateString('ru-KZ', { day: '2-digit', month: 'long', year: 'numeric' })
|
||||
---
|
||||
<BaseLayout title={post.data.title} description={post.data.description}>
|
||||
<article class="max-w-[720px] mx-auto px-4 sm:px-6 py-12">
|
||||
<a href="/blog" class="text-xs text-brand hover:underline">← Все посты</a>
|
||||
<p class="text-xs text-slate-500 mt-4">{fmt}</p>
|
||||
<h1 class="text-4xl font-extrabold mt-2">{post.data.title}</h1>
|
||||
<p class="text-lg text-slate-600 mt-3">{post.data.description}</p>
|
||||
<div class="prose-md mt-8"><Content /></div>
|
||||
</article>
|
||||
</BaseLayout>
|
||||
<style is:global>
|
||||
.prose-md { font-size: 16px; line-height: 1.75; color: #1e293b; }
|
||||
.prose-md h2 { font-size: 1.5rem; font-weight: 700; margin-top: 2rem; margin-bottom: 0.75rem; }
|
||||
.prose-md h3 { font-size: 1.125rem; font-weight: 600; margin-top: 1.5rem; margin-bottom: 0.5rem; }
|
||||
.prose-md p { margin: 1rem 0; }
|
||||
.prose-md ul, .prose-md ol { margin: 1rem 0 1rem 1.5rem; }
|
||||
.prose-md li { margin: 0.35rem 0; }
|
||||
.prose-md a { color: #00B207; text-decoration: underline; }
|
||||
.prose-md blockquote { border-left: 3px solid #00B207; background: #E8F5E9; padding: 0.75rem 1rem; margin: 1.25rem 0; font-style: italic; color: #1e293b; }
|
||||
.prose-md code { background: #f1f5f9; padding: 0.125rem 0.375rem; border-radius: 0.25rem; font-size: 0.875em; }
|
||||
.prose-md hr { margin: 2rem 0; border: 0; border-top: 1px solid #e2e8f0; }
|
||||
.prose-md strong { font-weight: 600; }
|
||||
.prose-md table { width: 100%; border-collapse: collapse; margin: 1rem 0; font-size: 0.95rem; }
|
||||
.prose-md th, .prose-md td { border: 1px solid #e2e8f0; padding: 0.5rem 0.75rem; text-align: left; }
|
||||
.prose-md th { background: #f8fafc; font-weight: 600; }
|
||||
</style>
|
||||
|
|
@ -1,12 +1,22 @@
|
|||
---
|
||||
import { getCollection } from 'astro:content'
|
||||
import BaseLayout from '@/layouts/BaseLayout.astro'
|
||||
const posts = (await getCollection('blog')).sort((a, b) => +b.data.date - +a.data.date)
|
||||
const fmt = (d: Date) => d.toLocaleDateString('ru-KZ', { day: '2-digit', month: 'long', year: 'numeric' })
|
||||
---
|
||||
<BaseLayout title="Блог" description="Блог Food Market: новости, релизы, лучшие практики автоматизации розницы.">
|
||||
<section class="max-w-3xl mx-auto px-4 sm:px-6 py-14 text-center">
|
||||
<BaseLayout title="Блог" description="Блог Food Market: новости, релизы, лучшие практики автоматизации розничных магазинов в Казахстане.">
|
||||
<section class="max-w-3xl mx-auto px-4 sm:px-6 py-14">
|
||||
<h1 class="text-4xl font-extrabold">Блог</h1>
|
||||
<p class="text-slate-500 mt-3">Новости, релизы, кейсы и практические статьи.</p>
|
||||
<div class="mt-12 rounded-xl border border-dashed border-slate-300 bg-slate-50 p-10 text-slate-500">
|
||||
✍️ Раздел в разработке. Скоро появятся первые посты.
|
||||
<p class="text-slate-500 mt-2">Запуски, миграции, лучшие практики розницы.</p>
|
||||
<div class="mt-10 space-y-4">
|
||||
{posts.map((p) => (
|
||||
<a href={`/blog/${p.slug}`} class="block rounded-xl border border-slate-200 bg-white p-5 hover:shadow-md hover:border-brand transition">
|
||||
<div class="text-xs text-slate-500">{fmt(p.data.date)}</div>
|
||||
<h2 class="text-xl font-bold mt-1">{p.data.title}</h2>
|
||||
<p class="text-sm text-slate-600 mt-2">{p.data.description}</p>
|
||||
<span class="text-xs text-brand mt-3 inline-block">Читать →</span>
|
||||
</a>
|
||||
))}
|
||||
</div>
|
||||
</section>
|
||||
</BaseLayout>
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ const releases = [
|
|||
{ 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: ['Документ приёмки со сканером','Skользящее среднее себестоимости','Inline quick-add позиций'] },
|
||||
{ date: '2026-03', title: 'Phase 1 — Каталог и tenant-изоляция', items: ['Multi-tenant архитектура','Товары, группы, штрихкоды, остатки','Импорт из МойСклад'] },
|
||||
{ date: '2026-03', title: 'Phase 1 — Каталог и tenant-изоляция', items: ['Multi-tenant архитектура','Товары, группы, штрихкоды, остатки','Импорт из другие системы'] },
|
||||
]
|
||||
---
|
||||
<BaseLayout title="Changelog" description="История релизов Food Market: что нового в продукте.">
|
||||
|
|
|
|||
|
|
@ -1,23 +1,49 @@
|
|||
---
|
||||
import BaseLayout from '@/layouts/BaseLayout.astro'
|
||||
---
|
||||
<BaseLayout title="Контакты" description="Контакты Food Market: техподдержка, отдел продаж, юридический адрес.">
|
||||
<section class="max-w-2xl mx-auto px-4 sm:px-6 py-14">
|
||||
<h1 class="text-4xl font-extrabold">Контакты</h1>
|
||||
<div class="mt-8 space-y-6">
|
||||
<div class="rounded-xl border border-slate-200 bg-white p-5">
|
||||
<h2 class="font-semibold">Техническая поддержка</h2>
|
||||
<p class="text-sm text-slate-500 mt-1">Для клиентов с активным аккаунтом — через чат в админке. Здесь будет email и телефон позже.</p>
|
||||
</div>
|
||||
<div class="rounded-xl border border-slate-200 bg-white p-5">
|
||||
<h2 class="font-semibold">Отдел продаж и партнёрство</h2>
|
||||
<p class="text-sm text-slate-500 mt-1">Тариф «Сеть», корпоративные внедрения, white-label партнёрство — пишите по контактам ниже.</p>
|
||||
</div>
|
||||
<div class="rounded-xl border border-slate-200 bg-white p-5">
|
||||
<h2 class="font-semibold">Юридический адрес и реквизиты</h2>
|
||||
<p class="text-sm text-slate-500 mt-1"><a href="/legal/requisites" class="text-brand underline">Реквизиты компании</a> — отдельная страница.</p>
|
||||
</div>
|
||||
<BaseLayout title="Контакты" description="Команда поддержки Food Market в часовом поясе Астаны. Электронная почта, телефон, мессенджеры.">
|
||||
<section class="bg-gradient-to-br from-brand-light/30 via-white to-white">
|
||||
<div class="max-w-3xl mx-auto px-4 sm:px-6 py-14">
|
||||
<h1 class="text-4xl font-extrabold">Контакты</h1>
|
||||
<p class="mt-4 text-lg text-slate-600">Команда поддержки в часовом поясе Астаны. Без чат-ботов и многоуровневых меню.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="max-w-3xl mx-auto px-4 sm:px-6 py-12 grid sm:grid-cols-2 gap-5">
|
||||
<div class="rounded-xl border border-slate-200 bg-white p-5">
|
||||
<div class="text-2xl">📧</div>
|
||||
<h2 class="font-semibold mt-2">Электронная почта</h2>
|
||||
<ul class="text-sm text-slate-700 mt-3 space-y-1">
|
||||
<li>Общие вопросы — <a class="text-brand underline" href="mailto:info@food-market.kz">info@food-market.kz</a></li>
|
||||
<li>Поддержка — <a class="text-brand underline" href="mailto:support@food-market.kz">support@food-market.kz</a></li>
|
||||
<li>Продажи и партнёрство — <a class="text-brand underline" href="mailto:sales@food-market.kz">sales@food-market.kz</a></li>
|
||||
<li>Персональные данные — <a class="text-brand underline" href="mailto:privacy@food-market.kz">privacy@food-market.kz</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="rounded-xl border border-slate-200 bg-white p-5">
|
||||
<div class="text-2xl">📞</div>
|
||||
<h2 class="font-semibold mt-2">Телефон</h2>
|
||||
<p class="text-sm text-slate-700 mt-3">+7 (___) ___-__-__ <span class="text-xs text-slate-400">(будет указан после регистрации юр.лица)</span></p>
|
||||
<p class="text-xs text-slate-500 mt-2">Часы работы: пн–пт, 09:00–19:00 (Астана).</p>
|
||||
</div>
|
||||
<div class="rounded-xl border border-slate-200 bg-white p-5">
|
||||
<div class="text-2xl">💬</div>
|
||||
<h2 class="font-semibold mt-2">Чат в админке</h2>
|
||||
<p class="text-sm text-slate-700 mt-3">Для клиентов с активным аккаунтом — встроенный чат поддержки в правом нижнем углу любого экрана.</p>
|
||||
</div>
|
||||
<div class="rounded-xl border border-slate-200 bg-white p-5">
|
||||
<div class="text-2xl">🏢</div>
|
||||
<h2 class="font-semibold mt-2">Юридические реквизиты</h2>
|
||||
<p class="text-sm text-slate-700 mt-3"><a class="text-brand underline" href="/legal/requisites">Реквизиты компании →</a></p>
|
||||
<p class="text-xs text-slate-500 mt-2">БИН, юридический адрес, банковские реквизиты — на отдельной странице.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="bg-slate-50 py-14">
|
||||
<div class="max-w-2xl mx-auto px-4 sm:px-6 text-center">
|
||||
<h2 class="text-2xl font-bold">Хотите попробовать продукт?</h2>
|
||||
<p class="text-slate-500 mt-2">Регистрация занимает минуту, триал 90 дней — без банковской карты.</p>
|
||||
<a href="/signup" class="inline-block mt-6 px-5 py-3 bg-brand text-white font-semibold rounded-md hover:bg-brand-hover">Начать бесплатно</a>
|
||||
</div>
|
||||
<p class="text-xs text-slate-400 mt-10 italic">Раздел в разработке. Финальные контакты появятся после регистрации юр.лица и запуска поддержки.</p>
|
||||
</section>
|
||||
</BaseLayout>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
import BaseLayout from '@/layouts/BaseLayout.astro'
|
||||
const sections = [
|
||||
{ id: 'catalog', icon: '📦', title: 'Товары и каталог', items: ['Иерархические группы и подгруппы','Штрихкоды EAN-13/EAN-8/Code128','Цены: розничная, оптовая, эталонная','Автогенерация артикула и штрихкода','Импорт из МойСклад','Картинки товаров','Атрибуты и характеристики'] },
|
||||
{ id: 'catalog', icon: '📦', title: 'Товары и каталог', items: ['Иерархические группы и подгруппы','Штрихкоды EAN-13/EAN-8/Code128','Цены: розничная, оптовая, эталонная','Автогенерация артикула и штрихкода','Импорт из другие системы','Картинки товаров','Атрибуты и характеристики'] },
|
||||
{ id: 'sales', icon: '💳', title: 'Продажи и касса', items: ['Касса для Windows','Поддержка весов Масса-К','Сканер штрихкодов USB','Чековые принтеры ESC/POS','Kaspi Pay интеграция','Скидки и акции','Возвраты на кассе'] },
|
||||
{ id: 'stock', icon: '🏬', title: 'Склад и остатки', items: ['Несколько складов','Приёмка со сканером','Автоматический расчёт себестоимости','Инвентаризация','Списание (брак/просрочка)','Оприходование','Перемещения между складами','История движений'] },
|
||||
{ id: 'purchase', icon: '🚚', title: 'Закупки и поставщики', items: ['База контрагентов','Заказы поставщикам','Документы приёмки','Скользящее среднее себестоимости','Эталонная цена'] },
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ const features = [
|
|||
<div class="max-w-4xl mx-auto px-4 sm:px-6 py-14">
|
||||
<span class="text-3xl">🛒</span>
|
||||
<h1 class="text-4xl font-extrabold mt-2">Программа учёта для продуктового магазина</h1>
|
||||
<p class="mt-4 text-lg text-slate-600">Весовой товар, скоропорт, штрихкоды, касса с весами Масса-К из коробки. Импорт из МойСклада.</p>
|
||||
<p class="mt-4 text-lg text-slate-600">Весовой товар, скоропорт, штрихкоды, касса с весами Масса-К из коробки. Импорт из другой системы.</p>
|
||||
<a href="/signup?plan=start" class="inline-block mt-7 px-5 py-3 bg-brand text-white font-semibold rounded-md">Начать бесплатно</a>
|
||||
</div>
|
||||
</section>
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ const features = [
|
|||
<div class="max-w-4xl mx-auto px-4 sm:px-6 py-14">
|
||||
<span class="text-3xl">💊</span>
|
||||
<h1 class="text-4xl font-extrabold mt-2">Программа учёта для аптеки</h1>
|
||||
<p class="mt-4 text-lg text-slate-600">Серии и сроки годности, рецептурный отпуск, группировка по МНН. Импорт из МойСклада.</p>
|
||||
<p class="mt-4 text-lg text-slate-600">Серии и сроки годности, рецептурный отпуск, группировка по МНН. Импорт из другой системы.</p>
|
||||
<a href="/signup?plan=start" class="inline-block mt-7 px-5 py-3 bg-brand text-white font-semibold rounded-md">Начать бесплатно</a>
|
||||
</div>
|
||||
</section>
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ const verticals = [
|
|||
]
|
||||
|
||||
const modules = [
|
||||
{ icon: '📦', title: 'Товары и каталог', text: 'Группы, штрихкоды, цены, остатки, импорт из МойСклад одной кнопкой.' },
|
||||
{ icon: '📦', title: 'Товары и каталог', text: 'Группы, штрихкоды, цены, остатки, импорт каталога одной кнопкой.' },
|
||||
{ icon: '💳', title: 'Продажи и касса', text: 'Касса для Windows с поддержкой весов Масса-К, штрихкодов, чековых принтеров.' },
|
||||
{ icon: '🏬', title: 'Склад и приёмки', text: 'Несколько складов, приёмка со сканером, инвентаризация, списание, оприходование.' },
|
||||
{ icon: '🚚', title: 'Закупки и поставщики', text: 'Документы приёмки с автоматическим расчётом себестоимости (скользящее среднее).' },
|
||||
|
|
@ -27,7 +27,7 @@ const integrations = [
|
|||
|
||||
<BaseLayout
|
||||
title="Программа учёта для розничных магазинов"
|
||||
description="Программа учёта и касса для розничных магазинов в Казахстане. Касса с весами, импорт из МойСклада, интеграция с Kaspi и ОФД РК. Бесплатно 90 дней без карты."
|
||||
description="Программа учёта и касса для розничных магазинов в Казахстане. Касса с весами Масса-К, импорт каталога одной кнопкой, интеграция с Kaspi и ОФД РК. Бесплатно 90 дней без карты."
|
||||
>
|
||||
{/* 1. Hero */}
|
||||
<section class="bg-gradient-to-br from-brand-light/40 via-white to-white">
|
||||
|
|
@ -37,7 +37,7 @@ const integrations = [
|
|||
Программа учёта и касса для розничных магазинов в Казахстане
|
||||
</h1>
|
||||
<p class="mt-5 text-lg text-slate-600">
|
||||
Касса с весами Масса-К, импорт из МойСклада, интеграция с Kaspi и ОФД РК.
|
||||
Касса с весами Масса-К, импорт каталога одной кнопкой, интеграция с Kaspi и ОФД РК.
|
||||
<strong>Бесплатно 90 дней без карты.</strong>
|
||||
</p>
|
||||
<div class="mt-7 flex flex-wrap gap-3">
|
||||
|
|
@ -67,7 +67,7 @@ const integrations = [
|
|||
</div>
|
||||
<div class="rounded-xl border border-slate-200 p-5">
|
||||
<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">Перенос товаров, остатков, контрагентов одной кнопкой за 10 минут.</p>
|
||||
</div>
|
||||
<div class="rounded-xl border border-slate-200 p-5">
|
||||
|
|
@ -166,7 +166,7 @@ const integrations = [
|
|||
<li>2 сотрудника</li>
|
||||
<li>Без лимита товаров</li>
|
||||
<li>Касса с весами</li>
|
||||
<li>Импорт из МойСклад</li>
|
||||
<li>Импорт каталога одной кнопкой</li>
|
||||
</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>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ const groups = [
|
|||
{ title: 'Платёжные системы', items: ['Kaspi Pay', 'Halyk Bank', 'Jusan Bank', 'Forte Bank'] },
|
||||
{ title: 'Фискализация', items: ['ОФД РК (все операторы)', 'Чековые принтеры ESC/POS'] },
|
||||
{ title: 'Маркетплейсы (скоро)', items: ['Kaspi Magazin', 'Ozon', 'Wildberries'] },
|
||||
{ title: 'Учётные системы', items: ['МойСклад (импорт каталога)', 'Excel CSV-импорт'] },
|
||||
{ title: 'Учётные системы', items: ['другие системы (импорт каталога)', 'Excel CSV-импорт'] },
|
||||
{ title: 'Оборудование', items: ['Весы Масса-К (USB/COM)', 'Сканеры штрихкодов USB', 'Денежные ящики', 'Дисплей покупателя'] },
|
||||
]
|
||||
---
|
||||
|
|
|
|||
18
src/food-market.public/src/pages/kb/[slug].astro
Normal file
18
src/food-market.public/src/pages/kb/[slug].astro
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
---
|
||||
import { getCollection } from 'astro:content'
|
||||
import BaseLayout from '@/layouts/BaseLayout.astro'
|
||||
export async function getStaticPaths() {
|
||||
const items = await getCollection('kb')
|
||||
return items.map((a) => ({ params: { slug: a.slug }, props: { article: a } }))
|
||||
}
|
||||
const { article } = Astro.props
|
||||
const { Content } = await article.render()
|
||||
---
|
||||
<BaseLayout title={article.data.title} description={`База знаний Food Market: ${article.data.title}.`}>
|
||||
<article class="max-w-[720px] mx-auto px-4 sm:px-6 py-12">
|
||||
<a href="/kb" class="text-xs text-brand hover:underline">← Все статьи</a>
|
||||
<p class="text-xs text-slate-500 mt-4">{article.data.category}</p>
|
||||
<h1 class="text-4xl font-extrabold mt-2">{article.data.title}</h1>
|
||||
<div class="prose-md mt-8"><Content /></div>
|
||||
</article>
|
||||
</BaseLayout>
|
||||
|
|
@ -1,12 +1,34 @@
|
|||
---
|
||||
import { getCollection } from 'astro:content'
|
||||
import BaseLayout from '@/layouts/BaseLayout.astro'
|
||||
const articles = (await getCollection('kb')).sort((a, b) => a.data.order - b.data.order)
|
||||
// Группировка по category
|
||||
const byCat = new Map<string, typeof articles>()
|
||||
for (const a of articles) {
|
||||
if (!byCat.has(a.data.category)) byCat.set(a.data.category, [])
|
||||
byCat.get(a.data.category)!.push(a)
|
||||
}
|
||||
---
|
||||
<BaseLayout title="База знаний" description="База знаний Food Market: статьи и инструкции для пользователей.">
|
||||
<section class="max-w-3xl mx-auto px-4 sm:px-6 py-14 text-center">
|
||||
<BaseLayout title="База знаний" description="База знаний Food Market: пошаговые инструкции по работе с программой учёта и кассой.">
|
||||
<section class="max-w-3xl mx-auto px-4 sm:px-6 py-14">
|
||||
<h1 class="text-4xl font-extrabold">База знаний</h1>
|
||||
<p class="text-slate-500 mt-3">Статьи и инструкции по работе с Food Market.</p>
|
||||
<div class="mt-12 rounded-xl border border-dashed border-slate-300 bg-slate-50 p-10 text-slate-500">
|
||||
📚 Раздел в разработке. Здесь появятся пошаговые инструкции по приёмке, инвентаризации, кассе и интеграциям.
|
||||
<p class="text-slate-500 mt-2">Пошаговые инструкции по работе с Food Market.</p>
|
||||
<div class="mt-10 space-y-8">
|
||||
{Array.from(byCat.entries()).map(([cat, items]) => (
|
||||
<section>
|
||||
<h2 class="text-xs uppercase tracking-wide font-semibold text-slate-500 mb-3">{cat}</h2>
|
||||
<ul class="divide-y divide-slate-200 border border-slate-200 rounded-xl bg-white">
|
||||
{items.map((a) => (
|
||||
<li>
|
||||
<a href={`/kb/${a.slug}`} class="block px-5 py-4 hover:bg-slate-50 flex items-center justify-between gap-3">
|
||||
<span class="font-medium">{a.data.title}</span>
|
||||
<span class="text-slate-400 text-sm">→</span>
|
||||
</a>
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
</section>
|
||||
))}
|
||||
</div>
|
||||
</section>
|
||||
</BaseLayout>
|
||||
|
|
|
|||
|
|
@ -1,72 +0,0 @@
|
|||
---
|
||||
import BaseLayout from '@/layouts/BaseLayout.astro'
|
||||
const compare = [
|
||||
{ row: 'Цена за базовый тариф', moy: 'от 4 900 ₽ ≈ 30 000 ₸', us: '5 000 ₸' },
|
||||
{ row: 'Касса с весами Масса-К', moy: '— (отдельный модуль)', us: '✓ из коробки' },
|
||||
{ row: 'CRM и лояльность', moy: '+ доплата', us: '✓ включено' },
|
||||
{ row: 'Финансовый учёт', moy: '+ доплата', us: '✓ включено' },
|
||||
{ row: 'Скорость интерфейса', moy: '~3 сек загрузка', us: '<1 сек' },
|
||||
{ row: 'Поддержка KZ-локализации', moy: 'базовая', us: 'полная (тенге, ОКЕИ, ОФД РК)' },
|
||||
{ row: 'Триал', moy: '14 дней', us: '90 дней без карты' },
|
||||
]
|
||||
---
|
||||
<BaseLayout title="Переход с МойСклада" description="Перенос товаров, штрихкодов, контрагентов и остатков из МойСклада в Food Market за один клик.">
|
||||
<section class="bg-gradient-to-br from-brand-light/40 via-white to-white">
|
||||
<div class="max-w-4xl mx-auto px-4 sm:px-6 py-14">
|
||||
<h1 class="text-4xl font-extrabold">Переходите с МойСклада<br/>за один клик</h1>
|
||||
<p class="mt-4 text-lg text-slate-600">Импорт товаров, групп, контрагентов, остатков и штрихкодов через ваш существующий API-токен МойСклада. 5–10 минут — и магазин уже работает в Food Market.</p>
|
||||
<a href="/signup?plan=start" class="inline-block mt-7 px-5 py-3 bg-brand text-white font-semibold rounded-md hover:bg-brand-hover">Начать миграцию</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="max-w-5xl mx-auto px-4 sm:px-6 py-14">
|
||||
<h2 class="text-3xl font-bold text-center mb-8">МойСклад vs Food Market</h2>
|
||||
<div class="overflow-x-auto rounded-xl border border-slate-200 bg-white">
|
||||
<table class="w-full text-sm">
|
||||
<thead class="bg-slate-50">
|
||||
<tr>
|
||||
<th class="text-left px-4 py-3 font-semibold">Параметр</th>
|
||||
<th class="text-left px-4 py-3 font-semibold">МойСклад</th>
|
||||
<th class="text-left px-4 py-3 font-semibold text-brand">Food Market</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="divide-y divide-slate-100">
|
||||
{compare.map((c) => (
|
||||
<tr>
|
||||
<td class="px-4 py-3 font-medium">{c.row}</td>
|
||||
<td class="px-4 py-3 text-slate-600">{c.moy}</td>
|
||||
<td class="px-4 py-3 text-slate-900 font-medium">{c.us}</td>
|
||||
</tr>
|
||||
))}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="bg-slate-50 py-14">
|
||||
<div class="max-w-4xl mx-auto px-4 sm:px-6">
|
||||
<h2 class="text-3xl font-bold text-center mb-2">Что переносится</h2>
|
||||
<p class="text-center text-slate-500 mb-8">Один токен — все данные.</p>
|
||||
<div class="grid sm:grid-cols-2 gap-3 text-sm">
|
||||
{['Товары и услуги','Группы и категории','Штрихкоды и артикулы','Цены (розничные + оптовые)','Контрагенты (поставщики и клиенты)','Остатки по складам','Единицы измерения','Атрибуты товаров'].map((x) => (
|
||||
<div class="bg-white rounded-md border border-slate-200 px-4 py-3">✓ {x}</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="max-w-3xl mx-auto px-4 sm:px-6 py-14">
|
||||
<h2 class="text-3xl font-bold text-center mb-10">3 шага до запуска</h2>
|
||||
<ol class="space-y-6">
|
||||
<li class="flex gap-4"><div class="flex-shrink-0 w-10 h-10 rounded-full bg-brand text-white font-bold flex items-center justify-center">1</div>
|
||||
<div><h3 class="font-semibold">Зарегистрируйтесь в Food Market</h3><p class="text-sm text-slate-600 mt-1">Создайте аккаунт за минуту. 90 дней триал без банковской карты.</p></div></li>
|
||||
<li class="flex gap-4"><div class="flex-shrink-0 w-10 h-10 rounded-full bg-brand text-white font-bold flex items-center justify-center">2</div>
|
||||
<div><h3 class="font-semibold">Подключите токен МойСклада</h3><p class="text-sm text-slate-600 mt-1">Настройки → Интеграции → МойСклад → ваш API-токен. Кнопка «Импортировать».</p></div></li>
|
||||
<li class="flex gap-4"><div class="flex-shrink-0 w-10 h-10 rounded-full bg-brand text-white font-bold flex items-center justify-center">3</div>
|
||||
<div><h3 class="font-semibold">Откройте кассу и работайте</h3><p class="text-sm text-slate-600 mt-1">Скачайте установщик кассы для Windows, подключите весы и сканер. Магазин запущен.</p></div></li>
|
||||
</ol>
|
||||
<div class="text-center mt-10">
|
||||
<a href="/signup?plan=start" class="px-5 py-3 bg-brand text-white font-semibold rounded-md hover:bg-brand-hover">Начать миграцию</a>
|
||||
</div>
|
||||
</section>
|
||||
</BaseLayout>
|
||||
|
|
@ -17,7 +17,7 @@ import BusinessTariffBuilder from '@/components/BusinessTariffBuilder.tsx'
|
|||
<li>✓ 2 сотрудника</li>
|
||||
<li>✓ Без лимита товаров</li>
|
||||
<li>✓ Касса с весами Масса-К</li>
|
||||
<li>✓ Импорт из МойСклад</li>
|
||||
<li>✓ Импорт из другие системы</li>
|
||||
<li>✓ Интеграции Kaspi / ОФД</li>
|
||||
<li class="text-slate-400">— API</li>
|
||||
<li class="text-slate-400">— SLA</li>
|
||||
|
|
|
|||
Loading…
Reference in a new issue