Documentation Index
Fetch the complete documentation index at: https://orbit-docs.devotel.io/llms.txt
Use this file to discover all available pages before exploring further.
ADR-004: Pay-as-you-go end-to-end — no tiers, no subscriptions
Status: CURRENT Date: 2026-05-16Context
The original schema hadorganizations.plan (starter/growth/business/enterprise) read by ~30 backend call-sites for rate limits, TPS caps, and feature gates. The tier model also carried an implicit “freemium → paid upgrade” UX that did not match the CPaaS competitor norm.
Decision
Drop plan tiers entirely. Every customer pre-pays credits via Stripemode:"payment" Checkout; per-channel and per-MCCMNC rates deduct from the wallet. organizations.plan is kept on disk as a sentinel "payg" value but is never read for policy. Auto-top-up and admin bonus credits are the only auxiliary paid-in paths.
Reason
Faster activation, no plan-shopping friction, alignment with Twilio / Plivo / MessageBird, and elimination of an entire class of upgrade/downgrade bugs.Consequences
- Stripe
customer.subscription.*webhook handlers are vestigial; do not remove without explicit ADR-supersede. - SMPP TPS axis moved from
plantoorganizations.settings.smpp_tps_limit(50 default, 1000 max). - Rate-limit and max-team-members become per-org overrides with a platform-default fallback in the
platform_configk/v table. - Reviving tiers requires a new ADR.
Source memos
- [[pricing_model]]
- [[decision_tier_model_dropped_2026_05_10]]
known_issues.md§ vestigial subscription handlers- [[feedback_pricing_covers_all_channels_and_ai]]