Title: Alsoworks Fitness Booking
Author: copilotfitness
Published: <strong>August 28, 2026</strong>
Last modified: August 28, 2026

---

Search plugins

![](https://ps.w.org/alsoworks-fitness-booking/assets/banner-772x250.png?rev=3670160)

![](https://ps.w.org/alsoworks-fitness-booking/assets/icon-256x256.png?rev=3670160)

# Alsoworks Fitness Booking

 By [copilotfitness](https://profiles.wordpress.org/copilotfitness/)

[Download](https://downloads.wordpress.org/plugin/alsoworks-fitness-booking.1.4.9.zip)

 * [Details](https://wordpress.org/plugins/alsoworks-fitness-booking/#description)
 * [Reviews](https://wordpress.org/plugins/alsoworks-fitness-booking/#reviews)
 *  [Installation](https://wordpress.org/plugins/alsoworks-fitness-booking/#installation)
 * [Development](https://wordpress.org/plugins/alsoworks-fitness-booking/#developers)

 [Support](https://wordpress.org/support/plugin/alsoworks-fitness-booking/)

## Description

Every booking tool stores the same fact: this client is booked at this time. Alsoworks
Fitness Booking stores the one a trainer actually reasons with as well: **the other
times that client could also do.**

That second fact is what makes a full week solvable. Suzy can only do 7am. Joe is
in the 7am slot, but he told you 8:15 suits him just as well. Every trainer works
this out in their head, from memory, for the handful of clients they happen to remember
being flexible. This writes it down and does the search for you.

**Nothing is ever moved automatically.** The plugin suggests, you decide, and the
client confirms. A person who says “8am or nothing” is never asked to move, because
their answer is recorded too.

#### What it does

 * **Set the hours you work,** in as many blocks a day as you need. An early morning,
   an afternoon and an evening class on the same day is normal, so a day takes two
   or three separate blocks with real gaps between them, and one day’s pattern copies
   across the week in a click.
 * **Record what each client can do.** For every one of your times: they want it,
   it suits them just as well, they would take it if needed, or they cannot do it.
 * **Sessions as long as you actually run them.** Offer half hours, forty fives,
   hours, or all three, and each client picks the one they train for. Start times
   can be quarter hours, so 7:45 to 8:45 and a breather afterwards is a week you
   can actually build.
 * **Nobody is booked in more often than they asked.** Each person says how many
   sessions a week they want, and every screen shows how many of those are placed.
 * **See who is waiting for each time.** Under every free slot, the people who said
   they could be in it, keenest first, with the ones already at their weekly count
   dimmed rather than hidden.
 * **A cancellation is a question with an answer.** When somebody drops out or you
   lose a day, the same grid shows who could take the empty time and who could shift
   into it, so a gap in the gym does not stay a gap.
 * **Take requests from your own site.** A block, an Elementor element, a WPBakery
   element or a shortcode. People pick the time they want and tick anything else
   that would work.
 * **See who could move.** When a request lands on a time that is taken, you get
   an ordered list of swaps, kindest first, with the message already written for
   you to send.
 * **One tap sends the ask.** If they say yes, everybody moves in one action. If
   they say no, nothing happens and they are not asked about that slot again.
 * **Request to book, not instant book.** A request is not a booking. You keep the
   veto on every one, and you can switch on instant confirmation for free slots 
   if you would rather.
 * **Run your diary from your phone.** Set a phrase and your own website becomes
   the place you approve requests, decline them and move sessions, without logging
   in to WordPress. The move list only ever offers times that client has told you
   they can do.
 * **A reminder of who still needs telling.** Moving somebody in the diary is half
   the job. Every move goes on a short list with the message already written, and
   stays there until you tick it off.
 * **Plan the week by hand, on one screen.** Pick a person up and drop them on a
   time. The squares light up before you let go, in your colour where it fits and
   red where it does not, with the reason in words. Everybody else’s availability
   stays visible while you do it.
 * **Blocks of sessions, counted once.** Record what somebody bought and both of
   you read the same number: six used, four left, running out on the twelfth. A 
   session comes off the block when it happens, not when it is booked, so a plan
   cancelled a fortnight out has cost nobody anything.
 * **Cancelling asks the question that matters.** Not “are you sure” but what happens
   to their session: back on their block, or used. Your usual answer is already 
   chosen and the notice you were given is on the screen, because that is what the
   decision rests on. Nothing is ever settled without you pressing something.
 * **Your prices, set once.** They become the price list people read, the session
   lengths your diary offers, and the block you record when somebody pays. Show 
   the list above or below your times, or put it anywhere on your site with a shortcode.
   If you have not settled on your prices, there is a short guide that helps you
   work them out.

#### Your diary on your phone

The console lives on any page you put it on, or on a booking page the plugin can
make for you in one click. It is opened with a phrase you choose, which is not your
WordPress password and cannot be used to log in to your site.

Anyone with the phrase can do everything the diary does: approve, decline and rearrange
sessions, add a client, and record, correct or remove a block of sessions somebody
has bought, including the amount you were paid. It reaches nothing else on your 
site. The phrase is stored hashed, never in plain text, and it is refused if you
try to set it to your WordPress password. Wrong guesses are limited, every use is
listed for you to read, and changing the phrase or switching the console off signs
every device out at once.

#### Built for the way the job actually works

 * Ranked by least disruption, so the person who told you a time is _just as good_
   is asked before the person who would be doing you a favour.
 * Never more than two people in a chain. A four person shuffle is technically neat
   and socially impossible.
 * Nobody is moved into a time they have not spoken about.
 * A count of who is booked, how much of your week is free, and how many people 
   are waiting on you.

#### Your language, your week, your clock

Weeks start on the day your site starts on. Times follow your site’s own clock, 
so a site set up in German gets a 24 hour one without anyone changing a setting.
Every word is translatable.

#### Nothing leaves your site

This plugin makes no outside connections of any kind. It takes no payments, so there
is no account, no key, no sign up and no analytics, and no card details ever reach
it. The one email it sends is the link a client asks for to reach their own page,
sent by your own WordPress site in the ordinary way. Your clients, their contact
details and everything they have told you about their availability stay in your 
own WordPress database, and you can download the lot as a file whenever you like.

## Blocks

This plugin provides 1 block.

 *   Session request form

## Installation

 1. Install and activate.
 2. Open **Alsoworks Fitness Booking, This week** and set the hours you work.
 3. Add your clients under **Alsoworks Fitness Booking, Clients**, and mark which of
    your times each of them can do.
 4. Put the request form on a page with the **Session request form** block, the matching
    Elementor or WPBakery element, or the `[fitness_copilot_request]` shortcode. Your
    clients see your week there and mark the times they can do. If you would rather
    not build the page yourself, one button on the settings screen creates a published
    page holding the form, and tells you which page it made.
 5. Optionally, set what you charge under **Alsoworks Fitness Booking, Prices**. Nothing
    is shown to anybody until you fill it in.

Deactivating changes nothing. Everything is removed only if you delete the plugin.

## FAQ

### Does this send anything anywhere?

No. The plugin makes no outside requests at all, so there is nothing to disclose
and nothing to opt out of.

### Will it move a client’s session without asking?

No, and it cannot. It suggests a swap and writes the message; you send it, and nothing
moves until you press the button that says they agreed.

### What about a client who cannot be flexible?

Record that. Marking a time as one they cannot do is as useful as marking one they
can: it means they will never appear in a list of people to ask.

### Where does the information live?

In your own WordPress database, like your posts and pages. You can download all 
of it as a file from the Clients screen.

### What happens if I deactivate or delete the plugin?

Deactivating changes nothing, and everything comes back when you switch it on again.
Updating changes nothing. Deleting removes your clients, their stated times and 
your sessions, so download a copy first if you want to keep them. WordPress warns
you on the Plugins screen while there is anything to lose.

### Does it work with my page builder?

Yes. The request form registers as a block, an Elementor widget and a WPBakery element,
and there is a shortcode for anything else. All four render exactly the same form.

### Can people book without making an account?

Yes. A request needs a name, an email address and at least one marked time. Nobody
has to register, and the email address is simply how you know whose answers are 
whose.

### Do I have to set my week up again every week?

No. A regular repeats every week on its own, and a week that differs only stores
what differs, so moving somebody once does not disturb any other week. The times
your clients say they can do are kept the same way.

### Somebody cancelled and I have a gap. What now?

Open your week. Every free time lists the people who said they could be in it, so
you can see at a glance who to ask, including anybody already booked elsewhere who
could move across.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Alsoworks Fitness Booking” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ copilotfitness ](https://profiles.wordpress.org/copilotfitness/)

[Translate “Alsoworks Fitness Booking” into your language.](https://translate.wordpress.org/projects/wp-plugins/alsoworks-fitness-booking)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/alsoworks-fitness-booking/),
check out the [SVN repository](https://plugins.svn.wordpress.org/alsoworks-fitness-booking/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/alsoworks-fitness-booking/)
by [RSS](https://plugins.trac.wordpress.org/log/alsoworks-fitness-booking/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.4.9

 * Your page is now reached by a link sent to your email, rather than by typing 
   the address into the page. Ask for the link and it arrives in your inbox; open
   it once and the browser remembers you.
 * Book a session and the same browser keeps your page from then on, with nothing
   to sign up for.
 * Input is cleaned as it is read and output escaped as it is printed, throughout.

#### 1.4.7

 * Plan a whole week by dragging people onto the times they said they could do, 
   and see everybody else’s availability while you do it.
 * Blocks of sessions: record what somebody bought, and both of you see the same
   count as they use it.
 * Sessions come off a block when they happen, not when they are booked.
 * Cancelling asks what happens to the session, with your usual answer already chosen
   and the notice you were given on screen.
 * Correct a block that was recorded wrong, and remove one nothing has come off.
 * Set your prices once and show them as a price list, on the booking page or anywhere
   else.
 * A guide for working out what to charge, if you have not settled on it yet.
 * Clients can check how many sessions they have left.
 * The diary reaches weeks ahead, not just this one.
 * A whole week on one screen: clients mark every time they could train and mark
   again the ones that suit them best.
 * Session lengths you choose, per client, with quarter hour start times.
 * Sessions repeat every week, so a regular keeps their slot without anybody re-
   entering it.
 * Suggests one and two person swaps when a requested time is taken, ranked so the
   least disruptive ask comes first.
 * Records what every client says about each of your times, including the times 
   they cannot do.
 * Request to book, with instant confirmation available for slots that are free.
 * Weeks, dates and times follow the site’s own locale, including a 24 hour clock
   where that is the norm.
 * Download everything the plugin holds as a single file.

## Meta

 *  Version **1.4.9**
 *  Last updated **6 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.1**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [appointments](https://wordpress.org/plugins/tags/appointments/)[availability](https://wordpress.org/plugins/tags/availability/)
   [personal trainer](https://wordpress.org/plugins/tags/personal-trainer/)[timetable](https://wordpress.org/plugins/tags/timetable/)
   [waitlist](https://wordpress.org/plugins/tags/waitlist/)
 *  [Advanced View](https://wordpress.org/plugins/alsoworks-fitness-booking/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/alsoworks-fitness-booking/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/alsoworks-fitness-booking/reviews/)

## Contributors

 *   [ copilotfitness ](https://profiles.wordpress.org/copilotfitness/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/alsoworks-fitness-booking/)