How it works
Every booking confirmation and reminder SMS Wemu sends includes a "Manage" link:
```
Wemu Café: Booking confirmed for Sat 17 May at 2pm.
We look forward to seeing you!
Manage: app.wemu.io/b/a3f7c1...
```
The customer taps the link → opens a mobile-first management page → sees their booking → cancels or reschedules without logging in or calling.
Screenshot: The customer manage page on a phone showing booking details, "Reschedule" and "Cancel" buttons, and "Add to calendar" link
The customer manage page on a phone showing booking details, "Reschedule" and "Cancel" buttons, and "Add to calendar" link
What customers can do on the page
- See the booking: business, service, date/time, staff member, address
- Add to calendar — downloads an .ics file for Apple/Google Calendar
- Reschedule — picks a new date + time slot from available openings
- Cancel booking — with optional reason
Screenshot: The reschedule flow: date picker, available slots grid, "Confirm new time" button
The reschedule flow: date picker, available slots grid, "Confirm new time" button
Cancellation cutoff
Customers can cancel up until N hours before their appointment. After that, the page hides the cancel button and shows the business's phone number to call.
Configure the cutoff: Settings → Business → Cancellation policy (default: 24 hours)
Suggested defaults:
- Café / casual events — 0-2 hours
- Salon / spa — 24 hours
- Clinic / high-value services — 48 hours
Reschedule flow
- Customer taps Reschedule
- Picks a new date (defaults to tomorrow)
- Wemu fetches available slots for that day from your storefront's availability engine
- Customer picks a slot, confirms
- Booking is updated in place — same booking ID, new times
- Fresh confirmation SMS is sent with the new time and a working manage link
Reschedules respect the same cutoff as cancellations. Inside the cutoff, the Reschedule button is hidden too.
What happens when a customer cancels
- Booking status flips to cancelled (frees up the slot)
- An entry appears in your activity feed: *"Customer cancelled X — reason: ..."*
- The customer sees a confirmation banner on the page
- They get an "Book again" button that returns them to your storefront
If the customer cancels and then changes their mind, they tap "Book again" → back to fresh booking flow. The old cancelled booking stays as a record.
Privacy
The manage link uses a 32-character random token. Without that token, the page can't be opened — no enumeration, no guessing. The token only grants access to that one booking; it's not a session.
If you suspect a token was leaked (e.g., customer forwarded the SMS), change the booking through the admin and the old token becomes meaningless on the next event.