STATE - Access/Profile/Subscription Envelope
DomainsDOL EnglishProduct1.267 words6 min read
Current truth
Phần tiêu đề “Current truth”DOL English web V2 baseline uses a single-user, email-identity account model with a three-tier package taxonomy and clear boundary between paid-practice access and separately purchased courses.
Rules
Phần tiêu đề “Rules”- Account/profile baseline:
- one account maps to one standard user profile in DOL English scope,
- no parent/child household profile model in this scope baseline.
- Profile visibility baseline:
- default mode is
private:- profile is not publicly visible until user explicitly enables sharing.
- when user enables
public sharing, minimal public profile can include:- display name,
- avatar,
- high-level community badges/streak,
- aggregate practice progress signals approved by user.
- sensitive fields remain private-by-default:
- email,
- phone,
- date of birth,
- payment methods,
- billing details,
- social links,
- recovery/security details.
- default mode is
- Identity model:
- account login is email-based:
1 primary email,0..2 verified login emailscan be used as additional login identifiers,
- phone is non-auth contact data and may be absent until user adds it or a paid flow requires it,
- duplicate accounts remain separated (no merge/transfer),
- user can self-link extra login methods inside account settings.
- social account can operate without phone (phone remains optional and nudged later).
- account login is email-based:
- Tier taxonomy baseline:
- Free
- Pro
- Pro Max
- Tier entitlement baseline:
- Free:
- can attempt all exercises,
- can use non-AI features,
- can view Reading/Listening score,
- can view basic Writing/Speaking score,
- cannot use Writing/Speaking AI detail grading and AI explanations.
- Pro:
- unlimited Reading/Listening practice,
- unlimited Writing/Speaking attempt with basic scoring,
- Writing/Speaking advanced AI detail remains locked in Pro baseline,
- Pro Linearthinking explanation for Reading/Listening,
- access to core special features (Practice Management, learning stats, vocabulary notebook),
- no advanced AI credit included.
- Pro Max:
- unlimited practice across all 4 skills,
- includes AI credits for advanced features.
- advanced AI behavior is credit-based (not unlimited advanced AI consumption).
- Free:
- Purchase boundary:
- courses are bought separately (a la carte),
- Pro/Pro Max are paid-practice tiers,
- course purchase requirement is not replaced by Pro/Pro Max.
- Payment lifecycle baseline:
- supported cycles:
- monthly auto-renew,
- annual 12-month auto-renew,
- one-time 3/6-month non-renew.
- one-time savings comparison basis:
- 6-month compares to 3-month.
- supported methods:
- card,
- Momo,
- bank QR/chuyen khoan (one-time only).
- if auto-renew plan (monthly/annual) is purchased while one-time is still active:
- auto-renew plan starts after one-time expiry.
- monthly/annual cancel is effective at cycle end.
- tier switching baseline:
- upgrade to higher tier is immediate with prorated charge for remaining cycle,
- downgrade to lower tier applies at next cycle (no partial mid-cycle refund),
- one-time pass does not support mid-cycle downgrade/cancel refund.
- supported cycles:
- Course vs subscription entitlement:
- course purchase does not require Pro/Pro Max,
- context-bound entitlement is default:
- course context follows course entitlement,
- self-study context follows tier entitlement.
- same-item exception:
- item touched in course can be opened in self-study view.
- course learner AI usage:
- monthly-refill course credit is provided,
- when exhausted, user can top-up directly without Pro Max requirement.
- post-course:
- course exercises remain accessible,
- remaining course credits/top-up are retained indefinitely,
- retained credits remain usable only for exercises of that course.
- Goal/profile requirement policy:
- goal is optional globally,
- paid flow does not require goal completion,
- paid flow does not require learning-profile completion,
- if goal is missing and user dismisses/ignores goal nudge
>=3times in rolling 14 days:- enter
goal_nudge_soft_snoozefor 14 days, - suppress popup-style goal nudge during soft-snooze,
- keep inline-only reminder at valid touchpoints.
- enter
- soft-snooze exits early when user opens goal editor or saves goal,
- required checkout data is payment-related only,
- checkout is protected: guest user must sign in before checkout begins,
- checkout completion for
Pro/Pro Maxand course purchase requires verified email + phone contact, - phone does not require OTP verification and is not treated as login/recovery channel,
- checkout blocker preserves selected package/cycle/context and resumes at same step after inline phone update,
- checkout does not require additional goal/profile completion.
- Scope boundary:
- parent/child household and StudentCode/PIN are Product KID scope, not DOL English active scope.
- Paywall and checkout baseline:
- free users tapping locked AI features are routed to upgrade/payment entry,
- upgrade starts from quick-popup with feature-dependent offer set:
- if feature is Pro-eligible: show
ProandPro Max,- wait for explicit user package choice before moving to checkout,
- if feature is Pro Max-only: show only
Pro Max,
- if feature is Pro-eligible: show
- quick-popup includes link to package detail page,
- quick-popup preselects minimum eligible package by feature requirement (
Proif enough, otherwisePro Max), - fast-path to next checkout step is applied without unnecessary waiting,
- one shared checkout flow supports quick package selection and optional detail-first review.
- this entry behavior also applies when lock is reached from Home CTA tied to AI feature:
- show locked state first,
- unlock action opens quick-popup upgrade flow.
- recommendation surfaces keep upgrade non-coercive:
- no forced upgrade gate from browsing recommendations,
- locked recommendation teaser is optional and capped by recommendation policy.
- Payment-profile milestone handling:
- payment milestone is visible for all users,
- payment milestone is weighted in profile completion,
- optional prefill before paid flow is accepted when provided.
- Post-payment return baseline:
- from landing/exploration context -> return to prior page + success welcome popup,
- from in-exercise context -> reload current attempt/result page and unlock paid features immediately.
- do not force feature-tour before user can continue originating action.
- Post-submit result flow baseline:
- all users are routed to result page after submission,
- result page shows AI-loading state while AI scoring is pending,
- one shared result UI is used across tiers,
- entitlement decides section lock/unlock,
- free users see AI-scored sections as locked until upgrade.
- Top-up lock rule:
- purchased top-up balance is retained,
- usage is blocked when user is outside eligible entitlement context.
- if user downgrades
Pro Max -> Pro, remaining AI credit is retained but usage remains locked for out-of-entitlement features. - retained-but-usage-locked state is visible in Result and Billing/Subscription surfaces.
- AI credit fairness:
- reopen of same scored result does not consume extra credit,
- credit charge is once per scoring job/result,
- system AI-scoring failure triggers auto-refund of consumed credit.
- Refund baseline:
- no self-serve refund in current active scope,
- refund is handled by support/manual policy only.
- Mid-attempt entitlement safety:
- entitlement/credit loss during attempt does not block submission,
- lock is applied at result-section level with upgrade/top-up entry.
- Contact and recovery safeguards:
- local-password setup for social account requires verified email,
- email change: re-auth -> current primary email OTP -> new email OTP,
- phone change: re-auth -> current primary email OTP -> update phone contact,
- successful email/phone changes send security alert to prior primary email,
- no post-change hold window,
- contact change cooldown:
- email: 1/24h,
- phone: 1/7 days.
- Metric counting baseline:
- all submitted exercises count into learning metrics regardless of tier.
Decision trace
Phần tiêu đề “Decision trace”- DEC-0032
- DEC-0044
- DEC-0034
- DEC-0035
- DEC-0036
- DEC-0047
- DEC-0048
- DEC-0049
- DEC-0050
- DEC-0057
- DEC-0058
- DEC-0046
- DEC-0040
- DEC-0011
- DEC-0008
- DEC-0059
- DEC-0060
- DEC-0061
- DEC-0065
- DEC-0067
- DEC-0074
- DEC-0081
- DEC-0077
- DEC-0094