All help topics

Setup & Configuration

Mobile Companion App

A mobile app for iPhone and iPad that lets teachers, students/parents, and school admins view the TimeIt360 timetable on the go. Admins can also assign and save substitution covers from their phone, and teachers get a push notification when a cover is assigned. No setup required for end users beyond installing the app and entering a short code.

At a glance

  • Three persona views, each driven by a different code prefix:
    • T-XXXX-XXXX — a teacher's own week
    • G-XXXX-XXXX — a grade-section's week (for students or parents)
    • A-XXXX-XXXX — admin view-as picker (see any teacher or any section)
  • Substitution-adjusted — when a substitution is saved (in the web app or from an admin's phone), the affected teacher and section see the updated period on their phone the next time the timetable refreshes: pull down to refresh, return to the Timetable tab, or open or tap a substitution notification.
  • No login, no password — each code is a one-way credential tied to a single entity. Codes can be revoked or regenerated by the admin at any time.
  • Viewing by default, with one admin-only exception. Teacher and student/parent codes can only view. Admin codes can additionally assign and remove substitution covers (see Substitutions on mobile (Subs tab) below). Everything else — editing the timetable, adding teachers, changing pre-assignments — stays in the web app.

Issuing codes — for school admins

Codes are managed from a tab on the existing Timetable page in the web app.

Navigation: Start from sidebar → click Timetable → tap the Mobile Codes tab at the top of the page.

Generate codes for everyone in one click

When you open the tab for the first time, you'll see a list of all teachers and all grade-sections in your school, each with an empty code slot. Click Generate missing codes at the top. Every teacher and every section is given a unique code (like T-K8F2-9X7P), displayed next to their name.

You only need to do this once. Future teachers and sections you add to the school will appear in the list without a code until you click Generate missing codes again — only the new rows are issued codes; existing codes are untouched.

Add an admin code (for yourself or your principal)

Admin codes aren't tied to a specific teacher or section — they give the holder the view-as picker, letting them browse any teacher's or any section's week from one login.

Click + Admin in the row of buttons at the top of the tab. In the Create admin code dialog, enter a label (e.g., "Principal Mehta" or "Vice Principal") and click Create; a fresh A-XXXX-XXXX code appears in the Admin Codes list at the bottom of the tab. The label is only for your own reference in that list — the code holder doesn't see it. You can have multiple admin codes, one per person who needs the all-school view.

An admin code is more than a viewer: its holder can also assign and remove substitution covers from their phone (see Substitutions on mobile (Subs tab) below). Give admin codes only to people you would trust with the web Substitutions page.

Share a code

Next to each code is a Copy button. Tap it to put the code on your clipboard, then paste into WhatsApp, email, or whatever channel your school uses to communicate with staff. The code is the only thing the recipient needs.

Regenerate a code

If a teacher loses their phone or leaves the school, click the Regenerate (circular arrow) icon next to their code and confirm. The old code stops working immediately; a new one appears. Hand the new code over and you're done. The same icon sits next to every section code and every admin code in the Admin Codes list — that is how you retire an admin code (e.g., a principal who's moved on) and issue a different one. A regenerated code can't be brought back; the old value is gone for good.

On the phone that was using the old code, the app is returned to the code-entry screen the next time it loads data.

Regenerate all (a button in the row at the top of the tab) resets every teacher, section, and admin code in your school at once. Everyone using the app is signed out and needs a new code, so use it only when you really want a clean slate.

Export the codes

Click Export CSV to download all codes as a spreadsheet you can circulate. The button is disabled until at least one code exists.

Installing the app — for code holders

You'll receive your code from your school admin, along with an install link. The install flow depends on what stage of rollout your school is in:

  • TestFlight (most common): You'll get a link from your admin that opens Apple's TestFlight app. Install TestFlight if you don't have it, then accept the invitation. The TimeIt360 app appears in TestFlight and installs to your home screen.
  • Direct install (early pilots): Your admin shares a link to the IPA. Tap it on your iPhone, accept the prompt, and the app installs directly to your home screen.
  • App Store (future): After public launch, search "TimeIt360" in the App Store.

Once installed, open the app, enter your code in the format your admin shared (e.g., T-K8F2-9X7P), and tap Continue. You won't be asked again — the app remembers you until you sign out.

Using the app

Dashboard tab

The home screen shows different things depending on your code type:

Teachers see their day's classes, today's workload as a numeric summary, and a mountain-shaped graph of the week ahead. Ori, the origami swan mascot, shows up with different moods depending on the time of day.

Students/Parents see today's schedule for their grade-section, who the homeroom teacher is, and the active timetable version. A "View today's schedule" button jumps straight to the Timetable tab.

Admins see a picker — search for any teacher or any section, tap them, and the rest of the app re-renders showing that person's week. Your selection is remembered until you change it.

