menu-MENAmenu-MENA
HomePricingBlogContact UsGet Started
The menu-MENA Admin Dashboard for Test Restaurant, showing a Publish button reading Not yet published, a Get set up checklist at 2 of 6 complete, stat tiles for Categories, Menu Items, Hidden and Sold Out all at low numbers, and a Visits (last 30 days) panel showing zero Arabic and English visits

Trial, Grace Period, Cancellation: How Billing Actually Works

Getting Started

By menu-MENA Team

Published on September 26, 2026


What starts the 14-day clock

Sign up for menu-MENA and no one asks for a card. Your account opens in trial status with a 14-day deadline stored right on the tenant record, a field called trialEndsAt. Your menu is fully public and working for the whole 14 days, same as a paying account.

The day your trial runs out

That deadline isn't decorative. A function called effectiveStatus runs on every request to your public menu page, and it checks the actual timestamp, not just whatever status string happens to be sitting in the database. The moment trialEndsAt passes, your storefront treats the account as past due immediately, before any background job has touched your record. A daily job, subscription-tick, runs once each morning to write that change back permanently and start sending reminder emails, but the storefront itself never waits on it.

A paid subscription works the same way. currentPeriodEnd, the date your monthly or yearly payment covers you through, gets checked live too. If a renewal payment fails and the period lapses, the visitor-facing menu reacts the same way it would for an expired trial.

The 14-day grace period

Trial and paid subscription both land in the same place once they lapse: past_due, with a graceEndsAt timestamp set 14 days out. Your menu page doesn't 404 during that window. It swaps to a bilingual screen, "Subscription expired, please resubscribe" in English and "الاشتراك منتهي، برجاء التجديد" in Arabic, with one button that sends the owner to sign in and pay through Paymob. Resubscribing brings the storefront back the same moment, no batch job, no support ticket required.

Cancelling on purpose lands in the same place. A cancelled account gets the identical 14-day grace window as a failed card, not an instant cutoff. Cancel and change your mind three days later, and resubscribing puts the menu right back up.

What happens once the 14 days run out

If grace expires with nothing done, the account flips to deleted and the public menu now returns a real 404, not the resubscribe screen. There's a further 7-day window after that where the account and its data still exist, but getting them back isn't self-service at that point. It takes reaching out to us so the account can be restored from the admin side. Once those 7 days pass, a cleanup job removes the tenant and everything under it for good, menu data, uploaded images, and every branch that hangs off it.

So the real safety margin is the 14-day grace window, where fixing a card or resubscribing takes care of everything on your own. The 7 days after deletion is a last resort, not a plan.

If you run more than one branch

Billing status doesn't live on each branch separately, it lives on the root account, and the daily job writes the same status and the same graceEndsAt to every branch underneath it in one pass. If your main subscription lapses, every branch enters grace at once, the same way running several locations under one owner already works for menu edits and analytics. There's no scenario where branch two is still live while branch one's payment has failed.

The emails you'll actually get

menu-MENA sends four reminder emails to the account owner's address as the clock runs, not a flood of them: one three days before the trial ends, then three during a grace period, at day 0, day 7, and a final notice a day before deletion. Each one is stamped once per account, so a retry of the same daily job never sends it twice.

Where billing lives

Managing the subscription and paying by card or wallet is owner-only, same as adding a branch or opening the audit log. A manager account, even one with full access to a specific branch, can't see or touch billing at all. If your menu suddenly shows the resubscribe screen and you're not the account owner, that's not a bug. Someone with owner access needs to sign in and handle it.

A small number of accounts run on a manual grant instead, ones we've comped for a partner or a beta test. Those ignore the billing clock entirely and stay active until we turn the grant off by hand. If that's your account, none of the above applies to you.

Frequently Asked Questions

No. You get the full 14 days without entering any payment details. If you decide to subscribe before the trial ends, you can do that from your dashboard at any point. If you don't, your account moves into the grace period after day 14, not an outage.

It doesn't disappear. The public menu page checks your account's real deadline on every single visit, so the instant your trial or billing period passes, the page starts showing a bilingual resubscribe screen instead of the menu. It's still a 200 response with real content on it, not a 404.

Fourteen days of grace after a trial or payment lapses, during which resubscribing brings the menu back instantly. If nothing happens in that window, the account is marked deleted and the menu starts returning a real 404. There's a further 7 days after that where the data still exists but restoring it takes contacting us directly, not a self-service button. After that, it's gone for good.

They lapse with it. Branch billing isn't tracked separately, it rides on the main account, so every branch under it moves into grace at the same time and comes back live the moment you resubscribe on the account level. Additional branches are 45 EGP/month or 500 EGP/year each, 50% off the base rate, but they share the same billing clock as branch one.

No. A cancelled subscription gets the same 14-day grace window as a failed payment, not an instant cutoff. Change your mind a few days later and resubscribing puts the menu right back up.

The account owner only. A manager invited to your team, even one with full access to a specific branch, can't open the billing page or see payment details at all. That check runs on the server, not just in the menu you see.