Documentation

How Seait works, module by module.

Subscriptions

Subscriptions renew a product for a member on their own interval, and bill themselves. Nobody presses anything.

How subscriptions work

A subscription connects a member (and optionally a boat) to one or more product lines with an interval. It stays active until cancelled and carries no dates of its own — the period is derived from the subscription's own interval, so a monthly and a yearly arrangement in the same harbour are in different periods on the same day.

The orders create themselves

Every night a run walks all active subscriptions and creates an order for whichever period each one is in right then. Every line of the subscription lands on ONE order — one invoice to the member.

Each period is billed exactly once — the database holds that, not the run — and a night the run does not happen is caught up the next. A subscription you create in the app bills its current period immediately, so there is no subscription waiting for the next run before it has done anything.

When a subscription is not billed

The list marks every active subscription “Order created” or “Order missing” for the current period. An “Order missing” that stays put means something blocks it: a product on one of the lines no longer exists, or a product that requires a boat has none. Fix the line and the next nightly run picks it up.