Timetable tab

This is the workhorse view. By default it shows the list view — a day strip across the top (Mon-Sat, with today highlighted), a "Now / Next" card if a class is currently happening, and the day's periods listed top to bottom.

Tap any period card to open a detail drawer with the full info: teacher name, subject, class, room, period number, and the details of any substitution on that period. For group or elective periods the drawer lists every subject and every teacher (use Show more to expand long lists). The drawer slides up from the bottom and dismisses with a swipe.

Toggle to grid view by tapping the grid icon in the top-right of the tab. Grid view shows the whole week at a glance with each cell colored by subject — useful for spotting patterns or finding a specific class fast.

Substitution cells

A period that has a substitution is drawn as a full amber card (in the list view, the grid view, and the Now / Next card, which reads NOW · SUBSTITUTION or NEXT · SUBSTITUTION).

  • When you are the substitute, the card shows the real class you are covering — its subject and grade, not a blank "Free" row — with a Covering badge and the line "Covering for [original teacher]". In the grid view the cell reads "Sub · [original teacher]".
  • When your own class is being covered (or when you are viewing a section whose teacher is being covered), the card shows a Sub assigned badge and the line "Covered by [substitute]".

Tap an amber card to open the detail drawer. It has a highlighted substitution box:

  • For the substitute, the box is titled You are covering and shows who you are covering for and the class (subject and grade).
  • For a covered class, the box is titled Substitution applied and shows who was originally teaching it and who is covering.
  • If a reason was recorded for the substitution, it is shown at the bottom of the box.

Pull to refresh

The app caches the week locally, so it opens fast even on a flaky connection. To force a re-fetch (e.g., after your admin recorded a substitution), pull down from the top of any list. The "Last refreshed" timestamp in the header updates when new data arrives.

The Timetable and Dashboard tabs also re-fetch on their own when you switch back to them, and when a substitution notification arrives while the app is open or you tap one — so a newly assigned cover usually shows up without a manual refresh.

Substitutions on mobile (Subs tab)

Admin and teacher codes have a Subs tab in the bottom bar, between Timetable and Settings. Student/parent (grade-section) codes don't have this tab — their timetable already shows covers inline (see Substitution cells above).

Both views start with a strip of the next 14 days beginning today (weekends included). Tap a day to work with that date. Past dates aren't offered. Pull down on the screen to refresh.

Admin codes — assign and save covers from your phone

The Subs tab for an admin code is the phone version of the web Substitutions wizard (see Teacher Substitutions). It uses the same availability rules and the same ranked suggestions as the web, so the two always agree.

  1. Open the Subs tab and tap the date you need cover for.
  2. Under Absent teacher, type in Search teachers and tap the teacher's name. (Before you type, the first few teachers are listed.) Tap Change to pick someone else.
  3. Choose a reason with the chips: Absent (the default), Vacation, Emergency, or Personal. The reason applies to every period you save in this batch. There is no notes field on mobile — add notes on the web if you need them.
  4. Every period that teacher has on that date appears with its time, subject, and class (periods they co-teach are included). Under each period are suggested substitutes shown as pills with the teacher's first name and how many periods they already have that day (green = light, amber = busy, red = heavy). A blue pill marks a teacher who already teaches that subject. Only teachers who are genuinely free for that period are offered, and visiting teachers are never offered. If nobody is free you'll see "No available substitutes."
  5. Tap a pill to choose that teacher for the period — the pill turns green with a check mark. Tap it again to unselect. Each period can have one substitute; choosing a different pill replaces the first. You can choose different substitutes for different periods.
  6. A bar at the bottom shows how many periods are selected. Tap Save.

Each selected period is saved as its own substitution. When all of them save you'll see a Saved message; if some can't be saved you'll see Partly saved (or Could not save if none could) with each failed period and the reason listed. A common reason is that the chosen substitute stopped being free between selecting and saving — for example, another admin assigned them in the meantime. Availability is re-checked on the server at save time, so a substitute can't be double-booked. After saving, the suggestions refresh.

At the bottom of the screen, Arranged for [date] lists every substitution already saved for that date (from the web or the app), each showing the period, the subject, and "original teacher → substitute". To undo one, tap the trash icon and confirm Remove. Removal is permanent — to change a cover, remove it and assign it again.

A cover saved from the phone is the same record as one saved on the web: it shows up on the web Substitutions page and in the affected timetables, and the assigned teachers are notified (see Notifications below).

Teacher codes — your covers, read-only

For a teacher code, the Subs tab is a read-only list for the selected date, in two groups:

  • You're covering — periods you have been assigned to cover, each with "Covering for [original teacher]".
  • Your classes covered — periods of yours that someone else is covering, each with "Covered by [substitute]".

