Owners manual

Owners manual

This manual gives information useful to booking system owners, office staff and instructors. If you are a system user looking to make a booking, please refer instead to the User guide.

Information in the booking system flows from one stage to the next, reducing duplication and saving time when entering details. Where possible, the system pre-fills forms, based on what it already knows about the aircraft, your booking and so on. The block diagram below shows the key parts of the system and how information moves from one part to another.

Block diagram

For the booking system to operate, it needs to know about:

 

How to set up your booking system (two videos)

 

When you first log in, you will see a prompt to get started by adding an aircraft.

Landing page (first log in)

Mathew Mon, 18/07/2016 - 09:05

Aircraft

Aircraft

The system maintains a list of all your aircraft. These can be made available to book in the booking system, and can also be displayed as a web page to give people information about an aircraft they may be considering flying. The list of aircraft is displayed by clicking the Aircraft tab shown in the primary links area:

Aircraft tab

To add a new aircraft, see Adding a new aircraft.

To view more information about a particular aircraft, click the registration in the list. This shows a summary tab for the aircraft:

Aircraft tabs

Changing aircraft details

To change the details of an aircraft, click the Settings tab. The form contains the same fields as described in Adding a new aircraft.

Bookings

The Bookings tab shows bookings for this aircraft only. It can be useful to see these if bookings need to be switched to a different aircraft, for example if an aircraft is unavailable. The page allows for bookings to be bulk-edited, by selecting all bookings and using the option "With selection...". When a booking is changed, each user affected by the change receives an email with the change and the new booking details.

Aircraft availability

Unlike instructors, aircraft are normally always available. But to allow for those times when an aircraft may be grounded, you can make it unavailable for a period of time. To do this, click + Make unavailable and complete the form. Doing so adds a new entry into the list of periods the aircraft is unavailable to book but does not cancel any existing bookings. You can view the list of periods the aircraft is unavailable by clicking the Availability tab.

Maintenance

The Maintenance tab is visible to users with either the Instructor, Office staff, Engineer or Owner role.

Aircraft Log

The Log tab shows the aircraft log which contains a full list of every flight, service, inspection and added notes. All members can view the aircraft log and can add notes to the log as described in the user guide under Aircraft log.

Mathew Sat, 16/07/2016 - 11:25

Adding a new aircraft

Adding a new aircraft

Note: Only users with the Office staff or Owner roles can add aircraft.

To add a new aircraft, click Aircraft in the primary links area, followed by Add a new one on the page. Fill in the details as required.

 

To remove an aircraft and make it no longer available, click the aircraft, then click the Availability tab. You can choose to make an aircraft unavailable for bookings for a set period, or unpublished it, which hides the aircraft from other users. Note you can still access the aircraft details via the Admin tab in primary links, followed by Content. This allows you to re-publish an aircraft if you unpublished by mistake, or if the aircraft was unavailable for an extended period (e.g. repair).

 

When adding a new aircraft, the following fields should be set:

  • Registration. To enable users to identify the aircraft.
  • Aircraft Type. Member's logbooks and training notes both contain a summary of hours on type. Set the aircraft type here, for example, EV-97 or PA-28.
  • Maximum POB. The system will apply validation when flights are booked out, one of the checks being the number of people on board.
  • Fitted with Hour Meter. If the aircraft has an hour meter, the counter values are collected for each flight. Otherwise, the total engine time is calculated using the total flight time.
  • Current Engine and Airframe hours. The aircraft hours are used in conjunction with the maintenance schedule to give you and other users a reminder when nearing a service. The system also watches for gaps and overlaps in the hour readings, to try to prevent users making mistakes in their entries.

How do I record flights in members own aircraft?

One option would be to create a new aircraft each time, but you might also consider just adding one aircraft with the registration "Other". Record the actual aircraft registration under the notes for the flight.

After adding a new aircraft, two initial service records are created in the log using the values you entered. If you need to correct these values, navigate to the aircraft, then follow the link to the Log tab.

Mathew Mon, 18/07/2016 - 10:38

Availability

Availability

Aircraft you add to the system are made available for bookings, but you can make them unavailable either for an extended period, or temporarily. To make an aircraft unavailable, find the aircraft in the list on the Aircraft tab, or via Admin > Content. Click the registration followed by the Availability tab:

Availability tab
If periods have been set up already, these are listed in the table. You can make changes by clicking the time period shown in the first column.

To make the aircraft unavailable, click Make unavailable.

Make an aircraft unavailable

Overall availability

For periods when an aircraft is unavailable and known in advance, you can add the period based on the date range, together with notes that are shown to users trying to book that aircraft. Adding a period of unavailability like this is suitable for maintenance or times when repairs are necessary. The aircraft is still visible in the booking system, so users can view the notes and can see when the aircraft is expected to become available.

Sometimes you might want to hide an aircraft completely from users of the booking system. Rather than setting up a date range and adding some explanatory notes, you simply un-publish the aircraft. Typically this would be because the aircraft has been sold and will never become available.

Note: If you make an aircraft hidden it is removed from the Aircraft tab. If you need to find this aircraft again, you can find it under Admin > Content. From there, if you want to make it available again, use the Availability tab.

Make unavailable from... until

These fields are used when you want to make the aircraft unavailable for a fixed period.

Notes

Any notes you enter here are displayed to users making bookings at the bottom of the list of time periods:

Notes shown on booking form

Mathew Mon, 22/07/2019 - 12:14

Maintenance

Maintenance

The system can keep track of scheduled and unscheduled maintenance. Use of these features is optional; you can choose to keep paper or other electronic records instead and the other processes in Flight School Booking will work without maintenance or service records.

If you choose to use the system to track maintenance, you can configure various items on a schedule for each aircraft.

Example maintenance schedule for an aircraft

You can view the maintenance schedule by clicking the Maintenance tab for an aircraft.

The schedule lists each maintenance item (for example, "50 hour / 6 month check") and each can be due by either a due date or aircraft hours. The interval for each is programmable, as are rules about how to handle the next due hours if an item is completed earlier or later than due. A simple traffic light based system can be used to highlight items coming near their due date/hours. Reminder emails can be sent to a user in the system when the status changes.

 

 

Mathew Mon, 07/09/2020 - 14:15

Recording servicing

Recording servicing

This feature is only available to certain users, typically engineers and the owner can add service records.

The process for adding a service record is similar to adding a note as described in the user guide. First find the aircraft log. The quickest way to find an aircraft is from the Aircraft tab under Primary Links. But if you have some aircraft unpublished and not shown on the Aircraft tab, the best way to locate the aircraft record is to search as follows. Click the Admin tab followed by Content.

Search for aircraft

On the content screen, set the type to "Aircraft" and click Filter.

Note: You can of course type the aircraft registration into the Title field to find an aircraft by its registration. The steps above will list all aircraft in your club or school.

Click on the link to the aircraft shown under the Title column. This displays the aircraft tabs (Summary, Settings, Bookings, Availability, Maintenance and Log).

If you have already defined the maintenance task in the schedule you can view which items are due using the Maintenance tab. This is the best method for scheduled maintenance.

If you want to record a service that was not carried out as part of scheduled maintenance, click the Log tab to view the aircraft log.

Add service button

The screen shows the complete list of entries made in the aircraft log and includes flights, notes, services and inspections. To add a new airframe or engine service record, click + Unscheduled service. If this button is not shown on the page, you do not have access to this feature.

Airframe service

In the Notes field, add a description of the work carried out, including parts replaced for other members to view. As an example, you may wish to record whether tyres or brakes were replaced.

For an airframe service you should find an Airframe section.

Check the current Airframe hours and modify if necessary. The system does not report gaps or overlaps for service entries.

Engine service

In the Notes field, record the work carried out. For example, you may have changed the oil and the spark plugs.

For engine services you should find an Engine section. The Engine hours at start is taken from the last entry in the log and should match the value displayed on the aircraft engine hours meter. If the engine is run as part of the service, note the actual hours displayed on the meter and type the value into Engine hours after shut down.

 

