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

# The attendance register

> Marking a class in under a minute, what each status means, and how the register keeps working when the network does not.

The register is built for a teacher standing in front of a class on a phone, not for an office. Everyone starts marked **Present**; you tap only the exceptions.

## Marking a register

<Steps>
  <Step title="Open your class from My Day">
    Your dashboard lists the classes you are responsible for and which registers are still outstanding today.
  </Step>

  <Step title="Tap the exceptions">
    Every pupil is Present until you say otherwise. A class of forty with three absences is three taps.
  </Step>

  <Step title="Submit">
    The register records who marked it and when.
  </Step>
</Steps>

## The four statuses

| Status      | Counts as present? | Use for                                         |
| ----------- | ------------------ | ----------------------------------------------- |
| **Present** | Yes                | In school, on time                              |
| **Late**    | **Yes**            | In school, arrived after the bell               |
| **Absent**  | No                 | Not in school, no reason given                  |
| **Excused** | No                 | Not in school, with a reason the school accepts |

<Warning>
  **Late counts as present** in every attendance summary, including the figure printed on report cards. It records punctuality, not absence. If you mark a pupil Late when they were away, their attendance percentage will be wrong on the report card and nobody will notice until Open Day.
</Warning>

Absent and Excused both mean the pupil was not there. The difference is whether the school accepted the reason, which matters when a parent queries the figure.

## When the network drops

Offline support covers a connection that **fails while you are marking**. It does not let you start a register from nothing.

<Warning>
  **Open the register while you still have a signal.** The class list is fetched from the school record, so a register opened with no connection has no pupils to mark — and the screen says "No active pupils", which reads as though the class is empty rather than as a network failure. The **Review** button is disabled and nothing can be submitted.

  Once the list has loaded, you can lose the connection and carry on.
</Warning>

### What survives a lost connection

With the class list already on screen:

* Marking continues normally.
* Submitting saves the register to the phone instead of sending it, and tells you so.
* Each class and date is held separately, so marking Basic 3 with no signal and then opening Basic 4 does not overwrite the first register.
* A saved register survives closing the browser.

A banner lists what is waiting, naming each class and the **date of the register** — not how long it has been waiting.

### Getting a waiting register to the office

A queued register is sent when the connection returns **while you are on the register screen**, or when you tap **Sync now** on the banner.

<Warning>
  Leaving the register screen stops this. If you go back to My Day, switch to another part of the app, or close the tab, a returning signal will **not** send your queued registers on its own. They stay on the phone until you open a register again.
</Warning>

<Tip>
  Before you leave the school grounds, open the register screen and check the banner is gone. A register still listed there has not reached the office, and a phone that is lost, wiped or replaced takes it with it.
</Tip>

## Correcting a register

A register can be re-marked. The correction records who made it, so a changed attendance figure can always be traced back.

## What the register feeds

Attendance aggregates — sessions held, days present, days absent — appear on terminal report cards. They are calculated against the school days declared on the [term calendar](/docs/before-the-term/academic-year-and-terms), which is why an unfinished calendar produces attendance percentages that are quietly wrong.

## Who can do this

Marking needs `edit_attendance`; viewing needs `view_attendance`.
