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

# Course Enrollment

> Member course enrollment and progress tracking

Member course enrollment and progress tracking

Tracks member enrollment and progress in courses.

## Fields

### Field Registry (from `workspace/sources/entity-registry.csv`)

| Field              | Type      | Notes                                        |
| ------------------ | --------- | -------------------------------------------- |
| memberProfile      | ManyToOne | target: MemberProfile                        |
| course             | ManyToOne | target: Course                               |
| status             | ManyToOne | target: CourseRegistrationStatus             |
| paymentStatus      | ManyToOne | pending, paid, failed; target: PaymentStatus |
| enrolledAt         | datetime  | -                                            |
| completedAt        | datetime  | -                                            |
| progressPercentage | float     | -                                            |

## Subject Completion Structure

```json theme={null}
{
  "subjectId": "uuid",
  "completed": true,
  "completedAt": "2025-01-15T10:30:00Z",
  "quizScore": 85
}
```

## Relationships

| Relation | Type      | Target Entity |
| -------- | --------- | ------------- |
| course   | ManyToOne | Course        |
| user     | ManyToOne | Member        |

## Business Rules

* Completion % calculated from subject progress
* Certificate issued when 100% complete and passing quiz
* CPD points awarded on completion

## Features

### Course Enrollment

#### Acceptance Criteria

##### Frontend

* [ ] Admin/client UI can view and manage `Course Enrollment` records where applicable.

##### Backend / API

* [ ] CRUD operations exist for `Course Enrollment` (create, read, update, delete/archive).

##### Permissions

* [ ] Access is restricted to appropriate roles (tenant-scoped).

##### Business Rules

* [ ] Fields and relationships documented on this page are enforced for `Course Enrollment`.

##### Error Handling

* [ ] Invalid payloads return field-level validation errors.
