All guides

Events calendar

What It Does

The master events calendar lets mosque workspace users create events that can appear on the mosque website. It supports public and staff-created free/paid event registrations for specific event occurrences, occurrence-level dashboard summaries, rate-limited public registration/payment requests, recurring event display, stored reminder plans, hourly automated reminder checks, waiting-list placement when occurrence capacity is full, tenant-branded confirmation emails, attendee status updates, payment status visibility, paid registration refunds, check-in tracking, cancellations, and filtered CSV attendee export.

Where to Find It

Open the dashboard, choose a mosque workspace, then open its Events tab.

Creating an Event Step by Step

Select New event. A panel slides in from the right, so your list of events stays in view behind it. The panel guides you through three short steps — Basics (title, description, category, location, speaker), Schedule (dates, repeats, reminder plan), and Registration & publish (registration, payment, capacity, status, visibility) — with a progress bar so you always know how much is left. Each step checks you have filled in what it needs before you Continue, and Create event checks every step again: if anything is still missing, the panel takes you to that step with a note saying what to fix. You can step back without losing anything you have typed. Once the event is created the panel closes and the event appears in the list; next time you open New event it starts fresh. The ⓘ icons explain fields like Repeats, Occurrences, Capacity and Visibility, and the ⓘ beside the panel title links to this guide.

Cancelling an attendee's registration asks you to confirm first, because they lose their place and the next person on the waiting list can move up.

Step by Step

  1. Select New event, then enter an event title, such as Seerah seminar.
  2. Add a short description for the website.
  3. Set the Starts and Ends date/time fields.
  4. Add a category, capacity, location, and speaker if needed.
  5. Choose the event status.
  6. Choose the visibility.
  7. Select whether registration is required.
  8. If the event is paid, select Paid registration and enter the price.
  9. Use Repeats if the event should appear daily, weekly, or monthly for a set number of occurrences.
  10. Use Store reminder plan if the team wants MAS to send scheduled reminders to confirmed attendees before the event starts.
  11. Select Create event.

Managing Attendees

Event cards with registrations show an Attendee registrations panel.

Users with event-management access can use Add attendee on a registration-enabled event card to create a registration from the workspace. Enter the attendee name, email address, optional phone number, number of places, the event occurrence, and optional notes, then select Add attendee.

Staff-created registrations use the same occurrence validation, active duplicate-email check, capacity, and waiting-list rules as public registrations. For paid events, the attendee is added with payment marked Pending until a paid event payment path is completed.

Use the date filter to review all dates or one occurrence in a recurring series. Use the status filter to show All, Registered, Waitlisted, Checked in, or Cancelled attendees.

When an event has registrations, MAS shows occurrence summary cards. Each card shows the selected date or series-level row, registered places, capacity where set, waiting-list places, checked-in places, cancellations, and paid/pending/refunded counts where payment applies.

Use the status menu beside an attendee to change their registration status:

  • Registered means the attendee has a confirmed place.
  • Waitlisted means the attendee is waiting for a place.
  • Checked in records that the attendee has arrived.
  • Cancelled removes the attendee from the active registration list.

The card also shows attendee email address, phone number where provided, number of places, occurrence date/time where available, payment status/amount/refunded amount where relevant, notes, registration time, email-sent time, paid time, refund time, check-in time, and cancellation time where available.

For paid registrations that have a verified Stripe payment, bookings-capable event users can select Refund, confirm the amount, and send a full or partial refund. The amount defaults to the remaining refundable payment. A partial refund keeps the registration marked Paid until the full original amount has been returned; a full refund marks the payment Refunded.

If Stripe later sends a refund update for an event payment, MAS reconciles the event registration refund record so dashboard-created refunds are not double-counted and failed or cancelled refund updates can move the payment back to Paid where appropriate.

Use the CSV button to download the attendee list currently in view for offline review, printing, or trustee/admin reporting. If you filter to one occurrence or one status, the export follows those filters. The export includes occurrence details, payment status, paid amount, refunded amount, refund status, and refund timestamp where MAS has them.

Website Event Blocks

When a published tenant page includes an Events block, the mosque website shows upcoming events that are both Published and Public. The block title and maximum number of events come from the Payload page editor.

Recurring events are expanded into upcoming dates on the website, so a weekly class can appear as its next few scheduled dates instead of only the original start date. The website labels recurring dates and shows the stored reminder plan where one exists. When a visitor registers from one of those recurring-date cards, MAS stores that date as the registration occurrence.

Draft, cancelled, archived, members-only, and admin-only events do not appear on the public website event block.

Public Registrations

Public event registration is only accepted once the mosque website is live. If the site has not been taken live yet, or has been paused, visitors cannot register from the website. Staff can still add attendees from the workspace regardless of the website go-live state. Take the site live from the Website go-live panel before sharing an event page. See the Website CMS and Page Builder guide.

For events with registration required, the mosque website shows a registration form inside the event block. Visitors enter their name, email address, optional phone number, number of places, and optional notes.

If there is enough capacity for that occurrence, the registration is recorded as Registered. If the requested number of places would exceed the occurrence capacity, the registration is recorded as Waitlisted instead. The visitor sees a confirmation message either way.

