attempt_numberinteger required
can_request_enrolment_recheckboolean required
completion_datestring date-time required
course_idstring uuid required
course_module_idstring uuid required
course_module_namestring nullable
course_namestring required
course_slugstring required
creditsnumber float nullable
ects_creditsnumber float nullable
enrolment_checked_atstring date-time nullable
When we last looked for an enrolment, so the page can say how fresh its answer is.
enrolment_foundboolean required
Whether a usable enrolment has been settled on, which is what ticks the step rather than the
name below it: a realisation with no teacher label yet leaves that name empty.
enrolment_linkstring nullable
The open university enrolment page, for a row the study registry has no enrolment for.
enrolment_realisation_namestring nullable
error_code'person_not_found' | 'course_code_not_found' | 'enrolment_not_found' | 'enrolment_not_accepted' | 'invalid_grade_for_grade_scale' | 'grade_scale_mismatch' | 'course_not_allowed' | 'invalid_credits' | 'study_right_not_valid' | 'sisu_validation_failed' | 'sisu_timeout' | 'service_temporarily_unavailable' | 'misregistered' | 'not_registered' | 'unauthorized' | 'malformed_request' | 'transport_error' | 'unexpected_response' | 'no_grade_scale_mapping' | 'missing_uh_course_code' | 'missing_ects_credits' | 'retry_window_expired' | 'unknown'
Why a ledger row is where it is; state says what happens to it next.
grade_scale_idstring nullable
Names the scale grade_id is on, without which "1" reads as a one out of five when it means
a pass.
is_processing_in_sisuboolean required
A waiting_for_sisu row Sisu has received but not finished processing into credits.
next_attempt_atstring date-time required
registered_atstring date-time nullable
registry_already_held_equal_or_betterboolean required
The registry declined this attempt because it already holds an equal or better grade. Still a
registered stage — the credit exists — but the student raised a grade and nothing changed,
so it earns a line of its own. Unlike the ledger state, this one is safe to expose: it says
something about the student's own transcript and nothing about how we treat them.
sisu_attainment_idstring nullable
status_is_movingboolean required
Whether the pipeline is still expected to move this row: drives the status page's polling.
student_facing_status'waiting_for_completion' | 'needs_student_number' | 'looking_for_enrolment' | 'needs_enrolment' | 'waiting_for_course_setup' | 'sending' | 'waiting_for_sisu' | 'registered' | 'failed' | 'not_registering' required
The stage a student sees.
student_numberstring nullable
The student number we submitted this registration under, so a registered row can be
checked against the student's own card; None before the row was ready to send.
submitted_atstring date-time nullable
When the attainment went to the study registry. Ticks the sending step; registered_at is
when the registry confirmed it.
supersededboolean required
uh_course_codestring nullable