Hyphen User Guides

Future Readers Program

Complete guide to managing student programs, enrollments, access grants, and expiration handling

Version 1.0|Updated 2026-04-12|Operations Teams, Program Managers, Customer Success

1. Simple Feature Overview

The Future Readers Program helps Hyphen bring students from schools, colleges, and universities onto the platform through two routes:

RouteWhat the Student DoesWhat They Get
Writing CompetitionSubmits an original essay, poem, or short story100% free annual subscription (if approved)
Student DiscountUploads their student ID for verification50% off any subscription plan

How it works at a high level:

  1. An admin adds participating institutes (schools, colleges, universities) to the system.
  2. Students visit the Future Readers page on the Reader Portal, choose a route, and submit their application.
  3. An admin reviews each application — checking the student ID or reading the competition entry.
  4. On approval, the system automatically generates a discount coupon and emails it to the student.
  5. The student uses the coupon code to subscribe at a discount (or for free).

Everything is managed from the Admin Console under Future Readers in the sidebar. Students interact only with the Reader Portal.


2. Who Should Use This Feature

RoleWhat They Do
Program Team / OperationsCreate and manage institutes, review student enrollments, approve or reject applications
Marketing TeamLink institutes to outreach campaigns and events, run email campaigns targeting enrolled students
Sales TeamSync educational institutions from the Sales module into the Future Readers program
QA TeamTest the enrollment flow end-to-end, verify coupon generation and email delivery
Admin / Super AdminConfigure permissions, oversee program activity, manage all institutes and enrollments
Customer SupportHelp students who have questions about their enrollment status or coupon codes

3. Before You Begin

3.1 Permissions Required

You need the following permissions assigned to your admin role. Ask your administrator if you do not have them.

PermissionNeeded For
SUBSCRIPTIONS_READViewing the Future Readers dashboard, institutes, and enrollments
SUBSCRIPTIONS_CREATEAdding new institutes
SUBSCRIPTIONS_UPDATEEditing or deleting institutes, reviewing (approving/rejecting) enrollments
MARKETING_CAMPAIGNS_READViewing campaigns linked to institutes
MARKETING_CAMPAIGNS_UPDATECreating campaigns and linking institutes to them

3.2 System Prerequisites

Before using the Future Readers program, confirm the following are in place:

  • Your admin account has the permissions listed above
  • The Reader Portal is live and accessible to students (the enrollment form is at /future-readers/enroll)
  • Email sending is configured (so coupon emails reach students after approval)
  • The daily cron job for institution reference data sync is configured (runs at 2 AM UTC — this keeps institute data in sync for campaign form dropdowns)

3.3 Where to Find It

  • Admin Console sidebar → Future Readers — the main hub for managing institutes and reviewing enrollments
  • Reader Portal → /future-readers — the public-facing landing page students see
  • Reader Portal → /future-readers/enroll — the enrollment form students fill out

4. Key Terms in Simple Language

TermWhat It Means
InstituteA school, college, or university participating in the Future Readers program
EnrollmentA student's application to join the program — either through the competition or discount route
Competition RouteThe student submits a writing piece (essay, poem, short story). If approved, they get a 100% free subscription
Discount RouteThe student uploads their student ID. If verified, they get a 50% discount coupon
Enrollment StatusWhere the application is in the review process (see status table below)
Coupon CodeA unique code generated when an enrollment is approved. The student uses this at checkout
Audience ContactWhen a student is approved, they are added to the Audience as a contact tagged "future_reader" for marketing purposes
Reference DataBehind-the-scenes data that makes institutes appear in campaign form dropdowns
Source InstitutionA Sales module institution that has been synced into the Future Readers program

Enrollment Status Values

StatusWhat It Means
Pending ReviewThe application has been submitted and is waiting for an admin to review it
EvaluatingAn admin has started looking at the application but has not decided yet
ApprovedThe application has been approved
Coupon GeneratedA coupon code has been created and emailed to the student
Subscription CreatedThe student has used their coupon and now has an active subscription
RejectedThe application was rejected (e.g., the writing did not meet criteria)
ID RejectedThe student ID could not be verified (blurry photo, wrong document, etc.)

5. Step-by-Step Setup Guide

