Stern taxi fare for WooCommerce

Stern taxi fare for WooCommerce

1. Description


Stern Taxi Fare

Stern Taxi Fare is a utility plugin conceived for taxi, ambulance or Limo companies aiming to facilitate their clients’ booking process. The plugin provides precise estimates of upcoming or potential rides with a vast choice of options and ensures an easy and optimized booking process, while creating a client database.


Customers can pay online thanks to the Woocommerce plugin. It is compatible with all woocommerce options. Hence your customers can pay via VISA, Paypal, paycheck, cash and VAT can also be included.

Stern Taxi Fare is composed of a team of fully trained developers with several years of expertise in auto dispatching taxi, limo, ambulance system development with mobile and web interface. The purpose of this plugin is to assist companies related to taxi, limo, ambulance business to allow their customers to calculate the ride fare.

Use shortcode shortcode-stern-taxi-fare to display and use the plugin wherever you want in the WordPress environment for WordPress.

Stern taxi fare plugin for WordPress is very simple and powerful plugin.


Fully Responsive


Keys Features

  • Booking Calendar
  • Rules for fixed price (e.g Airport transport)
  • Button Show/hide a map in the form
  • Fully customizable
  • Compatible with a e-commerce store
  • Multilingual

Please find documentation of this plugin here.

2. How it works ?

Price is driven by a formula. it can fit all your needs :

Price = cartype_Fare + (distance x distance_fare ) + (duration x duration_fare) + (nb_seats x seat_fare) + (nb_Toll x toll_fare) With a minimum of minimum_price.

Each variable can be change in back office :

  • cartype_Fare
  • distance_fare
  • duration_fare
  • seat_fare
  • toll_fare
  • minimum_price

Thanks to ‘pricing rules’ feature, it is possible overwrite formula with a fixed price for specific ride. e.g All rides from everywhere in city to a specific airport with a specific car.


3. Languages

  • Translation ready
  • Fully compatible with Polylang plugin
    • English
    • French
    • Dutch (Thanks to ZoutPeper)
    • Spanish (Thanks to LATIX NS)
    • German (Thanks to Pike Barth)
    • Arabic (Thanks to Ameer)



Your language is not here ? Contact me and let’s localize it together !

4. Print Screen

Front Print screen France

Front Print screen France


Front Print screen Australia






Front – with pick up date

select date


Front – choose type of car

choose type of car

Dropdown in form


Order WooCommerce Page – front


Pickup time – front


Back Office orders By WooCommerce


Back Office Main settings Screen




Back Office Design



Back Office Car Type settings Screen


Back Office – Rules admin_rules


6. Changelog


== Changelog ==
= 2.2.5 - 03/24/2016 =
* Improvement - QR code integration
* Improvement - Rules back office optimization
* Improvement - Bulk Rules back office optimization
* Fix - Error when no car are available

= 2.2.4 - 03/07/2016 =
* Fix - Toll calculation uses option 'avoid highways'
* Improvement - Exact name in pricing rule
* Improvement - Map styles added
* Improvement - Airport shuttle booking System integration
* Improvement - Minimum Course Fare is per type car, not global

= 2.2.3 - 03/01/2016 =
* Language - Add German, Arabic translation
* Improvement - PDF adaptability integration

= 2.2.2 - 03/01/2016 =
* Improvement - Ambulance adaptability business integration

= 2.2.1 - 02/10/2016 =
* Improvement - Choice to Avoid highways in calculation/Use traffic in Calculation
* Improvement - optimization of map

= 2.2.0 - 01/09/2016 =
* Improvement - Booking calendar System

= 2.1.9 - 12/09/2015 =
* Improvement - Pets information in checkout
* Improvement - Add price per seats in fixed rules
* Fix - Safari bugs

= 2.1.8 - 12/01/2015 =
* Improvement - dropdown in form
* Language - Add Dutch translation

