Обсудить проект
WODAO

Вода по подписке · Польша

Ежедневная доставка. Всё связано.

Сервис доставки воды с отдельными приложениями клиента и курьера, регулярными заказами и общим рабочим кабинетом.

Ежедневная доставка. Всё связано.

Бизнес

Задача

Регулярный сервис должен работать и после оплаты: заказ, платёж, маршрут, разговор с клиентом и следующая доставка должны оставаться связанными.

Подход

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

Commerce, подписки и доставка / WODAO

Как создавалось решение

Реализовано и описано

01Задача бизнеса

Регулярная доставка воды требует единого процесса: от оплаты и лимитов подписки до следующей остановки курьера.

02Что нужно было изменить

Согласовать подписки, платёжные события, заказы и физическую доставку при повторах и исключениях.

03Как это работает

Интерфейсы
Интернет-магазин
iOS для клиента и курьера
Правила и обработка
FastAPI · заказы
Обработка уведомлений Stripe
Доставка и уведомления
Данные и подключения
PostgreSQL · история заказов
Stripe Checkout
Маршруты и возврат бутылей
Упрощённая архитектура · выбранные реализованные компоненты

04Что создано

  1. 01

    Callback Stripe проверяет подпись до обработки заказа. Блокирующие вызовы провайдера и базы выполняются вне цикла API.

  2. 02

    Заказы, события и периоды подписки имеют явные структуры данных. Клиент и курьер работают с общей операционной записью.

  3. 03

    Worker обрабатывает события уведомлений и outbox. Статус доставки и исключения остаются частью сервисного процесса.

Ключевое решение

Stripe принимает оплату; PostgreSQL хранит состояния checkout, заказов и циклов подписки. Отдельный воркер отправляет уведомления, отделяя задержки провайдера от запроса клиента.

Как проверяли результат

Webhook проверяет подпись и текущее состояние Stripe. Завершение заказа и ручного продления использует блокировку сессии провайдера и повторное чтение статуса. Завершённая сессия не повторяет эту ветку; это не гарантия exactly-once для всех событий.

  • Python
  • FastAPI
  • PostgreSQL
  • Stripe
  • SwiftUI
  • Docker

Полный рабочий сценарий

  1. 01Оформить заказ
  2. 02Оплатить через Stripe
  3. 03Проверить событие
  4. 04Назначить маршрут
  5. 05Подтвердить доставку

05Посмотреть примеры

Интерфейсы клиента и курьера, webhook, блокировка завершения checkout, схема заказов и подписок и worker/outbox подтверждают описание. Реализация проверена; новую production-оплату для портфолио не проводили.

06Результат и ответственность

Реализовано

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

Роль и объём

Основатель и владелец продукта · продажи, приложения клиента/курьера и операции

Границы результата

Ответственность охватывает продукт, commerce и операционные процессы. Сервисы провайдеров остаются внешними зависимостями. Рост выручки, SLA доставки и дедупликация всех событий не заявлены.

Процесс на практике

Одна доставка. Все участники связаны.

Клиент заказывает воду. Курьер знает следующую остановку. Заказ, оплата и результат доставки остаются связанными в системе.

Приложение клиентаПриложение курьераРабочий кабинет команды
  1. 01

    Заказ

    Выберите план или разовую доставку, укажите адрес и оплату.

  2. 02

    Планирование

    Распределите заказы по маршрутам и покажите курьеру следующую остановку.

  3. 03

    Доставка

    Зафиксируйте доставку, возврат тары или проблему, требующую внимания.

  4. 04

    Продолжение

    Сохраняйте разговор с клиентом и следующую доставку в общем контексте.

Что это даётДоставку можно проследить от заказа клиента через работу курьера до записи о выполненной услуге.

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

Использовать этот подход

02 / Внутри системы

Вокруг реальных задач.

01

Клиентское приложение для каждой доставки

Выбирайте воду, управляйте планом, заказывайте в пределах его лимита и держите адреса, платежи и поддержку под рукой.

02

Отдельное приложение курьера

Смена, маршрут и понятная следующая остановка. Подтверждение доставки, возврат пустых бутылей, перенос или работа с проблемой.

03

Продажи, связанные с сервисом

Подписки и платежи Stripe связывают покупку с заказами, карточкой клиента и следующим циклом доставки.

04

Общая картина работы

Администрирование объединяет заказы, маршруты и проблемные ситуации. Общение клиента и курьера связано с доставкой.

03 / О продукте

Изучите интерфейс.

Откройте экран, чтобы рассмотреть детали.

Реальные интерфейсы продуктов с демонстрационными данными или ранее опубликованными материалами.

Единая экосистема

Знакомые инструменты. Согласованная работа бизнеса.

Подключайте знакомое ПО к ежедневной работе. Интеграции настраиваются под ваши процессы.

Доступные данные зависят от вашей учётной записи и включённых сервисов.

Обсудить ваше ПО

Названия и логотипы продуктов принадлежат их владельцам.

Нужен похожий процесс?

Обсудить проект