Server Location Picker with Flags for WHMCS
Offer server locations as flag cards on the WHMCS order form, kept as a real configurable option, and show what longer billing cycles save.
What does the location picker do?
Many hosts sell servers in several data centers but keep the choice in a hand-built configurable option that drifts out of step with what they actually offer. In this addon you add each location once: city, country, an optional note such as "Low latency for Europe", its position in the list, and an on or off switch. The flag is picked for you from the country name, or you choose one of 271 built-in flags, upload your own or use none. Each location gets a code made from country and city, such as de-frankfurt, and that code is what your server module receives.
How does it work with WHMCS configurable options?
A location set is one configurable option group that the addon creates and keeps in sync. You tick the locations it offers and, where a location costs extra, enter a monthly price for each currency; other billing cycles are worked out as the monthly price times the months. Then you assign the set to products, one by one or to every product a filter shows. Because the result is a normal WHMCS configurable option, the location is saved with the order and the service, and admins see it on the service like any other option.
Already using a location option? Link it instead and map its choices to your locations to give them flags; the addon never changes an option it did not create. Switched-off locations are hidden, never deleted, and a set cannot be deleted while any service still uses it.
What is included?
| Admin page | What it does |
|---|---|
| Overview | State of each set, checks and a "sync all sets now" button |
| Locations | City, country, note, order, flag and on or off |
| Flags | Upload PNG, JPG, WebP or SVG flags, with SVG files cleaned |
| Location sets | Create synced option groups, set prices per currency, or link an existing option |
| Products | Set, card display and savings per product, with filters |
| Settings | Savings on or off for all products, and the amount-saved line |
What do customers see on the order form?
On the configure step, each location can show as a card with its flag, city, country, note and any extra monthly price in the visitor's currency. The billing cycles show the price per month and a "Save N %" label, but only when a cycle really is at least 1 % cheaper per month and the first payment, setup fees included, is still lower than paying monthly. The chosen location then appears in the cart, at checkout and on the client's service page.
Who is it for?
VPS, cloud, dedicated and game server hosts that offer more than one location and want customers to pick one clearly, with the price difference visible before checkout.
What do you need, and what are the limits?
Requirements: WHMCS 9, PHP 8.2 or newer, and write access for the web server to the addon's uploads folder. On nginx, add the rule that blocks scripts in the flags and uploads folders, as Apache's included .htaccess files do.
Limits: the cards and savings reach the order form as template variables, so your order form's configure step needs a block that prints them. Without that block, the location still works as WHMCS' standard drop-down with its prices. The admin pages are in English only.
It costs $129 once for a lifetime license with twelve months of updates and support, an instant download and license key, and a seven-day refund window.
Key features
- Locations with city, country, note, order and on or off switch
- 271 built-in country flags, plus cleaned flag uploads
- Configurable option groups created and kept in sync
- Extra monthly price per location in every currency
- Link an existing location option without changing it
- Location code passed to server modules
- Per-product set, card display and savings settings
- Per-month price and real savings for each billing cycle
- Chosen location shown in the cart, checkout and service page
Why customers buy this module
- →One place to manage locations instead of hand-edited options
- →Customers pick a location visually and see any price change
- →Longer billing cycles show what they actually save
- →Server modules receive a clean location code to provision with
Frequently asked questions
Can I keep the location option my products already use?
<p>Yes. Under location sets you can link an existing configurable option and map each of its choices to one of your locations, which gives them flags and notes. The addon never edits that option or the products using it, so existing orders and services are left exactly as they are.</p>
How does my server module know which location was chosen?
<p>The location is a normal WHMCS configurable option named location, so your provisioning module reads it from the configoptions parameters like any other option. The value is the location code, such as de-frankfurt, made from the country and city when you add the location.</p>
When does the savings label appear on a billing cycle?
<p>Only when the product bills on a recurring basis, has a monthly price, the cycle is at least 1 % cheaper per month after rounding down, and the first payment including setup fees is still lower than paying monthly. Free and one-time products never show one, and you can switch savings on or off per product.</p>
Technical specifications
- WHMCS
- Built for WHMCS 9
- PHP
- 8.2+
- Flags
- 271 built-in; PNG, JPG, WebP or SVG uploads up to 512 KB
- Server module field
- configoptions location, holding the location code
- License
- Lifetime, 1 year of updates and support included
- Delivery
- Instant download and license key
- Refund window
- 7 days