412 admit cards. One Friday afternoon. Generate, print, distribute, verify — every status tracked.
Click Generate, get a class-wise booklet of admit cards with school logo, photo, roll number, exam center, room, per-paper schedule and QR verification. Distribute to parents via the parent app, print for offline pickup or both. Track DRAFT, GENERATED, DISTRIBUTED and BLOCKED status per child.

How most Indian schools issue exam admit cards today
It is the Wednesday before the Class 10 pre-board in a CBSE school in Bangalore. The exam coordinator opens last year's admit-card Word file, copy-pastes 412 student names from the school's roll register, types the photo placeholder onto each card by hand, prints the entire stack on letterhead paper, and walks them up to the principal for signature. The signature pen runs out on card 134. The print machine jams on card 287. The Class 10 D batch has a child whose admission was finalised the morning of, and the office assistant pencils her name onto card 413 because reprinting the entire booklet for one card seems wasteful. By Thursday evening, the cards are in 11 different class-teacher folders. By Friday morning, two parents call to ask why their child's admit card lists Room 204 when the seating plan posted on the noticeboard says Room 207.
The cost is not just the Wednesday afternoon and the Thursday morning. The hand-typed admit card carries a photo placeholder that does not match the child in the room — the invigilator allows the child in based on a parent's reassurance, not on documentary evidence. The pencilled-in name on card 413 is undocumented; the audit log when the trustees ask is a printed sheet with handwritten annotations. The QR code that the school used for last year's pre-board is broken; the parent who tries to verify the card on their phone sees a 404 page. The reputation cost of a single 'admit card mistake' is the kind of thing the school carries silently for years; the next March's admission inquiries quietly weigh it.
Inkwelly's Examinations module replaces this entire workflow with a single Generate button. Every admit card is generated server-side from the Class assignment, Subject configuration and Room allocation data. Each card carries the school logo, the student photo, the verified roll number, the exam-center address, the per-paper room and time, and a QR code that resolves to the live admit-card record. The class-wise booklet exports as a single PDF; the office prints it once; the office assistant hands one folder per class to the class teacher. The Friday morning that follows is uneventful, which is the entire point.

How admit cards work in Inkwelly
When the coordinator opens the Exam → Admit Cards screen, she sees four summary cards across the top — total cards (one per linked student), generated count, distributed count and blocked count. Below the cards, a sortable table of every student in the exam with the admit-card number, the exam roll number, the linked class, the current status (DRAFT, GENERATED, DISTRIBUTED, BLOCKED) and action buttons — Generate PDF, Print, Distribute, Block / Unblock, View. The status flow is forward by default — DRAFT becomes GENERATED on PDF generation, GENERATED becomes DISTRIBUTED when the card is sent or printed, BLOCKED is a separate state for children whose card has been pulled (fee due, attendance shortage, board-disqualification rule).
Generation is the workhorse action. The coordinator can generate per-student, per-class or for the entire exam. The default workflow is per-class — select a class from the filter, click Generate, and within seconds Inkwelly produces a single class-wise PDF booklet with one card per child. Each card pulls data from four sources — the Student Information Module for the name, the verified profilePhotoMediaId, the parent contact and the academic ID; the exam itself for the exam name, the school logo, the exam center address and the principal signature; the Subject configuration for the per-paper schedule; the Room allocation for the room and seat. The card carries an auto-generated admitCardNumber (sequence per exam), a unique verificationToken, and a QR code whose data is the verification URL plus the token.
Distribution is the second decision. The school configures a distributionMode per exam — PRINT (offline only), DIGITAL (parent app + WhatsApp Business), or BOTH (the office prints and also pushes to the parent app). The default is BOTH because every Indian school has parents on both ends of the digital divide. The DIGITAL channel pushes a notification to the parent app with a tappable card view; the parent can save it as PDF or screenshot it. The PRINT channel produces the class booklet PDF for the office printer.
The BLOCKED state is the safeguard. If a child has unpaid fees beyond the school's grace period, the Fee Module (when integrated) can auto-flag the admit card as BLOCKED. If a child has below-threshold attendance, the Attendance Module can flag. If the principal manually blocks a card for disciplinary reasons, the office records the reason. A BLOCKED card is not generated, not distributed, and shows on the parent app as 'Please contact the school office' with a link to chat. The block can be lifted with a logged action — the audit log captures who blocked, who unblocked, when and why.
What admit cards actually do
- One admit card row per student linked to the exam, with auto-generated
admitCardNumber(sequential per exam) - Four-status workflow — DRAFT, GENERATED, DISTRIBUTED, BLOCKED — each with a colour code and an action set
- Generate per-student, per-class or for the entire exam — PDF produced server-side in seconds
- Snapshot of student data at generation time — photo, name, class, exam schedule, roll number frozen on the card
- QR code with
verificationToken— unique per card, resolves to a verified parent-app view - Distribution modes — PRINT (offline only), DIGITAL (parent app + WhatsApp), BOTH (the default)
- BLOCKED state — manual or auto-triggered by Fee or Attendance, with reason captured
- Search by exam roll number or student name; filter by status or class; sort by createdAt or admitCardNumber
- Bulk generate via class filter — most schools generate one class at a time as the date sheet is finalised
- Re-generate after a schedule change — the old card is invalidated server-side; the new card is issued with a new token
- Block / unblock dialog — reason field captured, audit-log entry written, parent-app banner updated
- Class-wise booklet PDF for office printing — every card on its own page, school letterhead, principal signature placeholder
See admit cards in action




