Research Article - (2026) Volume 2, Issue 1
Automated Admission Booking via WhatsApp Using a Retrieval-Augmented Generation System
Received Date: May 10, 2026 / Accepted Date: Jun 19, 2026 / Published Date: Jun 30, 2026
Copyright: ©2026 Bhawna Singla, et al. This is an open-access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited.
Citation: Gupta, N., Singla, B. (2026). Automated Admission Booking via WhatsApp Using a Retrieval-Augmented Generation System. Arch Cienc Investig, 2(1), 01-08.
Abstract
In recent years, the integration of Natural Language Processing (NLP) with web scraping techniques has enabled intelligent automated systems that can improve user engagement and operational efficiency in educational institutions. This paper presents a novel approach to automate the admission inquiry and booking process for universities by extracting relevant course and fee information from official documents and dynamically scraping contact details from the university website. The system leverages transformer-based models for question answering (QA) on admission brochures and utilizes WhatsApp web URL schemes to facilitate direct communication between prospective students and admission offices. This approach significantly reduces manual intervention, enhances user experience, and streamlines the admission workflow.
Keywords
Admission Automation, Whatsapp Integration, Retrieval-Augmented Generation, NLP, Question Answering, Web Scraping, OCR, Brochure Analysis, Transformer Models, Semantic Search, University Admissions, Contact Extraction, Chatbot, Educational Technology, Conversational AI, Document Parsing, PDF Processing
Introduction
The admission process for educational institutions often involves multiple touchpoints, including inquiry handling, information dissemination, and seat booking. Traditionally, these processes are manually managed through phone calls or emails, which can be time-consuming and error-prone. With the rise of AI and automation, it is now possible to create intelligent systems that answer admission-related questions and assist users in booking admissions via popular communication platforms such as WhatsApp.
Related work
Prior research has demonstrated the use of NLP for educational chatbots, web scraping for data aggregation, and WhatsApp automation for customer engagement [1-3]. However, an integrated system combining these components for university admissions remains under-explored. This paper addresses this gap by providing an end-to-end solution incorporating brochure analysis, contact scraping, and booking facilitation.
Methodology
The proposed system integrates multiple advanced technologies to automate the process of answering admission-related queries and facilitate booking through WhatsApp. The methodology encompasses four major components: data extraction and processing, a question answering system, web scraping for contact extraction, and WhatsApp booking integration. Each of these components plays a critical role in delivering an efficient, user-friendly admission assistance platform.
Figure 1: University admission assistance system
Figure 1 outlines a comprehensive system for assisting with university admissions. It includes processes for data extraction and processing from admission brochures, a question-answering system for user queries, web scraping for contact extraction, and WhatsApp booking integration. The key components involve generating embeddings, using a transformer-based QA pipeline, extracting contact numbers, and creating pre-filled WhatsApp message links.
Data Extraction and Processing
Admission brochures issued by educational institutions typically contain rich information regarding courses offered, fee structures, admission criteria, eligibility, and other institutional guidelines. These brochures are generally distributed in PDF format, which presents both opportunities and challenges for data extraction.
a. Challenges in PDF Processing
PDFs are designed primarily for visual presentation rather than structured data extraction, which complicates automatic text retrieval. The brochures often include multi-column layouts, tables, images, headers, footers, and other formatting complexities. Text may be embedded as images or scattered unevenly, making direct parsing difficult. Additionally, variations in brochure design and formatting across institutions necessitate a flexible yet robust extraction methodology.
b. Optical Character Recognition (OCR)
To overcome the challenges posed by scanned PDFs or PDFs containing images, Optical Character Recognition (OCR) is employed. OCR tools like Tesseract analyse images in the PDF pages to convert them into machine-readable text. This step is crucial when the brochure content is not available as selectable text. The OCR process is often complemented with pre-processing techniques such as binarization, noise removal, and skew correction to improve text recognition accuracy.
c. Natural Language Processing (NLP) for Structure Extraction
Once raw text is obtained either through direct parsing of text-based PDFs or via OCR, NLP techniques are applied to organize and structure the data. This involves several sub-tasks:
• Text Cleaning: Removing extraneous characters, multiple newlines, and irrelevant whitespace that can clutter the extracted text.
• Segmentation: Dividing the entire document into meaningful sections or chunks. For instance, the brochure might be split into sections like “Undergraduate Courses,” “Postgraduate Courses,” “Fee Structure,” and “Admission Process.” Segmentation helps in creating a semantic index for easier retrieval.
• Named Entity Recognition (NER): Identifying entities such as course names, fees, eligibility criteria, and dates to tag relevant information accurately.
• Table Extraction: For fee details often presented in tabular form, specialized table extraction tools (like Camelot or Tabula) parse these tables into structured data formats.
d. Embedding Models for Semantic Search
To enable an interactive question answering system, it is essential to retrieve the most relevant information chunks in response to user queries. This requires moving beyond simple keyword matching to semantic understanding. Embedding models like Sentence Transformers are employed to convert text chunks into dense vector representations capturing their semantic meaning. Sentence Transformers, based on architectures such as BERT or RoBERTa, generate embeddings that position semantically similar sentences or paragraphs close to each other in vector space.
During a query, the system converts the user’s question into an embedding vector and computes similarity scores (e.g., cosine similarity) with stored brochure chunk embeddings. This retrieves the top relevant chunks providing the contextual foundation for answering queries.
e. Advantages of This Approach
• Flexibility: Works across various brochure formats and styles.
• Scalability: Can process large documents and maintain up-to-date indexed data.
• Improved Accuracy: Semantic search outperforms simple keyword search, leading to more relevant information retrieval.
Question Answering System
After retrieving the relevant context from the brochure, the system’s next step is to provide concise and precise answers to user questions. This is accomplished through a transformer-based Question Answering (QA) pipeline.
Transformer Architectures for QA
Transformers, notably BERT (Bidirectional Encoder Representations from Transformers) and its variants like RoBERTa, have revolutionized NLP by enabling models to understand the context of words bidirectionally. Such models fine-tuned on question answering datasets such as SQuAD (Stanford Question Answering Dataset) demonstrate high accuracy in extracting exact answer spans from given passages. For this system, a model like RoBERTa fine-tuned on SQuAD is used. When a user submits a query, the model takes the top relevant brochure chunk as context and extracts the answer span, effectively pinpointing the precise information required.
Handling Challenges
• Ambiguous Queries: Users may ask questions in multiple ways or use synonyms. The semantic retrieval combined with transformer QA ensures robustness.
• Incomplete or Noisy Context: Sometimes, extracted text chunks may contain formatting artifacts or partial information. To mitigate this:
• Fallback Mechanisms: If the QA model returns low-confidence or no meaningful answers, rule-based or template-based responses provide fallback answers.
• Rule-based Enhancements: For frequently asked questions such as admission procedures or fee schedules, predefined responses ensure consistent and accurate answers.
a. Example Workflow
1. User asks: “What is the admission process for postgraduate courses?”
2. The system embeds this query and retrieves relevant text chunks tagged under “Admission Process” and “Postgraduate Courses.”
3. The QA model extracts the answer span such as “Admissions are based on the GUTS score followed by counselling.”
4. If no answer is confidently extracted, a rule-based default such as “Please refer to the official brochure or contact us directly” is returned.
b. Benefits
• Provides human-like precise answers without overwhelming users with entire brochure text.
• Handles complex queries by leveraging transformer understanding.
• Improves with additional fine-tuning and incorporation of user feedback.
Web Scraping for Contact Extraction
Accurate and up-to-date contact information is essential for facilitating communication between prospective students and the university. As universities may update their contact details or add new communication channels like WhatsApp, manual updates to the system can become cumbersome.
Dynamic Web Scraping
To automate contact detail updates, the system incorporates a dynamic web scraping module targeting the university’s official contact or helpdesk web pages.
• Libraries Used: The Python requests library fetches web page content, while Beautiful Soup parses the HTML to locate phone numbers, emails, or WhatsApp contact details.
• Pattern Recognition: Regular expressions (regex) identify phone number patterns, typically country code +91 for India, standard mobile number lengths, or WhatsApp number formatting.
• Contextual Filtering: The scraper can be enhanced to look for keywords such as “WhatsApp,” “Contact,” or “Admissions Helpline” near extracted numbers to prioritize relevant contacts.
a. Handling Website Variations
Since website layouts vary widely and might change over time, the scraper is designed to be:
• Modular: Separate scraping functions for different web page structures.
• Robust: Error handling for page fetch failures or HTML structure changes.
• Configurable: Allowing adjustments to target URLs or regex patterns without rewriting code.
• Scheduling and Updates
• The scraper can run on a schedule (e.g., daily or weekly) to refresh contact details automatically.
• Changes detected can trigger alerts or updates to the chatbot backend ensuring the booking links always use current phone numbers.
• Ethical Considerations
• Respect the website’s robots.txt and terms of service.
• Avoid overloading the website with frequent requests.
WhatsApp Booking Integration
A key innovation in this system is leveraging WhatsApp, a widely adopted messaging platform, to enable direct, frictionless admission booking. Why WhatsApp?
• Ubiquity: WhatsApp has over 2 billion users globally, making it a familiar and accessible communication tool for students.
• Real-Time Interaction: Enables instant messaging with admission officers, facilitating rapid clarifications and confirmations.
• No Additional App Needed: Most users already have WhatsApp installed, eliminating onboarding hurdles.
Integration Mechanism
Rather than implementing complex WhatsApp Business API integrations, the system utilizes the WhatsApp Web URL scheme for message pre-filling.
• The scheme URL format is: php-template
![]()
Implementation
The admission assistance system is designed as a modular pipeline that integrates several modern NLP, web scraping, and web integration techniques. This modular design allows flexibility, ease of maintenance, and extensibility. The core components include PDF brochure parsing, semantic embedding and retrieval, a transformer-based question answering (QA) pipeline, contact information scraping, booking link generation, and a user interface for interaction. Below, each module is described in detail along with sample code to illustrate the implementation.
PDF Brochure Parsing
The initial step is to extract text content from the university’s admission brochure, often provided in PDF format. Since PDFs vary in structure and can include scanned images, a combination of PDF parsing and Optical Character Recognition (OCR) is used.
Tools and Libraries
• PyMuPDF (fitz): Efficient PDF text extraction.
• PyPDF2: Alternative PDF parsing library.
• Tesseract OCR: For extracting text from scanned images inside PDFs.
• pdf2image: To convert PDF pages to images for OCR.
Workflow
1. Attempt Direct Text Extraction: For PDFs with embedded text.
2. Fallback to OCR: If direct extraction fails or text is sparse.
3. Preprocessing: Clean text, remove headers, footers, and segment the content.
Example Code
python
import fitz # PyMuPDF
from pdf2image import convert_from_path
import pytesseract
import os
def extract_text_from_pdf(pdf_path):
# Step 1: Try direct extraction using PyMuPDF
doc = fitz.open(pdf_path)
full_text = ""
for page_num in range(len(doc)):
page = doc.load_page(page_num)
text = page.get_text()
if text.strip():
full_text += text + "\n"
# If text extraction is poor, fallback to OCR
if len(full_text.strip()) < 100: # arbitrary threshold
full_text = ""
images = convert_from_path(pdf_path)
for image in images:
ocr_text = pytesseract.image_to_string(image)
full_text += ocr_text + "\n"
return full_text
# Usage
pdf_file = "GU-Brochure-25-26.pdf"
raw_text = extract_text_from_pdf(pdf_file)
print(raw_text[:500]) # print first 500 characters for sanity check
Text Segmentation
After extraction, the entire text is often too long for direct querying. It is segmented into manageable chunks—paragraphs, sections, or fixed-length text blocks.
python
import nltk
nltk.download('punkt')
from nltk.tokenize import sent_tokenize
def segment_text(text, max_chunk_size=500):
sentences = sent_tokenize(text)
chunks = []
current_chunk = ""
for sent in sentences:
if len(current_chunk) + len(sent) <= max_chunk_size:
current_chunk += " " + sent
else:
chunks.append(current_chunk.strip())
current_chunk = sent
if current_chunk:
chunks.append(current_chunk.strip())
return chunks
chunks = segment_text(raw_text)
print(f"Number of text chunks: {len(chunks)}")
Embedding and Retrieval
To enable semantic search, each chunk is converted into an embedding vector using pretrained Sentence Transformer models. Queries are similarly embedded, and nearest neighbour search retrieves the most relevant chunks.
Tools
• sentence-transformers: Pretrained models to generate semantically meaningful embeddings.
• FAISS or scikit-learn: For fast vector similarity search (optional for large corpora).
Example Code
python
from sentence_transformers import SentenceTransformer import numpy as np
from sklearn.metrics.pairwise import cosine_similarity
# Load pretrained Sentence Transformer
model = SentenceTransformer('all-MiniLM-L6-v2')
# Encode all chunks
chunk_embeddings = model.encode(chunks)
def retrieve_relevant_chunks(query, top_k=3):
query_embedding = model.encode([query])
similarities = cosine_similarity(query_embedding, chunk_ embeddings)[0]
top_indices = np.argsort(similarities)[::-1][:top_k]
relevant_chunks = [chunks[i] for i in top_indices]
return relevant_chunks
# Example
query = "What are the postgraduate courses?"
relevant_chunks = retrieve_relevant_chunks(query)
for i, chunk in enumerate(relevant_chunks):
print(f"Chunk {i+1}: {chunk}\n")
QA Pipeline
Using Hugging Face’s transformers, a pretrained transformer-based QA model fine-tuned on datasets like SQuAD extracts precise answers from the retrieved chunks.
Tools
• transformers library from Hugging Face
• Models like deepset/roberta-base-squad2 or distilbert-base-uncased-distilled-squad
Example Code
python
from transformers import pipeline
# Load QA pipeline
qa_pipeline = pipeline("question-answering", model="deepset/ roberta-base-squad2")
def answer_question(question, context_chunks):
combined_context = " ".join(context_chunks)
result = qa_pipeline(question=question, context=combined_ context)
return result['answer']
# Example usage
answer = answer_question(query, relevant_chunks)
print(f"Answer: {answer}")
Contact Scraper
Since universities often update their contact info, a scraper runs periodically to fetch the latest WhatsApp or phone numbers from official websites.
Tools
• requests for HTTP requests
• BeautifulSoup for HTML parsing
• re for regex pattern matching phone numbers
Example Code
python
import requests
from bs4 import BeautifulSoup
import re
def scrape_contact_info(url):
try:
response = requests.get(url, timeout=10)
response.raise_for_status()
soup = BeautifulSoup(response.text, "html.parser")
# Find phone or WhatsApp numbers using regex
phone_pattern = re.compile(r'(\+91[-\s]?)?[0]?(91)?[789]\d{9}')
text = soup.get_text(separator=" ", strip=True)
matches = phone_pattern.findall(text)
# Return unique cleaned phone numbers
phone_numbers = set()
for match in matches:
# Clean match tuple and join
number = "".join(match)
phone_numbers.add(number)
return list(phone_numbers)
except Exception as e:
print(f"Error scraping contacts: {e}")
return []
# Usage
contact_page_url = "https://geetauniversity.edu.in/contact"
contacts = scrape_contact_info(contact_page_url)
print("Extracted contacts:", contacts)
Booking Link Generator
This module generates WhatsApp URLs with pre-filled messages, enabling users to confirm admission booking with one click.
WhatsApp URL Format
php-template https://wa.me/
message = f"Hello, I would like to book admission for the course: {course_name}. Please assist."
encoded_message = urllib.parse.quote(message)
full_url = f"{base_url}?text={encoded_message}"
return full_url
# Usage
if contacts:
phone = contacts[0] # Select first contact
course = "M.Tech Computer Science"
link = generate_whatsapp_link(phone, course)
print("Booking Link:", link)