= 2.1.7 - 12/01/2015 =
* Improvement - Option to avoid highways
* Improvement - Fixed price for airport
* Improvement - Rules integration for price, based on address or city
* Improvement - Possibility to set the next available date and time
* Improvement - Number of pets in checkout

= 2.1.6 - 11/30/2015 =
* Improvement - Fares are linked with type cars
* Improvement - Choose to show pick-up time in form or in order woocommerce section
* Improvement - Edit text of the 'book now' button in back office
* Improvement - Include Fare per toll
* Improvement - Select Unit Systems (Miles or Km)
* Improvement - Number of seats is linked to type of car
* Improvement - Max suitcases per type of cars
* Improvement - Available in English & french

= 2.1.5 - 11/29/2015 =
* Improvement - Bulk upload in rule pannel (admin)
* Improvement - Possibility to edit type car in admin

= 2.1.4 - 11/26/2015 =
* Improvement - Tooltips in form
* Improvement - Type car back office updated

= 2.1.3 - 11/21/2015 =
* Improvement - One way or Round trip feature

= 1.0.4 - 11/20/2015 =
* Fix - Google API management for error
* Improvement - Emails sent via WooCommerce countains trip information
* Improvement - Select Ajax loader picture
* Improvement - Set a minimum fare in back office
* Improvement - Show or hide labels in form
* Improvement - Currency symbol inherits from WooCommerce

= 1.0.3 - 11/16/2015 =
* Language - Add French translation
* Improvement - Overview table background color
* Improvement - Use shipping class of variation to calculate shipping cost
* Fix - Notice on overview table when no shipping cost are filled in
* Add - Filter for the matching values 'was_match_condition_values'
* Improvement - Choice in admin to empty WooCommerce cart before using taxi form choose background color in admin
* Improvement - Choose in back office how many seats are available
* Improvement - Choose in back office template form to show

= 1.0.2 - 13/12/2014 =
* Fix - Weight mismatches in rare cases
* Fix - Row actions for shipping methods visibility
* Improvement - Use WC() singleton instead of $woocommerce global
* Improvement - Different loading stucture of files and classes for more control
* Improvement - Option in Back office to show or not the map in the form
* Improvement - Select a country to show on the map
* Improvement - Add manually ApiGoogleKey in back office

= 1.0.1 - 02/11/2015 =
* Add - 'Contains shipping class' condition
* Fix - Error on WC check
* Fix - Load textdomains
* Fix - Tax calculation
* Improvement - Remove globals, use WAS() function now
* Improvement - Even better code comments/quality
* Improvement - Add filter 'was_shipping_rate'
* Improvement - Add filter 'was_calculate_shipping_costs'
* Improvement - Remove duplicate 'or' when removing condition group
* Improvement - Option in Back office to show or not map the during checkout
* Improvement - Bootstrap validator for the main form

= 1.0.0 - 30/10/2015 =
* First version

7. Reviews

Our clients said:


a. Choose a WP theme compatible

First step is to make sure you have the best theme for this plugin.

To use this Plugin, without any design bugs, we recommend to use theme using :


You have no idea yet ? we recommend to use our theme : Stern transportation.



Other theme working well:

You also have recommandation. Please add a comment and let us know!

a. Generate invoice in PDF


Your customer can have can invoice of the trip in PDF.

  1. Install this great plugin WooCommerce PDF Invoices.
  2. Download stern taxi template for PDF. It is also here: wp-content/plugins/stern_taxi_fare/templates/bewpi-templates
  3. Follow instruction given in plugin to add your custom template.
  4. Unzip and copy this folder in your folder: wp-content/uploads/bewpi-templates/invoices/simple
  5. Go to Woocommerce => Invoices => Template. Select sternTaxiFarePDF.


b. Change a word or translation in plugin


You can change all texts of this plugin for every languages.

