SBMS Italia · UI/UX spec doc 2

Driver app — interactive prototype

Every flow in the specification, running on real state: pre-trip checks, boarding, the afternoon sweep, offline marks, the end-of-trip gates and the SOS sequence. Pick a screen on the left; the panel on the right carries the rules that screen has to satisfy.

{{ clock }}
{{ chrome.routeLabel }}

{{ syncStrip.line }}

SBMS · DRIVER

Buongiorno, Paolo

Enter your six-digit PIN to start the day.

{{ d.ch }}

{{ login.hint }}

{{ login.err }}

This device is locked for 15 minutes.

Ask the transport office to reset your PIN if you can't wait. They answer from 05:45.

Call the office · 011 555 0123 The office reset it — try again

{{ login.attemptsLine }}

Sign in

Forgot your PIN? There is no reset link — the office will set a new one for you.

Call the transport office · 011 555 0123

You're signed in on another device

Samsung A34 (Bus 12)

Last used 3 minutes ago

That device has Route 4 — Morning in progress, started 07:30. If you sign in here, you'll carry on with the same trip.

Any records stranded on the other device will arrive later and be merged by the time each one was made.

Sign in here and continue the trip Cancel

Three permissions before you drive

{{ p.title }} {{ p.status }}

{{ p.body }}

Allowed
Not now {{ p.cta }}

If you say no to location, you can still see your trips, message the office and use SOS — but a trip cannot be started.

Continue
Continue

{{ perms.blockLine }}

Device check

Run once each session and again before every trip.

{{ d.label }}

{{ d.value }}

{{ d.state }}
Continue

Thursday 18 September

Paolo Greco · Bus 12

Battery 17% — connect the charger.

{{ pendingLine }}

NEXT

{{ today.title }}

{{ today.time }}

{{ today.line1 }}

{{ today.line2 }}

{{ today.line3 }}

Return to trip Open trip

LATER TODAY

Next 7 days

{{ d.d }}

{{ r.t }}

{{ r.s }}

Messages

Past routes · read-only

{{ thread.name }}

{{ thread.context }}

{{ thread.first }}

{{ thread.at }}

{{ m.m }}

The school can read these messages.

Listen

You can reply when the bus is stopped.

QUICK REPLIES

{{ thread.err }}

Alerts

{{ g.g }}

PG

Paolo Greco

EK-482-PT · Torino sud · Bus 12

DOCUMENTS

{{ d.t }}

{{ d.s }}

{{ d.b }}

Documents are kept by the office. Message them if something here is wrong.

My trip log

Last 90 days. Read-only — the office owns the record.

{{ t.d }}

{{ t.s }}

Settings

Sign out

{{ briefing.title }}

{{ briefing.window }}

{{ briefing.bus }}

{{ briefing.geo }}

Note from the office

Via Roma is closed — use Via Torino.

Start checks

This trip can't be started

{{ blockedReason }}

The office has been told. They can authorise the trip, and the authorisation is recorded against it.

Call the office · 011 555 0123 Back to the briefing Message the office Back to today

Checks before you go

{{ checklist.progress }}

{{ c.label }}

{{ c.note }}

Odometer (optional)

142 380 km
Finish checks
Finish checks

{{ checklist.remaining }}

{{ checklist.defectLabel }} — what's wrong?

A note is required. A photo helps the garage. Cancelling leaves this item unanswered rather than filing a defect with no explanation.

{{ photoLabel }}
Cancel Save defect

Checks before you go

You checked this bus at {{ confirmForward.at }}

{{ confirmForward.summary }} · same bus, same driver, within the duty block

Nothing has changed Something has changed — check again

Open defect

{{ confirmForward.defect }} — still unresolved.

Confirming forward is recorded as such, so the office can see who inspects and who confirms.

READY TO START

{{ start.title }}

{{ start.line }}

{{ start.checksLine }}

Starting the trip turns on location tracking. It stops when you end the trip.

The bus is already at the school, so boarding opens the moment you start.

Not yet
Map locked while moving

Sig.ra Rossi: "We're 2 minutes away…"

{{ drive.delayLine }}

Paused · {{ drive.pauseReason }}

Resume

NEXT STOP

{{ drive.name }}

{{ drive.dist }}

Attendance is available when the bus is stopped.

{{ drive.stopLabel }}

{{ drive.name }}

{{ drive.eta }}

{{ drive.landmark }}

{{ drive.studentLine }}

Navigate Open stop
End trip
End trip

{{ drive.endBlockLine }}

{{ counts.onboardLine }}

Over capacity

No signal — the school can't see the bus. Attendance still works.

Stop sequence

{{ stop.name }}

{{ stop.idx }}

{{ stop.waitLabel }}

Waiting time is up. Mark the remaining students as not at the stop?

Mark remaining as not at stop

{{ stop.lockLine }}

Open the trip briefing
Scan QR

Attendance is available when the bus is stopped.

{{ stop.readOnlyLine }}

Add a late boarding

{{ stop.listTitle }} — {{ stop.count }}

