Your agency’s whole season, on your own website.
Qafilo is a WordPress plugin for Umrah and Hajj travel agencies. Your packages, departures, room prices, pilgrim files and payments move into the site your customers already visit. It is free, and it speaks English, French and Arabic.
- Free plugin, GPL licence
- WordPress 6.8 or later, PHP 8.1 or later
- Français · English · العربية

Two ways to start
Install it yourself, or let FullDo take care of everything.
Either way, the site, your pilgrims’ data and your packages stay in your name.
| You install Qafilo | FullDo does it for you | |
|---|---|---|
| What you need | A WordPress site and hosting; shared hosting is enough. | Nothing: we create the site, the domain name and the e-mail addresses. |
| Setup | From Plugins › Add New, then four guided steps in “First steps”. | Qafilo set up with your legal details, the packages of your season entered, a one-hour video walkthrough. |
| Look | Your current theme’s: the form takes its colours and fonts. | A complete agency site with your logo and colours, designed for Umrah and Hajj. |
| Updates | Offered by WordPress as soon as they are out on wordpress.org. | Checked, then installed by us. |
| Hosting and backups | With your host. | In France, with a backup every night. |
| Help | The guides in French, English and Arabic, and the Qafilo forum on wordpress.org. | On WhatsApp and by e-mail, all season long. |
| Price | Free. | €490 to get started, then €29 a month, no commitment. Algeria and Tunisia: invoiced in dinars by SKGenius. |
| Download Qafilo | Ask for my site |
An Umrah season is still run on WhatsApp, a spreadsheet and a folder of passport photos.
- Seats are counted by hand. Two advisors confirm the same room on the same day, and nobody notices until it is too late.
- Every quote is redone on a calculator. A triple room for two adults and a child, an infant without a seat, one departure dearer than another: the sums start again with every request.
- Delays show up at the last minute. A deposit that never arrived, a passport expiring three months after the return: you find out when it is too late for the visa.
Qafilo takes over these three jobs, and shows you every morning what is left to do.
From request to return, one single record.
- The package The family reads the trip: nights in Medina and Mecca, hotels, distance to the Haram, what is included. Then the departures, the seats left and the “from” price.
- The request It chooses its travellers and rooms, sees the total and the deposit, and sends the request without paying anything.
- The confirmation You call back and confirm: the seats are held and can no longer be sold twice.
- The deposit Transfer, cash, cheque or card at the agency: you record it, and the booking moves on by itself.
- The passports Names exactly as in the passport, numbers encrypted, an alert when a passport expires too early for the visa.
- The departure Balances are followed up, and the guide reads the group without being able to change anything.
- The return A few months later, passport numbers and documents delete themselves.


A family that knows what it is booking.
- The trip in black and white. Nights per city, hotel, distance to the Haram, meals, what is included and what is not.
- The exact price before sending. Adults, children with or without a bed, infants, rooms: the total and the deposit are worked out live, and the cheapest split is suggested.
- Told when a seat frees up. On a full departure, it leaves its e-mail and receives one single message.
- On a phone, in its own language. The form works even without JavaScript, and in Arabic from right to left.
- Readable for older pilgrims. One button enlarges the text and the form controls, and remembers it on the next visit.

A team that sees the same thing at the same time.
- “To do today”. Requests to call back, deposits and balances awaited, refunds due, passports to check, departures below their minimum.
- One record per booking. Travellers, rooms, payments received and the history of every change, with who made it.
- Nobody overwrites anybody. When two advisors change the same booking, the second is warned instead of erasing the first one’s work.
- Everyone has a role. The agency sets things up, advisors handle bookings, guides read their group.
- Cancellations without a calculator. Fees follow the scale of your terms of sale, and the refund stays on screen until it is made.
A travel agency’s obligations, already in place.
- The standard information form Filled in with your registration, guarantor and insurer, linked from every request and from the e-mail sent to the customer. French decree of 1 March 2018
- Consent for sensitive data A pilgrimage booking reveals a religious belief: explicit consent is asked for, dated and tied to the version of your terms. GDPR, article 9
- Protected passports Numbers encrypted in the database, masked on screen, and every display written to the booking’s history.
- Deletion that happens by itself Passports, visa identifiers and documents deleted a few months after the return, and access or erasure requests handled from the WordPress privacy tools.
Qafilo follows French and European package travel law. An agency based elsewhere keeps every feature and adapts its legal notices.
On the site you already have, with the theme you already have.
The form takes the colours and fonts of your theme, block or classic. Shared hosting is enough. No external service, no account to create.
- Install the plugin. From the .zip file, in Plugins › Add New.
- Paste the encryption key. Qafilo gives it to you, ready made, for wp-config.php. It protects the passports.
- Fill in the agency. Registration, guarantor, emergency phone, terms of sale: “To do today” tells you what is missing.
- Create your packages and departures. The trip, the hotels, then each departure with its price grid. The form appears under each package, or wherever you place
[qafilo_booking].