Snapshot at generation time — every detail frozen on the card
A running concern with admit cards is data drift between when the card is generated and when the child sits the paper. A name typo corrected on the Student Information Module on Wednesday afternoon should not silently change the admit card already printed on Wednesday morning. A roll number reassignment should not invalidate a card already in the parent's hand. Inkwelly snapshots the student state at generation time onto the card row — photo media ID, name, class, exam schedule, roll number — so that the printed and the digital card always match.
If the underlying data changes after generation, Inkwelly does not silently update the card. Instead, the system flags the card as 'snapshot stale' and prompts the coordinator to regenerate. Regeneration creates a new card with a new admit-card number; the previous card is marked invalid; the parent app shows a notification 'Updated admit card available'. The audit log captures both the original snapshot and the new snapshot for the affiliation cell or the trustees' five-year review.

QR verification — the parent-side fraud check
A growing problem in real Indian schools is parent-side fraud. A child's admit card photo is replaced with a sibling's photo by a hapless parent who lost the original. A coaching center prints a fake admit card that looks identical to the school's, and the child shows up to the wrong center. A WhatsApp group circulates a screenshot from last year's pre-board that lists the wrong subjects. The invigilator at the door has no way to verify the card on the spot.
Inkwelly's QR code closes this loop. Every card has a unique verificationToken. The QR data is the verification URL plus the token. When the invigilator scans the QR with the school's mobile app, Inkwelly returns a verified copy of the admit card with the live photo, the live schedule and a 'verified at HH:MM' timestamp. A fake admit card produces a 'verification failed' result. The parent's QR scan in the parent app produces the same verified copy with a watermark indicating the parent's view. The QR is the audit-log key; every scan is captured with the user, the timestamp and the IP address.


