Loading...
Close

Keyboard shortcuts

FareHarbor has many keyboard shortcuts you can use to quickly navigate the site. To see if a button has a shortcut, hold your pointer over it for a few seconds. Tip: Try it with the close button of this window.

Show/hide this screen ?
General
Jump to company Shift + j
Stop current action Esc
Go to previous month/day
Go to next month/day
Go to current month/day
Start searching /
Dashboard
Bookings section b
Manifest section m
Reports section r
Items section i
Settings section s
Create new booking (if viewing an availability) shift + n
Create new booking (if viewing an availability) Alt + Click
Working with bookings
Add or remove customers shift + m
Start rebooking shift + r
Cancel booking shift + x
Add payment shift + +
Refund shift + -
Save card to charge later shift + s
Send email shift + e
Print receipt shift + p
Creating bookings
Add corresponding type of customer to booking 1 through 9
Remove last customer Shift + Backspace
Allow booking without CVC Shift + Alt + c
Create booking (form must be valid) Shift + Enter
Manifest
Show/hide customer information c

Booking #[! rebook.currentBooking.pk !] will be cancelled and its payments will be moved to the new booking you create.

Booking #[! booking.pk !]
  • [! booking.contact.name !]
  • [! booking.contact.phone !]
  • [! booking.contact.email !]
  • [! booking.amountDue || booking.amountOverpaid ? ( booking.amountDue ? (booking.amountDue|amount) + ' due' : 'Overpaid by ' + (booking.amountOverpaid|amount) ) : 'Paid' !]
  • Booking total: [! booking.gross|amount !]
  • Paid of total: [! booking.paid|amount !]
  • Note: [! booking.note !]

[! booking.customerBreakdown !]

    • [! customFieldValue.customField.shortName || customFieldValue.customField.name !]: [! customFieldValue.displayValue !]
  • [! customer.name !]

    • [! customFieldValue.customField.shortName || customFieldValue.customField.name !]: [! customFieldValue.displayValue !]

Creating a new booking for:

  • [! plusbook.currentContact.name !]
  • [! plusbook.currentContact.phone !]
  • [! plusbook.currentContact.email !]

This customer's other bookings:

  • #[! booking.pk !] [! booking.availability.item|name !] [! booking.availability.startAt|datetimeRange:(booking.availability.endAt) !]
    • [! booking.amountDue || booking.amountOverpaid ? ( booking.amountDue ? (booking.amountDue|amount) + ' due' : 'Overpaid by ' + (booking.amountOverpaid|amount) ) : 'Paid' !]
    • Booking total: [! booking.gross|amount !]
    • Paid of total: [! booking.paid|amount !]
    • Note: [! booking.note !]

    [! booking.customerBreakdown !]

      • [! customFieldValue.customField.shortName || customFieldValue.customField.name !]: [! customFieldValue.displayValue !]
    • [! customer.name !]

      • [! customFieldValue.customField.shortName || customFieldValue.customField.name !]: [! customFieldValue.displayValue !]

Make bookings easier

Online booking and reservation software for tours and activities
Full-Featured Back office • Mobile Friendly • 24/7 Support
Close

2.25% + 30¢ flat credit card rate

One flat rate for all credit card types, for both online bookings and cards entered by hand. Deposited into your bank account next day. No setup or monthly fees.

Live availability for everyone

Your online customers, agents and affiliates, and employees all have instant access to live availability. Agents can create bookings without calling.

Customers book without leaving your website

Meet the Lightframe™. Add it to any page on your site and your customers can book, pay, and get their confirmation securely — all without leaving your website.

Customize booking to collect the info you need

Collect information from your customers (shoe size, sandwich preference, whatever) and offer them flexible custom upgrades and price adjustments.

Friendly 24/7 customer support

We have real people here to help you via phone or email, 24/7. Get Support »

Mobile friendly,
so it goes with you

Both the customer and management sides of FareHarbor work great on mobile phones and tablets. Run your business from your phone.

Keep an eye on your business with reports

Track which of your tours are the most popular and profitable, how your customers find you, and more.
[! auth.currentUser.name !]
Dashboard
  • Call to book Online closed Bookable online
      • [[ error ]]
    Not bookable online: [[ availability.unbookableReason ]]
    Currently bookable online
    Close
    [[ availability.bookableCapacity ]] of [[ availability.capacity ]] seats available All [[ availability.capacity ]] full Overbooked by [[ availability.customerCount - availability.capacity ]]
    Close
    $ [! availability.gross|percentage:'hidePlus':(availability.item.minimum):'round' !] of minimum
    Crew
      • This field is required.
      • Select a valid choice. That choice is not one of the available choices.
        • [[ error ]]
      • This field is required.
      • Select a valid choice. That choice is not one of the available choices.
        • [[ error ]]
        • [[ error ]]
      [[ user.username ]] will be notified via email
      [[ crewMember.user.username ]] will be notified via email
      Delete
      [! crewMember.user.name !] - [! crewMember.role.shortName !]
      [! crewMember.note !]
      Edit
    • No crew added
    Add crew member
    • This field is required.
    • Select a valid choice. That choice is not one of the available choices.
      • [[ error ]]
    • This field is required.
    • Select a valid choice. That choice is not one of the available choices.
      • [[ error ]]
      • [[ error ]]
    [[ user.username ]] will be notified via email
    Crew
        • [[ error ]]
      Delete
      [! role.shortName !]
      Edit
    • No roles added
      • [[ error ]]
    Close
    Settings
    • General
    • Rates
    • Blocks
    • Advanced

    [! editableAvailability.startAt|date:'long' !]

    Ends [[ endTime|datetime:'relative' ]] next day [[ days ]] days later
    Number of seats available
    Shown to everyone, next to the availability time
    Only shown to people in your company
    • [! customerTypeRate.customerType.plural|capitalize !] ([! customerTypeRate.customerType.shortName !])

      Rate
      Capacity
        • [[ error ]]
    • [! customerType.plural|capitalize !] ([! customerType.shortName !])

      Rate
      Capacity

    Affiliate

    Seats reserved

    [! block.affiliation.affiliateCompany.name !]
      • [[ error ]]
    [! affiliation.affiliateCompany.name !]
    • This field is required.
    • Select a valid choice. That choice is not one of the available choices.
      • [[ error ]]
    The schedule of pickup stops that should be used for this availability
    • This field is required.
    • Select a valid choice. That choice is not one of the available choices.
      • [[ error ]]
    For whole booking
      • [[ error ]]
      • [[ error ]]
    Delete
    Updating availability
    Please do not leave or refresh the page
    Close