For free registrations and waiting-list placements, the system sends a tenant-branded confirmation or waiting-list email. If the mosque has a verified sender domain, the message uses that domain; otherwise it falls back to the MAS sender.

For paid registrations that receive a place, the visitor is asked to complete card payment in the event block after submitting the registration form. The registration remains payment pending until the Stripe payment succeeds. The confirmation email is sent after MAS verifies the paid PaymentIntent.

Public registration and event-payment requests are rate-limited to protect the mosque website from repeated automated submissions. MAS also enforces one active registration per event occurrence and email address, including when two submissions arrive at the same time. The same email address can register for a different occurrence in the same recurring series. If a visitor submits too many requests in a short time, MAS asks them to wait before trying again.

Event Reminders

When Store reminder plan is enabled, MAS checks for due reminders on an hourly scheduled worker with a short overlap window so 1 hour, 1 day, 2 day, and 1 week reminder timings are covered. Reminders are sent to confirmed attendees only:

  • Registered or Checked in attendees for free events.
  • Registered or Checked in attendees whose paid event payment is marked Paid.

Waitlisted, Cancelled, pending-payment, and refunded registrations do not receive reminder emails.

Reminder emails use the mosque's verified sender domain when one is available. If no verified sender is ready, MAS sends from the fallback sender so the reminder can still go out. Occurrence-specific registrations receive reminders only for their own event date; older series-level registrations remain eligible across the series.

The reminder worker retries a transient email-send failure once during the same run and records failed or stale pending deliveries for operator review.

What Each Screen Shows

The workspace page shows the event creation form and the existing event list. Each event card shows title, slug, status, visibility, date/time, recurrence summary, reminder plan, location, capacity, registration setting, registered and waiting-list counts, Add attendee fields for staff-created registrations where registration is enabled, occurrence summary cards, occurrence and attendee filters, attendee occurrence labels, attendee status controls, payment status/amounts for paid attendees, filtered CSV export, and description where available.

Tenant-site visitors see the event title, category, date/time, location, speaker, description, whether registration is required, and the registration form for events where registration is open. Paid events show the price per place and then the secure payment panel after the visitor submits their details.

Tips

Use Published and Public only when the event is ready for the mosque website.

Use Draft for events that staff are preparing. Use Members or Admin only for internal planning until member-only website areas are built.

Use capacity when you need a waiting list. If an occurrence has 50 places and a visitor requests seats that would take that occurrence above 50, that registration goes onto the waiting list.

Use Add attendee for phone, walk-in, or admin-entered bookings. The same email address cannot have two active registrations for the same event occurrence, but it can be used again after the earlier registration is cancelled.

Use Checked in during the event so the team can distinguish people who registered from people who actually attended. The attendee's label moves the moment you choose the new status, so you can work down a queue at the door without waiting between people; only that attendee's row shows a spinner while it saves. If the change cannot be saved, the label goes back to what it was and a notification tells you why.

Download the CSV before or after the event when you need a printable list or a simple export for local records. Apply the occurrence and status filters first if you only need one date, the checked-in list, or the waiting list.

For paid events, registrations are only treated as payment complete after the payment panel reports success. If a visitor closes the page before paying, the workspace will show the attendee as pending payment.

Use the event refund action only after confirming the mosque's refund policy. MAS records the Stripe refund id/status, amount, reason, staff user, and timestamp for audit purposes, then keeps the latest Stripe refund status aligned through webhook reconciliation.

For recurring events, public registrations now target the specific date shown on the mosque website. Workspace occurrence summaries, attendee rows, filters, and CSV exports show the occurrence date/time where MAS has it. Existing older registrations without an occurrence date remain visible as series-level records.

Troubleshooting

If an event does not appear on the website, check that it is Published, Public, and has not already ended.

If event creation fails, check that the end time is after the start time.

If paid registration is selected, enter a valid price.

If recurrence is selected, enter a valid number of occurrences.

If a paid attendee says they registered but did not receive a confirmation email, check whether the attendee is still pending payment in the event's attendee list.

If a paid attendee needs a refund, open the event attendee list, select Refund on the paid registration, confirm the amount, and wait for the success message. If the refund fails, check whether the payment is still marked Paid, whether the attendee has a Stripe payment id, and whether the requested amount is above the remaining refundable balance.

If an attendee says they did not receive a reminder, check that the reminder plan was enabled, the attendee is Registered or Checked in, and paid attendees are marked Paid. If the timing looks correct, record the event name and expected reminder time so an operator can check the hourly reminder worker, retry state, and delivery records.

If a visitor says they cannot register, check that the event is Published, Public, not ended, and has registration enabled.

If Add attendee fails, check that the event has registration enabled, the selected occurrence is upcoming, the attendee email is valid, and the same email address is not already active for that occurrence.

If a visitor tries to use the same email address twice for the same event occurrence, the second registration is rejected while the first one is still active. If the earlier registration is cancelled, the same email address can be used again. The same email can still register for another date in the recurring series.

If a visitor sees a too-many-requests message, ask them to wait a short time before trying again. If the problem continues for normal use, record the event name, email address used, and approximate time so an operator can review the public-route protection.

If an attendee status change fails, refresh the events list and try again. If the attendee no longer appears, another staff member may have changed the registration.