To do that, you must follow this process :

  1. Download this free software: Poedit Gettext Translations Editor.
  2. Thanks to your FTP, save folder wp-content/plugins/stern_taxi_fare/languages to your local drive.
  3. Open file in your language where end of file is .po
  4. Change text you want in Poedit.
  5. Save file.
  6. Overwrite this file on you server thanks to ftp.
  7. All set!


c. Create your language translation

You language is not available yet, You can create your language translation.

To do that, you must follow this process :

  1. Download this free software: Poedit Gettext Translations Editor.
  2. Thanks to your FTP, save folder wp-content/plugins/stern_taxi_fare/languages to your local drive.
  3. Open Poedit.
  4. File => new from POT => open file stern_taxi_fare-en_US.pot and chose your translation language.
  5. Save file. Name should be like:stern_taxi_fare-language_COUNTRY.po
  6. A file name *.mo is also created.
  7. Upload both file (.po & .mo) to your server in languages folder.
  8. All set!

You want to share you translation? Don’t hesitate to send these files to us. We will integrate them directly to plugin!


c. Installing Stern Taxi Fare Plugin

How To Install The Plugin in wordpress

  1. Log in to your WordPress dashboard.
  2. Go to “Plugins -> Add New”
  3. Go to “Upload Plugin”.
  4. Seacrh for the zip file
  5. Click to “Install Now” when you find the plugin.
  6. Activate the plugin by clicking “Activate”.


Check if Woocommerce is installed before activating this plugin.

If not, install Woocommerce plugin!
Copy the plugin in plugin folder and then activate it from the admin side.


<iframe src=”” width=”100%” height=”400” frameborder=”0” allowfullscreen=”allowfullscreen”></iframe>
Tutorial is here.

Use WooCommerce to configure financial data like VAT, currency, type of payment.


c. WooCommerce pages are not installed

To make sure this plugin is working properly, WooCommerce pages must be installed.

To do that, launch wizard given by woocommerce or install WooCommerce Pages manually.

<iframe src=”” width=”100%” height=”415” frameborder=”0” allowfullscreen=”allowfullscreen”></iframe>

d. Adding Deposits or Partial Payment Functionality


