copy(site): честные тексты — только то, что есть в коде (ревью владельца)
Some checks are pending
Auto-tag / Create date-tag (push) Waiting to run
CI / Backend (.NET 8) (push) Waiting to run
CI / Web (React + Vite) (push) Waiting to run
CI / POS (WPF, Windows) (push) Waiting to run
Docker Public / Build + push Public (test + latest) (push) Waiting to run
Docker Public / Deploy :test → test.food-market.kz (push) Blocked by required conditions

Убраны обещания того, чего нет: фискализация ОФД/Kaspi Pay (skeleton) →
«в разработке»; ЕГАИС/акцизы/модификаторы/серии-сроки/размерные сетки →
удалены 5 выдуманных страниц-вертикалей (остался продуктовый); CRM/публичный
API убраны; «О нас» без выдуманной истории и команды. Касса — Windows и Linux
(не .msi), «Скачать» → «скоро». Импорт — CSV/1С-CSV/МойСклад. Лояльность — в
админке, не в кассе. Интеграции — честный блок «есть / в разработке».

Язык владельца магазина, без жаргона (дашборд, нативно, вертикали, фишки,
триал, SLA, CRM, Unlimited, кейсы) и пафоса. Заголовок кассы: «Быстрая касса,
которая работает и без интернета». Цены тарифов не менялись.

По правкам Mac-Claude после ревью docs/site-copy-draft.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
nns 2026-10-09 00:13:33 +05:00
parent 2965ced43d
commit 184fd14df2
21 changed files with 200 additions and 400 deletions

View file

@ -13,8 +13,22 @@
которая не тормозит и работает без интернета».
4. [x] Цифры — только подтверждённые замерами (запуск < 1 c; поиск по ШК — «мгновенно», без
цифры «14 мс», т.к. замер дал 36 мс). Цены тарифов не меняем, только язык.
5. [~] Черновик готов → `touch ~/.fm-watchdog/COPY-READY`, ЖДУ «ок»/правки Mac-Claude в tmux.
После «ок» — внести в .astro/.tsx, выложить на test.food-market.kz, скриншоты страниц.
5. [x] Черновик → COPY-READY → **«ОК» Mac-Claude с правками** (внесены все) → внесено в .astro/.tsx,
удалены 5 выдуманных вертикалей, интеграции честный мини-блок, FAQ/KB поправлены.
Выкладка на test.food-market.kz + скриншоты — ниже.
## Правки Mac-Claude (все внесены)
- «Запускается меньше чем за секунду» (неправда для первого старта Windows) → «Товар по штрихкоду
находится мгновенно, касса не тормозит даже на 30 000 товаров».
- Заголовок кассы → «Быстрая касса, которая работает и без интернета».
- Железо без обещаний «сама найдёт / без драйверов» → «Работает с торговыми весами (CAS, Масса-К
и совместимыми), сканерами и чековыми принтерами 58/80 мм. Подключение — в пару шагов в настройках».
- «Дашборд …» → «Главная страница с итогами дня для владельца».
- Публичного API нет → строки про API в тарифах убраны.
- 90 дней без карты — проверено: signup карту не спрашивает (оставлено).
- 1С-CSV: импорт реально принимает типовую выгрузку 1С (Артикул/Наименование/Цена/Штрихкод, `;`,
Windows-1251) — оставлено «сохраните выгрузку 1С в CSV».
- Убраны слова: дашборд, нативно, вертикали, фишки, триал, SLA, CRM, Unlimited, кейсы.
## Что НЕ трогаем
Прод (food-market.kz), shared-postgres, global.json, gateway nginx, sklad. Цены тарифов.

View file