Call to book Online closed Bookable online
    • [[ error ]]
Not bookable online: [[ availability.unbookableReason ]]
Currently bookable online
Close
[[ availability.bookableCapacity ]] of [[ availability.capacity ]] seats available All [[ availability.capacity ]] full Overbooked by [[ availability.customerCount - availability.capacity ]]
Close
$ [! availability.gross|percentage:'hidePlus':(availability.item.minimum):'round' !] of minimum
Crew
    • This field is required.
    • Select a valid choice. That choice is not one of the available choices.
      • [[ error ]]
    • This field is required.
    • Select a valid choice. That choice is not one of the available choices.
      • [[ error ]]
      • [[ error ]]
    [[ user.username ]] will be notified via email
    [[ crewMember.user.username ]] will be notified via email
    Delete
    [! crewMember.user.name !] - [! crewMember.role.shortName !]
    [! crewMember.note !]
    Edit
  • No crew added
Add crew member
  • This field is required.
  • Select a valid choice. That choice is not one of the available choices.
    • [[ error ]]
  • This field is required.
  • Select a valid choice. That choice is not one of the available choices.
    • [[ error ]]
    • [[ error ]]
[[ user.username ]] will be notified via email
Crew
      • [[ error ]]
    Delete
    [! role.shortName !]
    Edit
  • No roles added
    • [[ error ]]
Close
Settings
  • General
  • Rates
  • Blocks
  • Advanced

[! editableAvailability.startAt|date:'long' !]

Ends [[ endTime|datetime:'relative' ]] next day [[ days ]] days later
Number of seats available
Shown to everyone, next to the availability time
Only shown to people in your company
  • [! customerTypeRate.customerType.plural|capitalize !] ([! customerTypeRate.customerType.shortName !])

    Rate
    Capacity
      • [[ error ]]
  • [! customerType.plural|capitalize !] ([! customerType.shortName !])

    Rate
    Capacity

Affiliate

Seats reserved

[! block.affiliation.affiliateCompany.name !]
    • [[ error ]]
[! affiliation.affiliateCompany.name !]
  • This field is required.
  • Select a valid choice. That choice is not one of the available choices.
    • [[ error ]]
The schedule of pickup stops that should be used for this availability
  • This field is required.
  • Select a valid choice. That choice is not one of the available choices.
    • [[ error ]]
For whole booking
    • [[ error ]]
    • [[ error ]]
Delete
Updating availability
Please do not leave or refresh the page
Close
  • Only authorized users can send notifications
    • [[ error ]]
No active bookings with email addresses on file No active bookings
Loading... No bookings
    • [[ error ]]
Close
All partners [[ browserFilter.networkSelection.shortname || 'Partners' ]]
Custom calendars
      • [[ error ]]
      • [[ error ]]
  • No custom calendars
Create a new custom calendar from your current settings:
    • [[ error ]]
Close
Items
Close
Crew
Filter by crew:
Close
Hide availabilities with no bookings
Display options
Show in calendar:
Close
Show recent bookings
Select a company from the partners menu above to see its day overview
« »
[[ navigationFilter.date|date:'long' ]]
[! item|name !]
Select a company from the partners menu above to see its agenda overview
« »
[[ navigationFilter.date|date:'long' ]]
[[ startAt.isAllDay ? 'All day' : (startAt|time) ]]
[! availability.startAt|timeRange:(availability.endAt) !] [! availability.item.shortName || availability.item.name !] — [[ availability.headline ]] [! availability.headlinePrivate !]
[! availability.customerCount !] of [! availability.capacity !]
[! (availability.bookableCapacity !== availability.capacity) ? availability.bookableCapacity + ' of' : '' !] [! availability.capacity !] available
[! availability.customerCount ? (availability.capacity - availability.customerCount) + ' of' : '' !] [! availability.capacity !] empty
[! (availability.customerCount === availability.capacity) ? 'All ' + availability.capacity + ' full' : '' !] [! ( (availability.capacity - availability.customerCount) < 0 ) ? 'Overbooked by ' + (availability.customerCount - availability.capacity) : '' !]
  • [[ group.role.shortName ]]: [! crewMember.user.name + ($last ? '' : ',') !]

Please refresh the page. We're working hard making FareHarbor better and better, and need you to refresh so you're using the most recent updates.

You'll be taken back to where you were, and won't lose any submitted information.

Refresh now

Thanks for using FareHarbor!

Close