If neither applies on that day you'll see "No substitutions." Teachers cannot create, change, or remove covers; only admin codes can.

Notifications

The app can send you a push notification when a substitution is assigned.

  • Permission. After you enter a teacher code, the app asks whether it may send notifications (admin and student/parent codes are never asked, because they don't receive these notifications), and it checks again each time the app starts while you are signed in. If you decline, everything else works as normal — you just won't get notifications. You can turn them on later in your phone's notification settings for the app.
  • Who gets notified. When a substitution that has a substitute assigned is saved — from the web Substitutions page or from an admin's phone — two teachers can be notified, if they have the app installed and are signed in with their own teacher code:
    • the covering teacher gets "New substitution assigned" with the subject, class, period, date, and who they are covering for;
    • the absent teacher gets "Your class will be covered" saying who will cover which period on which date.
  • Admin and student/parent codes do not receive these notifications.
  • When you open or tap one. If a notification arrives while the app is open, or you tap it, the Timetable and Dashboard refresh so the amber cell appears without a manual pull-to-refresh.
  • What isn't notified. Removing a substitution, or editing an existing one, does not send a notification, and the app doesn't send reminders before class.
  • Best effort. Notifications are delivered through Expo's push service. If a notification can't be sent, the substitution itself is still saved — the notification is only a convenience.

Settings — sign out and switch codes

Tap the avatar in the top-right of any screen to open Settings. Tap Sign out to clear the code from your device. The next launch returns to the code-entry screen, where you can paste a new code if you've been re-issued one.

Limits and scope

  • Mostly read-only. No code can edit the timetable, add teachers, or change pre-assignments from the mobile app. The one exception is substitutions: an admin code can assign, save, and remove covers (see Substitutions on mobile (Subs tab)). Teacher and student/parent codes can only view.
  • One code per entity. Each teacher has exactly one active code at a time. Each grade-section has exactly one active code. Regenerating a code revokes the old one — you can't have two phones logged in as the same teacher.
  • Multiple admin codes are fine. Unlike teacher and section codes, you can issue several admin codes — one per person who needs the all-school view. Each is independent and can be revoked separately.
  • Notifications are for substitutions only. Teachers are notified when a cover is assigned (see Notifications). The app doesn't send reminders before class.
  • iOS only at launch. Android version is planned but not yet available. iPad works (the app runs in iPhone-compatibility mode) but isn't optimized for the larger screen.

Privacy

The mobile app shows timetable data and supporting info (teacher names, subject names, etc.) — the same things a teacher or student would see when looking at the printed timetable. The only data the app writes is the substitutions an admin code assigns or removes and, if you allow notifications, a notification token that identifies your phone so TimeIt360 can send you substitution notifications. No personal contact info, no chat history, no analytics. Your code is stored on the device and can be cleared by signing out or deleting the app.

See the Privacy Policy for full details — section 6 covers the mobile app specifically.

Troubleshooting

"No connection — could not reach TimeIt360"

The phone can't reach the server. Check that the phone has internet (load any website to test). If it does, the install you have may be pointed at an old server URL — contact your admin, who can confirm they shared the latest install link.

"Code not found"

Either the code was mistyped or it's been revoked. Double-check the code with your admin. If they regenerated your code recently, the old one stopped working the moment they did — you'll need the new one.

"Invalid code format"

The code must match the pattern [T|G|A]-XXXX-XXXX where X is a digit or capital letter (excluding the easy-to-confuse 0, O, 1, I, L). Most issues are stray spaces or lowercase letters — the app auto-uppercases as you type, but copy-paste from a chat app may include invisible characters. Re-type by hand if pasting fails.

"Pick someone to view" (admin code only)

You're logged in with an admin code but haven't selected anyone to view yet. Go to the Dashboard tab and tap a teacher or section from the picker.

App shows yesterday's data

Pull down on the Dashboard or Timetable to force a refresh. The "Last refreshed" timestamp will update.

I'm not getting substitution notifications

Check, in this order: (1) you are signed in with a teacher code — admin and student/parent codes aren't notified; (2) you allowed notifications when the app asked after you entered your code, and they are still allowed for TimeIt360 in your phone's settings; (3) the substitution has a substitute assigned and was just saved — notifications are sent when a cover is assigned, not when one is removed or edited. If the timetable is correct but you missed the notification, pull down to refresh — the amber cell is the source of truth.

"Partly saved" or "Could not save" when assigning covers (admin code)

The message lists each period that failed and why. Most often the chosen substitute is no longer free for that period (someone else got them first), so pick another teacher from the refreshed suggestions and save again. If the message mentions a network error, check the connection and try again — periods that already saved will show in Arranged for [date], so you won't double-assign them.

I don't see the Subs tab

The Subs tab appears for admin and teacher codes only. A student/parent (grade-section) code sees covers directly on its timetable instead.