The latest version of Best Farrier (1.3.1) introduces something a lot of people have told us they wanted: the ability to automatically create appointments for horses.

Until now, the scheduling and the invoicing processes were separate: you had to go to the schedule screen, add the next appointments for the horses you just did, then go to the invoice screen and create the invoice for your client, so the next appointments would show up on the invoice when you e-mailed or printed it.

While you can still go to the schedule screen to manage your appointments, now on version 1.3.1 we added a new option on the invoice detail screen menu, “schedule“. Using this option, you can automatically generate the next appointments for all the horses being billed on an invoice, right on that invoice’s screen.

To create the appointments, open the invoice detail screen and tap on the menu, then tap on Schedule. The app will go through all the horses invoiced and will create new appointments for the next date the horses are due.

Open the menu and pick Schedule

That is it in a nutshell, but stick around a little longer, because there are a few things you should know about the automatic scheduling.

Before you start

You should head over to Settings > Services and products on the app and make sure that all your services and products are set up correctly. Any service/product that resets a horse shoeing cycle (like a trim, or a shoe reset) should be marked as “repeats every visit” and have a “time to add to appointments” assigned to it (the app uses 30 minutes for all services and products by default).

The details

How does the app go about figuring out who needs appointments and when to schedule them? These are the steps:

  1. Find all services/products that repeat every visit (see the  Services/Products support article)
  2. Find all horses that were billed for those services/products
  3. Calculate the new due date for each horse based on the date they were done and the interval between visits for that horse
  4. Group the horses by the location they’re boarded at and by due date, and create one appointment for each group.

The appointment durations are calculated based on the estimated time of each service/product billed to the horse. This is also configured in the Services/Products page. It adds the times for all the horses included in that appointment and uses that as the duration.

The appointment start time is the first available time in the day where the app can fit that appointment (considering its duration) and leave 30 minutes between any previous appointment and the next, if they exist (to account for travel, set up and breakdown time).


The app has to make a number of assumptions while creating the appointments on its own. We tried our best to make it smart but there are some limitations to what it can do:

  • The app will not create appointments for horses that already have appointments in the future (doesn’t matter when).
  • The app calculates the next due day using weeks only. So if the horse was done on a Tuesday, its next appointment will be on a Tuesday.
  • The durations are calculated using only the services/products that you marked as “repeats every visit” (for example, trimming). If you have a line item on the invoice for something that only repeats every few visits, like making new bar shoes, there is no estimated time associated with that. If you need more time, you’ll have to edit the appointment yourself later and change it.
  • If the next due date for a horse is in the past, meaning the horse is overdue and you’re trying to schedule using the last invoice for that horse, the app will set the next appointment to tomorrow, because it can’t tell when you intend to do that horse.
  • The minimum appointment duration is 30 minutes.
  • Right now, the app always creates separate appointments for an invoice, even if there are already other appointments at the same locations on the same days, instead of merging them together. This will be addressed in the next version of the app. Updated on May 6, 2021: version 1.4.1 improved on this, now the app merges appointments for the same location on the same date, but be aware that it does not move any other existing next appointments forward, if the new duration overlaps them after adding the new horses.


Take an invoice with the following items:

Invoice line items

Cliff and Peebles are boarded at home. Their shoeing cycles are 6 weeks. Mountain Man, Rocky and Shelly are boarded at “Phoenix Stables”. Mountain Man and Rocky’s cycles are 6 weeks, but Shelly is only 5 weeks.

After the app creates the schedules for them, you would get:

Results from automatic scheduling

Cliff and Peebles were scheduled at home, but since Peebles was done 5 days later than Cliff, she is also scheduled 5 days later.

Shelly, Mountain Man and Rocky were scheduled at the stable they’re boarded at, but even though they were all done the same day, Shelly gets scheduled a week earlier because her interval between visits is shorter.

Note that both appointments on 03/31/21 above were scheduled at different times. The app used the estimated time to figure out the duration of each and left 30 minutes between them.


Hopefully this post gave you a good understanding of how Best Farrier estimates and schedules new appointments based on your invoices.

Every person likes to handle their scheduling in a certain way and there are a lot of exceptions and changes when you’re trying to plan a schedule, so the way we handle it in the app may not work 100% of the time for everybody, but understanding what the app does may help you work around any special cases.

If you have any questions or suggestions, please let me know. You can also search our support section for more information about using the app.

And if you are not yet a subscriber but are interested in what the Best Farrier app can do for you, why not subscribe now and start your free trial?

Mauro Reis
Farrier and Owner
Best Farrier

Our website uses cookies and thereby collects information about your visit to improve our website. Please see our Privacy Policy page for furher details or agree by either clicking the 'Accept' button or continuing to use the site.

Cookie settings

Below you can choose which kind of cookies you allow on this website. Click on the "Save cookie settings" button to apply your choice.

FunctionalOur website uses functional cookies. These cookies are necessary to let our website work.

AnalyticalOur website uses analytical cookies to make it possible to analyze our website and optimize for the purpose of a.o. the usability.

Social mediaOur website places social media cookies to show you 3rd party content like YouTube and FaceBook. These cookies may track your personal data.

AdvertisingOur website places advertising cookies to show you 3rd party advertisements based on your interests. These cookies may track your personal data.

OtherOur website places 3rd party cookies from other 3rd party services which aren't Analytical, Social media or Advertising.

WeePie Cookie Allow close popup modal icon