Code you can read, extend and check.
- Data in good order. Dedicated tables, amounts in minor units, a lock that prevents two concurrent writes.
- A REST API.
qafilo/v1for departures, quotes and bookings, with the rights of each role. - A feed for comparison sites.
qafilo/v1/feedpublishes open departures, their “from” prices and availability, with no personal data at all. The agency can switch it off. - WordPress actions. At every step: request, status change, payment, cancellation, refund.
- Checked with every release. WordPress coding standards, PHPStan static analysis, tests on two WordPress versions and complete journeys in a real browser.
// Send every payment received to your accounting.
add_action(
'qafilo_payment_recorded',
function ( int $booking_id, int $payment_id, int $amount ) {
// $amount in minor units, in the booking's currency.
},
10,
3
);
// The open departures of a package, for another application.
GET /wp-json/qafilo/v1/departures?package_id=12
Free to sell your whole season.
The free version is not a crippled demo: packages, departures, requests, bookings, payments received, cancellations and compliance are complete. Qafilo Pro adds what saves hours at the height of the season: the deposit paid online and reminders that go out on their own.
| Free | Qafilo Pro | |
|---|---|---|
| Price | €0 | €149 a year per site, excluding VAT. VAT is added at checkout depending on the country, unless you give an EU VAT number. |
| Packages, departures, price grid, online requests | Yes | Yes |
| Bookings, pilgrims, payments received, cancellations and refunds | Yes | Yes |
| Full compliance, seat alerts, REST API and WordPress actions | Yes | Yes |
| Deposit then balance paid online by card, into the agency’s Stripe account | — | Yes |
| Automatic e-mails: confirmation, receipt, deposit and balance reminders, reminder before departure | — | Yes |
The next versions of Qafilo Pro are included in the licence: pilgrim area, rooming list and PDF lists, visa tracking, the agency manager’s dashboard, accounting exports.
Several agencies or white label: quote from FullDo. Qafilo Pro is included in FullDo hosting and care. Reserve my licence
No WordPress site, or no time to set it up?
FullDo sets Qafilo up for you, on a site in your name, and looks after it all season long. You stay in charge of your packages, prices and bookings.
Or right now: Write on WhatsApp
- Setup: €490 An agency website in your name with domain, e-mail addresses and certificate. Qafilo configured with your legal details, your season’s packages entered, and a one-hour video walkthrough.
- Hosting and care: €29 a month Hosting in France, a backup every night, WordPress and Qafilo updates checked before they are installed, Qafilo Pro licence included.
- Everything stays yours The site, the domain and the data are in your name. You can leave with them at any time, with no minimum term.
An example of a delivered site



What people ask before installing.
Do my pilgrims’ data go to you?
No. Everything stays on your hosting. Qafilo sends nothing to FullDo or to anyone else.
Do I need to rebuild my site?
No. Qafilo is added to your current WordPress site and takes on the look of your theme.
Can customers pay online?
Not in the free version: the family sends its request, you confirm, then you record what you receive. Paying the deposit online is included in Qafilo Pro.
My agency is not in France.
Every feature works everywhere: currency, language, dates, rooms. Only the legal wording of the information form is written for European law.
What about Hajj?
A package can be an Umrah, an Umrah in Ramadan or a Hajj. For a Hajj whose quotas are not known yet, open a pre-registration without prices: families sign up, you call them back.
Who is behind Qafilo?
FullDo, a WordPress development studio in France, with SKGenius in Tunisia, which builds websites for travel agencies. A question? contact@fulldo.fr.