Future Readers Program hub
The Future Readers hub shows quick-access cards for Institutes, Enrollments, and linked Campaigns. Click into each section to manage the program.

5.1 Creating and Managing Institutes

Before students can enroll, you need to add at least one institute to the system.

Adding a New Institute

  1. Go to Future Readers → Institutes in the Admin Console sidebar (or click "Manage Institutes" on the Future Readers dashboard).
  2. Click the "Add Institute" button in the top-right corner.
  3. A form modal appears. Fill in:
    • Name — The full name of the institution (e.g., "Delhi University")
    • Type — Select from the dropdown: School, College, or University
    • City — The city where the institution is located (e.g., "New Delhi")
    • State — The state (e.g., "Delhi")
  4. Click "Create".

The institute is now active and will appear in the student enrollment form's institute dropdown on the Reader Portal.

Editing an Institute

  1. Go to Future Readers → Institutes.
  2. Find the institute in the table.
  3. Click the Edit action (pencil icon) in the Actions column.
  4. Update any fields in the modal.
  5. Click "Update".

Deactivating an Institute

If an institute is no longer participating and you want to prevent new enrollments:

  1. Go to Future Readers → Institutes.
  2. Find the institute in the table.
  3. Click the Toggle Active/Inactive action in the Actions column.

Deactivated institutes no longer appear in the student enrollment form dropdown. Existing enrollments from that institute are not affected.

Deleting an Institute

  1. Click the Delete action in the Actions column.
  2. Confirm when prompted: "Are you sure you want to delete [institute name]?"

Note: If the institute has any enrollments, it will be deactivated (soft-deleted) instead of permanently removed. This preserves the enrollment history.

Viewing Active vs. All Institutes

  • By default, the institutes page shows only active institutes.
  • Click the "Show All" button to see both active and inactive institutes.
  • Click "Active Only" to return to the filtered view.

5.2 Reviewing the Institute Detail Page

Click on any institute name in the institutes table to open its detail page. This page shows:

Metric Cards at the Top:

  • Total Enrollments — All enrollments from this institute
  • Pending Review — Enrollments awaiting review (Pending Review + Evaluating statuses)
  • Approved — Successfully approved enrollments (Approved + Coupon Generated + Subscription Created)
  • Audience Contacts — Number of students from this institute added to the marketing audience

Campaigns & Events Section:

  • Shows all marketing campaigns linked to this institute
  • Each campaign shows its name, status, type, submission counts, and date range
  • If no campaigns are linked, you will see: "No campaigns linked to this institute yet." with a button to create one

Recent Enrollments Table:

  • Shows the 20 most recent enrollments from this institute
  • Columns: Student Name, Email, Type (Competition/Discount), Status, Coupon Code, Date
  • Click "View All Enrollments" to go to the full enrollments page filtered to this institute

Quick Actions (bottom of page):

  • Create Student Outreach Campaign — Opens the campaign creation page pre-linked to this institute
  • Create Event — Opens event creation pre-linked to this institute
  • Run Email Campaign — Opens email campaign creation with the institute's audience segment pre-selected
  • View All Enrollments — Goes to the enrollments page filtered to this institute

5.3 How Students Enroll (Reader Portal)

This section describes what students see and do. Understanding this helps you support students and verify the flow.

Step 1 — Student Visits the Landing Page

The student goes to /future-readers on the Reader Portal. They see:

  • A hero section explaining the program
  • Two cards explaining the Writing Competition route (100% free subscription) and the Student Discount route (50% off)
  • Eligibility information (School students class 9+, College undergraduates, University postgraduate/research)
  • An FAQ section answering common questions
  • An "Apply Now" button

Step 2 — Student Fills Out the Enrollment Form

The student clicks "Apply Now" and is taken to /future-readers/enroll. The form has these fields:

  1. Your Institute — A dropdown listing all active institutes. Format: "Institute Name — City, State". If their institute is not listed, there is a "Contact us" link.
  2. Your Name — Full name (text input)
  3. Email Address — Their email (where the coupon will be sent)
  4. Student ID Photo — Upload area (drag-and-drop or click to browse). Accepts PNG, JPG, JPEG. Maximum 5 MB.
  5. Choose Your Path — Two radio options:
    • Writing Competition — "Win a free subscription"
    • Student Discount — "50% off any plan"
  6. Your Writing Submission — (Only appears if they chose Writing Competition) A large text area where they write their essay, poem, or short story. A word count is displayed at the bottom-right.