@ -3,7 +3,7 @@ import { useState } from 'react'
const ITEMS = [
{
q: 'Чем ALL MARKET подходит моему магазину?',
a: 'ALL MARKET — облачная программа учёта розничной торговли, созданная под казахстанский рынок. Поддерживает все типы магазинов: продуктовые, аптеки, общепит, алкомаркеты, одежду, бытовые товары. Включает кассу для Windows с нативной поддержкой торговых весов, интеграцию с ОФД РК, Kaspi Pay и казахстанскими банками.',
a: 'ALL MARKET — программа учёта и касса для розничной торговли в Казахстане. Подходит для продуктовых и небольшой розницы. Каталог, остатки, приёмки, отчёты по прибыли — в браузере. Касса с торговыми весами работает на Windows и Linux, в том числе без интернета. Онлайн-касса (ОФД) и приём оплат картой — в разработке.',
},
{
q: 'Сколько стоит подписка?',
@ -11,7 +11,7 @@ const ITEMS = [
},
{
q: 'Нужно покупать какое-то железо?',
a: 'Не обязательно. Если у вас уже есть компьютер с Windows 10+ — установите кассу и работайте. Если нет — подойдёт любой ноутбук. Сканер штрихкодов и весы — стандартное недорогое оборудование, можем посоветовать модели.',
a: 'Не обязательно. Учёт, каталог и отчёты доступны сразу в браузере. Для кассы подойдёт обычный компьютер на Windows или Linux. Сканер штрихкодов и торговые весы — стандартное недорогое оборудование, можем посоветовать модели.',
},
{
q: 'Можно ли работать без интернета?',
@ -23,11 +23,11 @@ const ITEMS = [
},
{
q: 'Безопасно ли хранить данные у вас?',
a: 'Серверы расположены на территории Казахстана, данные шифруются при передаче (TLS 1.3) и при хранении. Резервные копии каждые 24 часа.',
a: 'Соединение шифруется, данные хранятся в облаке, делаются регулярные резервные копии. Выгрузить свой каталог и операции в файл можно в любой момент.',
},
{
q: 'Когда поддерживаете маркетплейсы (Kaspi Magazin, Wildberries, Ozon)?',
a: 'Базовая интеграция с Kaspi Magazin планируется в Q3 2026. Wildberries и Ozon — в дорожной карте. Подпишитесь на обновления, чтобы узнать первыми.',
q: 'Когда появятся интеграции с маркетплейсами и приём оплат картой?',
a: 'Онлайн-касса (ОФД), приём оплат картой и маркетплейсы (Kaspi Magazin, Wildberries, Ozon) — в планах. Конкретных сроков пока не называем: расскажем, когда будет готово.',
},
]

View file

@ -13,24 +13,14 @@ import Logo from './Logo.astro'
<h3 class="text-xs font-semibold uppercase text-slate-500 mb-2">Продукт</h3>
<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="/pos" class="text-slate-700 hover:text-brand">Касса</a></li>
<li><a href="/import" 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="/for-grocery" 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>
</ul>
</div>
<div>
<h3 class="text-xs font-semibold uppercase text-slate-500 mb-2">Для кого</h3>
<ul class="space-y-1.5">
<li><a href="/for-grocery" class="text-slate-700 hover:text-brand">Продуктовый магазин</a></li>
<li><a href="/for-pharmacy" class="text-slate-700 hover:text-brand">Аптека</a></li>
<li><a href="/for-cafe" class="text-slate-700 hover:text-brand">Кафе и общепит</a></li>
<li><a href="/for-alcohol" class="text-slate-700 hover:text-brand">Алкоголь</a></li>
<li><a href="/for-clothing" class="text-slate-700 hover:text-brand">Одежда</a></li>
<li><a href="/for-household" class="text-slate-700 hover:text-brand">Дом и быт</a></li>
</ul>
</div>
<div>
<h3 class="text-xs font-semibold uppercase text-slate-500 mb-2">Ресурсы</h3>
<ul class="space-y-1.5">

View file

@ -9,18 +9,8 @@ const APP_URL = import.meta.env.PUBLIC_APP_URL || 'https://admin.food-market.kz'
<nav class="hidden lg:flex items-center gap-1 text-sm">
<a href="/features" class="px-3 py-2 hover:text-brand transition">Возможности</a>
<a href="/pos" class="px-3 py-2 hover:text-brand transition">Касса</a>
<div class="relative group">
<button class="px-3 py-2 hover:text-brand transition">Для кого ▾</button>
<div class="absolute hidden group-hover:block top-full left-0 w-56 bg-white border border-slate-200 rounded-lg shadow-lg p-1.5">
<a href="/for-grocery" class="block px-3 py-1.5 rounded hover:bg-slate-50 text-sm">Продуктовый магазин</a>
<a href="/for-pharmacy" class="block px-3 py-1.5 rounded hover:bg-slate-50 text-sm">Аптека</a>
<a href="/for-cafe" class="block px-3 py-1.5 rounded hover:bg-slate-50 text-sm">Кафе и общепит</a>
<a href="/for-alcohol" class="block px-3 py-1.5 rounded hover:bg-slate-50 text-sm">Алкоголь</a>
<a href="/for-clothing" class="block px-3 py-1.5 rounded hover:bg-slate-50 text-sm">Одежда</a>
<a href="/for-household" class="block px-3 py-1.5 rounded hover:bg-slate-50 text-sm">Дом и быт</a>
</div>
</div>
<a href="/integrations" class="px-3 py-2 hover:text-brand transition">Интеграции</a>
<a href="/for-grocery" class="px-3 py-2 hover:text-brand transition">Для продуктовых</a>
<a href="/import" class="px-3 py-2 hover:text-brand transition">Импорт</a>
<a href="/pricing" class="px-3 py-2 hover:text-brand transition">Тарифы</a>
<a href="/kb" class="px-3 py-2 hover:text-brand transition">База знаний</a>
<a href="/blog" class="px-3 py-2 hover:text-brand transition">Блог</a>

View file

@ -53,8 +53,8 @@ order: 99
### Касса работает без интернета?
Да, в офлайн-режиме. Синхронизируется с облаком когда связь появляется.
### Можно подключить онлайн-кассу для ОФД РК?
Да, поддерживаем ОКП-совместимые принтеры и интеграцию с операторами фискальных данных РК.
### Можно ли подключить онлайн-кассу (ОФД)?
Пока нет. Касса печатает товарный чек на чековом принтере. Фискализацию через ОФД РК и приём оплат картой подключим — расскажем, когда будет готово.
### Есть ли мобильное приложение?
Сейчас нет, в дорожной карте на 2026 год — приложение для руководителя (просмотр аналитики).

View file

@ -52,7 +52,7 @@ order: 1
## Что дальше?
- Добавить остальных кассиров и сотрудников: [Управление пользователями](/kb/users)
- Настроить программу лояльности: [Лояльность и скидки](/kb/loyalty)
- Подключить Kaspi Pay: [Интеграции](/kb/integrations)
- Настроить скидки и программу лояльности: [Лояльность и скидки](/kb/loyalty)
- Перенести каталог из старой системы: [Импорт каталога](/import)
```

View file

@ -1,44 +1,41 @@
---
import BaseLayout from '@/layouts/BaseLayout.astro'
---
<BaseLayout title="О нас" description="ALL MARKET — программа учёта и касса для розничных магазинов Казахстана. История, команда, принципы." ogImage="/og/about.png">
<BaseLayout title="О нас" description="ALL MARKET — программа учёта и касса для розничных магазинов Казахстана. Что уже работает и что в разработке." ogImage="/og/about.png">
<section class="relative overflow-hidden">
<img src="/photos/about-hero.jpg" alt="" class="absolute inset-0 w-full h-full object-cover" />
<div class="absolute inset-0 bg-gradient-to-r from-slate-900/85 via-slate-900/60 to-transparent"></div>
<div class="relative max-w-3xl mx-auto px-4 sm:px-6 py-20 lg:py-28">
<h1 class="text-4xl lg:text-5xl font-extrabold text-white drop-shadow-lg">О ALL MARKET</h1>
<p class="mt-4 text-lg text-emerald-50 max-w-xl">Программа учёта розничной торговли, созданная в Казахстане для казахстанских магазинов.</p>
<p class="mt-4 text-lg text-emerald-50 max-w-xl">Программа учёта и касса для розничных магазинов Казахстана.</p>
</div>
</section>
<section class="max-w-3xl mx-auto px-4 sm:px-6 py-12 prose-md">
<h2>История</h2>
<p>ALL MARKET запустился в 2026 году как ответ на запрос рынка: розничные магазины в Казахстане заслуживают современный, быстрый и честный инструмент для ведения бизнеса.</p>
<p>Команда основателей — практики розницы и разработчики, которые три года изнутри наблюдали как магазины ведут учёт, какие проблемы решают каждый день, чего им не хватает в существующих инструментах.</p>
<p>Мы поставили перед собой задачу сделать продукт, который работает с первого клика — без долгой настройки и платных консультаций; нативно поддерживает локальное железо (торговые весы из коробки, без переходников); соответствует реалиям РК (Kaspi Pay, ОФД, законодательство, поддержка на русском); и который можно попробовать без риска — настоящий триал, без привязки карты.</p>
<p>ALL MARKET — программа учёта и касса для розничной торговли в Казахстане. Мы делаем простой и честный инструмент: завести товары, пробивать чеки, видеть остатки и прибыль — без долгой настройки и платных внедрений.</p>
<h2>Почему мы</h2>
<p>Мы делаем продукт, который работает с первого клика, стоит честно, поддерживает локальное оборудование и казахстанские интеграции, и который можно попробовать без риска.</p>
<h2>Что уже работает</h2>
<ul>
<li><strong>Касса с поддержкой торговых весов из коробки</strong> — без переходников и сторонних драйверов.</li>
<li><strong>Импорт каталога одной кнопкой</strong> — старый учёт переносится автоматически.</li>
<li><strong>90 дней бесплатно без банковской карты</strong> — никаких автосписаний и сюрпризов.</li>
<li><strong>Все модули в одном тарифе</strong> — CRM, лояльность, финансы, склад, аналитика включены.</li>
<li>Каталог товаров: группы, штрихкоды, цены, остатки.</li>
<li>Касса с торговыми весами — для Windows и Linux, работает без интернета.</li>
<li>Склад: приёмки, инвентаризация, списание, оприходование, перемещение.</li>
<li>Отчёты по продажам, остаткам и прибыли.</li>
<li>Перенос каталога из МойСклад и из файла CSV (в том числе выгрузки 1С).</li>
</ul>
<h2>Принципы</h2>
<h2>Что в разработке</h2>
<ul>
<li><strong>Прозрачность.</strong> Цены, тарифы, ограничения открыто на сайте — никаких «обсудим в личке».</li>
<li><strong>Локальность.</strong> Серверы в Казахстане, поддержка по-русски, соответствие законодательству РК.</li>
<li><strong>Скорость.</strong> Касса пробивает чек за 3 секунды, страница админки загружается за 1.</li>
<li><strong>Самодостаточность.</strong> Магазин может настроить, импортировать, продать и проанализировать сам — без обязательных внедренцев.</li>
<li>Онлайн-касса (ОФД) и приём оплат картой.</li>
<li>Публичная загрузка кассы для Windows и Linux.</li>
<li>Мобильное приложение и интеграции с маркетплейсами.</li>
</ul>
<p>Мы не обещаем того, чего ещё нет: если функция в разработке — так и пишем.</p>
<h2>Команда</h2>
<p class="text-sm text-slate-500 italic">Раздел в разработке — здесь появятся фото и био основателей, технического руководителя и команды поддержки.</p>
<h2>Как попробовать</h2>
<p>Зарегистрируйтесь и работайте бесплатно 90 дней, без банковской карты. Понравится — выберете тариф. Нет — заберёте свои данные и уйдёте.</p>
<h2>Контакты</h2>
<p>Готовы помочь, услышать, сделать лучше. <a href="/contacts">Напишите нам →</a></p>
<p>Готовы помочь и услышать, что улучшить. <a href="/contacts">Напишите нам →</a></p>
</section>
</BaseLayout>
<style is:global>

View file

@ -42,7 +42,7 @@ import BaseLayout from '@/layouts/BaseLayout.astro'
<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>
<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>
</section>

View file

@ -1,18 +1,18 @@
---
import BaseLayout from '@/layouts/BaseLayout.astro'
const sections = [
{ 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: ['База контрагентов','Заказы поставщикам','Документы приёмки','Скользящее среднее себестоимости','Эталонная цена'] },
{ id: 'crm', icon: '👥', title: 'Клиенты и лояльность', items: ['База клиентов','Скидочные карты (скоро)','Программы лояльности (скоро)','Сегментация (скоро)','SMS-рассылки (скоро)'] },
{ id: 'finance', icon: '📊', title: 'Финансы и аналитика', items: ['Дашборд продаж','Отчёт по марже','Отчёт по остаткам','Аналитика клиентов (скоро)','API для BI-инструментов'] },
{ id: 'catalog', icon: '📦', title: 'Товары и каталог', items: ['Группы и подгруппы','Штрихкоды EAN-13, EAN-8, Code 128','Цены: розничная и оптовая','Автогенерация штрихкода для весовых товаров','Импорт из CSV, 1С и МойСклад','Фото товаров'] },
{ id: 'sales', icon: '💳', title: 'Продажи и касса', items: ['Касса для Windows и Linux','Работа без интернета','Поддержка торговых весов','USB-сканер штрихкодов','Печать чека (58/80 мм)','Скидки и акции','Возвраты на кассе'] },
{ id: 'stock', icon: '🏬', title: 'Склад и остатки', items: ['Несколько складов','Приёмка со сканером','Себестоимость считается автоматически','Инвентаризация','Списание (брак/просрочка)','Оприходование','Перемещения между складами','История движений'] },
{ id: 'purchase', icon: '🚚', title: 'Закупки и поставщики', items: ['База поставщиков','Документы приёмки','Себестоимость по приёмкам','Возвраты поставщику'] },
{ id: 'crm', icon: '👥', title: 'Клиенты и скидки', items: ['База клиентов и поставщиков','Скидки и акции','Программы лояльности (расширенный режим)'] },
{ id: 'finance', icon: '📊', title: 'Отчёты', items: ['Главная с итогами дня','Отчёт по продажам','Отчёт по прибыли и марже','Отчёт по остаткам','ABC-анализ (расширенный режим)'] },
]
---
<BaseLayout title="Возможности" description="Полный список возможностей ALL MARKET: каталог, касса, склад, закупки, CRM, аналитика.">
<BaseLayout title="Возможности" description="Возможности ALL MARKET: каталог, касса, склад, закупки, клиенты, отчёты.">
<section class="max-w-5xl mx-auto px-4 sm:px-6 py-12">
<h1 class="text-4xl font-extrabold text-center">Возможности</h1>
<p class="text-center text-slate-500 mt-3">6 модулей вместо 40 функций. Группируем по сценариям.</p>
<p class="text-center text-slate-500 mt-3">Шесть модулей — по сценариям работы магазина.</p>
<div class="space-y-8 mt-12">
{sections.map((s) => (
<section id={s.id} class="rounded-xl border border-slate-200 bg-white p-6">

View file

@ -1,36 +0,0 @@
---
import BaseLayout from '@/layouts/BaseLayout.astro'
const features = [
{ icon: '🏷️', title: 'Акцизные марки', text: 'Сканирование марок при приёмке, привязка к товарным позициям, контроль продаж.' },
{ icon: '📜', title: 'ЕГАИС-ready', text: 'Архитектура совместима с ЕГАИС-РК (когда систему развернут полностью). Подготовлены отчёты.' },
{ icon: '🕐', title: 'Контроль времени продаж', text: 'Запрет продаж в часы после 23:00 / до 9:00 (по требованию законодательства).' },
{ icon: '🆔', title: 'Проверка возраста', text: 'Запрос подтверждения возраста на кассе перед продажей алкогольных позиций.' },
]
---
<BaseLayout title="Для алкогольных магазинов" description="ALL MARKET для алкоголя: акцизные марки, ЕГАИС-ready, контроль времени продаж, проверка возраста." ogImage="/og/for-alcohol.png">
<section class="relative overflow-hidden">
<img src="/photos/vertical-alcohol.jpg" alt="" class="absolute inset-0 w-full h-full object-cover" />
<div class="absolute inset-0 bg-gradient-to-r from-slate-900/85 via-slate-900/60 to-transparent"></div>
<div class="relative max-w-4xl mx-auto px-4 sm:px-6 py-20 lg:py-28">
<span class="text-3xl">🍷</span>
<h1 class="text-4xl lg:text-5xl font-extrabold mt-2 text-white drop-shadow-lg">Программа учёта<br/>для алкоголя</h1>
<p class="mt-4 text-lg text-emerald-50 max-w-xl">Акцизные марки, ЕГАИС-ready, контроль времени продаж и возраста.</p>
<a href="/signup?plan=start" class="inline-block mt-7 px-5 py-3 bg-white text-brand font-bold rounded-md shadow-lg">Начать бесплатно</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-10">Что важно для алкомаркета</h2>
<div class="grid sm:grid-cols-2 gap-5">
{features.map((f) => (
<div class="rounded-xl border border-slate-200 p-5">
<div class="text-3xl">{f.icon}</div>
<h3 class="font-semibold mt-2">{f.title}</h3>
<p class="text-sm text-slate-600 mt-1.5">{f.text}</p>
</div>
))}
</div>
</section>
<section class="bg-slate-50 py-14 text-center">
<p class="italic text-slate-700 max-w-2xl mx-auto px-4">«Раздел кейсов в разработке.»</p>
</section>
</BaseLayout>

View file

@ -1,36 +0,0 @@
---
import BaseLayout from '@/layouts/BaseLayout.astro'
const features = [
{ icon: '🍔', title: 'Модификаторы и комбо', text: 'Опции к блюдам (без лука, добавить сыр), комбо-меню с автоматической ценой.' },
{ icon: '👨‍🍳', title: 'Технологические карты', text: 'Состав блюд, нормы списания ингредиентов, автоматический пересчёт остатков продуктов.' },
{ icon: '🧾', title: 'Заказы по столикам', text: 'Открытие чека на столик, перемещение между столами, разделение чека.' },
{ icon: '📈', title: 'Анализ блюд', text: 'Какие блюда продаются, какие нет. Маржинальность по позиции.' },
]
---
<BaseLayout title="Для кафе и общепита" description="ALL MARKET для кафе и общепита: модификаторы, комбо, тех.карты, заказы по столикам." ogImage="/og/for-cafe.png">
<section class="relative overflow-hidden">
<img src="/photos/vertical-cafe.jpg" alt="" class="absolute inset-0 w-full h-full object-cover" />
<div class="absolute inset-0 bg-gradient-to-r from-slate-900/80 via-slate-900/55 to-transparent"></div>
<div class="relative max-w-4xl mx-auto px-4 sm:px-6 py-20 lg:py-28">
<span class="text-3xl">☕</span>
<h1 class="text-4xl lg:text-5xl font-extrabold mt-2 text-white drop-shadow-lg">Программа учёта<br/>для кафе и общепита</h1>
<p class="mt-4 text-lg text-emerald-50 max-w-xl">Модификаторы, комбо, технологические карты, заказы по столикам. Списание ингредиентов автоматом.</p>
<a href="/signup?plan=start" class="inline-block mt-7 px-5 py-3 bg-white text-brand font-bold rounded-md shadow-lg">Начать бесплатно</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-10">Что важно для кафе</h2>
<div class="grid sm:grid-cols-2 gap-5">
{features.map((f) => (
<div class="rounded-xl border border-slate-200 p-5">
<div class="text-3xl">{f.icon}</div>
<h3 class="font-semibold mt-2">{f.title}</h3>
<p class="text-sm text-slate-600 mt-1.5">{f.text}</p>
</div>
))}
</div>
</section>
<section class="bg-slate-50 py-14 text-center">
<p class="italic text-slate-700 max-w-2xl mx-auto px-4">«Раздел кейсов в разработке.»</p>
</section>
</BaseLayout>

View file

@ -1,36 +0,0 @@
---
import BaseLayout from '@/layouts/BaseLayout.astro'
const features = [
{ icon: '📏', title: 'Размерные сетки', text: 'Один товар — много размеров и цветов. Учёт остатков по каждой комбинации.' },
{ icon: '🎨', title: 'Цвета и принты', text: 'Атрибуты товара: цвет, материал, сезон. Поиск и фильтры по атрибутам.' },
{ icon: '🛍️', title: 'Маркетплейсы', text: 'Выгрузка на Kaspi Magazin, Ozon, Wildberries (скоро) — синхронизация остатков.' },
{ icon: '🔄', title: 'Возвраты', text: 'Удобный возврат на кассе с возвратом денег или обменом на другой размер.' },
]
---
<BaseLayout title="Для магазина одежды" description="ALL MARKET для одежды: размерные сетки, цвета, маркетплейсы, удобные возвраты." ogImage="/og/for-clothing.png">
<section class="relative overflow-hidden">
<img src="/photos/vertical-clothing.jpg" alt="" class="absolute inset-0 w-full h-full object-cover" />
<div class="absolute inset-0 bg-gradient-to-r from-slate-900/80 via-slate-900/55 to-transparent"></div>
<div class="relative max-w-4xl mx-auto px-4 sm:px-6 py-20 lg:py-28">
<span class="text-3xl">👔</span>
<h1 class="text-4xl lg:text-5xl font-extrabold mt-2 text-white drop-shadow-lg">Программа учёта<br/>для магазина одежды</h1>
<p class="mt-4 text-lg text-emerald-50 max-w-xl">Размерные сетки, цвета, выгрузка на маркетплейсы, удобные возвраты.</p>
<a href="/signup?plan=start" class="inline-block mt-7 px-5 py-3 bg-white text-brand font-bold rounded-md shadow-lg">Начать бесплатно</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-10">Что важно для одежды</h2>
<div class="grid sm:grid-cols-2 gap-5">
{features.map((f) => (
<div class="rounded-xl border border-slate-200 p-5">
<div class="text-3xl">{f.icon}</div>
<h3 class="font-semibold mt-2">{f.title}</h3>
<p class="text-sm text-slate-600 mt-1.5">{f.text}</p>
</div>
))}
</div>
</section>
<section class="bg-slate-50 py-14 text-center">
<p class="italic text-slate-700 max-w-2xl mx-auto px-4">«Раздел кейсов в разработке.»</p>
</section>
</BaseLayout>

View file

@ -1,10 +1,10 @@
---
import BaseLayout from '@/layouts/BaseLayout.astro'
const features = [
{ icon: '⚖️', title: 'Весовой товар', text: 'Касса принимает вес с торговых весов напрямую — стоимость пересчитывается сразу.' },
{ icon: '📅', title: 'Скоропорт и сроки', text: 'Контроль сроков годности, уведомление за N дней, списание просрочки одним кликом.' },
{ icon: '🏷️', title: 'Печать ценников и штрихкодов', text: 'Внутренняя нумерация EAN-13 для весовых товаров, автогенерация при заведении.' },
{ icon: '📊', title: 'ABC-анализ', text: 'Ходовые и неходовые позиции по сумме / марже / штукам. Решения по матрице за минуту.' },
{ icon: '⚖️', title: 'Весовой товар', text: 'Касса принимает вес с торговых весов напрямую — сумма пересчитывается сразу.' },
{ icon: '🏷️', title: 'Весовые штрихкоды', text: 'Внутренняя нумерация EAN-13 для весовых товаров генерируется автоматически при заведении. Касса распознаёт вес прямо из штрихкода с весов.' },
{ icon: '🗑️', title: 'Списание порчи и просрочки', text: 'Просрочку и порчу списываете отдельным документом с причиной — видно в отчёте по списаниям.' },
{ icon: '📊', title: 'ABC-анализ', text: 'Ходовые и неходовые позиции — по сумме, марже или штукам. В отчётах, в расширенном режиме.' },
]
---
<BaseLayout title="Для продуктового магазина" description="ALL MARKET для продуктового магазина: весовой товар, штрихкоды, скоропорт, ABC-анализ." ogImage="/og/for-grocery.png">
@ -31,6 +31,9 @@ const features = [
</div>
</section>
<section class="bg-slate-50 py-14 text-center">
<p class="italic text-slate-700 max-w-2xl mx-auto px-4">«Раздел кейсов в разработке. Здесь появятся истории магазинов «у дома» и минимаркетов.»</p>
<div class="max-w-2xl mx-auto px-4">
<p class="text-slate-700">Подходит и для другой небольшой розницы: хозтовары, канцелярия, пекарни. Касса, остатки и отчёты работают одинаково.</p>
<a href="/signup?plan=start" class="inline-block mt-6 px-5 py-3 bg-brand text-white font-semibold rounded-md hover:bg-brand-hover">Начать бесплатно</a>
</div>
</section>
</BaseLayout>

View file

@ -1,36 +0,0 @@
---
import BaseLayout from '@/layouts/BaseLayout.astro'
const features = [
{ icon: '🛡️', title: 'Гарантийные сроки', text: 'Учёт сроков гарантии на товар, печать гарантийного талона при продаже.' },
{ icon: '🔧', title: 'Серийные номера', text: 'Привязка серийного номера к продаже для возможности возврата по гарантии.' },
{ icon: '🎁', title: 'Комплекты товаров', text: 'Продажа набора (например посуда) одной позицией с автоматическим списанием компонентов.' },
{ icon: '📤', title: 'Маркетплейсы', text: 'Выгрузка на Kaspi Magazin, синхронизация цен и остатков (скоро).' },
]
---
<BaseLayout title="Для магазина дом и быт" description="ALL MARKET для магазина товаров для дома: гарантийные сроки, серийные номера, комплекты, маркетплейсы." ogImage="/og/for-household.png">
<section class="relative overflow-hidden">
<img src="/photos/vertical-household.jpg" alt="" class="absolute inset-0 w-full h-full object-cover" />
<div class="absolute inset-0 bg-gradient-to-r from-slate-900/80 via-slate-900/55 to-transparent"></div>
<div class="relative max-w-4xl mx-auto px-4 sm:px-6 py-20 lg:py-28">
<span class="text-3xl">🏠</span>
<h1 class="text-4xl lg:text-5xl font-extrabold mt-2 text-white drop-shadow-lg">Программа учёта<br/>для дома и быта</h1>
<p class="mt-4 text-lg text-emerald-50 max-w-xl">Гарантийные сроки, серийные номера, комплекты, выгрузка на маркетплейсы.</p>
<a href="/signup?plan=start" class="inline-block mt-7 px-5 py-3 bg-white text-brand font-bold rounded-md shadow-lg">Начать бесплатно</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-10">Что важно для дом/быт</h2>
<div class="grid sm:grid-cols-2 gap-5">
{features.map((f) => (
<div class="rounded-xl border border-slate-200 p-5">
<div class="text-3xl">{f.icon}</div>
<h3 class="font-semibold mt-2">{f.title}</h3>
<p class="text-sm text-slate-600 mt-1.5">{f.text}</p>
</div>
))}
</div>
</section>
<section class="bg-slate-50 py-14 text-center">
<p class="italic text-slate-700 max-w-2xl mx-auto px-4">«Раздел кейсов в разработке.»</p>
</section>
</BaseLayout>

View file

@ -1,36 +0,0 @@
---
import BaseLayout from '@/layouts/BaseLayout.astro'
const features = [
{ icon: '🧪', title: 'Серии и сроки годности', text: 'Партионный учёт с серийными номерами и контролем сроков. Просрочка не пробивается на кассе.' },
{ icon: '💊', title: 'Рецептурный учёт', text: 'Отметка рецептурных препаратов, требование подтверждения отпуска фармацевтом.' },
{ icon: '📋', title: 'Группы товаров по МНН', text: 'Международные непатентованные наименования, поиск аналогов, замена при отсутствии.' },
{ icon: '🔒', title: 'Контроль доступа', text: 'Роли «Фармацевт» и «Заведующий» с разными правами. Логирование всех операций.' },
]
---
<BaseLayout title="Для аптеки" description="ALL MARKET для аптеки: партионный учёт, серии и сроки годности, рецептурные препараты, МНН-группы." ogImage="/og/for-pharmacy.png">
<section class="relative overflow-hidden">
<img src="/photos/vertical-pharmacy.jpg" alt="" class="absolute inset-0 w-full h-full object-cover" />
<div class="absolute inset-0 bg-gradient-to-r from-slate-900/80 via-slate-900/55 to-transparent"></div>
<div class="relative max-w-4xl mx-auto px-4 sm:px-6 py-20 lg:py-28">
<span class="text-3xl">💊</span>
<h1 class="text-4xl lg:text-5xl font-extrabold mt-2 text-white drop-shadow-lg">Программа учёта<br/>для аптеки</h1>
<p class="mt-4 text-lg text-emerald-50 max-w-xl">Серии и сроки годности, рецептурный отпуск, группировка по МНН. Импорт из другой системы.</p>
<a href="/signup?plan=start" class="inline-block mt-7 px-5 py-3 bg-white text-brand font-bold rounded-md shadow-lg">Начать бесплатно</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-10">Что важно для аптеки</h2>
<div class="grid sm:grid-cols-2 gap-5">
{features.map((f) => (
<div class="rounded-xl border border-slate-200 p-5">
<div class="text-3xl">{f.icon}</div>
<h3 class="font-semibold mt-2">{f.title}</h3>
<p class="text-sm text-slate-600 mt-1.5">{f.text}</p>
</div>
))}
</div>
</section>
<section class="bg-slate-50 py-14 text-center">
<p class="italic text-slate-700 max-w-2xl mx-auto px-4">«Раздел кейсов в разработке.»</p>
</section>
</BaseLayout>

View file

@ -2,9 +2,9 @@
import BaseLayout from '@/layouts/BaseLayout.astro'
const formats = [
{ icon: '📊', title: 'Excel и CSV', text: 'Загрузите файл с каталогом — ALL MARKET распознает столбцы и подгрузит данные. Подходит для миграции из любой системы, которая умеет экспортировать в Excel/CSV. Требуемые столбцы: название, штрихкод, цена. Остальные опциональны.' },
{ icon: '🔌', title: 'API сторонних систем', text: 'Прямая интеграция через API для популярных систем учёта в Казахстане. Введите API-токен — ALL MARKET подтянет товары, контрагентов, остатки и цены автоматически.' },
{ icon: '📦', title: '1С: Бухгалтерия', text: 'Импорт через стандартную выгрузку 1С (XML/Excel). Каталог, контрагенты, остатки.' },
{ icon: '📊', title: 'Файл CSV', text: 'Выгрузите каталог из старой системы в CSV (Excel умеет «Сохранить как CSV»). ALL MARKET разложит данные по колонкам. Нужны колонки: название, штрихкод, цена — остальное по желанию.' },
{ icon: '🔌', title: 'Из МойСклад', text: 'Введите токен МойСклад — ALL MARKET подтянет товары, контрагентов, остатки и цены.' },
{ icon: '📦', title: 'Из 1С', text: 'Сохраните типовую выгрузку 1С (Бухгалтерия, УТ, Розница) в CSV и загрузите файлом. Каталог, цены, штрихкоды, группы.' },
]
const matrix: [string, string, string][] = [
@ -13,36 +13,34 @@ const matrix: [string, string, string][] = [
['Единицы измерения', '✅', '✅'],
['Контрагенты (поставщики, клиенты)', '⚠️ Отдельным файлом', '✅'],
['Текущие остатки по складам', '⚠️ Отдельным файлом', '✅'],
['Цены по типам (опт, розница, акция)', '⚠️ Отдельным файлом', '✅'],
['Фотографии товаров', '❌ Только по URL', '✅'],
['Характеристики (произвольные поля)', '✅', '✅'],
['Цены по типам (розница, опт)', '⚠️ Отдельным файлом', '✅'],
]
const steps = [
{ title: 'Зарегистрируйтесь в ALL MARKET', text: 'Заполните минимальную форму: email, название магазина, пароль. Триал 90 дней активируется автоматически.' },
{ title: 'Подготовьте данные', text: 'Excel/CSV: экспортируйте каталог в .xlsx или .csv. Через API: получите API-токен в вашей текущей системе.' },
{ title: 'Зарегистрируйтесь в ALL MARKET', text: 'Заполните короткую форму: email, название магазина, пароль. 90 дней бесплатно, без карты.' },
{ title: 'Подготовьте данные', text: 'CSV: выгрузите каталог из старой системы в CSV. Из МойСклад: получите токен в настройках МойСклад.' },
{ title: 'Запустите импорт', text: 'В админке: «Импорт» → выберите формат → загрузите файл или введите токен → нажмите «Запустить».' },
{ title: 'Проверьте результат', text: 'Откройте «Товары» — каталог должен быть полным. Проверьте 5-10 случайных товаров: цены, штрихкоды, остатки.' },
{ title: 'Установите кассу и продавайте', text: 'Скачайте установщик кассы для Windows. Подключите весы и сканер. Откройте смену.' },
{ title: 'Проверьте результат', text: 'Откройте «Товары» — каталог должен быть полным. Проверьте 5–10 случайных товаров: цены, штрихкоды, остатки.' },
{ title: 'Начните вести учёт', text: 'Каталог, остатки и отчёты — сразу в браузере. Касса для Windows и Linux появится для скачивания скоро.' },
]
const faq = [
{ q: 'Сохранятся ли данные в исходной системе?', a: 'Да. Импорт через API только читает данные — ничего не удаляет и не меняет. Excel-импорт работает с файлом-копией. Ваш текущий учёт остаётся нетронутым.' },
{ 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 — поможем разобраться и при необходимости настроим импорт вручную.' },
]
---
<BaseLayout title="Импорт каталога" description="Перенесите товары, контрагентов, остатки и штрихкоды из вашей текущей системы за минуты. Excel, CSV, API." ogImage="/og/import.png">
<BaseLayout title="Импорт каталога" description="Перенесите товары, контрагентов, остатки и штрихкоды из вашей системы за минуты. CSV, 1С, МойСклад." ogImage="/og/import.png">
<section class="relative overflow-hidden">
<img src="/photos/import-hero.jpg" alt="" class="absolute inset-0 w-full h-full object-cover" />
<div class="absolute inset-0 bg-gradient-to-r from-slate-900/85 via-slate-900/60 to-slate-900/30"></div>
<div class="relative max-w-7xl mx-auto px-4 sm:px-6 py-20 lg:py-28">
<div class="max-w-2xl">
<span class="inline-block text-xs uppercase tracking-wider text-emerald-300 font-semibold">Импорт</span>
<h1 class="text-4xl lg:text-5xl font-extrabold mt-2 text-white drop-shadow-lg">Перенесите каталог<br/>за один клик</h1>
<h1 class="text-4xl lg:text-5xl font-extrabold mt-2 text-white drop-shadow-lg">Перенесите каталог<br/>без ручного ввода</h1>
<p class="mt-4 text-lg text-emerald-50">
Не перепечатывайте товары вручную. Импортируйте каталог из вашей текущей системы за минуты.
</p>
@ -75,8 +73,8 @@ const faq = [
<thead class="bg-slate-50 border-b border-slate-200">
<tr>
<th class="px-5 py-3 text-left font-semibold">Сущность</th>
<th class="px-5 py-3 text-center font-semibold">Excel/CSV</th>
<th class="px-5 py-3 text-center font-semibold">API</th>
<th class="px-5 py-3 text-center font-semibold">CSV (файл)</th>
<th class="px-5 py-3 text-center font-semibold">МойСклад</th>
</tr>
</thead>
<tbody>

View file

@ -2,32 +2,19 @@
import BaseLayout from '@/layouts/BaseLayout.astro'
import FAQ from '@/components/FAQ.tsx'
const verticals = [
{ href: '/for-grocery', title: 'Продуктовый магазин', icon: '🛒', desc: 'Весовой товар, штрихкоды, скоропорт' },
{ href: '/for-pharmacy', title: 'Аптека', icon: '💊', desc: 'Серии и сроки годности' },
{ href: '/for-cafe', title: 'Кафе и общепит', icon: '☕', desc: 'Модификаторы и комбо' },
{ href: '/for-alcohol', title: 'Алкоголь', icon: '🍷', desc: 'Акцизные марки, ЕГАИС-ready' },
{ href: '/for-clothing', title: 'Одежда', icon: '👔', desc: 'Размерные сетки и цвета' },
{ href: '/for-household', title: 'Дом и быт', icon: '🏠', desc: 'Гарантийные сроки' },
]
const modules = [
{ icon: '📦', title: 'Товары и каталог', text: 'Группы, штрихкоды, цены, остатки, импорт каталога одной кнопкой.' },
{ icon: '💳', title: 'Продажи и касса', text: 'Касса для Windows с поддержкой торговых весов, штрихкодов, чековых принтеров.' },
{ icon: '🏬', title: 'Склад и приёмки', text: 'Несколько складов, приёмка со сканером, инвентаризация, списание, оприходование.' },
{ icon: '🚚', title: 'Закупки и поставщики', text: 'Документы приёмки с автоматическим расчётом себестоимости (скользящее среднее).' },
{ icon: '👥', title: 'Клиенты и лояльность', text: 'База контрагентов, скидки, акции, программы лояльности (скоро).' },
{ icon: '📊', title: 'Финансы и аналитика', text: 'Отчёты по продажам, остаткам, прибыли. Дашборд кассира и владельца.' },
]
const integrations = [
'Kaspi Pay', 'Halyk Bank', 'Jusan Bank', 'Forte Bank', 'ОФД РК', 'Kaspi Magazin', 'Ozon', 'Wildberries',
{ icon: '📦', title: 'Товары и каталог', text: 'Группы, штрихкоды, цены, остатки. Перенос каталога файлом или из МойСклад.' },
{ icon: '💳', title: 'Продажи и касса', text: 'Касса с весами, сканером и печатью чека. Работает на Windows и Linux, в том числе без интернета.' },
{ icon: '🏬', title: 'Склад и приёмки', text: 'Несколько складов, приёмка со сканером, инвентаризация, списание, оприходование, перемещение.' },
{ icon: '🚚', title: 'Закупки и себестоимость', text: 'Приёмки от поставщиков. Себестоимость считается автоматически по приёмкам.' },
{ icon: '👥', title: 'Контрагенты и скидки', text: 'База поставщиков и покупателей, скидки, акции.' },
{ icon: '📊', title: 'Отчёты', text: 'Продажи, остатки, прибыль. Главная страница с итогами дня для владельца.' },
]
---
<BaseLayout
title="Программа учёта для розничных магазинов"
description="Программа учёта и касса для розничных магазинов в Казахстане. Касса с поддержкой торговых весов, импорт каталога одной кнопкой, интеграция с Kaspi и ОФД РК. Бесплатно 90 дней без карты."
description="Программа учёта и касса для розничных магазинов в Казахстане. Касса с торговыми весами, перенос каталога из вашей системы, учёт остатков и прибыли. Бесплатно 90 дней без банковской карты."
>
{/* 1. Hero */}
<section class="bg-gradient-to-br from-brand-light/40 via-white to-white">
@ -37,14 +24,14 @@ const integrations = [
Программа учёта и&nbsp;касса для розничных магазинов в&nbsp;Казахстане
</h1>
<p class="mt-5 text-lg text-slate-600">
Касса с поддержкой торговых весов, импорт каталога одной кнопкой, интеграция с Kaspi и ОФД РК.
<strong>Бесплатно 90 дней без карты.</strong>
Касса с торговыми весами, перенос каталога из вашей системы, учёт остатков и прибыли — в одном окне.
<strong>Бесплатно 90 дней, без банковской карты.</strong>
</p>
<div class="mt-7 flex flex-wrap gap-3">
<a href="/signup" class="px-5 py-3 bg-brand text-white text-sm font-semibold rounded-md hover:bg-brand-hover">Начать бесплатно</a>
<a href="#screenshot" class="px-5 py-3 border border-slate-300 text-sm font-semibold rounded-md hover:bg-slate-50">Посмотреть демо</a>
</div>
<p class="mt-3 text-xs text-slate-500">Без банковской карты · 90 дней триал · Подписка от 5 000 ₸/мес</p>
<p class="mt-3 text-xs text-slate-500">Без банковской карты · 90 дней бесплатно · Подписка от 5 000 ₸/мес</p>
</div>
<div class="rounded-2xl border border-emerald-100 bg-white shadow-2xl overflow-hidden">
<div class="bg-slate-100 border-b border-slate-200 px-3 py-2 flex gap-1.5">
@ -57,7 +44,7 @@ const integrations = [
srcset="/screenshots/dashboard-hero.webp 1440w, /screenshots/dashboard-hero@2x.webp 2880w"
sizes="(max-width: 1024px) 100vw, 620px"
width="1440" height="900"
alt="Дашборд ALL MARKET: выручка за день, неделю и месяц, график продаж за 30 дней и последние чеки"
alt="Главная страница ALL MARKET: выручка за день, неделю и месяц, график продаж за 30 дней и последние чеки"
class="w-full block" loading="eager" />
</div>
</div>
@ -68,30 +55,30 @@ const integrations = [
<div class="rounded-xl border border-slate-200 p-5">
<div class="text-3xl">🛒</div>
<h3 class="font-semibold mt-2">Касса с весами из коробки</h3>
<p class="text-sm text-slate-600 mt-1">Прямая поддержка торговых весов без переходников и драйверов. Подключите весы — ALL MARKET распознает их автоматически. Поддержка штрихкодов, скидок, акций, лояльности.</p>
<p class="text-sm text-slate-600 mt-1">Подключите торговые весы — касса посчитает вес и сумму. Сканер штрихкодов, скидки, горячие клавиши для всей смены.</p>
</div>
<div class="rounded-xl border border-slate-200 p-5">
<div class="text-3xl">⬇️</div>
<h3 class="font-semibold mt-2">Импорт каталога за 1 клик</h3>
<p class="text-sm text-slate-600 mt-1">Перенесите товары, контрагентов, остатки и штрихкоды из любой существующей системы. Поддерживаем Excel, CSV и API основных систем учёта.</p>
<h3 class="font-semibold mt-2">Перенос каталога без ручного ввода</h3>
<p class="text-sm text-slate-600 mt-1">Загрузите товары, остатки и штрихкоды файлом CSV (в том числе выгрузкой из 1С) или подтяните из МойСклад. Не нужно заводить тысячи позиций руками.</p>
</div>
<div class="rounded-xl border border-slate-200 p-5">
<div class="text-3xl">🎁</div>
<h3 class="font-semibold mt-2">90 дней бесплатно, без карты</h3>
<p class="text-sm text-slate-600 mt-1">Зарегистрируйтесь — и 3 месяца пользуйтесь всеми возможностями без ограничений. Понравится — выберете тариф. Не понравится — заберёте свои данные и уйдёте.</p>
<p class="text-sm text-slate-600 mt-1">Зарегистрируйтесь и пользуйтесь без ограничений. Понравится — выберете тариф. Нет — заберёте свои данные и уйдёте.</p>
</div>
</section>
{/* 3. Скриншот продукта */}
<section id="screenshot" class="max-w-7xl mx-auto px-4 sm:px-6 py-12">
<h2 class="text-3xl font-bold text-center mb-2">Один экран — весь магазин</h2>
<p class="text-center text-slate-500 mb-8">Дашборд показывает выручку, остатки, движения и топ-товары. Без переключения вкладок и Excel-экспорта.</p>
<p class="text-center text-slate-500 mb-8">Выручка, остатки, движения и топ-товары — на одной странице. Без переключения вкладок и выгрузок в Excel.</p>
<div class="rounded-xl border border-slate-200 bg-slate-50 p-3 sm:p-6 shadow-lg">
<div class="bg-slate-200 rounded-t-md px-3 py-2 flex gap-1.5 items-center">
<span class="w-2.5 h-2.5 rounded-full bg-red-400"></span>
<span class="w-2.5 h-2.5 rounded-full bg-yellow-400"></span>
<span class="w-2.5 h-2.5 rounded-full bg-green-400"></span>
<span class="ml-3 text-xs text-slate-500">app.food-market.kz / catalog / products</span>
<span class="ml-3 text-xs text-slate-500">каталог товаров</span>
</div>
<img
src="/screenshots/catalog.webp"
@ -108,12 +95,12 @@ const integrations = [
<div class="max-w-7xl mx-auto px-4 sm:px-6 grid lg:grid-cols-2 gap-10 items-center">
<div>
<span class="inline-block text-xs uppercase tracking-wider text-brand font-semibold">Касса</span>
<h2 class="text-3xl font-bold mt-2">Светлая касса, в которой приятно работать</h2>
<p class="mt-4 text-slate-600">Продажа и оплата — за пару действий. Поиск по штрихкоду и названию, избранные товары, скидки, оплата наличными, картой или смешанная, расчёт сдачи. Горячие клавиши для всей смены.</p>
<h2 class="text-3xl font-bold mt-2">Быстрая касса, которая работает и без интернета</h2>
<p class="mt-4 text-slate-600">Пробить чек — несколько нажатий. Поиск по штрихкоду и названию, избранные товары, скидки, оплата наличными и картой, расчёт сдачи. Всё на горячих клавишах.</p>
<ul class="mt-5 space-y-2 text-sm text-slate-600">
<li class="flex gap-2"><span class="text-brand">✓</span> Нативная поддержка торговых весов — без драйверов</li>
<li class="flex gap-2"><span class="text-brand">✓</span> Офлайн-режим: чеки сохраняются и подтянутся в облако</li>
<li class="flex gap-2"><span class="text-brand">✓</span> Фискальные чеки ОФД РК, Kaspi Pay, программы лояльности</li>
<li class="flex gap-2"><span class="text-brand">✓</span> Товар по штрихкоду находится мгновенно, касса не тормозит даже на 30 000 товаров</li>
<li class="flex gap-2"><span class="text-brand">✓</span> Работает без интернета — чеки сохраняются и уходят в облако, когда связь вернётся</li>
<li class="flex gap-2"><span class="text-brand">✓</span> Работает с торговыми весами (CAS, Масса-К и совместимыми), сканерами и чековыми принтерами 58/80 мм</li>
</ul>
<a href="/pos" class="mt-6 inline-block text-sm font-semibold text-brand hover:text-brand-hover">Подробнее о кассе →</a>
</div>
@ -129,19 +116,20 @@ const integrations = [
</div>
</section>
{/* 4. Для кого */}
{/* 4. Кому подходит */}
<section class="max-w-7xl mx-auto px-4 sm:px-6 py-12">
<h2 class="text-3xl font-bold text-center mb-2">Для кого ALL MARKET</h2>
<p class="text-center text-slate-500 mb-8">Шесть вертикалей. Свои фишки в каждой.</p>
<div class="grid sm:grid-cols-2 lg:grid-cols-3 gap-4">
{verticals.map((v) => (
<a href={v.href} class="rounded-xl border border-slate-200 p-5 hover:shadow-md hover:border-brand transition group">
<div class="text-3xl">{v.icon}</div>
<h3 class="font-semibold mt-2 group-hover:text-brand">{v.title}</h3>
<p class="text-sm text-slate-600 mt-1">{v.desc}</p>
<h2 class="text-3xl font-bold text-center mb-2">Кому подходит</h2>
<p class="text-center text-slate-500 mb-8">Сделано для продуктовых и небольшой розницы.</p>
<div class="grid lg:grid-cols-3 gap-6 items-stretch">
<a href="/for-grocery" class="rounded-xl border border-slate-200 p-6 hover:shadow-md hover:border-brand transition group lg:col-span-1">
<div class="text-3xl">🛒</div>
<h3 class="font-semibold mt-2 group-hover:text-brand">Продуктовый магазин</h3>
<p class="text-sm text-slate-600 mt-1">Весовой товар, торговые весы, штрихкоды, скоропорт. Касса сама считает вес и сумму.</p>
<span class="text-xs text-brand mt-3 inline-block">Подробнее →</span>
</a>
))}
<div class="rounded-xl border border-slate-200 bg-slate-50 p-6 lg:col-span-2 flex items-center">
<p class="text-slate-600">А ещё — хозтовары, канцелярия, пекарни и любая небольшая розница: каталог, касса, остатки и отчёты работают одинаково. Весовой товар и весы нужны не всем — без них касса работает так же.</p>
</div>
</div>
</section>
@ -149,7 +137,7 @@ const integrations = [
<section class="bg-slate-50 py-14">
<div class="max-w-7xl 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-10">Шесть модулей покрывают полный цикл работы магазина.</p>
<p class="text-center text-slate-500 mb-10">Всё, что нужно магазину, — в одном месте.</p>
<div class="grid sm:grid-cols-2 lg:grid-cols-3 gap-4">
{modules.map((m) => (
<div class="bg-white rounded-xl border border-slate-200 p-5">
@ -166,55 +154,52 @@ const integrations = [
{/* 6. Касса */}
<section class="max-w-7xl mx-auto px-4 sm:px-6 py-14 grid lg:grid-cols-2 gap-10 items-center">
<div>
<span class="inline-block text-xs uppercase tracking-wider text-brand font-semibold">Касса для Windows</span>
<span class="inline-block text-xs uppercase tracking-wider text-brand font-semibold">Касса для Windows и Linux</span>
<h2 class="text-3xl font-bold mt-2">Кассовая программа с поддержкой торговых весов</h2>
<p class="mt-4 text-slate-600">
Установщик для Windows 10/11. Работает офлайн, синхронизируется с админкой,
принимает Kaspi Pay, печатает фискальные чеки в ОФД РК.
Устанавливается на Windows или Linux. Работает без интернета, синхронизируется с админкой.
Работает с торговыми весами, сканером штрихкодов и чековым принтером.
</p>
<div class="mt-6 flex gap-3">
<a href="/pos" class="px-5 py-3 bg-brand text-white text-sm font-semibold rounded-md hover:bg-brand-hover">Подробнее о кассе</a>
<span class="px-5 py-3 border border-slate-300 text-sm font-semibold rounded-md text-slate-400 cursor-not-allowed" title="В разработке">Скачать установщик</span>
<span class="px-5 py-3 border border-slate-300 text-sm font-semibold rounded-md text-slate-400 cursor-not-allowed" title="Скоро">Скачать кассу · скоро</span>
</div>
</div>
<div class="aspect-video rounded-xl border border-slate-200 bg-cover bg-center relative overflow-hidden shadow-xl" style="background-image: url('/photos/pos-hero.jpg')">
<div class="absolute inset-0 bg-slate-900/30"></div>
<div class="absolute bottom-4 left-4 right-4 bg-white/95 backdrop-blur rounded-md px-4 py-3 text-sm">
<strong class="text-brand">Касса для Windows</strong> · работает офлайн, поддерживает торговые весы и Kaspi Pay
<strong class="text-brand">Касса для Windows и Linux</strong> · работает без интернета, поддерживает торговые весы
</div>
</div>
</section>
{/* 7. Интеграции */}
<section class="relative py-14 overflow-hidden">
<img src="/photos/integrations.jpg" alt="" class="absolute inset-0 w-full h-full object-cover opacity-15" />
<div class="absolute inset-0 bg-gradient-to-b from-slate-50/95 via-white/90 to-slate-50/95"></div>
<div class="relative max-w-7xl 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="flex flex-wrap justify-center gap-3">
{integrations.map((label) => (
<span class="px-4 py-2 bg-white border border-slate-200 rounded-md text-sm font-medium shadow-sm">{label}</span>
))}
</div>
{/* 7. Перенос и интеграции */}
<section class="bg-slate-50 py-14">
<div class="max-w-3xl mx-auto px-4 sm:px-6 text-center">
<h2 class="text-3xl font-bold mb-3">Перенос и интеграции</h2>
<p class="text-slate-600">
Переносим каталог из МойСклад и из CSV (в том числе выгрузки из 1С) — уже сейчас.
Онлайн-касса (ОФД), приём оплат картой и маркетплейсы — в разработке.
</p>
<a href="/import" class="mt-5 inline-block text-sm font-semibold text-brand hover:text-brand-hover">Как перенести каталог →</a>
</div>
</section>
{/* 8. Тарифы */}
<section class="max-w-7xl mx-auto px-4 sm:px-6 py-14">
<h2 class="text-3xl font-bold text-center mb-2">Простые тарифы. Никаких доплат.</h2>
<p class="text-center text-slate-500 mb-10">CRM / финансы / лояльность включены во все тарифы.</p>
<p class="text-center text-slate-500 mb-10">Учёт, касса, отчёты и поддержка — во всех тарифах.</p>
<div class="grid lg:grid-cols-3 gap-4">
<div class="rounded-xl border border-slate-200 p-6 bg-white">
<h3 class="font-bold text-lg">Старт</h3>
<p class="text-3xl font-bold mt-2">5 000 ₸<span class="text-sm font-normal text-slate-500">/мес</span></p>
<p class="text-xs text-slate-500 mt-1">90 дней триал</p>
<p class="text-xs text-slate-500 mt-1">90 дней бесплатно</p>
<ul class="text-sm space-y-1.5 mt-5">
<li>1 магазин · 1 касса · 1 склад</li>
<li>2 сотрудника</li>
<li>Без лимита товаров</li>
<li>Без ограничения по числу товаров</li>
<li>Касса с весами</li>
<li>Импорт каталога одной кнопкой</li>
<li>Перенос каталога из CSV и МойСклад</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>
@ -222,54 +207,45 @@ const integrations = [
<span class="absolute -top-3 left-1/2 -translate-x-1/2 bg-brand text-white text-xs px-2 py-0.5 rounded-full">Популярный</span>
<h3 class="font-bold text-lg">Бизнес</h3>
<p class="text-3xl font-bold mt-2">от 10 000 ₸<span class="text-sm font-normal text-slate-500">/мес</span></p>
<p class="text-xs text-slate-500 mt-1">Конструктор по объёму бизнеса</p>
<p class="text-xs text-slate-500 mt-1">Под объём бизнеса</p>
<ul class="text-sm space-y-1.5 mt-5">
<li>До 3 магазинов</li>
<li>До 5 касс и складов</li>
<li>До 10 сотрудников</li>
<li>API + все интеграции</li>
<li>Все отчёты по прибыли и остаткам</li>
</ul>
<a href="/pricing" class="block text-center mt-6 px-4 py-2.5 bg-brand text-white rounded-md font-semibold">Настроить тариф</a>
</div>
<div class="rounded-xl border border-slate-200 p-6 bg-white">
<h3 class="font-bold text-lg">Сеть</h3>
<p class="text-3xl font-bold mt-2">По запросу</p>
<p class="text-xs text-slate-500 mt-1">Демо + индивидуальный SLA</p>
<p class="text-xs text-slate-500 mt-1">Демо и индивидуальные условия</p>
<ul class="text-sm space-y-1.5 mt-5">
<li>Unlimited магазины / кассы</li>
<li>Без ограничения по числу магазинов и касс</li>
<li>Выделенный менеджер</li>
<li>Расширенный API</li>
<li>Гарантии доступности</li>
<li>Индивидуальные условия</li>
</ul>
<a href="/contacts" class="block text-center mt-6 px-4 py-2.5 border border-slate-300 rounded-md font-semibold">Связаться</a>
</div>
</div>
<p class="text-center text-sm text-slate-500 mt-8">
Никаких доплат за CRM, финансы, лояльность, поддержку. Всё включено в каждый тариф.
Никаких доплат за отчёты, импорт и поддержку. Всё включено в каждый тариф.
</p>
</section>
{/* 9. Соцпруф */}
<section class="bg-slate-50 py-14">
<div class="max-w-3xl mx-auto px-4 sm:px-6 text-center">
<p class="text-xs uppercase tracking-wider text-slate-500 mb-4">Кейсы</p>
<p class="text-xl text-slate-700 italic">«Раздел в разработке. Здесь появятся истории магазинов, которые перешли на ALL MARKET.»</p>
</div>
</section>
{/* 10. FAQ */}
{/* 9. FAQ */}
<section class="max-w-3xl mx-auto px-4 sm:px-6 py-14">
<h2 class="text-3xl font-bold text-center mb-8">Частые вопросы</h2>
<FAQ client:visible />
</section>
{/* 11. Финальный CTA */}
{/* 10. Финальный CTA */}
<section class="relative py-20 overflow-hidden">
<img src="/photos/cta-banner.jpg" alt="" class="absolute inset-0 w-full h-full object-cover" />
<div class="absolute inset-0 bg-emerald-700/75"></div>
<div class="relative max-w-3xl mx-auto px-4 sm:px-6 text-center">
<h2 class="text-3xl sm:text-4xl font-extrabold text-white drop-shadow">Запустите магазин за 15 минут</h2>
<p class="mt-3 text-emerald-50 text-lg">Регистрация — минута. Импорт товаров — десять минут. Касса работает на следующий день.</p>
<h2 class="text-3xl sm:text-4xl font-extrabold text-white drop-shadow">Начните за 15 минут</h2>
<p class="mt-3 text-emerald-50 text-lg">Регистрация — минута, перенос каталога — несколько минут. Вести учёт и смотреть отчёты можно сразу в браузере.</p>
<a href="/signup" class="inline-block mt-7 px-7 py-3 bg-white text-brand font-bold rounded-md shadow-lg hover:bg-emerald-50">Начать бесплатно — 90 дней</a>
</div>
</section>

View file

@ -1,27 +1,43 @@
---
import BaseLayout from '@/layouts/BaseLayout.astro'
const groups = [
{ title: 'Платёжные системы', items: ['Kaspi Pay', 'Halyk Bank', 'Jusan Bank', 'Forte Bank'] },
{ title: 'Фискализация', items: ['ОФД РК (все операторы)', 'Чековые принтеры ESC/POS'] },
{ title: 'Маркетплейсы (скоро)', items: ['Kaspi Magazin', 'Ozon', 'Wildberries'] },
{ title: 'Учётные системы', items: ['Импорт из других систем по API', 'Excel/CSV-импорт', 'Выгрузка 1С (XML/Excel)'] },
{ title: 'Оборудование', items: ['Электронные торговые весы (USB/COM)', 'Сканеры штрихкодов USB', 'Денежные ящики', 'Дисплей покупателя'] },
const ready = [
{ title: 'Перенос каталога', items: ['Импорт из МойСклад по токену', 'Импорт из файла CSV', 'Выгрузка 1С (сохранённая в CSV)'] },
{ title: 'Оборудование', items: ['Торговые весы CAS, Масса-К и совместимые (USB/COM)', 'USB-сканеры штрихкодов', 'Чековые принтеры 58/80 мм', 'Денежные ящики', 'Дисплей покупателя (по RS-232)'] },
]
const planned = [
{ title: 'Онлайн-касса и оплаты', items: ['Фискализация через ОФД РК', 'Приём оплат картой (Kaspi Pay и банки)'] },
{ title: 'Маркетплейсы', items: ['Kaspi Magazin', 'Ozon', 'Wildberries'] },
]
---
<BaseLayout title="Интеграции" description="Кассы, банки, ОФД, маркетплейсы, учётные системы — все интеграции ALL MARKET.">
<BaseLayout title="Перенос и интеграции" description="Что уже подключается к ALL MARKET: МойСклад, CSV, 1С, торговое оборудование. Онлайн-касса (ОФД), оплаты картой и маркетплейсы — в разработке.">
<section class="max-w-5xl mx-auto px-4 sm:px-6 py-12">
<h1 class="text-4xl font-extrabold text-center">Интеграции</h1>
<p class="text-center text-slate-500 mt-3">Стандартные подключения для розницы Казахстана.</p>
<div class="grid sm:grid-cols-2 gap-5 mt-10">
{groups.map((g) => (
<h1 class="text-4xl font-extrabold text-center">Перенос и интеграции</h1>
<p class="text-center text-slate-500 mt-3">Честно о том, что уже работает и что готовим.</p>
<h2 class="text-xl font-bold mt-10 mb-4">Уже работает</h2>
<div class="grid sm:grid-cols-2 gap-5">
{ready.map((g) => (
<div class="rounded-xl border border-slate-200 bg-white p-5">
<h2 class="font-semibold mb-3">{g.title}</h2>
<h3 class="font-semibold mb-3">{g.title}</h3>
<ul class="space-y-1 text-sm text-slate-700">
{g.items.map((it) => <li>• {it}</li>)}
</ul>
</div>
))}
</div>
<h2 class="text-xl font-bold mt-10 mb-4">В разработке</h2>
<div class="grid sm:grid-cols-2 gap-5">
{planned.map((g) => (
<div class="rounded-xl border border-dashed border-slate-300 bg-slate-50 p-5">
<h3 class="font-semibold mb-3 text-slate-600">{g.title}</h3>
<ul class="space-y-1 text-sm text-slate-500">
{g.items.map((it) => <li>• {it}</li>)}
</ul>
</div>
))}
</div>
<p class="text-center text-sm text-slate-500 mt-10">Нужна интеграция, которой нет в списке? <a href="/contacts" class="text-brand underline">Напишите нам</a> — добавим в дорожную карту.</p>
</section>
</BaseLayout>

View file

@ -1,43 +1,42 @@
---
import BaseLayout from '@/layouts/BaseLayout.astro'
const features = [
{ icon: '⚖️', title: 'Нативная поддержка торговых весов', text: 'Подключите весы к компьютеру кассира — ALL MARKET распознаёт их автоматически. Поддерживаются электронные весы стандартных протоколов через RS-232 или USB-COM. Никаких сторонних драйверов.' },
{ icon: '📡', title: 'Офлайн-режим без потери данных', text: 'Интернет пропал — касса продолжает работать. Все чеки записываются локально. Когда связь вернётся — данные подтянутся в облако автоматически.' },
{ icon: '🛒', title: 'Сканеры штрихкодов любых производителей', text: 'Поддерживаем все стандартные модели работающие как клавиатура (HID-эмуляция). Подключили — и работает. EAN-13/EAN-8/Code128/Datamatrix.' },
{ icon: '🖨️', title: 'Печать чеков на ОКП-совместимом оборудовании', text: 'Любые ОКП РК совместимые принтеры. Драйверы устанавливаются автоматически.' },
{ icon: '🔐', title: 'Контроль кассиров', text: 'Каждый кассир работает под своим логином. Открытие смены, инкассация, возврат — только с подтверждения администратора. Полный аудит-лог.' },
{ icon: '💳', title: 'Программы лояльности', text: 'Поиск клиента по карте, телефону, штрихкоду. Автоматический расчёт бонусов и скидок. Накопительные программы — прямо в окне кассы.' },
{ icon: '🧾', title: 'Соответствие требованиям РК', text: 'Регистрация чеков в ОФД РК (Электронный чек). Поддержка возвратов, корректировок, отмены. Соответствие требованиям Налогового кодекса.' },
{ icon: '⚖️', title: 'Поддержка торговых весов', text: 'Работает с торговыми весами CAS, Масса-К и совместимыми по RS-232 или USB-COM. Касса считает вес и сумму. Подключение — в пару шагов в настройках кассы.' },
{ icon: '📡', title: 'Работает без интернета', text: 'Интернет пропал — касса продолжает работать. Чеки записываются локально. Когда связь вернётся — данные уходят в облако автоматически.' },
{ icon: '🛒', title: 'Сканеры штрихкодов', text: 'Любой сканер, который работает как клавиатура. Форматы EAN-13, EAN-8, Code 128. Подключили — и работает.' },
{ icon: '🖨️', title: 'Печать чека', text: 'Печать товарного чека на чековом принтере 58 или 80 мм. Подключается как обычный принтер.' },
{ icon: '🔐', title: 'Контроль кассиров', text: 'Каждый кассир работает под своим логином. Роли и права, открытие и закрытие смены, журнал операций.' },
{ icon: '🧾', title: 'Онлайн-касса (ОФД) — в разработке', text: 'Пока касса печатает товарный чек. Фискализацию через ОФД и приём оплат картой подключим — расскажем, когда будет готово.' },
]
const hardware = [
['Компьютер', 'Windows 10+ (32/64 bit), 4 GB RAM, 5 GB на диске'],
['Весы', 'Электронные торговые весы стандартных протоколов (RS-232/USB)'],
['Сканер штрихкодов', 'Любой HID-совместимый USB-сканер'],
['Чековый принтер', 'Любой ОКП РК совместимый принтер'],
['Денежный ящик', 'Подключение через принтер чеков (RJ-11)'],
['Дисплей покупателя', 'Опционально, любой VFD/LCD по RS-232'],
['Компьютер', 'Windows 10/11 или Linux, 4 ГБ ОЗУ'],
['Весы', 'Торговые весы CAS, Масса-К и совместимые (RS-232/USB)'],
['Сканер штрихкодов', 'Любой USB-сканер, работающий как клавиатура'],
['Чековый принтер', 'Чековый принтер 58 или 80 мм'],
['Денежный ящик', 'Подключение через чековый принтер (RJ-11)'],
['Дисплей покупателя', 'Опционально, по RS-232'],
]
const steps = [
['Скачайте установщик', 'Один файл .msi ~80 МБ'],
['Запустите', 'Нажмите «Далее» три раза'],
['Введите ключ организации', 'Выдаётся в админке ALL MARKET'],
['Подключите оборудование', 'Касса автоматически распознает весы и сканер'],
['Скачайте кассу', 'Архив для Windows или AppImage для Linux (появится скоро)'],
['Распакуйте и запустите', 'Отдельная установка не нужна'],
['Подключите кассу к магазину', 'Введите ключ организации из админки и зарегистрируйте устройство'],
['Подключите оборудование', 'Весы, сканер и принтер — в настройках кассы'],
['Откройте смену', 'И пробивайте первый чек'],
]
---
<BaseLayout title="Касса для Windows" description="Кассовая программа ALL MARKET для Windows: поддержка торговых весов, офлайн-режим, фискальные чеки ОФД РК, Kaspi Pay." ogImage="/og/pos.png">
<BaseLayout title="Касса для Windows и Linux" description="Кассовая программа ALL MARKET для Windows и Linux: поддержка торговых весов, работа без интернета, сканер штрихкодов, печать чека." ogImage="/og/pos.png">
<section class="relative overflow-hidden">
<img src="/photos/pos-hero.jpg" alt="" class="absolute inset-0 w-full h-full object-cover" />
<div class="absolute inset-0 bg-gradient-to-r from-slate-900/85 via-slate-900/65 to-slate-900/35"></div>
<div class="relative max-w-7xl mx-auto px-4 sm:px-6 py-20 lg:py-28">
<div class="max-w-2xl bg-white/95 backdrop-blur p-8 rounded-2xl shadow-2xl border border-slate-200">
<span class="inline-block text-xs uppercase tracking-wider text-brand font-semibold">Касса</span>
<h1 class="text-4xl font-extrabold mt-2">Касса для Windows<br/>с поддержкой торговых весов</h1>
<h1 class="text-4xl font-extrabold mt-2">Касса для Windows и Linux<br/>с поддержкой торговых весов</h1>
<p class="mt-4 text-slate-600">
Установите за 5 минут. Работайте офлайн. Подключайте стандартное оборудование без переходников и сторонних драйверов.
Работает без интернета. Торговые весы, сканер штрихкодов и чековый принтер — подключаются в настройках кассы.
</p>
<div class="mt-7 flex gap-3 flex-wrap">
<span class="px-5 py-3 bg-slate-200 text-slate-500 rounded-md font-semibold cursor-not-allowed" title="В разработке">Скачать кассу (Windows 10+)</span>
<span class="px-5 py-3 bg-slate-200 text-slate-500 rounded-md font-semibold cursor-not-allowed" title="Скоро">Скачать кассу · скоро</span>
<a href="/pricing" class="px-5 py-3 border border-slate-300 rounded-md font-semibold hover:bg-slate-50">Тарифы</a>
</div>
</div>
@ -121,8 +120,8 @@ const steps = [
<section class="bg-brand-light/30 py-14">
<div class="max-w-3xl mx-auto px-4 sm:px-6 text-center">
<h2 class="text-3xl font-extrabold">Касса работает с первого дня триала</h2>
<p class="mt-3 text-slate-600">Зарегистрируйтесь, скачайте кассу, подключите весы — и продавайте. 90 дней бесплатно.</p>
<h2 class="text-3xl font-extrabold">Начните вести учёт прямо сейчас</h2>
<p class="mt-3 text-slate-600">Зарегистрируйтесь и работайте в браузере — каталог, остатки, отчёты. Касса для Windows и Linux появится для скачивания скоро. 90 дней бесплатно.</p>
<a href="/signup" class="inline-block mt-7 px-7 py-3 bg-brand text-white font-semibold rounded-md hover:bg-brand-hover">Начать бесплатно</a>
</div>
</section>

View file

@ -6,7 +6,7 @@ import BusinessTariffBuilder from '@/components/BusinessTariffBuilder.tsx'
<section class="bg-gradient-to-br from-emerald-500 via-emerald-600 to-emerald-700 text-white py-16">
<div class="max-w-6xl mx-auto px-4 sm:px-6 text-center">
<h1 class="text-4xl lg:text-5xl font-extrabold drop-shadow">Прозрачные тарифы ALL MARKET</h1>
<p class="text-emerald-50 mt-4 text-lg">Никаких скрытых доплат. CRM, финансы, лояльность — во всех тарифах.</p>
<p class="text-emerald-50 mt-4 text-lg">Никаких скрытых доплат. Учёт, касса, отчёты и поддержка — во всех тарифах.</p>
<p class="text-emerald-100/90 mt-2 text-sm">90 дней бесплатно. Без банковской карты. Отмена в любой момент.</p>
</div>
</section>
@ -23,9 +23,7 @@ import BusinessTariffBuilder from '@/components/BusinessTariffBuilder.tsx'
<li>✓ Без лимита товаров</li>
<li>✓ Касса с поддержкой торговых весов</li>
<li>✓ Импорт из других систем</li>
<li>✓ Интеграции Kaspi / ОФД</li>
<li class="text-slate-400">— API</li>
<li class="text-slate-400">— SLA</li>
<li>✓ Перенос каталога из CSV и МойСклад</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>
@ -37,13 +35,12 @@ import BusinessTariffBuilder from '@/components/BusinessTariffBuilder.tsx'
<div class="rounded-xl border border-slate-200 p-6 bg-white">
<h2 class="font-bold text-lg">Сеть</h2>
<p class="text-3xl font-bold mt-2">По запросу</p>
<p class="text-xs text-slate-500 mt-1">Демо + индивидуальный SLA</p>
<p class="text-xs text-slate-500 mt-1">Демо и индивидуальные условия</p>
<ul class="text-sm space-y-1.5 mt-5 text-slate-700">
<li>✓ Unlimited магазины / кассы / склады</li>
<li>✓ Unlimited сотрудники</li>
<li>✓ Расширенный API</li>
<li>✓ Без ограничения по числу магазинов, касс и складов</li>
<li>✓ Без ограничения по сотрудникам</li>
<li>✓ Выделенный менеджер</li>
<li>✓ Гарантии доступности</li>
<li>✓ Индивидуальные условия</li>
<li>✓ Приоритетная поддержка</li>
</ul>
<a href="/contacts" class="block text-center mt-6 px-4 py-2.5 border border-slate-300 rounded-md font-semibold">Связаться</a>
@ -52,7 +49,7 @@ import BusinessTariffBuilder from '@/components/BusinessTariffBuilder.tsx'
<div class="mt-12 rounded-xl bg-brand-light/30 p-6 text-center">
<h3 class="font-bold">Никаких доплат за модули</h3>
<p class="text-sm text-slate-600 mt-2">CRM, финансы, лояльность, импорт, поддержка — всё включено в каждый тариф. Без сюрпризов в счёте.</p>
<p class="text-sm text-slate-600 mt-2">Касса, склад, отчёты, импорт и поддержка — всё включено в каждый тариф. Без сюрпризов в счёте.</p>
</div>
</section>
</BaseLayout>

View file

@ -2,7 +2,7 @@ import type { APIRoute } from 'astro'
const PAGES = [
'', 'features', 'pricing', 'pos', 'import', 'integrations',
'for-grocery', 'for-pharmacy', 'for-cafe', 'for-alcohol', 'for-clothing', 'for-household',
'for-grocery',
'signup', 'about', 'contacts', 'kb', 'blog', 'status', 'changelog',
'legal/offer', 'legal/privacy', 'legal/consent', 'legal/requisites',
]