> ## Documentation Index
> Fetch the complete documentation index at: https://fayneos.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Course Access and Progress: How Students Get In

> How course access works (free courses, purchases, offers, and grants), how it differs from enrollment progress, and what students see in My Learning.

Whether a student can open a course is decided live, every time they try. There is no enrollment step to manage and nothing to sync: a student has access to a course when any one of these is true.

<CardGroup cols={2}>
  <Card title="The course is free" icon="gift">
    A course set to **Free** is open to everyone in your academy. Students click **Start Learning** and go straight in, with no enroll or payment step.
  </Card>

  <Card title="They bought it" icon="credit-card">
    A completed one-time purchase of the course or an offer unlocks it permanently. A subscription unlocks the covered courses while it remains active. A full refund, dispute, or ended subscription removes that purchase path automatically.
  </Card>

  <Card title="They hold an offer that covers it" icon="ticket">
    Holding a bundle or the Pass unlocks every covered course for as long as they hold it, including offers you granted or made free for one of your Lists. See [Offers](/docs/payments/offers).
  </Card>

  <Card title="You assigned it to them" icon="user-check">
    A personal course grant from you, given from the student's detail panel, an invitation, or the API. It lasts until you revoke it.
  </Card>
</CardGroup>

<Note>
  Access is layered: a student can have several of these at once. Revoking one path (say, a personal grant) does not lock the course if another still applies (say, the course is free, or they hold the Pass).
</Note>

## Access vs progress

Fayne tracks two different things, and it helps to keep them straight:

* **Access** is whether a student may open a course. It is computed live from the sources above.
* **Progress** is what they have done inside it: which lessons are complete, when they started, whether they finished. A course appears in a student's **My Learning** once they start it.

Starting a course records it automatically; there is nothing for you or the student to activate. A student can have access to many courses they have not started yet, so the courses on their My Learning page are the ones they have opened, not everything they could open.

## Giving a student a course

To hand a specific student a course (a comp, early access, or client onboarding):

<Steps>
  <Step title="Open the student detail panel">
    Go to **People**, find the student in the roster, and click their row.
  </Step>

  <Step title="Go to the Access tab">
    The **Access** tab shows everything they hold: offers, personal course grants, and purchases.
  </Step>

  <Step title="Grant a course or an offer">
    Use **Grant course** to assign one course, or **Grant offer** to hand them a bundle or the Pass. The student can start immediately, and the course shows up in their My Learning right away.
  </Step>
</Steps>

You can also attach courses and offers to an [invitation](/docs/students/managing-students#inviting-students), so new students arrive with their access already in place. Course grants can also be automated through the [API](/docs/api-reference/enrollments); offers are granted from the dashboard.

## Revoking access

From the same **Access** tab, each grant and held offer has a revoke action. Two things are worth knowing:

* **Revoking is per path.** If the student also has another way in (the course is free, they purchased it, or another offer covers it), the course stays open, and the panel tells you so before you confirm.
* **Progress is kept.** Revoking access does not delete their completed lessons. If they regain access later, they continue where they stopped.

<Note>
  Purchases have no revoke action; they end through a refund (issued from the Purchases section of the panel, Sell → Transactions, or your Stripe dashboard) or a dispute, which ends the access automatically.
</Note>

## What students see: the My Learning dashboard

Once a student has started at least one course, their home screen in your academy becomes a personalized learning dashboard.

<CardGroup cols={2}>
  <Card title="Progress overview" icon="bar-chart-2">
    Each started course appears as a card with a progress bar showing how many lessons have been completed out of the total.
  </Card>

  <Card title="Continue where you left off" icon="play">
    A prominent prompt links directly to the next lesson the student should work on, so they can pick up without searching.
  </Card>

  <Card title="Lesson bookmarks" icon="bookmark">
    Students can bookmark specific lessons and find them again from their saved items.
  </Card>

  <Card title="Course cards" icon="graduation-cap">
    Each card shows the course title, thumbnail, and current progress. Clicking a card opens the course viewer.
  </Card>
</CardGroup>

<Note>
  Every course a student can open is immediately fully available. Fayne does not support drip-feed scheduling or course prerequisites, so a student can start any lesson in any order on day one.
</Note>

## The course viewer

Inside a course, students see a full-screen reading experience. The lesson sidebar on the left lists every lesson in order. Completed lessons display a checkmark, and the current lesson is highlighted.

At the bottom of each lesson, **Previous** and **Next** buttons move through the course in sequence. Fayne marks a lesson complete when the student reads to the end of it (scrolls through the full lesson) or clicks **Next** to advance.

<Tip>
  Students are not locked into a linear path. They can click any lesson in the sidebar to jump directly to it, regardless of whether they have completed earlier lessons.
</Tip>
