Title: Qafilo — Umrah &amp; Hajj Bookings
Author: Soumaya Khalifa — FullDo
Published: <strong>September 29, 2026</strong>
Last modified: September 30, 2026

---

Search plugins

![](https://ps.w.org/qafilo/assets/banner-772x250.png?rev=3718449)

![](https://ps.w.org/qafilo/assets/icon-256x256.png?rev=3718449)

# Qafilo — Umrah & Hajj Bookings

 By [Soumaya Khalifa — FullDo](https://profiles.wordpress.org/fulldofr/)

[Download](https://downloads.wordpress.org/plugin/qafilo.1.0.3.zip)

 * [Details](https://az-tr.wordpress.org/plugins/qafilo/#description)
 * [Reviews](https://az-tr.wordpress.org/plugins/qafilo/#reviews)
 * [Development](https://az-tr.wordpress.org/plugins/qafilo/#developers)

 [Support](https://wordpress.org/support/plugin/qafilo/)

## Description

Most Umrah and Hajj agencies still run their season on WhatsApp, a spreadsheet and
a folder of passport photos. Seats are counted by hand, the price of a triple room
for two adults and a child is worked out on a calculator, and nobody sees which 
deposit is late until the customer calls.

Qafilo puts the season in one place, inside the site your customers already visit.

#### For your customers

 * Every package page shows the trip (nights in Medina and Mecca, hotels, distance
   to the Haram, meals, what is included), its departures, what is left and the 
   price from, updated as seats are taken.
 * Families choose their travellers and rooms (quad, triple, double, single) and
   see the total and the deposit before sending anything.
 * No payment is taken: the request reaches you, you confirm availability, then 
   you call.
 * When a departure is full, visitors leave their e-mail and receive one message
   if a seat frees up.
 * A WhatsApp link for questions, and the agency’s registration, guarantor and insurer
   on every page.
 * Works on a phone, with or without JavaScript, in English, French and Arabic (
   right to left), for the customer and for the agency.

#### For your team

 * “To do today”: requests to answer, deposits and balances awaited, refunds due,
   passports that expire too soon, departures under their minimum.
 * One file per booking: customer, travellers, rooms, payments received, history
   of every change.
 * Seats are held from confirmation and never oversold, even when two advisors work
   at the same time.
 * Payments received by transfer, cash, cheque or card terminal; the status follows
   by itself.
 * Cancellations with the fee of your terms, refunds followed until they are made.
 * Roles for the agency, advisors and guides: a guide reads the group, an advisor
   handles files, only the agency changes settings.

#### Compliance built in

 * The standard information form for package travel, filled in with your details
   and linked from every request.
 * Consent to process data that reveals religious beliefs, recorded with the version
   of your terms.
 * Passport numbers encrypted and masked on screen; displaying one is logged.
 * Passports, visa identifiers and documents deleted automatically a few months 
   after the return.
 * Personal data export and erasure through the WordPress privacy tools.

#### Privacy

A pilgrimage booking reveals religious beliefs and may include health documents.
Pilgrim documents are always encrypted (libsodium) with a key kept in wp-config.
php, stored under random names in wp-content/uploads/qafilo/vault with direct access
denied, and every access is logged. Qafilo sends no data to FullDo or to any third
party.

#### Shortcodes

 * `[qafilo_booking package="123"]` shows the departures and the booking form of
   a package anywhere (package pages show it by themselves).
 * `[qafilo_departures_by_month]` lists every open departure of the season month
   by month, as pilgrims search (“Umrah in February”). Add `type="hajj"`, `type="
   umrah"` or `type="umrah_ramadan"` to keep one kind of trip.

#### For developers

 * REST API under `qafilo/v1` (departures, quotes, bookings), with the rights of
   each role.
 * `/wp-json/qafilo/v1/feed`: open departures, “from” prices and availability for
   comparison sites. No personal data, no quotas; the agency can switch it off.
 * WordPress actions at every step: request, status change, payment, cancellation,
   refund.

#### Languages

English, French and Arabic (right to left), for visitors and for the administration.
Translations are delivered by WordPress.org language packs; you can help on translate.
wordpress.org.

Live demonstration: https://demo.qafilo.fulldo.fr/ — product site and guides: https://
qafilo.fulldo.fr/

## Screenshots

[⌊"To do today": requests to answer, deposits and balances awaited, refunds due,
passports to check, coming departures.⌉⌊"To do today": requests to answer, deposits
and balances awaited, refunds due, passports to check, coming departures.⌉[

“To do today”: requests to answer, deposits and balances awaited, refunds due, passports
to check, coming departures.

[⌊One file per booking: customer, rooms, payments received, balance and the history
of every change.⌉⌊One file per booking: customer, rooms, payments received, balance
and the history of every change.⌉[

One file per booking: customer, rooms, payments received, balance and the history
of every change.

[⌊A departure: seats, minimum, last-seats threshold and the price grid per room 
and age.⌉⌊A departure: seats, minimum, last-seats threshold and the price grid per
room and age.⌉[

A departure: seats, minimum, last-seats threshold and the price grid per room and
age.

[⌊The trip on a phone: nights per city, hotels, distance to the Haram, meals, what
is included.⌉⌊The trip on a phone: nights per city, hotels, distance to the Haram,
meals, what is included.⌉[

The trip on a phone: nights per city, hotels, distance to the Haram, meals, what
is included.

[⌊The booking form on a phone: departures, travellers, rooms, the total and the 
deposit.⌉⌊The booking form on a phone: departures, travellers, rooms, the total 
and the deposit.⌉[

The booking form on a phone: departures, travellers, rooms, the total and the deposit.

## FAQ

### Does Qafilo take online payments?

Not in the free version: requests are sent without payment and the agency records
what it receives. Online deposits are planned for a paid version.

### Can I keep my theme?

Yes. The booking form takes its colours and fonts from your theme. With a block 
theme, package pages use a clean layout without the blog’s author line or post list;
your theme can provide its own.

### What do I need to set up first?

Your agency name, registration number, financial guarantor, a phone number reachable
during trips and your terms of sale page. “To do today” tells you what is still 
missing.

### Where are passport scans stored?

Encrypted, under random names, in wp-content/uploads/qafilo/vault with direct web
access denied. Without the encryption key in wp-config.php, Qafilo refuses to store
them. To keep them in another folder, define QAFILO_VAULT_DIR in wp-config.php.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Qafilo — Umrah & Hajj Bookings” is open source software. The following people have
contributed to this plugin.

Contributors

 *   [ Soumaya Khalifa — FullDo ](https://profiles.wordpress.org/fulldofr/)

[Translate “Qafilo — Umrah & Hajj Bookings” into your language.](https://translate.wordpress.org/projects/wp-plugins/qafilo)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/qafilo/), check out
the [SVN repository](https://plugins.svn.wordpress.org/qafilo/), or subscribe to
the [development log](https://plugins.trac.wordpress.org/log/qafilo/) by [RSS](https://plugins.trac.wordpress.org/log/qafilo/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.3

 * Settings › Credit: an optional line “Online booking with Qafilo” under the booking
   form. Off by default; nothing is added to your site unless you tick it.
 * “First steps” and the Plugins screen link to the guides and to the setup service,
   in your language.

#### 1.0.2

 * After sending a request, the family sees what happens next (reference, call-back,
   no payment on the site) instead of the form, and can send another request.
 * “First steps” on the agency’s screen until the site can take requests: agency
   details, encryption key, hotels, a package, a priced departure.
 * Groups: the list of each departure’s group for the guide, by family, with rooms
   and a number to call, ready to print. No passport number, no amount.
 * The price from the grid is shown on a booking when travellers or rooms change,
   with a button to use it.
 * Customer numbers open a call or a WhatsApp conversation.

#### 1.0.1

 * A departure whose date has passed is no longer offered on the site, in the departures
   feed or to new requests; the agency sees it as “Departed”.
 * Children take the free beds of the rooms the family chooses, at the child-with-
   bed price (or the adult price of the room when none is set); the others travel
   without a bed.
 * Prices can be typed the usual ways: “1 490”, “1.690”, “1 490,50 €”, “250 000 
   DA”, “3 500 DT”. When a price cannot be read, the message shows it.
 * Bookings: search by reference, name, phone or e-mail, and filter by departure.
 * Guides no longer see payments, balances or amounts.
 * The agency’s e-mail for a new request lists adults, children, infants and rooms.
 * Warnings when a departure is saved with a past date, or with prices marked as
   published but none filled in.
 * Trip details no longer appear in the generic “Custom fields” box.

#### 1.0.0

 * First public release.

#### 0.8.0

 * [qafilo_departures_by_month] lists every open departure of the season, month 
   by month, as pilgrims search (“Umrah in February”).
 * Departures feed at /wp-json/qafilo/v1/feed for comparison sites and partners:
   open departures, “from” prices and availability, never quotas, seats sold or 
   personal data. Can be switched off in the settings.
 * “Larger text” button on the package page for older pilgrims, remembered on the
   device.

#### 0.7.0

 * Trip details on the package: type (Umrah, Umrah in Ramadan, Hajj), hotel category,
   up to three stages with nights, hotel, distance to the Haram and meals, what 
   is included and what is not. Shown to families above the booking form.
 * Hotels have a city.
 * Packages and hotels open in the classic edit screen, where the description and
   the details sit on one page.
 * Hajj departures are no longer checked against the Umrah season dates.
 * bin/demo-data.php fills a site with a fictitious agency season, for demonstrations.

#### 0.6.0

 * Arabic: the whole plugin, administration included (447 strings), right to left.
 * Arrows in dates and “back” links follow the reading direction.
 * Lists in messages use the separators of the site language.

#### 0.5.1

 * Package pages in block themes no longer show the blog’s author line, post list
   and navigation.
 * Larger, aligned tick boxes and radio buttons in the booking form.
 * “To do today” warns when the site clock is left on UTC.
 * Payment and refund dates default to the site’s day.

#### 0.5.0

 * Cancellation of a paid booking: who cancels (customer or agency), the fee suggested
   from the agency’s scale and adjustable, the reason. When the agency cancels, 
   everything is refunded.
 * Refunds recorded on the booking, never more than what can be given back; overpayments
   can be refunded too. A refund recorded by mistake can be cancelled.
 * “To do today” lists the refunds to make with their 14-day deadline, and those
   that are late.
 * A cancelled or expired booking no longer takes payments (except a fee still owed),
   pilgrims or rooms.
 * Settings: cancellation scale of the terms of sale (up to five tiers).

#### 0.4.1

 * “To do today” lists what the agency must still fill in before selling (registration
   number, guarantor, phone during trips, published terms page).
 * Warnings about missing settings are shown to agency administrators, not only 
   to site administrators.

#### 0.4.0

 * Standard information form for package travel, filled in with the agency’s details,
   linked from the booking form and the customer’s e-mail.
 * Personal data: Qafilo in Tools > Export / Erase Personal Data; suggested privacy
   policy text.
 * Passport numbers, visa identifiers and documents are deleted automatically a 
   few months after the return (setting); documents past their deletion date are
   deleted.

#### 0.3.0

 * Seat and price alerts: visitors leave their e-mail on a full departure or a pre-
   registration and receive one e-mail when it can be booked, with a one-click unsubscribe
   link. Addresses are deleted once the departure has left.
 * The agency sees who is waiting for each departure.
 * Waiting lists now take requests on full departures when enabled.
 * Infants travel without a seat; payments recorded by mistake can be cancelled;
   refused forms keep what was typed.

#### 0.2.0

 * Package page: departures, room choice with live total and cheapest split, request
   form with consents (works without JavaScript).
 * Admin: To do today, bookings list and booking record (status, pilgrims with passport
   check, offline payments, rooms, history), departures with price grid, agency 
   settings.
 * E-mails to the agency and the customer on each request.
 * French and Arabic translations.

#### 0.1.0

 * Technical foundations: modules, tables, REST API qafilo/v1, roles, encrypted 
   document vault.

## Meta

 *  Version **1.0.3**
 *  Last updated **4 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.8 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 8.1 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/qafilo/)
 * Tags
 * [booking](https://az-tr.wordpress.org/plugins/tags/booking/)[Tours](https://az-tr.wordpress.org/plugins/tags/tours/)
   [travel agency](https://az-tr.wordpress.org/plugins/tags/travel-agency/)
 *  [Advanced View](https://az-tr.wordpress.org/plugins/qafilo/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/qafilo/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/qafilo/reviews/)

## Contributors

 *   [ Soumaya Khalifa — FullDo ](https://profiles.wordpress.org/fulldofr/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/qafilo/)