The modular pipeline architecture allows individual components to be improved independently. PDF parsing uses fallback OCR to handle diverse brochure formats. Semantic retrieval with Sentence Transformers enables understanding beyond keywords. The QA system offers precise, contextual answers by leveraging powerful transformer models. The contact scraper ensures that communication channels are always current. The WhatsApp link generator seamlessly connects users with admissions staff through a popular platform. Finally, the user interface enables smooth user interaction, either as a web chatbot or integrated into larger systems. This implementation provides a scalable, maintainable solution that can be extended with features like multi-lingual support, user authentication, analytics, or automated booking confirmation workflows.
Results and Discussion
Testing on Geeta University’s brochure and website demonstrated accurate retrieval of course and fee information, with the WhatsApp link facilitating immediate user contact. Challenges included handling noisy PDF formatting and ambiguous queries, which were mitigated by fallback responses and rule-based filters. The scraping approach successfully updated contact details without manual input.
Conclusion
This research presents an innovative system combining NLP and web scraping for automated admission assistance and booking via WhatsApp. The approach enhances user convenience, reduces administrative workload, and can be generalized to other institutions. Future work includes extending multilingual support and integrating direct WhatsApp Business API messaging for full automation [4-25].
References
- Devlin, J., Chang, M. W., Lee, K., & Toutanova, K. (2019, June). Bert: Pre-training of deep bidirectional transformers for language understanding. In Proceedings of the 2019 conference of the North American chapter of the association for computational linguistics: human language technologies, volume 1 (long and short papers) (pp. 4171-4186).
- Reimers, N., & Gurevych, I. (2019, November). Sentence-bert: Sentence embeddings using siamese bert-networks. In Proceedings of the 2019 conference on empirical methods in natural language processing and the 9th international joint conference on natural language processing (EMNLP-IJCNLP) (pp. 3982-3992).
- Rajpurkar, P., Zhang, J., Lopyrev, K., & Liang, P. (2016, November). Squad: 100,000+ questions for machine comprehension of text. In Proceedings of the 2016 conference on empirical methods in natural language processing (pp. 2383-2392).
- Wolf, T., Debut, L., Sanh, V., Chaumond, J., Delangue, C., Moi, A., ... & Rush, A. M. (2020, October). Transformers: State-of-the-art natural language processing. In Proceedings of the 2020 conference on empirical methods in natural language processing: system demonstrations (pp. 38-45).
- Zaharia, M., Xin, R. S., Wendell, P., Das, T., Armbrust, M., Dave, A., ... & Stoica, I. (2016). Apache spark: a unified engine for big data processing. Communications of the ACM, 59(11), 56-65.
- Smith, R. (2007, September). An overview of the Tesseract OCR engine. In Ninth international conference on document analysis and recognition (ICDAR 2007) (Vol. 2, pp. 629-633). IEEE.
- Mitchell, T. M. (1997). Machine learning. McGraw-Hill.
- Grover, A., & Leskovec, J. (2016, August). node2vec: Scalable feature learning for networks. In Proceedings of the 22nd ACM SIGKDD international conference on Knowledge discovery and data mining (pp. 855-864).
- Mikolov, T., Chen, K., Corrado, G., & Dean, J. (2013). Efficient estimation of word representations in vector space. arXiv preprint arXiv:1301.3781.
- Loper, E., & Bird, S. (2002, July). Nltk: The natural language toolkit. In Proceedings of the ACL-02 Workshop on Effective tools and methodologies for teaching natural language processing and computational linguistics (pp. 63-70).
- Ferrara, E., De Meo, P., Fiumara, G., & Baumgartner, R. (2014). Web data extraction, applications and techniques: A survey. Knowledge-based systems, 70, 301-323.
- Kumar, R., & Krishna, A. (2021). Automated chatbot system for admission enquiries using NLP and machine learning. International Journal of Advanced Computer Science and Applications, 12(1), 256–263.
- Gupta, A., & Chopra, A. (2020). Use of WhatsApp in customer engagement: A study on consumer attitudes. International Journal of Information Management, 54, 102146.
- Anwar, F., & Ullah, I. (2021). WhatsApp for business: Communication paradigms in the post-digital age. Journal of Business Research, 134, 652–663.
- Tan, C., Sun, F., Kong, T., Zhang, W., Yang, C., & Liu, C. (2018, September). A survey on deep transfer learning. In International conference on artificial neural networks (pp. 270-279). Cham: Springer International Publishing.
- Scholman, M. C., & Demberg, V. (2017). Crowdsourcing discourse relations: Quality management and analysis of the PDTB annotated data. Corpus Linguistics and Linguistic Theory.
- Li, Y., et al. (2022). A survey on retrieval-augmented generation. arXiv preprint.
- Dhingra, B., Liu, H., Yang, Z., Cohen, W., & Salakhutdinov, R. (2017, July). Gated-attention readers for text comprehension. In Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers) (pp. 1832-1846).
- Kamath, A., et al. (2021). MDQA: Multi-document question answering via unsupervised summarization. EMNLP Findings.
- Brown, T., Mann, B., Ryder, N., Subbiah, M., Kaplan, J. D., Dhariwal, P., ... & Amodei, D. (2020). Language models are few-shot learners. Advances in neural information processing systems, 33, 1877-1901.
- Jurafsky, D., & Martin, J. H. (2020). Speech and language processing (3rd ed., draft). Pearson.
- Nogueira, R., & Cho, K. (2019). Passage re-ranking with BERT. arXiv preprint.
- Salton, G., & Buckley, C. (1988). Term-weighting approaches in automatic text retrieval. Information processing & management, 24(5), 513-523.
- Yang, W., Xie, Y., Lin, A., Li, X., Tan, L., Xiong, K., ... & Lin,J. (2019, June). End-to-end open-domain question answering with bertserini. In Proceedings of the 2019 conference of the North American chapter of the association for computational linguistics (Demonstrations) (pp. 72-77).
- Berners-Lee, T., Hendler, J., & Lassila, O. (2001). Web semantic. Scientific American, 284(5), 34-43.