Mathew Thu, 21/04/2016 - 13:18

Correcting aircraft hours

Correcting aircraft hours

When an aircraft is created, you would normally set the current engine and airframe hours. This provides a base figure for the airframe hours. Note for aircraft fitted with an hour meter, this usually records the engine run hours (Tacho).

If you were unable to set up the initial hours when adding the aircraft you can add a new service to correct for this. Just navigate to the aircraft's log tab and add a service, first for the engine and again for the airframe. In the notes section, we recommend stating the date of the last service for the first service entry. See Recording Servicing for details.

Mathew Wed, 25/09/2019 - 15:35

User management

User management

The booking system maintains a list of users, classed as members, instructors, office staff and so on. This classification is defined by which role or roles a user has.

Note: Only users with the InstructorsOffice staff or Owner roles are able to search for users and add new ones into the system.

Roles are linked to a set of permissions that define what a user can view and change in the system. A user can be assigned more than one role such as Owner and Instructor. Similarly, an user with the Engineer role may also be learning to fly as a Student. For more details about the roles available, see Roles.

It is possible to add a user who will not have access to the system themselves. This is useful for people taking a trial flight, as you can enter their contact details (etc) and make the booking on their behalf. When users become students or members, you can allow them access to the system so they can view their own bookings, logbook and training notes.

Allowing your users to make their own bookings

To give a student or member access to the system, be sure to select the option "Can log in". The user will set their own password using the process described in the user guide under "Getting Started".

Mathew Sun, 03/07/2016 - 10:49

Adding a new user

Adding a new user

To add a new user, click the People tab in the primary links area followed by + Add user.

People tab

Note: Only users with the Instructors, Office staff or Owner roles are able to add new users into the system.

It is recommended to first search the system for the user by typing their name or email address and clicking Filter in case another instructor has already created the user's account. It is not possible to merge user accounts and their associated logbook and training notes later. If the user is listed already, you can edit the user account by clicking the Edit button shown to the right of each user in the search results list.

When adding a new user, you can allow them to log in themselves or prevent them from accessing the system. Typically for "air experience" or trial flights you would prevent the user from accessing the site themselves. In this case you should leave the roles de-selected and just fill in their email address, name and a contact phone number. If the person later becomes a member or you want to allow them to make their own bookings, just search for the user and edit their account.

  • Name. Since instructors may be making bookings for users, it is recommended to use a standard form such as First and last name. This means instructors can search and find the right member quickly if they need to make a booking over the phone.
  • Email address. All the user's bookings and cancellations are sent to this email address. If the user is given access to log in themselves, they can reset their password (if forgotten) using a link sent to their email address.
  • Roles. Choose which role to assign to the user, see Roles.
  • Can the user access the site? It is not necessary to give access to users unless you want them to make bookings themselves. For trial flights, we recommend preventing access and only allowing access if the person chooses to become a student and take more lessons.
  • Contact settings. Being contactable is advantageous because it allows another member to ask for a re-arrangement of bookings and can therefore lead to higher aircraft utilisation. When the option is checked, the user's initials are shown on the booking form and their name is visible to other users (e.g. in their booking and in the aircraft log). When this option is left un-checked he user's details are hidden from other students or members. Note: User information is always visible to users with the Instructor, Office staff or owner role.
  • Contact details (address, phone numbers). The contact details are useful in case of bad weather so you (or another instructor) can contact someone booked on a training flight to cancel at short notice. Usually you can tap the user's phone number displayed on their account page from a mobile phone to phone them straight from the site.
  • Next of kin details. Record the name, address, phone number as needed.
  • Previous experience. This field details any previous experience the person may have. It is really only important for trial flights or first few lessons as it allows an instructor to tailor their lesson accordingly.
  • Membership renewal date. When the user is set as a StudentMember or Associate member, the date should be filled in. Members are notified shortly before their membership expires and if the date is not reset into the future, the user is automatically moved into the equivalent Lapsed role. Lapsed students and lapsed members do not have access to the booking system but can still log in and see their logbook. Users cannot change this field themselves.
  • Date of birth. Member's date of birth. Users cannot change this field themselves.
  • Medical renewal date. Flying schools normally require a copy of the member's medical certificate before allowing them to fly solo in their aircraft. If so, you can record the date in this field. Users cannot change this field themselves.
  • Revalidation next due. When setting up a new user, leave this field blank. This field is provided for users to keep track of the next revalidation due on their licence. The system will then generate an email reminder for them.
  • Other information. This field can be used to store other information such as licence number(s).

 

Which fields can a member change themselves?

Members can change their email address, password, contact settings, contact details, next of kin, previous experience, revalidation next due and other information. Members cannot change their membership renewal date, date of birth or medical renewal date. These are shown to the member as read-only fields and only an instructor or office staff can update them.

How does a new user set their password?

When a user is given access to the site, you can select the option Notify user of their account. This will send them an email with instructions and a link to set their password. For existing users that are changed in order to grant access, the change of Can the user access the site from No to Yes will generate an email with similar instructions.

Mathew Sun, 03/07/2016 - 10:59

Importing users

Importing users

If you have been using another booking system, or have a list of your students or members on a spreadsheet, you don't need to add each user manually. Instead, look for the Import from CSV button on the People tab. Using this option you can select a CSV file and import all your users in one go.

Import users button

The CSV file should be a particular format, which is explained on the import screen.

The easiest way to get started is to first create a user manually, then export the list of users in CSV format. That will give you a template which you can refer to, or change and add your own users.

Mathew Mon, 13/04/2020 - 14:17

Roles

Roles

