Skip to content

Answer Booklet ​

osm.answer_booklet · every change is kept in the audit log · numbered {barcode}

Fields ​

Every record also has id, created_at and updated_at.

FieldLabelTypeRules
barcodebarcodetextrequired; unique
exam_eventexam eventlink → exam.examrequired
exam_formexam formlink → exam.exam_form
studentstudentlink → core.studentrequired
subjectsubjectlink → core.subjectrequired
programmeprogrammelink → core.programme
collegecollegelink → core.college
seat_numberseat numbertextrequired
paper_codepaper codetext
previous_paper_codeprevious paper codetext
exam_centre_codeexam centre codetext
cap_centrecap centretext
evaluation_modeevaluation modeselectone of: OSM, Non-OSM; default "OSM"
exam_dateexam datedate
bundlebundlelink → osm.bundle
inward_codeinward codetext
statusstatusselectone of: Expected, Inwarded, Scanned, Uploaded, Absent, Copy Case, No Booklet, Wrongly Generated; default "Expected"
inwarded_atinwarded atdatetime
scanned_atscanned atdatetime
uploaded_atuploaded atdatetime
barcode_printedbarcode printedcheckdefault false
verifiedverifiedcheckdefault false

Unique together: exam_event + seat_number + subject

Permissions ​

RoleCan
osm:super_adminread, create, update, delete
osm:adminread, create, update, delete
osm:operatorread, create, update
osm:scannerread, update
osm:cap_adminread
osm:observerread
osm:principalread — only rows in the user's scope (via college)

API ​

http
GET    /api/osm/answer_booklet?<field>=<value>&limit=100&offset=0
POST   /api/osm/answer_booklet
GET    /api/osm/answer_booklet/:id
PATCH  /api/osm/answer_booklet/:id
DELETE /api/osm/answer_booklet/:id

Edulab Bench developer documentation