Overview
Introduction
Pre-registration module enables a resident to:
enter demographic data and upload supporting documents,
book an appointment for one or many users for registration by choosing a suitable registration center and a convenient time slot,
receive appointment notifications,
reschedule and cancel appointments.
Once the resident completes the above process, their data is downloaded at the respective registration centers before their appointment, thus, saving enrollment time. The module supports multiple languages.
MOSIP provides backend APIs for this module along with a reference implementation of pre-registration portal.
Pre-registration process

Create an application
User provides consent
The user provides demographic information
User uploads supporting documents (Proof of Address, Birth certificate, etc.)
A pre-registration request ID known as AID is generated and provided to the user.
Note: The AID was formerly called PRID in the pre-registration context.
Book an appointment
The user selects a registration center based on postal code, geo-location, etc.
The available slots are displayed
An option to cancel and re-book the appointment is made available
Receiving acknowledgement notifications
An acknowledgment is sent via email/SMS
The user can print the acknowledgment containing AID and QR code.
This QR code can be scanned at the in-person registration centers.
Download of pre-registration data at registration centers
The user provides the AID/ QR code at the registration center.
The registration form gets pre-filled with the pre-registration data.
Pre-registration module
The relationship of the pre-registration module with other services is explained here.

Fetch ID Schema details with the help of Syncdata service.
Fetch a new OTP for the user on the login page.
Log all events.
Pre-Registration interacts with Keycloak via
kernel-auth-adapater
. The Pre-Reg module communicates with endpoints of other MOSIP modules. However, to access these endpoints, a token is required. This token is obtained from Keycloak.The database used by pre-reg.
Generate a new AID for the application.
Send OTP in the email/SMS to the user.
Registration Processor uses reverse sync to mark the pre-reg application as consumed.
Registration clients use the Datasync service to get the pre-reg application details for a given registration center, booking date, and AID.
Request data from the MasterData service to get data for dropdowns, locations, consent forms etc.
Services
Pre-registration module consists of the following services:
For more details, refer to the Pre-registration repo.
Pre-registration portal
MOSIP provides a reference implementation of the pre-registration portal that may be customized as per country needs. The sample implementation is available at the reference implementation repository. For getting started with the pre-registration, refer to the Pre-registration user guide
Build and deploy
To access the build and read through the deployment instructions, refer to the Pre-registration repo.
Configurations
For details related to Pre-registration configurations, refer to Pre-registration configuration.
Developer Guide
To know more about the developer setup, read the Pre-registration Developers Guide.
API
Refer to API Documentation.
Source code
B[Enter Demographics]
B --> C[Upload Documents]
C --> D[Book Appointment]
D --> E[Visit Center]
E --> F[Quick Registration]
### **For Residents**
1. **Register Online**: Create account and provide demographic information
2. **Upload Documents**: Securely upload required identity documents
3. **Schedule Visit**: Book appointment at convenient registration center
4. **Quick Center Visit**: Present QR code for fast-tracked registration
### **For Registration Centers**
- Pre-filled forms reduce processing time
- Better capacity planning and queue management
- Improved data quality and accuracy
5. Key Features Highlights
## Key Capabilities
<div class="feature-grid">
### **Multi-language Support**
Interface and data entry in multiple languages with assisted mode for language diversity
### **Document Management**
Upload, preview, and share documents across family members with validation
### **Smart Appointment Booking**
Location-based center discovery with real-time availability and flexible rescheduling
### **QR Code Integration**
Unique QR codes for seamless registration center integration
### **Family Registration**
Register multiple family members with shared documents and group appointments
### **Real-time Notifications**
Email and SMS updates for appointments, reminders, and status changes
</div>
[→ View all features](features.md)
6. Architecture Overview
## Architecture
Pre-registration consists of 5 microservices integrated with the MOSIP ecosystem:
```mermaid
graph TD
UI[Pre-reg Portal] --> APP[Application Service]
UI --> BOOK[Booking Service]
APP --> DB[(Database)]
BOOK --> MASTER[Master Data]
SYNC[Datasync Service] --> REG[Registration Centers]
Core Services:
Application Service: Demographics and document management
Booking Service: Appointment scheduling and center management
Datasync Service: Registration center data synchronization
Captcha Service: Security and bot prevention
Batchjob Service: Background processing and cleanup
→ Technical architecture details
### **7. Getting Started Paths**
```markdown
## Choose Your Path
<div class="path-cards">
### **🚀 For Implementers**
Deploy and configure Pre-registration for your country
- [Deployment Guide](deployment/)
- [Configuration Guide](configuration.md)
- [Integration Checklist](integration.md)
### **👩💻 For Developers**
Extend and customize the module
- [Developer Setup](developer-guide.md)
- [API Documentation](api/)
- [SDK Integration](sdk-guide.md)
### **📋 For Business Analysts**
Understand features and workflows
- [Feature Overview](features.md)
- [User Workflows](workflows.md)
- [Business Requirements](requirements.md)
### **👤 For End Users**
Learn how to use the portal
- [User Guide](../test/pre-registration-user-guide.md)
- [Video Tutorials](tutorials/)
- [FAQ](faq.md)
</div>
8. Integration and Ecosystem
## MOSIP Ecosystem Integration
Pre-registration seamlessly integrates with:
| Component | Integration | Purpose |
|-----------|-------------|---------|
| **Registration Client** | Datasync API | Pre-filled forms at centers |
| **ID Repository** | Master Data | Dynamic form schemas |
| **Keycloak** | Auth Service | Secure authentication |
| **Notification** | Email/SMS | Appointment notifications |
| **Master Data** | Location API | Registration centers data |
[→ Integration guide](integration.md)
9. Resources and Support
## Resources
### **📚 Documentation**
- [User Guide](../test/pre-registration-user-guide.md) - End-user instructions
- [API Reference](api/) - Complete API documentation
- [Configuration](configuration.md) - Setup and customization
- [Troubleshooting](troubleshooting.md) - Common issues and solutions
### **💻 Code and Examples**
- [GitHub Repository](https://github.com/mosip/pre-registration)
- [Sample Implementations](examples/)
- [Integration Examples](integration-examples/)
### **🤝 Community and Support**
- [Community Forum](https://community.mosip.io)
- [Technical Support](mailto:[email protected])
- [Release Notes](releases/)
- [Roadmap](roadmap.md)
10. Call-to-Action Footer
## Ready to Get Started?
<div class="cta-section">
**For Production Deployment**
[Contact MOSIP Team](mailto:[email protected]) for implementation support
**For Development/Testing**
[Quick Setup Guide](quick-start.md) to get running in 15 minutes
**Have Questions?**
[Join Community](https://community.mosip.io) or [Browse FAQ](faq.md)
</div>
Key Principles Applied:
Progressive Disclosure: Start simple, layer in complexity
Multiple Entry Points: Different paths for different user types
Scannable Content: Headers, bullet points, visual hierarchy
Action-Oriented: Clear CTAs and next steps
Social Proof: Benefits, use cases, ecosystem integration
Visual Elements: Diagrams, feature grids, cards
Search-Friendly: Clear headings and structured content
Mobile-Responsive: Works across devices
This structure follows patterns from successful documentation sites like Stripe's API docs, GitHub's module pages, and AWS service documentation, adapted for MOSIP's technical audience and use cases.
-->
Last updated
Was this helpful?