The student clicks "Submit Application".

Step 3 — Confirmation

After successful submission, the student sees:

  • A green checkmark icon
  • "Application Submitted!" heading
  • A message:
    • If Competition: "Your writing submission has been received. Our editorial team will review it and notify you via email within a week."
    • If Discount: "Your student ID is being verified. We will send you a discount coupon via email within 1-2 business days."
  • Buttons to "Learn More" or "Back to Home"

What Prevents Submission

The form will not submit if:

  • Any required field is empty
  • The student ID file is larger than 5 MB
  • The student has already applied with the same email address (they see: "You have already applied to the Future Readers program.")
  • The selected institute is no longer active
  • More than 5 submissions from the same IP address in one hour (rate limiting)

5.4 Reviewing Enrollments (Approval and Rejection)

Future Readers Program overview
From the program hub, click Enrollments to review pending student enrollment requests. Approve or reject each enrollment individually.

This is the core workflow for program administrators.

Opening the Enrollment Review Queue

  1. Go to Future Readers → Enrollments in the sidebar (or click "Review Enrollments" on the Future Readers dashboard).
  2. You see the "Enrollment Review Queue" page with the subtitle "Review and approve/reject student enrollment applications".

Filtering Enrollments

Use the filter dropdowns at the top of the page:

  • Status — Filter by: All Statuses, Pending Review, Evaluating, Approved, Rejected, Coupon Generated, Subscription Created, ID Rejected
  • Institute — Filter by a specific institute or show all
  • Type — Filter by: All Types, Competition, Discount

Viewing Enrollment Details

  1. Find the enrollment in the table.
  2. Click the eye icon in the Actions column.
  3. The "Enrollment Details" modal opens, showing:
    • Student Name, Email, Institute, Enrollment Type, Status, Submission Date
    • Coupon Code (if generated)
    • Word Count (for competition entries)
    • Student ID — The uploaded photo of the student's ID card
    • Competition Entry — The full text of the writing submission (for competition entries only)
    • Review Note — Any note added by the reviewer (if previously reviewed)

Approving an Enrollment

  1. From the enrollment details modal, click "Review" (or click the checkmark icon directly from the table).
  2. The "Review Enrollment" modal opens, showing:
    • A summary box with: Student name, Institute, Type (Competition/Discount), Word Count
    • The student ID image
    • The competition entry text (if applicable)
    • A "Review Note (optional)" text area — add any note about your decision
  3. Click the "Approve" button (green, with checkmark icon).

What happens on approval:

  • The system generates a unique coupon code:
    • Competition winners: Code starts with FR-WIN- (e.g., FR-WIN-A3B7C9D2), 100% discount
    • Discount students: Code starts with FR-STU- (e.g., FR-STU-X4Y8Z1M5), 50% discount
  • The coupon is valid for 90 days from the approval date
  • The enrollment status changes to Coupon Generated
  • The student receives an email with subject "Your Hyphen Future Readers coupon is ready!" containing:
    • A congratulations message
    • The coupon code displayed prominently
    • A "Subscribe Now" button linking to the subscription page
    • Information about the coupon validity (90 days)
  • The student is added to the Audience Contacts list tagged as "future_reader"

Rejecting an Enrollment

  1. Open the Review modal (same steps as above).
  2. Optionally add a review note explaining the reason.
  3. Click the "Reject" button (red outline, with X icon).

The enrollment status changes to Rejected. No coupon is generated and no email is sent.

Which Enrollments Can Be Reviewed?

Only enrollments with status Pending Review or Evaluating can be reviewed. You will see the review action (checkmark icon) only for these statuses.

Pagination

  • Enrollments are shown 20 per page.
  • Navigate between pages using the Previous and Next buttons at the bottom.
  • The page shows: "Page X of Y (Z results)".

5.5 Linking Institutes to Campaigns

You can connect Future Readers institutes to marketing campaigns and events. This helps track outreach efforts per institute.