Each user can be added to a group by assigning a role from the following:

  • Voucher
    This role indicates a list of users who have a pre-paid voucher for a flight, usually received as a gift. If you use the system's built in support for vouchers, it will add the role automatically. When a flight or training record is entered for a user with this role, the role is removed. This means you can see your liability in terms of vouchers sold but not yet fulfilled. To do this, use the People tab and filter by the role Voucher.
  • Student
    The intention is for the student role to be used to keep track of the current student list of the school or club.
    Users with the Student role are able to view and make bookings, book out aircraft, enter flight details, view their training notes and maintain their personal logbook. See also Student (Lapsed) and Member.
  • Student (Lapsed)
    Students
    make use of the Membership renewal date, which you can set when you create the user's account. This is useful if you charge for student membership and access to the booking system. If they renew membership, the billing system will update the renewal date for you. Otherwise, simply change the renewal date to extend their membership. If the membership lapses, the system moves the user into the Student (Lapsed) role. If you do not want to use this feature, just set a renewal date in the far future.
  • Associate member
    No special permissions exist for users with this role. But you may find this useful if you want to maintain a list of associate members (non-flying members). Any restricted content you make available (such as newsletters) can be hidden from public view but made available to associate members.
  • Member
    The intention is for the member role to represent users who are full members of the club, usually with higher fees than students. They typically have lower training and flying rates (e.g. a member's lease group). If the member is also a student, you can combine the two roles by ticking both boxes.
    Just like the Student role, users with the Member role are able to view and make bookings, book out aircraft, enter flight details, view their training notes and maintain their personal logbook. If the Membership renewal date passes, the Member role is removed and the Member (Lapsed) role is added instead. This means members will be unable to book further lessons until they extend their membership by paying their membership fee or calling the office. If you take payments outside the billing system, edit the user's record, extending the renewal date, usually by one year.
  • Member (Lapsed)
    Members and associate members make use of the Membership renewal date, which you can set when you create the user's account. This is useful if you charge for membership and access to the booking system. If they renew membership, the billing system will update the renewal date for you. Otherwise, simply change the renewal date to extend their membership. If the membership lapses, the system moves the user into the Member (Lapsed) role. If you do not want to use this feature, just set a renewal date in the far future.
  • Engineer
    Engineers are able to add service information to each aircraft. This is done from each aircraft's page - see Entering service information.
  • Instructor
    Instructors have additional permissions in the system and can be booked for training flights by anyone with access to the booking system. It is not necessary to make instructors members as well. Instructors can create, change and remove users, make bookings on behalf of someone else, view the complete list of bookings and complete training notes.
  • Office staff
    Office staff have many more permissions in the system. Be careful to assign this role only to people you trust. Although they cannot book out aircraft (unless also made a member), they can create new users, make bookings on behalf of members and can create new content in the system such as aircraft and newsletters.
  • Safety management
    People with this role can view all safety reports, including confidential and anonymous reports. They can add comments, close reports and export the information in CSV format. The owner has the same permissions, but because some reports can be made concerning staff, Office staff cannot view confidential reports nor close anything. They cannot assign the Safety management role to anyone, the only role that can do this is the Owner. If you have your own safety management staff, you can assign both this and the Office staff role, allowing them to transfer safety reports to aircraft logs and to maintenance schedules.
  • Owner
    As owner, you have full access to the booking system, flights and so on. You can edit any record, even those that have been "locked". Normally only one user is given this role, and just like Office staff, this role should only be assigned to people you trust.

 

Mathew Fri, 15/07/2016 - 13:32

Searching for a user

Searching for a user

To search for a user in the system, click the People tab in the primary links area.

Search for a user

The form shown above presents a number of ways to search for users. If you are searching for someone in particular and know their name (or part of it) or their email address (or part of it), type this in the Name or email contains field and click Filter. Typically you will use this option to find a user quickly in order to make a booking, change or cancel their existing bookings.

To view the user's account tabs, click the name shown under the Username column. This then presents the user's details. From there you can edit their details, view and change bookings and so on.

You can also use the form to search for users matching a condition, such as all users with the Instructor role.

Mathew Wed, 03/08/2016 - 16:25

Instructors

Instructors

Instructors are people with the role Instructor.

To create a new instructor for booking by members, or to change details see User management.

 

Mathew Fri, 15/07/2016 - 15:57

Availability

Availability

To view and make changes to availability, click the Availability tab shown in the instructor's tab set. To change your own availability, simply click your name shown top right. To change another instructor's availability, search for their user account using the Members tab.

Availability tab for an instructor account

Each instructor can set their own availability using a flexible system of regular working hours, additional availability and unavailability periods.

  • Normal working week.
    If the instructor works regularly, define the hours of availability. The working week hours match the school's opening times defined in settings. If the instructor does not work a regular pattern, use Additional Availability instead.
  • Additional availability.
    This is used to set additional one-time availability for a particular date. If the instructor does not work regular hours, they can set their availability this way.
  • Unavailability.
    Use this option to make the instructor unavailable for booking. Periods of unavailability override any regular hours or additional availability. This is useful when taking vacation, as it accepts a start and end date to block out time quickly and easily.

 

Normal working week

Normal working week

To make a change to the regular working week, click the day you want to change. If you want to set availability for all days, week days, or weekends, it does not matter which day you click on. In the screen that follows, choose whether to apply the selected hours to the specific day, weekdays, weekends or every day. Next choose which time slots you want to be available for and click Save.

Additional availability

In the example, Izzy is only normally available on weekdays. But for one Saturday she is available as cover for another instructor. To set this additional availability, click the button + Add availability.

Setting up additional availability

Unavailability

To make an instructor unavailable over a period of time, such as for a vacation, click the button + Make unavailable.

Note: When an instructor is unavailable long-term or indefinitely, edit their user account instead and remove the Instructor role.

Unavailability form (for taking vacation)

Using the form, select the first day the instructor is unavailable. By default the time is midnight on the start of the day, but can be changed if you wish to remain available for the morning for example. Set the end date and time and add notes if you wish. Notes are not shown to members but are visible to other instructors and office staff. The notes can be a useful reminder for why the time was blocked out, e.g. "Dentist appointment" or "Taking car for service".

Mathew Mon, 18/07/2016 - 11:07

Safety reporting

Safety reporting

The system allows people to submit safety reports. To configure this feature, see Admin > Safety reporting.

A safety report collects the following information:

  • Name and email of person submitting the report (or can choose to report anonymously)
  • Date and time
  • Title and full details
  • Location
  • Reason for the report (configurable in Admin)
  • Aircraft and phase of flight
  • Contributing factors (configurable in Admin)
  • Injuries, Damage (configurable in Admin)
  • Frequency of occurrence
  • Suggested action

 

In addition, when a report is submitted as part of adding flight details, the report is linked to the flight record. This means the departure, destination, POB etc. are recorded without needing to re-input the same information.

Once a report has been submitted, its access is restricted and can only be viewed or changed by certain people.

Group Access
General public Cannot view any reports. Can only submit if you allow them to under Admin > Safety reporting.
Owner View, edit or close any report (incl confidential reports). Add any user to circulation list.
Safety Management Staff View, edit or close any report (incl confidential reports). Add any user to circulation list. Receive notifications when reports are submitted, updated or closed.
Office staff View open and closed reports, except for confidential ones. Can edit own report until first update. Can access settings under Admin > Safety reporting.
Students, Members, etc. View own reports plus open reports (except confidential ones)
Additional users added to circulation View and add comments

Using the settings under Admin > Safety reporting you can choose who can submit safety reports (disabled, staff only, anyone who can log in or everyone).

Notifications

When a new report is submitted, everyone in the Safety Management Staff role are notified by email. The originator also receives a confirmation email if they are logged in. No emails are sent to the general public because open systems are often abused by spammers submitting other people's email addresses.

Note: Only the Safety Management Staff role is notified when a safety report is updated or closed.

Users are able to unsubscribe from safety notifications, but still remain in the Safety Management Staff group. This may suit people who regularly check the list of reports for any new ones, but do not want to receive a notification when the report is submitted or updated.

Adding comments

Anyone with access to view an open safety report can also add a comment to it if they wish. Comments are visible to anyone with access to view the report itself.

Additional circulation

The circulation can be expanded to other users who cannot otherwise view the report. This can be useful when a report is confidential (visible to the owner and safety manager) because additional named users can be added to the circulation. These additional users are notified when the report is updated or closed just like the Safety Management Staff group, but they do not inherit extra rights to edit the report themselves or to close it. People would typically be added to the circulation list in order for them to comment on the report while it remains confidential.

Closing a report

Only people in the Safety Management Staff or owner roles can close a report.

Once a report is closed, the report is no longer shown in lists, but the original link to the report is still valid, so people can still revisit a report from a link they received by email.

Mathew Mon, 21/09/2020 - 13:01

Billing

Billing

The integrated billing system is simple to set up, yet is designed to be very flexible and powerful. It can take care of all your invoicing and card payments (with little or no work from you). It chases up customers for non-payment automatically, and gives everyone their own Bills & payments tab, where they can instantly see exactly what they owe or the amount still left to spend in their account.

Why use our billing system instead of monthly invoices?
  • Fully automated invoicing and payments, no more messing about with paper invoices or working out how much to charge.
  • Much improved cashflow. No more waiting for cash your business could be using.
  • Customers love seeing their invoice immediately (perhaps this is unexpected!).
  • Monthly bills can be large amounts; this might make them reconsider making their next booking.
  • Save time by entering summary data into your bookkeeping software instead of every invoice and payment.

 

This page describes the main Billing tab in the system. Are you looking for information about how to set up the billing system?

 

The Billing tab shows the balance for each customer with a transaction in their account. The balance is split to show the amount overdue separately from their total balance.

You can use this page to get a quick view on the amounts outstanding. The page shows the highest debt at the top, though zero and on to any pre-paid accounts at the bottom as shown in the example:

Billing tab showing balances for some students

 

The rows are highlighted to show customers with overdue balances in red, then customers with a debt amount in yellow.

You may also notice the secondary tab labelled All transactions. As the name suggests, this shows a list of all transactions across all customer accounts. This page still shows a balance column, but because it lists all customers the balance represents the total credit balance at the time. Therefore the balance in the top row in this list shows the total amount owed by the  school to its customers (if positive) or the total amount owed by customers to the school (if negative).

To view a customer's account in detail, click their name in the first column. From the customer's account page you can do things like add invoices, credits, make payments (if the customer is sitting with you) or just record their card details for future payments.

Mathew Mon, 30/12/2019 - 11:46

Customer account

Customer account

This page describes the customer's Bills & payments tab from the point of view of the school (eg owner, office staff or an instructor). If you are a customer, please see Bills & payments in the user guide.

If you have turned on the billing system for everyone, all your customers will see their own Bills & payments tab in their account when they log in. Otherwise if the tab is not shown, you might need to find the customer first using the People tab and turn on the billing system for their account using their Settings tab.

Additional options are available when viewing the customer's Bills & payments tab as office staff. For example, you can manually create an invoice, credit note, or record payments received outside Stripe using an adjustment.

Manual entry

Types of manual entries

There are a few different types of transaction you might want to add manually to a customer's account. Most are only available to office staff and the school owner, but instructors can add invoices and can edit existing invoices in the draft state (more on that later).

  • Invoice.
    The system will create invoices itself for flights, training (including ground school) and for regular payments such as membership fees.
    You or an instructor might want to add an invoice manually if a customer wants to purchase something else from you, such as a knee board, pilot's logbook, charts or a headset. If the purchase is just after a flight, note the flight's invoice will be in a draft state for about an hour, and you can simply add a new line to that invoice for any extras.
  • Credit note.
    Credit notes can be issued to give a discount on someone's account. You might want to offer a credit such as this when someone pays a large amount up front for their flight training. For example, you might offer a package for a fixed number of flight hours, and extras such as knee board, chart and so on for a fixed price. If the customer makes this payment (either through the system or direct to you), you could add an additional credit on their account to adjust the amount they paid up to a balance equal to the value of your standard prices for the flight hours and any extras. This would mean you could leave the student on your standard or student price group instead of creating price groups for different packages.
    You might also add credit notes if there is some disagreement over flight training and you are refunding someone. In that situation, create a credit for the amount in dispute (which also records the tax due back to your business) and then either refund from a previous payment (if made in the system) or add an adjustment if you hand over money direct, outside the system.
  • Adjustment.
    An adjustment represents a cash or card transaction that did not go via the billing system. For example, if the customer made a payment to you using cash, your own card machine, or a cheque, they will want to see the payment recorded in their account. To do this, add an adjustment.
    Adjustments are also used if you are refunding the customer from outside the system. For example, if you give the customer cash, cheque or transfer money to their bank account or card. In this case, create a record of that transaction as an adjustment. Take care when filling in the form because unlike invoices and credit notes, adjustments are locked and cannot be edited afterwards.
  • Opening balance.
    An opening balance is a special type of adjustment. When adding an adjustment, you can choose to fix the balance to a known amount. Any adjustment necessary is made to arrive at the balance you specify. In addition, older transactions are archived and do not appear when the customer views their transaction history.
    By adding an opening balance, even if zero, you are confirming to the customer the amount in their account as you move them from an older system to this one. This is important because customers will want to know where they stand and will rely on the list of transactions to tell them how much they owe, how much to budget or when they need to make another payment.

 

Refunds

The process for refunding is two steps.

First, you should issue a credit note that itemises and describes what you are refunding for. The credit also contains the tax amounts, and if you are registered for VAT you can claim back this amount from your tax authority.

Next, you can try to refund back to the customer's card if they have used the billing system to make payments. Look for transactions of the type Receipt. If not, or if the last payment is over 90 days old, you will need to send them the money yourself and add an adjustment to their account manually (see above).

Assuming there is a recent receipt listed, click on it to view the details. Then click the Refund button at the top. You can refund all or part of a payment, the system will keep track of when a payment is fully refunded.

 

Draft vs Finalised invoices

When you create an invoice or credit manually, you will see they are created as drafts. These do not appear on the customer's account and you can continue to make changes to them. Once you "finalise" the transaction, it is moved into the customer's account and they can see it. Once finalised, you can no longer edit it but you can of course reverse any invoice with a credit and likewise any credit with an invoice.

Invoices created by the system are finalised straight away. This means when adding a flight, you can view the invoice immediately and take payment.

If you want to sell something to a new customer - such as a logbook - you can add a new invoice to their account using the Manual entry button.

 

Mathew Mon, 30/12/2019 - 11:56

Restricted content

Restricted content

There may be some information you don't want to post publicly on your school website. The Restricted content area may be a good place to post this information, and direct your students and members to it.

Link to restricted content is at the bottom of each page

Pages can include text, images and even attached files such as PDFs, ZIP files and so on. You can then restrict access to groups of users, for example students, associate members and so on.

Attachments in restricted content

 

You might the restricted content pages useful for:

  • School Rules
  • Airside / Airport Rules
  • Pilot Operating Handbooks (POH) for your aircraft
  • Checklists
  • Recommended routes
  • Links to local weather stations
  • ... and so on.

 

The pages show as small snippets when displayed in the list. Look for the Read more link to expand and view the whole page, plus any attached files.

If you want to update an existing page, you have the option to create a new revision, and leave the old revision unchanged. Standard users (other than office and owner) will see only the latest revision.

Add a new revision to restricted content

 

Mathew Fri, 03/01/2020 - 16:39

Newsletters

Newsletters

The platform provides an integrated newsletter system which allows you to keep in touch with your members. You create a newsletter as a new content item, much like you would a new aircraft or instructor page. Once done, you decide which groups of people you want to send the newsletter to. Once you send the newsletter, it becomes published online to users with permission to view it.

Why send a newsletter?

A monthly newsletter keeps members in touch with what is happening at the club. You may find the number of bookings increases as people are reminded to fly, especially if they have "dropped off the radar" and need a nudge to bring them back! As an example, the newsletter could contain things like:

  • Any changes to club rules.
  • Information about existing and new aircraft.
  • New instructors.
  • Recent GST passes or first solos.
  • Related aviation news.

 

Note: Only users with the Office staff or Owner roles can create newsletters.

To create a new newsletter or to view previous newsletters (including work in progress), click + Add content on the content page. To find the content page, click the Admin tab, followed by Content.

Add a new newsletter

The "Content" page displays a list of all pages in the booking system. All content, whether aircraft, instructor or newsletter is listed and you can quickly access it from here if you want to make changes. If you want to work on a newsletter you have not yet sent, you will find it listed. To filter the list to show only newsletters, set the Type to "Newsletter" and click Filter. To edit a newsletter, click the Edit button shown to the right of each item in the list.

Alternatively, to create a new newsletter, click the button + Add content and choose Newsletter as the content type. The following fields should be set:

  • Subject. This is the subject line of the email newsletter and the title of the page when the newsletter is viewed online.
  • Body. The body text of your newsletter. You can use the formatting buttons at the top of the edit box to choose text styles, insert images and links. When adding images, make sure the image is already formatted to 600 pixels wide. This size works well in email and also online.
  • Email signature. You can use this field to set your standard signature for newsletters. It could contain your name, position, contact address and phone number(s). This field is stored against your user account, and once you have set it up, it will be pre-filled for all future newsletters. The signature field is only sent in the email version of the newsletter and is not shown to the public or when the newsletter is viewed online.

 

You can write a newsletter ahead of time, and you don't have to write it from beginning to end: you can save your progress and come back to it later. Saving the newsletter leaves it unpublished, it only becomes published once it is sent to a group of users. To save the newsletter, click Save.

Note: Newsletters are stored for a maximum of 30 days and automatically deleted. To get a reminder sent to you by email before this happens, use the config settings under Admin > Reminders and follow-ups.

The newsletter is displayed on a pink background to indicate it has not been published yet, as shown below.

An unpublished newsletter

If you want to leave the newsletter as work in progress and finish it later, you can find it again from the "Content" screen as described already. Just click Content under the manage section of the toolbar. To make changes to the newsletter, click the Edit tab shown in the screenshot above. To delete a newsletter, click the Delete tab.

How do I send a test email first?

When the newsletter is ready, we recommend sending a test email first to check it looks okay.

To do this, click the button marked + Send newsletter shown above the content tabs. On the next screen, choose Send a test message and fill in your email address.

Send a test email

Click Send to send the newsletter to this single address. The newsletter remains unpublished and is only sent to the address you specify. You can view the email on your device or computer to check it looks good before sending to your members.

How do I send the newsletter?

Choose Publish and send as the publishing option and choose the users you want the newsletters to be sent to. For example, you might want to target the newsletter toward current students.

Once you're ready, click Send and the newsletter is queued for delivery to all users who have one of the roles selected. Delivery starts after a few minutes and continues to run in the background until all emails have been sent. The newsletter is available to view online immediately and a new tab labelled Sent to appears to show who it was sent to.

Where do replies go?

If anyone relies to the email, you will receive them to the email address specified as the site email address (under AdminBasic settings). All emails are sent from the flightschoolbooking.com domain and are digitally signed to improve chance of successful delivery.

Can members unsubscribe?

Yes. Each email contains a unique token which a recipient can click on to unsubscribe instantly. This is equivalent to them logging in, and de-selecting the checkbox in their account page under Receive newsletter. If someone opts to unsubscribe, they may not remember their log in details and may want to simply unsubscribe quickly without retrieving their account details first. The link is designed to allow them to do this with the minimum of effort and should reduce the chance of people flagging your newsletter as spam.

Member's wishes should be respected and once a member has unsubscribed, they should not be re-subscribed without asking their permission. It is best to leave the notification settings to members to manage themselves.

 

Mathew Mon, 18/07/2016 - 11:32

Admin

Admin

Each new booking system is installed with defaults set to get up and running quickly. This allows you to test the system out with the minimum amount of time invested. This and other administration pages are available by clicking the Admin tab as shown:

Admin tab

As you can see, the Administration page simply links to the following pages:

 

We suggest just using the system to make a practice booking to start with. You could then book the flight out, record the flight details and some training notes. Once you're happy the system will work well for you, please take some time to check the settings are correct.

Mathew Fri, 05/08/2016 - 09:34

Plan and payments

Plan and payments

This page is only available to users with the Owner role. It shows the payment plan the booking system is currently on, plus a history of all previous payments for bookkeeping purposes. To reach it, use the Admin tab.

Payment plan

To view each invoice, simply click the link in the Reference column.

When operating in trial mode, you will instead see the option to make your first monthly payment.

Mathew Mon, 29/07/2019 - 16:10

Logo and colour scheme

Logo and colour scheme

Use the Logo and colour scheme option to change the look of your site. You can change the logo displayed in the top left corner as well as the colour scheme. If your club has its own logo or branding style, you may wish to customise your booking system.

To customise the site, click the Admin tab followed by Logo and colour scheme.

Logo and colour scheme

Changing your site logo

You can change the logo by uploading a new one using the Choose file button in the Logo section.

Use the Choose file button to upload your own logo. It is a good idea to prepare the logo first using whatever image editing software you normally use. A PNG format image with transparent background and white foreground works well, with a size of 160 x 160 pixels. For the ultimate image quality, use an SVG format image. This image format does not use pixels, instead it defines an image using vectors which can be scaled up to any size.

Changing the colour scheme

You can choose one of the built-in colour schemes, or you can manually set your own colours using either the HTML colour or the colour picker. You can do this for elements such as header, background, link and text colours.

Once changes have been made, click Save to make the changes permanent.

Mathew Wed, 17/08/2016 - 10:46

Basic settings

Basic settings

Use Basic settings to set the name of your site and your email address. Note you can also change the logo displayed in the top left corner using the Logo and colour scheme option.

To reach this page, click the Admin tab followed by Basic settings.

  • School name. This is displayed next to the logo in the top banner and appears in emails sent from the system.
  • Email address. Emails are sent from the flightschoolbooking.com domain and are digitally signed (DKIM) to improve delivery rates. The address you specify here sets the "reply to" address. Anyone replying to an email from the system will send replies to this address. You may wish to use an unmanned address such as "do-not-reply@..." or you might want to have all replies delivered to an email address in your office. Since these may often be related to bookings we recommend using a real email address to ensure you receive them.
  • Website. This is displayed to your customers on vouchers. There is no need to use the full http or https://, just use your web address that your customers will recognise, for example "acmeflyingclub.com".

 

The Locale section is used to select your country and the first day of the week. This makes a difference to how numbers and currency amounts are displayed.

Location & time zone

The system takes into account your time zone when presenting flight times. For example, if you are based in UK, choose London so all times are shown in UK local time. You can also choose UTC at the bottom of the list if you refer to all times as Zulu, but note students usually prefer to deal in local time, especially when making bookings.

The location name is transferred to personal logbooks and should be used to identify the aerodrome. You can use either the name or four letter ICAO code.

There are latitude and longitude fields which are used to determine the sunrise and sunset times. These times are shown beneath the booking form and can be useful for students and members when booking weeks in advance. The system can calculate these times for any location on Earth and any date in the future.

Mathew Wed, 17/08/2016 - 10:50

Making bookings

Making bookings

This page is used for settings that apply to bookings. The default settings for most will be adequate, but you will probably want to change the time slots available to bookings.

  • Time slots available for bookings and the length of each time slot.
  • Maximum time an aircraft can be booked without an instructor.
  • Maximum number of days in advance a booking can be made.
  • How many hours constitute a short notice period (for both bookings and cancellations).
  • The number of days grace period before student and member accounts expire and become 'lapsed'.
  • Template emails for booking notifications (confirmation, cancellation, changes, reminders, membership expiry, revalidation and medical reminders).
Mathew Mon, 30/12/2019 - 12:10

Booking out

Booking out

Flights are booked out just before the start of the flight. Pilots record the aircraft, persons on board and the estimated departure and return times. If no flight details are added to book the flight back in, the system generates a notification to the person who booked the flight out. This reminder is sent some time after the estimated return time, configurable in settings.

To allow for cases where there is no network connection at the airfield, pilots can book out early up to a maximum number of hours you specify in Maximum hours early. The estimated time of departure should be changed to the best estimate of when the flight will commence.

To allow for cases where pilots may have forgotten to book out, you can allow them to book out for a time in the past. Pilots can then set the actual departure time up to your setting for Maximum hours late. It is of course not recommended, but the setting allows for mistakes to be made. You may wish to enforce a more strict setting of zero.

Mathew Mon, 30/12/2019 - 12:12

Flight log and aircraft

Flight log and aircraft

The settings for the flight log define the units to use when displaying airframe and engine times in lists, the default taxiing times, home airfield location and out of hours notifications.

Pilots are responsible for ensuring the accuracy of information entered such as the flight start and stop times, engine hours and airframe hours. To aid, the system uses the engine hours together with the settings for Default taxiing time and Default time resolution to fill in the airframe duration for pilots. This only works if there is a good network connection while the pilot is filling in the flight details. Pilots should always check the times they are submitting.

The home location should be set to the name of your airfield (as you would record it in your logbook). This is used to default fields such as the place of departure when booking out.

If you operate any flights outside airfield operational hours, your airfield operator might require a list of these flights for billing or logging purposes. If so, you can fill in the details under Out of hours and the system will notify the email address you choose just after the start of operational hours. You can edit the template email sent to this email address to suit. If you want to check the content of these emails, you could have them delivered to yourself, then forward it to your airfield operations later.

Mathew Mon, 30/12/2019 - 12:15

Safety reporting

Safety reporting

This page is only available to users with the Owner or Safety Management Staff roles. It shows the settings for the safety reporting system, including the option to turn it on or off. To reach it, use the Admin tab.

Admin > Safety reporting

System availability

Normally the system will be made available to anyone who can log in, so they can report on safety related issues. We do not recommend making the system available to the public unless you need to, because despite our anti-spam technology, inevitably some gets through.

Confidentiality

First off, anyone reporting without a log in to use the system will be classed as the public. The public are treated slightly differently because the system cannot authenticate their name or email address. Any reports submitted by the public are always treated as confidential initially, meaning they are only visible by staff. They also receive no email confirmation of the submitted report.

Note: The general public cannot see any existing reports, and they can only submit a report if you explicitly allow it.

For people with a log in, you can allow them to choose between submitting their report confidentially or in the open. Confidential reports are only visible to staff, but open reports can be viewed by anyone with a log in on the system. When using this setting, be respectful of the users choice to report confidentially by leaving the report visible only to staff. If you need to add anyone to the circulation list, be aware the originator may not be expecting it to be shared in this way, you may want to check with them first!

You can also remove this choice from the user's form, forcing all reports to be submitted privately to staff only, or made in the open and visible to other users who can log in. When reports are submitted privately, the originator is not choosing to report confidentially and you can use your own judgement as to whether the report should be made visible to other users in the interests of safety.

The default setting it to send reports privately. You may decide to leave the system this way, and triage the reports, making some visible but not others.

Making reports visible to other users may improve safety by keeping people informed. For example, if a pilot checks the recent safety reports for the aircraft they have booked, they may see that someone reported low tyre pressure. This could lead them to double-check the pressure where they might only inspect visually. It could be that the tyre has a slow puncture and although not an issue for short flights, an overnight rental could lead to the pilot returning with the tyre pressure too low. It also helps pilots see patterns developing, for example one aircraft is more regularly being topped up with oil.

Recorders

There are two built-in recorders for "Injuries" and "Damage". Each recorder stores a level from this list: Unknown, None, Minor, Major and Catastrophic. You can choose the name of the recorder, change the label for each level and add a description for the recorder itself plus all the levels it supports. This allows you to tailor the form and collect more information (such as "damage to reputation") and give the user enough information to be able to choose between the options.

Reasons

When a report is submitted, the originator chooses a reason for the report from a list. This tab allows you to set up this list, and you can rearrange the order to suit.

There are some built in reasons for reporting which you can edit to suit your own system. Once a report has been submitted that uses a reason, it is no longer possible to change its name, but you can always delete a reason without affecting previous reports. You can add new reasons too, which you may need to do if people frequently choose "Other" and give their own.

Contributing factors

Each report asks the user to identify any contributing factors, such as "weather", "fatigue", "time pressure" and so on. You can edit this list yourself, adding or removing as you like.

Notifications

The system allows you to set the Reply-To field for emails to a dedicated address you might be using for safety management. If you don't have one, leave this field blank and the system setting is used.

If you like, you can add a BCC address to all emails sent by the safety reporting system. This address is not revealed to end-users, again be mindful if you are allowing people to choose to report confidentially.

The rest of this form allows you to tailor up the emails sent by the system when a report is submitted, updated or closed.

Mathew Mon, 28/09/2020 - 21:01

Training notes

Training notes

This page contains settings specific to the use of training notes. If you are using the system to record student training notes, you can set the operating capacities you want your instructors to use. By default these are PUT, P1 and P1/S.

You can also change the wording on the notification email sent to students when an instructor updates their training record.

Mathew Mon, 30/12/2019 - 12:16

Billing (Stripe payments)

Billing (Stripe payments)

The billing system is simple to set up, but is designed to be very flexible and powerful. There are a lot of separate settings which enable you to set up billing in different ways to suit how you want to run your business.

Card payments are handled by Stripe. Stripe handle the card payments and deposit the money into your school bank account. As part of the billing system setup, you will be guided through setting up your own Stripe account and linking it to Flight School Booking.

About Stripe

Stripe is a platform for online payments, founded in 2010. The company charges a low fee per transaction (1.4% + £0.20 in UK) and pays the balance direct to bank accounts. Stripe is now one of the most highly valued startups in the world at roughly $35 billion (September 2019). The company is now in 40 countries covering 70% of the world economy and process hundreds of billions of dollars each year.

Turning on Billing

Get started by navigating to Admin > Billing.

Admin > Configuration > Billing

Activation date

Choose a date from which you want the system to start generating invoices. This is usually either today's date or a date in the future. If an old flight is edited and saved, it will not generate an invoice if the date is before the Activation date.

Currency

This is the currency you want to use for all your invoicing. Be careful to select the correct currency because once the first invoice has been generated, it cannot be changed.

 

Once you click Connect your Stripe Account, you will be taken to Stripe's website. If you already have a Stripe account, sign in and give Flight School Booking access to request payments on your behalf. Otherwise, activate your own Stripe account by filling in details about your business and the bank details you would like your payments deposited in.

Once everything has been completed, you should be returned to your booking system and should see confirmation on the Stripe tab of which account you are linked with, and whether payments are enabled.

Note: Only the school owner (or other users with the owner role) can connect and disconnect from Stripe. This is a security measure which ensures only you can set up which bank account your payments will be sent to, while allowing office staff access to set up preferences, taxes, your price groups, invoice template and notification emails.

Once Stripe is connected, you should see the additional tabs:

Billing tabs
  • Preferences. General billing preferences such as the number of days credit to offer on invoices, whether to offer to remember customer card details for future billing and tax rates.
  • Price groups. A standard price group is created automatically as a guide for setting your own prices. You can edit these fall-back prices and add your own price groups.
  • Invoice template. This tab allows you to customise the way your invoices look, including your address and logo. You can also set the next invoice number the system should use, which can be useful if you are moving from another system.
  • Notifications. As well as email templates for new invoices, payments received or failed, you can define a custom sender and/or have all billing emails blind-copied to another email address.
Mathew Mon, 30/12/2019 - 12:24

Preferences

Preferences

The Payments & tax tab contains preferences and settings that define whether the system is available for certain customers only, or for everyone. It also defines the minimum payment amount you will accept and some suggested top up amounts.

After linking your Stripe account, use this tab to tailor the system to how you want to take payments.

Pay special attention to the following.

Billing system availability

You can enable the billing system for everyone or just for specific users.

When the system is only enabled for specific users, each user's Settings tab will allow billing to be turned on or off. This option should be used if you want to bill some users with this system, and other users on your own system. Turning the billing system off removes the user's Bills & payments tab. It also prevents users from making any payments.

You might decide to roll out billing using this system on a gradual basis, perhaps limiting it to specific users to start with. When you become familiar with the system, you can enable billing for everyone.

Remember card details

Card details are maintained in Stripe, and neither you nor Flight School Booking have any access to view the full card number, expiry date or CVC. Although this might seem like it prevents billing cards automatically, the system can obtain a token from Stripe which represents the customer's card and is only meaningful to your own Stripe account. This is a highly secure method of "storing" card details, since the token is not useful to anyone else should it become known. The token is not visible in the booking system, but it is maintained in the database and linked to your customer.

By default the system is not set to store the token against the customer. This means your customer will need their card number each time they pay money in or pay an invoice.

You can give your customer the option to store their card details (although indirectly), or you can require card details be stored. In both cases, the system will collect due payments automatically on the due date using the stored card. If you choose either of these two options, there is a requirement from Stripe that you explain to your customers the following:

  • The customer’s permission to you initiating a payment or a series of payments on their behalf
  • The anticipated frequency of payments
  • How the payment amount will be determined

 

We suggest something like the following, although you will need to change it to suit your own business.

"You grant XYZ permission to retain access to your card through Stripe for the purpose of taking payments for future invoices for flying, training and any regular payments you have agreed with us. You will be notified about each invoice and can review them before the due date. Payment will only be attempted on or after the due date of any invoice. Invoices for aircraft hire, flight training and any ground school will be issued on the day of the flight or training. If you have agreed a regular payment amount with XYZ, invoices will be generated according to the schedule listed in your Price Group, shown on your Bills & payments tab."

When customers click or tap the Pay Now button on an invoice, or pay money into their account from their Bills & payments tab, they will see the option to store their card for next time and the text you specify. As an example, you can see the text appears above the mandatory text included by Flight School Booking:

Remember card details

Tax settings

If you are required to charge VAT (also known as GST in some countries), make sure the option to include tax on your invoices is turned on. Check the default tax codes, and remove or add others as necessary. You can choose a tax code that your bookkeeping system will recognise, and a name for the tax rate that your customers will see on their invoices.

All prices for aircraft hire, training and regular payments are defined gross (inclusive of VAT), and a breakdown of the tax content is shown on invoices and available for export in CSV format.

If you are not registered for VAT, turn off the option completely.

Mathew Mon, 30/12/2019 - 12:29

Price groups

Price groups

A price group defines your prices for aircraft hire, flight training, ground school and any regular payments such as membership fees or hangarage.

You can define any number of price groups, so for example you might have standard prices defined for walk-ins who you fly with only once or twice. These prices are defined in the price group with the reference DEFAULT and should be your fall-back (highest) prices. Click the DEFAULT link to set these prices first before you forget!

Other price groups

You might offer student packages, in which case you can define a new price group for them. The reference is for you to use internally, but it's a good idea to keep it short. For a student package you might give it the reference STUDENT and the name "Flight Training (student package)".

As another example, you might offer a membership scheme to qualified pilots. For these customers, you could link them to a price group that defines cheaper amounts for aircraft hire and an annual or monthly membership fee. The system is very powerful yet (hopefully) easy to set up.

To add a new price group, you can either duplicate an existing one or create a new one from scratch. If you want to create a new price group from scratch, click Add price group shown above the Price groups tab. Or if you have another price group already defined that is close to what you want, click the price group in the list first, then click the Duplicate button. Once done, you should fill in the reference and the price group name.

Revising prices

A customer is linked to a price group (or uses the DEFAULT group). This doesn't mean their prices are fixed forever. Once a price group is in use, you can no longer make changes to it, but you can change prices without moving everyone to a new group. Revising the prices of an existing group keeps the same reference (hence the customers) but allows you to set up a new name and set of prices.

To revise prices, first communicate with the customers about the change in pricing and when it is going to take effect from. Then find the price group in your list and click to view it. Click the Revise button and set up the new pricing structure. When you are finished, click the Activate button to activate the prices from the date you choose.

The system will continue to use the current prices until the planned changeover date. From then, aircraft hire, training and ground school will be billed at the new prices. For regular payments the situation is more complicated, since the changeover date might not be the normal billing date for the regular payment. In these cases, the system will bill the previous as normal, then issue a pro-rated credit and a new invoice for the period to the next billing date.

Here is a worked example of a change in standard pricing we've planned and have already informed everyone about. The new prices take effect in about a month's time from 1st February 2020. Aircraft hire is changing from £120 per hour to £130 and circuit fees are increasing from £5 to £5.50 per circuit. Flight training and ground school are not changing.

The default prices are shown in the list of Price groups. Click DEFAULT to view and make changes. The price group may have been used to create invoices, in which case you can no longer edit the prices and will need to Revise prices instead.

Revise prices

Once the new name is set appropriately, click Save to create the new revision. Existing prices are copied across, but the new price group remains inactive until you activate it.

New revision has inactive prices until you activate the group

To edit the prices of aircraft hire, click the link shown in the Prices table. The new prices can be set. In this example, all our aircraft have the same hourly rate. But you can define prices depending on the aircraft type or for specific aircraft. Each uses a fall-back price which is used if the price field is not set, or if you add a new aircraft and forget to revise the prices to add it to the list.

Prices revised

Once all the prices have been defined, click the Activate button and choose which date to make the prices effective from.

Note: Invoices created for training flights or ground school are held in a draft state for a while. This gives the instructor time to go through the invoice with the student, and perhaps make changes such as adding lines for purchased items. The instructor could then finalise the invoice or leave the system to finalise it automatically.

 

Mathew Mon, 30/12/2019 - 12:29

Invoice template

Invoice template

Customise the invoices created by the billing system, setting your own logo, address, terms and footer.

You can also set the invoice number to be next used. Every financial transaction (invoice, credit, payment, refund, opening balance and adjustment) has its own reference so you can identify it.

Invoices can be viewed by clicking the link in the email, or by the customer logging in and clicking their Bills & payments tab. An example invoice is shown below.

Example invoice (created manually)

When printed, the header, navigation tabs, logo etc are not displayed.

Mathew Mon, 30/12/2019 - 12:30

Notifications

Notifications

As well as template emails, this tab also allows you to customise which email is used as the sender (reply-to) and which email should receive all outgoing billing emails.

Billing notification settings

Sender (Reply-to)

If you use a separate email address for your accounts, you can specify it here. When invoices and payment notifications are sent to your customers, the reply-to address will be set to whatever you choose here.

This means if a customer replies to an invoice email - perhaps with a query - it will be routed to this email address. This can be useful if you want to keep the accounting side of your business separate from your inbox.

Blind Carbon Copy

By setting your email address here, it's possible to keep copies of all billing emails sent to customers. If (as before) you use a separate accounts email, you might want to put it here at least initially to keep track of the emails being sent by the billing system.

But don't worry that you'll lose visibility into the invoices and payments: you have a dedicated Billing tab at the top of the system which tracks all customer balances, and when customers have overdue invoices they have not paid. From there it is easy to click into the customer's account to view the situation in more detail.

Notification templates

There are email templates which can be used for the following. You can customise these email templates to suit, and use the placeholders such as [invoice:total] to fill in the details specific to the invoice.

  • Invoice was created. When an invoice is finalised, the system sends a notification email to the customer with a link to view the invoice. It does not matter if the customer is logged in or not, the link provides access to view just the invoice and make payment.
  • Payment was received. When payment is received for a customer's account, a confirmation email is sent to the customer showing the amount received.
  • Payment failed. When a payment using stored card details fails, an email is immediately sent to the customer. They can visit a link to make a manual payment, perhaps using a different card. Often a payment will fail because card details have expired, or when a card issuer requires on-screen authentication.

 

There is also an unpaid balance follow-up email, which is part of the follow-up and reminders system. This is triggered when an invoice is overdue and is configured to re-send a number of times. You could add a separate follow-up email after these have finished, perhaps with stronger wording.

Mathew Mon, 30/12/2019 - 12:30

Vouchers

Vouchers

The system integrates with Stripe for voucher sales. By creating an account with Stripe, you can collect online payments into your school bank account. Stripe fees are the lowest we could find. At the time of writing, if your business and customer is based in UK, Stripe charge a low fee of £0.20 + 1.4%. We think this compares well with the fees charged for using credit card terminals.

Vouchers contain custom fields for the customer to fill in. This makes them ideal presents for family and friends. As an example, the standard design looks like this:

Example voucher showing custom fields filled in by a customer

How to set up vouchers

To configure vouchers, open your booking system and navigate to Admin > Vouchers.

Your address and phone number appear on the voucher, so for these fields, use the airport address and a phone number you would accept bookings on.

Setting up your own voucher products to sell online

Next, the table shows a list of your voucher products. Each one is defined with a unique code called a SKU which is how you identify which vouchers you want to sell from a "purchase" button on your web site.

Voucher products have their own name, flight duration (minutes), selling price and a short description to use when giving the customer a choice of products to buy.

A default product is created automatically when + Add a voucher product is clicked the first time. This product cannot be sold online and contains no duration or price. Instead, this product is designed to allow you to add a voucher manually. You might need this if someone wants a custom number of hours and you agree your own price.

Once at least one voucher product is available, a new tab appears as a Primary Link labelled Vouchers. To view all vouchers sold or to add a voucher manually, use this tab.

To sell online, use the Link maker, which is shown under the list of products if you have already set up Stripe as part of the Billing system configuration. The link shows what you would use as the target URL (for an anchor tag or button on your web site). To focus the link on one product specifically, just remove the other products from the URL. (Each one is separated by a dash -).

Mathew Mon, 30/12/2019 - 12:18

Reminders and follow-ups

Reminders and follow-ups

The system can be programmed and customised to send reminders and follow-up emails for various jobs:

  • Voucher not used. A voucher was created but has not been used or booked. Typically this reminder would be sent to the purchaser to remind them to pass on the voucher details to the recipient so they could book their flight.
  • Flight details not added. When a flight is booked out, the system expects a flight or an aborted flight to be added. A follow-up email is sent if no flight details have been added after a certain time.
  • Missing training notes. This is sent to instructors with training notes to fill in.
  • Trial flight follow-up. This is sent to users with the "Air Experience" role after their first flight. Most people take a trial flight for pleasure and have not really thought about taking it further to obtain their license.
  • Student flight follow-up. The aim is to keep students engaged and to not leave it too long before making their next booking. Students learn most efficiently when they take regular lessons.
  • Member flight follow-up. Members who fly regularly represent a lower risk to any aircraft hire damage. The follow-up email is designed to remind members to make their next booking to keep everyone current.
  • Next newsletter overdue. If a newsletter is sent, a reminder can be set up to email the author a certain time after. The intention is to keep a regular newsletter being sent to users.
  • Newsletter created but not sent. If a newsletter is created but not sent, this reminder draws attention to it.
  • Membership renewal. Shortly before the user's renewal date they can receive a reminder to contact the office to pay their membership fees. In response, the office should then edit the user's record and set a revised renewal date.
  • Medical renewal. Shortly before a user's medical renewal date, they can receive a reminder.
  • Revalidation. Shortly before a user's revalidation date, they can receive a reminder. This should be set far enough in advance that the user can book any training they need to complete in advance of the revalidation.
  • Overdue balance reminder. A customer has an overdue amount. This is an amount that has been invoiced, and the due date has passed without a payment.
Mathew Mon, 30/12/2019 - 12:19

Content

Content

The Content page displays a list of all aircraft and newsletters added to the system. Newsletters are not stored long-term, but Aircraft are only deleted manually and only then if there are no flights associated.

Content page

If you cannot find the aircraft or newsletter in the list, you can narrow down the search using the Title field.

In the example above, you can see a newsletter that has been started but has not been sent (Status is "Unpublished"). This page is a simple way of finding a newsletter you started work on but did not finish.

Likewise, when an aircraft is made permanently unavailable, it will disappear from the list on the Aircraft tab, but you will still find it listed under Content. You could use this to view the log of an old aircraft that is no longer available for future bookings, or to re-activate an old aircraft in the system via its Availability tab.

Mathew Mon, 29/07/2019 - 16:11

API Access

API Access

There is an API for read-only access to bookings and aircraft booked out.

You might find API access useful if you need to extend the system for yourself. For example:

  • Automatically send an email to staff near the end of the day if there are any out of hours flights booked. This could be used to make sure the aircraft keys are left out instead of being locked up.
  • Show today's bookings on a screen in the office. You should consider whether to expose member's names to other people (the system hides other member names unless they have opted in to being contacted).

 

You can request an API token at Admin > Basic Settings and then in the Advanced section.

Authentication

The API uses simple authentication, where requests are made in the context of an office staff user. The token is per site rather than per user, which means it can be set up once and it does not depend on staff leaving the business. The token is a long string which looks something like "fb1f233e08aeef0a213dc87cea70cedbd7dbcd0a2229cac4f64e14e3c462cc8e".

When making a request, include an authorisation header containing your token, for example:

curl -H "Accept: application/json" -H "Authorization: Bearer fb1f233e08aeef0a213dc87cea70cedbd7dbcd0a2229cac4f64e14e3c462cc8e" https://acme.flightschoolbooking.com/club/bookings

Parameters

Parameters can be sent in the query string, e.g.

https://acme.flightschoolbooking.com/club/bookings?page=0

Response format

Responses are returned in JSON.

 

Mathew Sat, 03/10/2020 - 15:19

Bookings

Bookings

This API is used to read the future bookings.

Parameters

  • page (integer)
    Zero-based page number. The query returns up to 50 rows per page. Based on has_more you might increment the page and request the next set of results.
  • include_cancellations (0 or 1)
    Normally only active bookings are returned. Use this parameter to extend the results to include cancellations.
  • include_unavailability (0 or 1)
    Extend the results to include periods of unavailability (member field is returned blank)

 

Output

  • total (integer)
    Total number of records available (not affected by the page parameter).
  • has_more (boolean)
    True if there are more records available by incrementing the page parameter. When false you have read the whole list. Before reading the whole list, consider whether this is necessary or do you only need to read to the end of the current day?
  • change_id (string)
    A string value which indicates whether any bookings have been added or updated. If you have read all data previously and the next read returns the same change_id, nothing has changed. However, if the value changes you might discard your current result set and read again from the first page.
  • rows  (array)
    Each row contains information about a booking.

 

Each row contains the following fields

  • url (string)
  • startTime (integer)
  • stopTime (integer)
  • bookedAt (integer)
  • member (string)
  • aircraft (string)
  • instructor (string)
  • notes (string)

 

If the booking was cancelled, the following additional fields are present:

  • cancelled (boolean)
  • cancelledAt (integer)
  • cancelledBy (string)
  • cancelledNotes (string)

 

If the record is a period of unavailability, there is no member in the booking.

Notes

Start reading at page zero. There could be a change in bookings in between you asking for page 0 and page 1, so check the change_id is the same and re-start from page=0 if it changes.

Then keep asking for more pages until you reach a date that you don’t need (records are ordered in ascending date order) or has_more returns false.

Example

curl -H "Accept: application/json" -H "Authorization: Bearer fb1f233e08aeef0a213dc87cea70cedbd7dbcd0a2229cac4f64e14e3c462cc8e" "https://acme.flightschoolbooking.com/club/bookings?page=0&include_cancellations=1&include_unavailability=1"

(Use your own site's URL, replacing acme with the name of your subdomain and use your own token)

The output looks like this:

{
  "total": "378",
  "has_more": true,
  "change_id": "15a981ba73513efc",
  "rows": [
    {
      "url": "https://acme.flightschoolbooking.com/user/21682/bookings/booking/5",
      "startTime": "1590998400",
      "stopTime": "1591005600",
      "bookedAt": "1590951551",
      "member": "John Smith",
      "aircraft": "G-AABC",
      "instructor": "",
      "notes": ""
    },
    . . . 
  ]
}

Mathew Mon, 05/10/2020 - 10:10

Booked out

Booked out

This API is used to read the list of aircraft booked out.

Parameters

  • page (integer)
    Zero-based page number. The query returns up to 50 rows per page. Based on has_more you might increment the page and request the next set of results.

 

Output

  • total (integer)
    Total number of records available (not affected by the page parameter).
  • has_more (boolean)
    True if there are more records available by incrementing the page parameter. When false you have read the whole list.
  • change_id (string)
    A string value which indicates whether any records have changed. If you have read all data previously and the next read returns the same change_id, nothing has changed. However, if the value changes you might discard your current result set and read again from the first page.
  • rows  (array)
    Each row contains information about a booked out aircraft.

 

Each row contains the following fields.

  • url (string)
  • outTime (integer)
  • etaTime (integer)
  • aircraft (string)
  • pilot (string)
  • student (string)
  • departed (string)
  • destination (string)
  • pob (integer)
  • notes (string)

 

Notes

Because schools typically have less than ten aircraft you will not normally need to read more than the first page!

Example

curl -H "Accept: application/json" -H "Authorization: Bearer fb1f233e08aeef0a213dc87cea70cedbd7dbcd0a2229cac4f64e14e3c462cc8e" "https://acme.flightschoolbooking.com/club/booked-out"

(Use your own site's URL, replacing acme with the name of your subdomain and use your own token)

The output looks like this:

{"total":"1","has_more":false,"change_id":"de2b52af6a442955","rows":[{"url":"https:\/\/acme.flightschoolbooking.com\/club\/bookings\/booking\/137\/movement\/32","outTime":"1602007500","etaTime":"1602011100","aircraft":"G-LOLZ","pilot":"Sarah Smith","student":"","departed":"Kemble","destination":"Local","pob":1,"notes":""}]}

Mathew Wed, 07/10/2020 - 13:40