Distribution modes — PRINT, DIGITAL, BOTH
Indian schools have parents on both sides of the digital divide. A Tier-1 school in Bangalore can move to DIGITAL only and skip printing entirely — every parent has the parent app, every parent reads WhatsApp, every parent owns a printer at the local print shop. A Tier-3 school in semi-urban Karnataka cannot — 60% of parents need the printed card pinned to the home pin-board because mobile data drops at exam time and the noticeboard is the trusted source.
Inkwelly's distributionMode field accepts PRINT (the office prints the card and a class teacher hands it to the parent at pickup), DIGITAL (the parent app shows the live card with QR; the WhatsApp Business channel sends the PDF as attachment), or BOTH (both channels run in parallel). The default for new schools is BOTH because it covers every parent. The mode can be set per exam — the school may use PRINT only for the Class 1 unit test (parents come for pickup anyway) and BOTH for the Class 10 pre-board. The audit log captures the mode at the moment of distribution.
Block / unblock with reason — the safeguard for fee, attendance and discipline
Not every child should walk into the exam hall on Friday morning. The school's policies on fee payment, attendance and discipline are spelled out in the school handbook, but the enforcement on exam day used to be a clipboard with a list of names. Inkwelly's BLOCKED state is the structured replacement.
A card can be blocked manually by the principal or the exam coordinator with a reason — 'fees outstanding beyond grace period', 'attendance below 50% in October', 'disciplinary action pending' — from a dialog. A card can also be blocked automatically by integration. When the Fee Module flags a child as 'fees outstanding beyond grace', the admit card auto-blocks. When the Attendance Module flags 'below threshold', the same. The blocked card does not generate a PDF; the parent app shows 'Contact the school office' with a one-tap chat link. Unblocking is a separate dialog with its own reason field; both block and unblock are captured in the audit log.