{{ r.name }} {{ r.grade }}
{{ r.note }} Guardian restriction — keep the child on the bus and call the office {{ r.sibLine }} {{ r.label }} Saved on this device — waiting for signal
{{ r.action }} {{ r.action }}
Done — next stop

{{ stop.sweepQuestion }}

{{ stop.sweepExcluded }} Nothing is sent to parents until this matches.

Confirm the count

Point at the student's QR code. The scanner stays open for the next child.

Last scan

{{ scan.last.title }}

{{ scan.last.sub }}

Boarding her anyway needs a reason

Don't board Board anyway

{{ scan.boardedLine }}

Simulate a scan Mark by hand instead

{{ counts.manifestLine }}

The count doesn't match the sweep. Correct the rows below — nothing has been sent to parents.

Count again

{{ manifest.emptyLine }}

Show everyone

{{ g.stop }}

{{ student.initials }}

{{ student.name }}

{{ student.grade }} · {{ student.stop }}

{{ student.status }}

{{ student.method }}

{{ student.note }}

Shown to you because you are responsible for this student today.

This student must not be released to an unauthorised adult. If there is a problem, keep the child on the bus and call the office.

EMERGENCY CONTACTS

{{ c.n }}

{{ c.r }}

ACTIONS

{{ student.lockLine }}

Mark on board Mark dropped off Mark not at stop Undo the last mark Message the parent

No address, no parent email, no other children. The number is callable but never shown.

Skip this stop

Choose a reason. It goes to the office and to the parents at this stop.

{{ skip.consequence }}

Skip the stop Cancel

Report a delay

REASON

HOW LONG

{{ delay.summary }}

Tell the office and the parents

Trip actions

Close

{{ unresolved.title }}

You can't finish until each one is accounted for.

{{ r.initials }}

{{ r.name }}

{{ r.sub }}

Dropped off here Dropped at another stop Not on the bus — recording error
Everyone is accounted for

Still can't resolve this? Call the office — 011 555 0123.

BEFORE YOU FINISH

{{ summary.title }}

{{ endcheck.carried }}

Walk the bus from front to back and check every seat.

END TRIP

{{ endcheck.blockLine }}

Not yet

Trip completed

{{ summary.title }}

{{ summary.window }}

{{ r.k }}

{{ pendingLine }}

Tracking is now off.

File an incident Back to today

Keep holding to send an emergency alert

Letting go before three seconds cancels. Nothing is sent and nobody is told.

Cancel

{{ sos.count }}

{{ sos.countLine }}

Send now

Alert sent. What has happened?

The office already has your position and the list of children on board. This only helps them send the right help.

Skip — I can't answer now

EMERGENCY — ALERT SENT

08:03 · Via Roma 14 · location every 5 s

{{ sos.ackLine }}

CALL 112 Call the office
Type {{ sos.type }}

No signal — the alert was sent by SMS to the office with the bus, the trip and your coordinates.

{{ sos.onboardLine }}

{{ s.name }} · {{ s.grade }}

{{ s.med }}

I sent this by mistake

Your note "sent by mistake" is with the office.

They will close it as a false alarm. Parents were never told.

Only the office can close this. Parents are told nothing unless the school writes to them.

Back to the trip

File an incident

If someone is hurt, call 112 first.

TYPE

WHAT HAPPENED

{{ incident.err }}

Time defaults to now. Location is filled in from the bus and can be removed. Drafts save themselves.

Send to the office Cancel

Confirm this device

This is a new device. We've sent a code to +39 ••• ••1234 to confirm it's you.

{{ otp.expiry }}

Any six digits except 000000 work in this prototype.

{{ otp.err }}

Confirm {{ otp.resendLabel }}

No text message? Call the transport office · 011 555 0123.

Choose your PIN

Six digits. Not the same digit six times, not a simple sequence, not your date of birth.

New PIN

Type it again

{{ pinSetup.err }}

Save PIN

This device is locked

Five wrong PINs were entered.

{{ locked.line }}

Ask the transport office to reset your PIN if you can't wait.

Call the office · 011 555 0123 The office reset it — try again

Turn on location for SBMS

Location was refused, so a trip can't start. The setting names below are the ones your phone shows.

{{ s.n }}

{{ s.t }}

You can still see your trips, message the office and use SOS.

Open Impostazioni Back

Help

Call the transport office · 011 555 0123

HOW DO I…

{{ h.a }}

My incident reports

File a new incident

{{ incidentDetail.type }}

{{ incidentDetail.status }} {{ incidentDetail.when }}

{{ incidentDetail.trip }}

{{ incidentDetail.text }}

REPLIES

No reply yet. The office usually answers the same day.

{{ r.by }}

{{ r.t }}

{{ incidentDetail.err }}

Add to the report

This report is resolved and read-only.

{{ toast }}

{{ ov.id }}

{{ ov.title }}

{{ ov.body }}

{{ ov.quote }}

{{ ov.count }}

{{ ov.primary }} {{ ov.secondary }}

{{ modal.title }}

{{ modal.meta }}

{{ modal.body }}

{{ l.l }}

{{ r.label }} {{ r.sub }}

{{ modal.err }}

{{ modal.cancelLabel }} {{ modal.confirmLabel }}

{{ busy }}

{{ chrome.caption }}