# Require approval before members book

> Students, renters, or instructors in selected roles or groups submit booking requests. Staff approve or decline from the calendar or Home, and approval creates the reservation. Undecided requests expire when the requested time passes.

Source: https://www.aerscheduler.com/docs/scheduling/booking-approval-requests
Section: Scheduling and dispatch. For: Owners, Admins, Dispatchers, Students, Renters, Instructors.

When your school turns on booking approval, members in the selected roles or groups submit a
request instead of booking instantly. Staff approve or decline from the calendar or the Home
**Needs you** list, and an approved request becomes a real reservation on the board. Requests
that are not decided before the requested time passes expire automatically.

**Who can do this:** Owners, Admins, Dispatchers, Students, Renters, Instructors

## Turn approval on

`Settings → Booking preferences` (web console), in **Booking and cancellation rules**.

Under **Booking approval required**, tick the roles that must request approval (student,
renter, instructor) and optionally tick **Groups requiring approval** for any people group.

Off by default. With every role and group off, everyone books the way they always have.

Staff scheduling on the dispatch board is unchanged. Owners, admins, and dispatchers still
book directly. Instructors and technicians booking on someone else's behalf also skip the
queue.

## Submit a request (members)

When approval applies to you, **Book a flight** shows **Submit request** instead of **Book**.
Fill in the same aircraft, time, and crew fields you would for a normal booking. On the web
this is under `You → Book a flight` (web console); in the mobile app, tap **Book**
from Home or the calendar.

Open **Booking requests** to see pending, approved, declined, and expired requests. On the web
that is `You → Schedule → Requests` (web console). In the mobile app, open **Booking
requests** from the menu or after you submit.

Direct self-book is refused with a clear message if your school requires approval and you
try to skip the queue through the API.

You get an email or push when a decision is made if **Booking requests** is on under
notification settings.

## Approve or decline (front desk)

On `Calendar` (web console), open **Booking requests** when the badge shows pending
items. On the mobile app, open **Booking requests** from the calendar toolbar or from
**Needs you** on Home when the count is shown.

Each row shows who asked, the aircraft, the time, and the reservation type. Press **Approve**
to create the reservation on the board (same checks as a desk booking). Press **Decline** to
close the request without booking.

Approvers need owner, admin, or dispatcher access.

> **Careful:** A request does not hold the slot. Another booking can take the time while you are deciding.
> If you approve too late, the same conflict checks as a normal booking still apply.

## When a request expires

If nobody approves or declines before the **end** of the requested time window, AerScheduler
marks the request **Expired** and notifies the member. Expired requests leave the pending
queue. They stay in the member's request history so everyone can see what happened.

Staff cannot approve an expired request. The member can submit a new request for a different
time.

## Needs you on Home

Owners, admins, and dispatchers see a **Booking requests** count on Home (and on the web
Overview **Needs attention** strip) when members are waiting. Tap the row to open the
pending queue.

## Notifications

| Who        | When                                   | Where it goes                                                             |
| ---------- | -------------------------------------- | ------------------------------------------------------------------------- |
| Desk staff | A member submits a request             | Email/push to staff with **Booking requests** on; opens the pending queue |
| Member     | Request approved, declined, or expired | Email/push to the member with **Booking requests** on                     |

Turn the category on under notification settings (`You → Notification settings` (web console)
in the web console, or **Settings → Notifications** in the mobile app), in the Reservations
section.

## Related

- [Booking rules and settings](https://www.aerscheduler.com/docs/scheduling/booking-rules-and-settings): Flying day, caps, notice, horizon, and the rest of the shared calendar rules requests still must pass at approval time.
- [Why was my booking refused?](https://www.aerscheduler.com/docs/scheduling/why-was-my-booking-refused): Other refusal messages members see at book time.
- [Who can book, edit and cancel](https://www.aerscheduler.com/docs/scheduling/who-can-do-what-on-the-schedule): Role permissions on the schedule.
- [Public booking for guests](https://www.aerscheduler.com/docs/scheduling/public-booking-requests): Share a link so a discovery-flight guest can request a time without an account.

## Common questions

**Can dispatchers still book walk-ups without a request?**

Yes. Owners, admins, and dispatchers book directly on the calendar. Approval only gates members booking themselves when your policy says so.

**Do booking requests skip calendar rules like minimum notice?**

Members must pick a valid slot when they submit. At approval time, desk staff can bypass minimum notice and horizon, but conflicts, grounding, and the rest of the booking checks still apply.

**What happens if nobody approves before the flight time?**

When the requested end time passes, the request is marked Expired, the member is notified, and it drops off the pending queue.

**Where do members see their pending requests?**

On the web, open You → Schedule → Requests. In the mobile app, open Booking requests. Staff open Calendar → Booking requests, or tap Booking requests on Home when Needs you shows a count.