“Pichli baar admit cards print karne mein 2 din lag gaye the. Is baar Inkwelly mein 'Generate' button click kiya, 5 minute mein 412 admit cards ka booklet ready ho gaya. Class teachers ko Friday subah folder mein de diya. Zero phone calls.”
Real-world scenarios for admit cards
-
A late-admission child two days before the paper. A new admission joins on Wednesday for the Class 10 pre-board starting Friday. The moment the Student Information Module confirms the admission and the Class assignment auto-links her, an admit card row in DRAFT appears on this screen. The coordinator generates a single-student admit card from the action menu, prints it, and hands it to her by Wednesday evening. Friday morning is uneventful.
-
A schedule change after admit cards were printed. The Class 9 Hindi paper is shifted by 24 hours due to a regional bandh. The coordinator updates the Room allocation; the system flags the affected admit cards as 'snapshot stale'. She clicks 'Regenerate for affected'. New cards are issued; old cards are invalidated; parents receive a notification on the app and a WhatsApp message. The office reprints only the affected class.
-
A child whose fees are outstanding. Class 11 commerce has one child whose fees are 90 days outstanding. The Fee Module auto-flags the admit card as BLOCKED with reason 'fees outstanding 90 days'. The card does not appear in the class booklet. The parent app shows 'Contact school office'. The principal calls the parent; the parent pays; the principal unblocks with reason 'paid 24 Feb'. The card generates immediately.
-
A QR scan at the exam center entrance. Friday morning. The Class 10 Hindi paper begins at 9 AM. The invigilator at the door scans the QR on every child's printed admit card with the school's mobile app. Each scan returns a verified copy with the live photo. One child's QR returns 'invalid — see updated card'; the invigilator pulls her aside, checks her phone, finds the updated card, and admits her. Every scan is captured in the audit log.
-
A parent who claims they never received the admit card. A parent calls the office on Thursday evening claiming no admit card was distributed. The coordinator opens the admit card row, sees status DISTRIBUTED with the WhatsApp delivery timestamp, the parent app push receipt and the read-receipt from the Wednesday distribution. She sends the PDF again to the parent's primary contact and updates the distribution log.
Common operations on this screen
- Generate admit card per-student, per-class or for the entire exam — server-side, takes seconds
- Distribute via PRINT, DIGITAL or BOTH — set per exam, applied uniformly
- Block / unblock a card with reason — manual or auto-triggered by Fee or Attendance integration
- Re-generate after a schedule change — old card invalidated, new card issued with new token
- Search by name or roll, filter by class or status, sort by admitCardNumber
- Print class-wise booklet PDF — every card on its own page, ready for the office printer
- View per-card audit log — generation, distribution, scans, block / unblock events
- Export per-class admit card booklet to PDF for the office or to USB for offline distribution
- Customise admit card layout via Admit Card Setting — logo, footer, signature lines
- View QR scan log — every invigilator scan with timestamp, IP and user
See admit cards generated for your school in real time
Bring your school logo and a sample student list. We will generate the class booklet PDF live in front of you, with QR verification working end to end.
Limits, safety and the small print
Admit cards are governed by the exam lifecycle. They can be generated at SCHEDULED stage and onwards; not at DRAFT. Once an exam reaches IN_PROGRESS, generation is allowed only via the per-student override (for late admissions or replacement cards). Once the paper has been sat (the audit log records examConducted), the admit card row is archived and not re-generatable. The student's profile retains a copy for the affiliation cell visit.
The verificationToken is a 32-character random string, unique per card per exam, and rotates on regeneration. The QR resolves to a public verification URL but the verification result requires a logged-in user (parent, invigilator, principal). An anonymous scan returns a generic 'this card is valid; for details, log in' message; this prevents scrape-and-fake attacks while keeping the parent-side verification trivially easy.
DPDP-Act compliance requires that student personal data on the admit card (photo, name, parent contact) is stored with parental consent recorded at admission. Inkwelly's admit-card module respects the consent state — a child whose parental consent has been withdrawn for marketing data still gets an admit card (because the school's exam process is a legitimate interest, not marketing), but the WhatsApp distribution channel is paused for that child; the printed card remains the canonical delivery. The audit log captures the consent-aware delivery decision.
Belongs to
1 moduleFrequently asked
7 questionsCan the admit card layout be customised?
Yes — see the [Admit Card Setting](/features/exam-admit-card-setting) feature. Schools can customise the logo, the school-name display, the photo placement, the schedule table columns, the footer text and the signature line count. The customisation applies to all admit cards generated under that exam; changing the layout requires regenerating the admit cards.
What happens if a child is added after admit cards have been printed?
Inkwelly auto-creates an admit card row for the new child in DRAFT status the moment they are linked to the exam through the [Class assignment](/features/exam-class-assignment) feature. The coordinator generates a single-student admit card from the action menu, prints it, and distributes it. The class booklet PDF re-generation is optional; most schools issue the new card as a single-page printout.
Can parents download the admit card themselves?
Yes. The parent app shows the admit card live, with a Save as PDF button. The WhatsApp Business channel pushes the PDF as an attachment. Parents can save, screenshot or print the PDF themselves; every save and download is captured in the distribution log so the office can verify whether a parent received the card.
Does the QR code work offline?
Partially. The QR data includes a base64-encoded snapshot of the card so an offline scanner can verify the card was issued by Inkwelly. Full live verification (showing the latest photo and live schedule) requires a network connection. For board exam centers in poor-connectivity areas, the offline QR plus the printed photo is sufficient for the invigilator to verify identity.
How are admit cards re-issued after a card is reported lost?
The coordinator opens the lost card row, clicks 'Re-issue', enters a reason ('parent reported lost on 24 Feb morning'). Inkwelly invalidates the old card (the original QR token returns 'invalid — reissued'), generates a new card with a new admit-card number and a new QR token, and prints / distributes it. The parent app shows the new card; the audit log captures both events.
Are admit cards integrated with the parent app?
Yes. The DIGITAL distribution mode pushes the admit card to the parent app with a card-style view, an exam schedule overlay, a QR for verification and a Save as PDF button. The card is updated automatically when the underlying schedule changes. The audit log captures the parent's first view, the parent's saves and the parent's QR scans.
Can the school issue admit cards in multiple languages?
Yes. The card layout supports rendering the student name and the school name in both English and the school's primary regional script (Hindi, Tamil, Marathi, Bengali, Kannada). The exam schedule and the QR remain English-only for invigilator scanning. The bilingual rendering is configured via the [Admit Card Setting](/features/exam-admit-card-setting) feature.
You might also like
2 readsSee Inkwelly on your school
30-minute demo. We open your current ERP with you and load your data into Inkwelly on the call. Dated go-live plan by the end of it.