Practitionist / Practitionist/elluminar_web

Income-share / success-fee option — fair terms designed FIRST

Open
#25 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

commerce compliance post-mvp v2
Dominant language
TypeScript
Stars
1
Forks
0
Avg merge
17h 2m
Merged PRs (30d)
18

Description

Why / Context

PRD §8.6: an optional deferred, pay-after-placement option on the Career tier's Flagship bundle lowers the barrier to the most expensive offering — validated by Crio's ₹19,999/₹39,999 success-fee model. Sequencing mandate from the teardown (§7): "build the fair refund/guarantee design before you build any placement guarantee at all" — Crio's contested terms are their biggest trust liability; ours must be short, clear, and Euron-style unambiguous. Fair-guarantee design is itself an acquisition message (teardown §5.3: "the fair alternative").

Schema already in place — additive-only later if needed

  • Payment(provider: MANUAL) records success-fee collections; Order.metadata holds agreement refs
  • Career tier entitlements (placementSupport) + FeatureFlags gate availability
  • A future PaymentAgreement table (terms, trigger conditions, status) was pre-authorized as a safe ADDITIVE table in the plan's gap review — add only when this ships

Implementation plan

  1. Terms design first (product+legal): success-fee trigger (placed within N months at ≥ X CTC via platform-attributable channels), fee bands, hardship exits, cooling-off, plain-language one-pager — reviewed against every complaint pattern documented in the teardown (§2.4/2.5).
  2. Decision gate: founder sign-off on terms BEFORE any engineering (this issue stalls here by design).
  3. Additive PaymentAgreement table (kind SUCCESS_FEE, userId, orderItemId?, termsVersion, triggerConditions Json, status DRAFT/ACTIVE/TRIGGERED/SETTLED/WAIVED/CANCELLED, dueMinor) + agreement PDF snapshot.
  4. Checkout option on eligible bundles: "defer ₹X — pay only on placement" → agreement acceptance flow (explicit, versioned, emailed copy).
  5. Placement attestation flow: learner self-report + hiring-partner confirmation path (ties to issue #18); dispute path documented.
  6. Collection: on TRIGGERED, invoice + Razorpay payment link; hardship/waiver workflow with audit.
  7. Marketing surfaces: guarantee page with the full terms visible (no admission-letter burial — the anti-Crio stance), comparison honesty in battlecards (issue #28).
  8. Metrics: uptake, trigger rate, waiver rate, NPS of participants — evaluate before scaling.

Acceptance criteria

  • Terms doc approved by counsel + founder, published verbatim on a public page
  • Deferred option appears only on configured bundles behind a flag; acceptance is explicit and versioned
  • TRIGGERED → payment link → settlement recorded; WAIVED path works with audit trail
  • Cancellation/cooling-off honored automatically within its window
  • Zero dark patterns: learner can view their agreement + status anytime

Dependencies / sequencing

  • Career tier live (MVP M8); issue #18 helps verification; issue #24 legal groundwork
  • HARD GATE: fair-terms sign-off precedes all build work

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the fair-terms design and obtain counsel and founder sign-off before engineering. Then inspect the existing Payment records, Order.metadata, Career-tier placementSupport entitlements, and FeatureFlags before implementing the deferred-option flow. Done means approved public terms, explicit versioned acceptance, audited settlement and waiver paths, cooling-off handling, and learner-visible agreement status.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
payments
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.