From the Institute Detail Page

  1. Go to Future Readers → Institutes and click on an institute name.
  2. In the Quick Actions section at the bottom, click one of:
    • "Create Student Outreach Campaign" — Opens the campaign creation page with the institute pre-linked
    • "Create Event" — Opens event creation with the institute pre-linked
    • "Run Email Campaign" — Opens email campaign creation with the institute's audience segment pre-selected

From the Campaign Creation Page

  1. Go to Marketing → Campaigns and create or edit a campaign.
  2. In the campaign form, use the institute picker to select one or more Future Readers institutes.
  3. Save the campaign.

Linked campaigns will appear on:

  • The Future Readers dashboard under "Program Campaigns & Events"
  • The Institute Detail Page under "Campaigns & Events"

5.6 Syncing Sales Institutions to Future Readers

If your sales team manages educational institutions in the Sales module, these can be synced into the Future Readers program.

Which institutions can be synced? Only institutions with type School or University are eligible. Corporate and library institution types are not synced.

How it works:

  1. A sales institution is created or updated in the Sales module.
  2. An admin triggers the sync (via the Sales institution's detail page or the sync API).
  3. The system creates a matching Future Readers institute, linked via the sourceInstitutionId field.
  4. If an institute with the same name already exists (case-insensitive), the system links to the existing one instead of creating a duplicate.

Daily Reconciliation: A cron job runs every day at 2 AM UTC to keep Future Readers institute data in sync with the reference data used by campaign form dropdowns. This happens automatically — no manual action is needed.


6. How to Verify It Worked

Use this checklist after performing key actions to confirm everything is working correctly.

After Adding an Institute

  • The institute appears in the Future Readers → Institutes table with status "Active"
  • The institute appears in the student enrollment form dropdown on the Reader Portal (/future-readers/enroll)
  • The institute count on the Future Readers dashboard metric card ("Active Institutes") has increased

After a Student Submits an Enrollment

  • The enrollment appears in Future Readers → Enrollments with status "Pending Review"
  • The "Total Enrollments" and "Pending Review" counts on the dashboard have increased
  • On the institute detail page, the enrollment appears in the "Recent Enrollments" table
  • The student saw the success confirmation page

After Approving an Enrollment

  • The enrollment status changed to "Coupon Generated"
  • A coupon code is visible in the enrollment detail modal (starting with FR-WIN- or FR-STU-)
  • The student received an email with subject "Your Hyphen Future Readers coupon is ready!"
  • The email contains the correct coupon code and a "Subscribe Now" button
  • The "Approved" count on the dashboard has increased
  • The "Audience Contacts" count on the institute detail page has increased
  • The coupon is valid for 90 days from the approval date
  • The coupon gives the correct discount: 100% for competition, 50% for discount route

After Rejecting an Enrollment

  • The enrollment status changed to "Rejected"
  • No coupon code was generated
  • No email was sent to the student
  • The "Pending Review" count on the dashboard has decreased

After Linking a Campaign

  • The campaign appears in the Future Readers dashboard under "Program Campaigns & Events"
  • The campaign appears on the institute detail page under "Campaigns & Events"
  • The campaign shows the correct institute count and submission counts

7. Worked Examples (End-to-End)

7.1 Example 1 — Setting Up a New Institute and Preparing It for Enrollment

Scenario: Your organization has partnered with St. Xavier's College in Mumbai. You need to add them to the Future Readers program so their students can apply.

Steps:

  1. Log in to the Admin Console.
  2. Go to Future Readers → Institutes in the sidebar.
  3. Click "Add Institute".
  4. Fill in:
    • Name: St. Xavier's College
    • Type: College
    • City: Mumbai
    • State: Maharashtra
  5. Click "Create".
  6. Verify: The institute now appears in the table with a green "Active" badge and 0 enrollments.
  7. Open the Reader Portal in a new tab and go to /future-readers/enroll.
  8. Verify: Click the "Your Institute" dropdown — "St. Xavier's College — Mumbai, Maharashtra" should appear in the list.
  9. Go back to the Admin Console. On the institute detail page (click the institute name), click "Create Student Outreach Campaign" to prepare a marketing campaign for the college.
  10. The institute is now ready. Share the enrollment link (/future-readers/enroll) with the college's student body.

7.2 Example 2 — Processing a Competition Enrollment from Submission to Approval

Scenario: A student named Priya Sharma from Delhi University has submitted an essay through the Writing Competition route. You need to review and approve her entry.

Steps:

  1. Go to Future Readers → Enrollments.
  2. Use the filters:
    • Status: Pending Review
    • Type: Competition
  3. Find Priya Sharma's entry in the table.
  4. Click the eye icon to view her enrollment details.
  5. Review:
    • Check her Student ID Photo — confirm it shows a valid Delhi University ID card with her name.
    • Read her Competition Entry — the full text of her essay appears in the modal.
    • Note the Word Count displayed.
  6. If the writing meets your criteria, click "Review" at the bottom of the detail modal.
  7. In the Review modal:
    • Optionally add a review note: "Strong essay on contemporary Indian fiction. Approved for competition winner coupon."
    • Click "Approve".
  8. Verify:
    • The confirmation message shows: "Enrollment approved. 100% discount coupon generated: FR-WIN-XXXXXXXX"
    • The enrollment status changes to Coupon Generated.
    • Priya receives an email titled "Your Hyphen Future Readers coupon is ready!" with a coupon for a free annual subscription.
    • In the institute detail page for Delhi University, the "Approved" count has increased by 1.
    • In the Audience module, Priya appears as a contact tagged "future_reader".

7.3 Example 3 — Following Up on Pending Enrollments

Scenario: You notice that 15 enrollments have been sitting in "Pending Review" status for several days. You need to clear the backlog and follow up on any that need attention.

Steps:

  1. Go to Future Readers → Enrollments.
  2. Set the Status filter to "Pending Review".
  3. Work through each enrollment:
    • Click the eye icon to view the details.
    • For Discount route enrollments:
      • Check the Student ID photo. Is it clear and valid?
      • If yes → click "Review""Approve" (student gets 50% coupon via email).
      • If the ID is blurry, wrong document, or unreadable → click "Review" → add a note: "Student ID photo is not legible. Please resubmit." → click "Reject".
    • For Competition route enrollments:
      • Read the writing submission.
      • Evaluate quality against your program criteria.
      • Approve or reject with a review note.
  4. Verify: After processing, check the dashboard:
    • The "Pending Review" count should have decreased.
    • The "Approved" count should reflect your approvals.
  5. If you want to reach students who were rejected and encourage them to reapply:
    • Go to an institute's detail page.
    • Click "Run Email Campaign" to compose an email to the institute's audience contacts.

Tip: Students whose enrollments were rejected can resubmit — they need to use a different email address since the system blocks duplicate email enrollments. Consider communicating this to rejected students via support.


7.4 Example 4 — Linking a Future Readers Initiative to a Campaign

Scenario: Your marketing team is running a "Back to Campus 2026" campaign targeting 5 universities. You want to link the Future Readers institutes to this campaign so you can track enrollment activity per campaign.

Steps:

  1. First, ensure all 5 universities are added as institutes in Future Readers → Institutes (see Example 1 if you need to add new ones).
  2. Go to Marketing → Campaigns.
  3. Click "Create Campaign" (or edit the existing "Back to Campus 2026" campaign).
  4. In the campaign form, find the institute picker field.
  5. Select the 5 universities from the dropdown.
  6. Save the campaign.
  7. Verify on the campaign side:
    • The campaign should show "5 institutes linked."
  8. Verify on the Future Readers side:
    • Go to Future Readers (the dashboard).
    • Scroll to "Program Campaigns & Events" — the "Back to Campus 2026" campaign should appear with a badge showing 5 institutes.
    • Click into any of the linked institutes — the campaign should appear in their "Campaigns & Events" section.

Alternative approach — Create a campaign directly from an institute:

  1. Go to Future Readers → Institutes and click on a university name.
  2. In the Quick Actions section, click "Create Student Outreach Campaign".
  3. You are taken to the campaign creation page with the institute already pre-linked.
  4. Fill in the campaign details and save.

7.5 Example 5 — Troubleshooting a Stuck Enrollment

Scenario: A student contacted support saying they applied 5 days ago but never received a coupon email. You need to investigate.

Steps:

  1. Go to Future Readers → Enrollments.

  2. Search for the student:

    • You cannot search by name directly, so filter by Institute (if you know which one) and scan the table.
    • Alternatively, check multiple pages using the pagination controls.
  3. Find the student's enrollment and click the eye icon.

  4. Check the Status:

    Status You SeeWhat It MeansWhat to Do
    Pending ReviewNobody has reviewed it yetReview and approve/reject it now
    EvaluatingSomeone started reviewing but did not finishComplete the review now
    ApprovedApproved but coupon may not have generatedCheck if a coupon code is visible in the detail modal. If not, there may have been a system issue — escalate to engineering
    Coupon GeneratedCoupon was generated and email was sentThe email may have gone to spam. Give the student their coupon code from the detail modal. The code starts with FR-WIN- or FR-STU-
    Rejected or ID RejectedThe application was rejectedInform the student of the reason (check the Review Note). They can reapply with a different email address
  5. If the status is Coupon Generated and the student says they did not get the email:

    • Copy the coupon code from the enrollment detail modal.
    • Share it with the student directly via your support channel.
    • Suggest they check their spam/junk folder.
    • Remind them the coupon is valid for 90 days and they can use it at the subscription page.
  6. If the enrollment does not appear at all:

    • The student may not have completed the submission (they might have left the form without clicking "Submit Application").
    • Ask the student to try again at /future-readers/enroll.
    • If they get the error "You have already applied to the Future Readers program", it means an enrollment does exist — keep looking in the list or check with a different status filter.

8. Common Mistakes and How to Fix Them

Mistake 1: Institute Not Showing in Student Enrollment Form

Symptom: You added an institute, but students do not see it in the dropdown on the enrollment page.

Fix:

  • Check that the institute is Active (green badge) in Future Readers → Institutes.
  • If it is inactive, click the toggle action to reactivate it.
  • The enrollment form dropdown only shows active institutes.

Mistake 2: Student Cannot Enroll — "Already Applied" Error

Symptom: A student sees "An enrollment with this email already exists" or "You have already applied to the Future Readers program."

Fix:

  • The system only allows one active enrollment per email address. "Active" means any status except Rejected or ID Rejected.
  • If the student's previous enrollment was rejected, they need to use a different email address to reapply.
  • If their previous enrollment is still pending, find and process it in the admin queue.

Mistake 3: Coupon Email Not Received

Symptom: An enrollment shows "Coupon Generated" but the student says they never got the email.

Fix:

  • Ask the student to check their spam/junk folder.
  • Look up the coupon code in the enrollment detail modal and share it with the student manually.
  • Verify that the email address on the enrollment is correct (typos happen).
  • If emails are systematically not being sent, check that email sending is configured correctly (escalate to engineering if needed).

Mistake 4: Trying to Review an Already-Processed Enrollment

Symptom: You open an enrollment but the "Review" button does not appear.

Fix:

  • Only enrollments with status Pending Review or Evaluating can be reviewed.
  • If the status is already Coupon Generated, Approved, Rejected, or any other final status, the enrollment has already been processed.
  • The review action (checkmark icon) only appears in the table for reviewable enrollments.

Mistake 5: Deleting an Institute With Enrollments

Symptom: You try to delete an institute, but it does not disappear from the list.

Fix:

  • If an institute has enrollments, it cannot be permanently deleted. It is deactivated (soft-deleted) instead.
  • This is by design — it preserves the enrollment history.
  • The institute will show as "Inactive" and no longer appear in the student enrollment dropdown.

Mistake 6: Wrong Coupon Discount Amount

Symptom: A competition winner received a 50% coupon instead of 100% (or vice versa).

Fix:

  • Coupon amounts are determined automatically based on the enrollment type:
    • Competition → 100% discount (code starts with FR-WIN-)
    • Discount → 50% discount (code starts with FR-STU-)
  • If the wrong type was selected by the student, the coupon will reflect that type. You cannot change the coupon after it is generated.
  • For exceptional cases, you may need to manually create a coupon from the subscription/coupon management area and share it with the student.

Mistake 7: Rate Limiting on the Enrollment Form

Symptom: A student sees "Too many requests. Please try again later."

Fix:

  • The enrollment form is rate-limited to 5 submissions per IP address per hour.
  • This protects against spam. If a legitimate student hits this limit (e.g., they are in a shared network like a college lab), ask them to try again after an hour.

Internal — QA, Testing & Limitations
9. QA / Testing Checklist

Use this checklist to validate the Future Readers flow during testing or after a platform update.

Institute Management
  • Create a new institute with all fields filled → verify it appears in the table with "Active" status
  • Edit an institute's name, type, city, or state → verify the changes are saved
  • Deactivate an institute → verify it no longer appears in the student enrollment dropdown
  • Reactivate an institute → verify it reappears in the student enrollment dropdown
  • Delete an institute with no enrollments → verify it is permanently removed
  • Delete an institute with enrollments → verify it is deactivated (not deleted)
  • Try creating an institute without filling all fields → verify error: "All fields are required"
  • Verify institute type dropdown has exactly three options: School, College, University
Student Enrollment (Reader Portal)
  • Visit /future-readers → verify the landing page loads with program info, two routes, eligibility, FAQ
  • Click "Apply Now" → verify the enrollment form loads at /future-readers/enroll
  • Verify the institute dropdown shows only active institutes in "Name — City, State" format
  • Submit a Discount enrollment with valid data → verify success page shows ID verification message
  • Submit a Competition enrollment with valid data → verify success page shows editorial review message
  • Verify the word count displays correctly for competition entries
  • Upload a student ID larger than 5 MB → verify error: "File size must be less than 5MB"
  • Submit without selecting an institute → verify error: "Please select your institute"
  • Submit without choosing a path → verify error: "Please choose a program type"
  • Submit without uploading student ID → verify error: "Please upload your student ID"
  • Choose Competition but leave the writing area empty → verify error: "Please enter your competition text"
  • Submit twice with the same email → verify error: "You have already applied to the Future Readers program."
  • Submit 6 times in one hour from the same IP → verify rate limit error on the 6th attempt
Enrollment Review (Admin Console)
  • New enrollments appear in the queue with status "Pending Review"
  • Filter by Status → verify correct enrollments shown
  • Filter by Institute → verify correct enrollments shown
  • Filter by Type (Competition/Discount) → verify correct enrollments shown
  • View enrollment detail modal → verify all fields display correctly
  • View a Competition enrollment → verify the writing submission and word count are visible
  • View a Discount enrollment → verify the student ID photo is visible
  • Approve a Competition enrollment → verify:
    • Status changes to "Coupon Generated"
    • Coupon code starts with "FR-WIN-"
    • Coupon is 100% discount
    • Student receives email with coupon
    • Student appears in Audience Contacts as "future_reader"
  • Approve a Discount enrollment → verify:
    • Status changes to "Coupon Generated"
    • Coupon code starts with "FR-STU-"
    • Coupon is 50% discount
    • Student receives email with coupon
  • Reject an enrollment → verify:
    • Status changes to "Rejected"
    • No coupon code generated
    • No email sent
  • Add a review note → verify it appears in the enrollment detail modal afterward
  • Verify the review button does NOT appear for already-processed enrollments
  • Test pagination with more than 20 enrollments
Dashboard
  • Verify "Total Enrollments" count matches actual enrollments
  • Verify "Pending Review" count matches enrollments with Pending Review status
  • Verify "Approved" count matches Approved + Coupon Generated + Subscription Created
  • Verify "Active Institutes" count matches active institutes
  • Click "Manage Institutes" → verify it navigates to the institutes page
  • Click "Review Enrollments" → verify it navigates to the enrollments page
  • Verify linked campaigns appear under "Program Campaigns & Events"
Campaign Integration
  • Link an institute to a campaign → verify it appears in the institute detail page
  • Create a campaign from an institute's Quick Actions → verify the institute is pre-linked
  • Verify campaign appears on the Future Readers dashboard
Coupon & Email
  • Verify coupon is valid for 90 days from approval date
  • Verify coupon is single-use (maxUses: 1)
  • Verify the email subject is "Your Hyphen Future Readers coupon is ready!"
  • Verify the email contains the correct coupon code, discount info, and "Subscribe Now" link
  • Verify the student can use the coupon at checkout for the correct discount
Permissions
  • A user without SUBSCRIPTIONS_READ cannot access the Future Readers pages
  • A user without SUBSCRIPTIONS_CREATE cannot see the "Add Institute" button
  • A user without SUBSCRIPTIONS_UPDATE cannot see the review action or edit/delete institutes
  • A user without MARKETING_CAMPAIGNS_UPDATE cannot see the campaign quick actions on institute detail

10. Current Known Limitations
  1. No search on the enrollments page. You cannot search for a specific student by name or email. You must use the filters (Status, Institute, Type) and browse through the paginated list. For large volumes, this can be time-consuming.

  2. Rejected students cannot reapply with the same email. The system blocks duplicate enrollments by email address. A student whose enrollment was rejected must use a different email address to reapply. There is no "reopen" or "resubmit" action for rejected enrollments.

  3. No bulk review. Enrollments must be approved or rejected one at a time. There is no "approve all" or "reject all" action for processing multiple enrollments at once.

  4. No notification to admin for new enrollments. When a student submits an enrollment, no alert or notification is sent to the admin team. Admins must periodically check the enrollment queue for new submissions.

  5. Coupon codes cannot be regenerated. Once a coupon is generated for an approved enrollment, it cannot be changed, extended, or reissued from the enrollment page. If a coupon expires or is lost, a new coupon must be created manually from the subscription/coupon management area.

  6. No direct rejection reason email to students. When an enrollment is rejected, the review note is stored internally but no email is sent to the student explaining why. You need to communicate rejection reasons through your support channels.

  7. Institute "Other" option not available on the enrollment form. Unlike campaign forms (which have an "Other" option for unlisted institutions), the student enrollment form only shows pre-configured institutes. Students whose institute is not listed must contact support.

  8. Enrollment type cannot be changed after submission. If a student accidentally selected "Discount" instead of "Competition" (or vice versa), the enrollment type cannot be changed. The student would need to submit a new application with a different email.

  9. Cron job dependency. The daily reference data sync cron runs at 2 AM UTC. If a new institute is created and a campaign form is accessed before the next sync, the institute may not appear in campaign form dropdowns until the next cron run. However, direct institute management and student enrollment dropdowns update immediately.


This user manual reflects the Future Readers program as implemented in the Hyphen platform as of March 2026. All features described above are fully implemented and operational unless noted in the Known Limitations section.

On this page

1. Simple Feature Overview2. Who Should Use This Feature3. Before You Begin3.1 Permissions Required3.2 System Prerequisites3.3 Where to Find It4. Key Terms in Simple LanguageEnrollment Status Values5. Step-by-Step Setup Guide5.1 Creating and Managing InstitutesAdding a New InstituteEditing an InstituteDeactivating an InstituteDeleting an InstituteViewing Active vs. All Institutes5.2 Reviewing the Institute Detail Page5.3 How Students Enroll (Reader Portal)Step 1 — Student Visits the Landing PageStep 2 — Student Fills Out the Enrollment FormStep 3 — ConfirmationWhat Prevents Submission5.4 Reviewing Enrollments (Approval and Rejection)Opening the Enrollment Review QueueFiltering EnrollmentsViewing Enrollment DetailsApproving an EnrollmentRejecting an EnrollmentWhich Enrollments Can Be Reviewed?Pagination5.5 Linking Institutes to CampaignsFrom the Institute Detail PageFrom the Campaign Creation Page5.6 Syncing Sales Institutions to Future Readers6. How to Verify It WorkedAfter Adding an InstituteAfter a Student Submits an EnrollmentAfter Approving an EnrollmentAfter Rejecting an EnrollmentAfter Linking a Campaign7. Worked Examples (End-to-End)7.1 Example 1 — Setting Up a New Institute and Preparing It for Enrollment7.2 Example 2 — Processing a Competition Enrollment from Submission to Approval7.3 Example 3 — Following Up on Pending Enrollments7.4 Example 4 — Linking a Future Readers Initiative to a Campaign7.5 Example 5 — Troubleshooting a Stuck Enrollment8. Common Mistakes and How to Fix ThemMistake 1: Institute Not Showing in Student Enrollment FormMistake 2: Student Cannot Enroll — "Already Applied" ErrorMistake 3: Coupon Email Not ReceivedMistake 4: Trying to Review an Already-Processed EnrollmentMistake 5: Deleting an Institute With EnrollmentsMistake 6: Wrong Coupon Discount AmountMistake 7: Rate Limiting on the Enrollment Form