Written by Suzi Pratt ( of Intrepid Designer (

Some businesses will prefer having customers pay a deposit in order to make an online reservation. This is beneficial for your transportation business because it increases the likelihood that your customer will not cancel their reservation without informing you. Adding a deposit functionality to Stern Taxi Fare is very simple using the following steps.

Before you start, be sure you have already uploaded and activated WooCommerce and the Stern Taxi Fare plugins.

Step 1:

Download WooCommerce Deposits – Partial Payment Plugin from Envato. This is a paid plugin, not free. Link

Step 2:

Install the plugin and activate it. In your WordPress dashboard, navigate to “WooCommerce” ? “Settings”. You will now see a tab that says “Deposits” where you can set parameters.


Step 3:

In the WordPress Dashboard, navigate to “Products” and edit the “Taxi Fare” product that was automatically created when you installed the Stern Taxi Fare plugin. Scroll down to the bottom of the page where it says “Product Data.” Within this box, click on the bottom tab that is labeled “Deposit.” From here, you can set additional parameters to enable or force a deposit, and specify the type of deposit. In the screenshot below, I have set up a forced 15% deposit for every Stern Taxi Fare plugin transaction.

Step 4:

Within the same “Product Data” section, click on the “General” tab and input a number into the “Regular Price” section. This can be any random number, and it will not impact your transactions going forward, but you MUST have a number here that is not zero in order for the deposit plugin to work properly. Now, update and save the product.

Step 5:

Now when you complete a transaction, you should see the deposit take place in the “Review & Payment” stage.

d. Google API

Google API give the opportunity to plugin to display map and calculate distance, time and price depending on pick up address and destination address your customer will use.

(a) When you create a new key, it must be a ‘browser key’.

(b) Leave empty field ‘Accept requests from these HTTP referrers (web sites) (Optional)’


<iframe src=”” width=”100%” height=”400” frameborder=”0” allowfullscreen=”allowfullscreen”></iframe>

Tutorial is here.

Create your own API key. It allows you to monitor your application’s Maps API usage.
You must enable :

  • Google Maps Geocoding API
  • Google Maps Directions API
  • Google Maps Embed API
  • Google Maps Distance Matrix API

google API

Activate each API with activation button

activate API

Stern Taxi Fare

Inline Preview Image

e. Display form – Shortcode or widget

  1. Shortocode

Use shortocode wherever you want in your wordpress environnement.
After installation please add shortcode shortcode-stern-taxi-fare on your website page to display the fare calculator.


<iframe src=”” width=”100%” height=”315” frameborder=”0” allowfullscreen=”allowfullscreen”></iframe>
This shortcode can be used in a page or a post.


2. Widget

This plugin can also be used as a widget.
<iframe src=”” width=”100%” height=”315” frameborder=”0” allowfullscreen=”allowfullscreen”></iframe>

e. Let your customer cancel their order

This plugin “WC Cancel Order” compatible with stern taxi fare will let you the possibility to let your customers cancel their order if they want.


<iframe src=”” width=”100%” height=”415” frameborder=”0” allowfullscreen=”allowfullscreen”></iframe>

f. Tons of map styles

  • Ultra Light with Labels
  • Blue water
  • Pale Dawn
  • Apple Maps-esque
  • light dream
  • Blue Essence
  • Unsaturated Browns clean-cut
  • My City Map
  • Pale with defined borders
  • green tea
  • LPA

map (7)

map (8)

map (9)

map (1)

map (2)

map (3)

map (4)

map (5)

map (6)

More details here:

g. Change color of the calendar

All colors of this plugins inherits from your theme.

Sometimes it turns out some color should not be white. Hence Calendar is not visible.



You can change these colors by overwriting your css theme.

  1. Use a Plugin like Simple Custom CSS.
  2. Overwrite theses classes:
    1. .bootstrap-datetimepicker-widget table td.old
    2. .bootstrap-datetimepicker-widget table
    3. .bootstrap-datetimepicker-widget table thead tr:first-child th
    4. .bootstrap-datetimepicker-widget .timepicker-hour
    5. .bootstrap-datetimepicker-widget .timepicker-minute
    6. .bootstrap-datetimepicker-widget .timepicker-second

It gives:

.bootstrap-datetimepicker-widget table td.old {
    color: #777777;

.bootstrap-datetimepicker-widget table {
  color: red;

.bootstrap-datetimepicker-widget table thead tr:first-child th {
  color: orange;

.bootstrap-datetimepicker-widget .timepicker-hour, 
.bootstrap-datetimepicker-widget .timepicker-minute, 
.bootstrap-datetimepicker-widget .timepicker-second {
  color: #777777;


g. Update plugin

To Update this plugin, please follow this video:

<iframe width=”100%” height=”400” src=”” frameborder=”0” allowfullscreen=””></iframe>
Your data will not be erased.


h. Add a type car

A type car is a vehicule. You can add, edit or remove.
A type car must be linked with a category.


type car


<iframe src=”” width=”100%” height=”415” frameborder=”0” allowfullscreen=”allowfullscreen”></iframe>

h. Tax / VAT Settings


By default, price doesn’t include VAT. To enable it, and to get this result, please follow those steps.



1/Go to WooCommerce settings, tax tab and set these options:



2/ In tab ‘Standard Rates’, setup your taxes rates. Example:



3/ In WordPress admin, go to products, select product ‘Taxi Fare’ and make sure it is setup like this:



4/ Do a test to make sure you will have this result:


i. Add extra information in checkout

Extra information in form can be added in checkout page.

This plugin Woocommerce Easy Checkout Field Editor gives you capabilities to manage your fields on your WooCommerce checkout page.


Woocommerce Easy Checkout Field Editor Plugin Lets you Add /Edit / Delete fields in checkout form . You can reorder them using our Drag and Drop Admin UI .Plugin Supports 8 types of widely used custom fields. You can opt to send custom field data with order email and also display it on admin order page.









j. QR code

This option shows a QR code. The link is the ADMIN order of WooCommerce.


QR code will be shown in

  • Checkout page after paiement (Order Received)
  • Validation Email
  • Account of user

Driver will be able to scan QR code and automatically redirected to the order management.

qr code


User account

qr code2


Options for calendar

Options for calendar will generate a process for the form.

Please see details:



This feature allow you to replace google drop down auto-complete to a list of address you have chosen.

It can be used for a list of airports for example.



Please find tutorial and demo regarding this feature:
<iframe width=”100%” height=”415” src=”” frameborder=”0” allowfullscreen=””></iframe>

Overview pricing rules

Pricing rules is a great tool to override formula.

Plugin will work like this: First, it will check for each pricing rule if pick up and destination address match with the ones given by customer.

If no rules are satisfied, then, it will use the classical formula set up in tab ‘type car’.


700096-icon-61-warning-128[1]Warning: Each rules will use google API to check if city or address match with address given by vendor. Depend on your host but it takes an average of 30ms for each rule. So if you have 100 rules, it can take up to 30 seconds to pars all rules.


Sometimes if it is too long, server stop working. This error occurs:



We recommend to us ‘exact address’ to avoid using google API. It will only check if address given by vendor match with the rule.


Set a car not available

A type car can be unavailable for specific amount of time, day or every week the same day.

<iframe width=”100%” height=”315” src=”” frameborder=”0” allowfullscreen=””></iframe>

Set a day not available

A specific amount of time, day or every week the same day can be disable when a type car is chosen

1/ Unavailable for specific amount of time

<iframe width=”100%” height=”500” src=”” frameborder=”0” allowfullscreen=””></iframe>

Set a Pricing rule – City to a city


This plugin give the possibility to set a fixed price if customer book a car from anywhere in a city to anywhere in another city.


For example, if rule is from SF to Palo Alto, then price must be 999€. Price should be set like this:
<iframe src=”” width=”100%” height=”315” frameborder=”0” allowfullscreen=”allowfullscreen”></iframe>

Set a Pricing rule – Exact Name

Exact name enable pricing rule for an address which doesn’t exist.

To helps customer, this address can be add in drop down ‘list address’.

For example you can set an ‘exact name’ like point A and point B:


And result will be:



See demo here:



<iframe width=”100%” height=”415” src=”” frameborder=”0” allowfullscreen=””></iframe>

Set a Pricing rule – City to an address (Airport)


This plugin give the possibility to set a fixed price if customer book a car from anywhere in a city to a specific address. This feature is usually used for airport transportation.


For example, if rule is from SF to LAX airport, then price must be 999€. Price should be set like this :
<iframe src=”×8PrI” width=”100%” height=”315” frameborder=”0” allowfullscreen=”allowfullscreen”></iframe>


Let’s take an example.


From all addresses in SF to SFO airport, (e.g with 2 addresses below), price will always be 99€

  • 2Spirit Tattoo, Pearl Street, San Francisco, CA, United States
  • 2235 3rd St, San Francisco, CA 94107, USA


  • San Francisco Airport, San Francisco, CA, United States



Set Pricing rules in bulk

This feature allows you to create as many rules as you want with 1 upload only.
<iframe src=”” width=”100%” height=”315” frameborder=”0” allowfullscreen=”allowfullscreen”></iframe>

Use tab to split each colums. 1 rule per row.

<input readonly=”readonly” size=”100%” type=”text” value=”true lille-marseille city Lille, France city Marseille, France All 99”>

<input readonly=”readonly” size=”100%” type=”text” value=”true SF-LA city San Francisco, CA, United States address Los Angeles, CA, United States 131 399”>


You can have an example of sheet here:
<iframe src=”” width=”100%” height=”300”></iframe>
Open file and copy/paste rows in your wordpress backoffice.