Author Archive

Changing “add listing” button URL

In your child theme functions.php file add this code.

add_filter('listeo_submit_page', 'listeo_submit_page_change');
function listeo_submit_page_change($submit_page)
{
	$submit_page = 99; // where 99 is the page id you want to use	
	return $submit_page;
}

QR Code Verification System

Allow listing owners to verify visitors and their tickets using smartphone. By scanning a QR code, owners can quickly confirm ticket/person authenticity directly from their dashboard, making event entry more or visitor identity confirmation efficient.

QR verification system works with all booking methods


How to set it?

First, make sure QR Codes are enabled in Listeo Core → Booking → Ticket Options → Enable Ticket option

If you don’t have QR scanner in dashboard, please create new static page, set Page Template of that page to “Dashboard Page“, and in page content add shortcode [listeo_qr_check]. Publish that page and go toListeo Core → Pages and find “Ticket/Booking Verification Page” option and choose the page you just created.


How it works?

After booking, guests can download a ticket with a QR code from their dashboard. They can print it or open on their smartphone.

To verify ticket validity, the listing owner needs to access a scanner in their dashboard, usable on any device with a camera. If a customer selects cash payment, the ticket will show as ‘unpaid’ until settled, allowing owners to track payment status with ease.

Once the ticket is scanned, the owner will see a prompt with ticket details. In the example below, the ticket is valid but was previously scanned

How to remove bookmarks functionality?

If you would like to remove bookmarks functionality:

  1. Add this custom CSS snippet in Customize → Additional CSS:
    .like-icon, 
    .like-button, 
    #bookmarks-counter, 
    .like-button-notlogged {display: none !important; }

  2.  Disable bookmarks page in Listeo Core → Pages

Promoted Listings (Ads Manager)

Overview

The Ad Manager allows users to pay for prominent placement of their listings on your homepage, top of search results, or sidebar. They can set their desired budget and target specific categories.

Below is a step-by-step guide to setting up and managing ad campaigns.


Configuration

  1. Ad Campaign Settings
    Navigate to Listeo Core → Ad Campaigns to configure your ad prices and settings.
  2. Campaign Product
    In the “Campaign Product” option, you must select a WooCommerce product to handle payments for ad campaigns.
    If no product appears in the list, go to WordPress Dashboard → Products, create a new product, name it, and set the Product Type to “Listeo Ad Campaign.” Publish the product.
    Return to Listeo Core → Ad Campaigns, select the newly created product, and set your ad prices.
    Note: For Pay Per View campaigns, the price is set per 1,000 views.
  3. Ad Campaigns Management Page
    In Listeo Core → Pages, set the Ad Campaigns Manage Page. This page must contain the [listeo_ads] shortcode and should use the Dashboard Page template.

Submit Ad Campaign

In the front-end user dashboard, users can create new ads by clicking the “Create New Campaign” button on the Ad Campaign page. The form is divided into three sections:

  1. Campaign Details
    Select the listing you want to promote.
    Set your budget and choose a campaign type: Pay Per View or Pay Per Click.
    Optionally, set a Start Date for the campaign. If not set, the campaign will start as soon as the ad order is paid for and marked as Completed.
  2. Campaign Filters
    Select if the ad should only appear for a specific category or region.Optionally, limit the ad display by radius (you must have the Radius Search configured in Listeo Core → Map Options).Ads can also be limited to logged-in users only.
  3. Ad Placement
    Choose where the ad will appear:

    1. Home Section (in any home section)
    2. Search Results Section (on top of search results)
    3. Sidebar (you need to add Listeo Ads widget in Appearance > Widgets to the sidebar where you want to display ads)


Checkout and Activation

After submitting the form, the user is redirected to the checkout page to complete the payment. Once the order status is set to Completed, the ad will become active.


Ad Display

The promoted listing will appear in the positions configured in the ad, such as at the top of search results or in the chosen placement areas. Promoted listings will be marked with “Ad” tag.


Listeo Core → Ad Campaigns

Setting Name Option/Details
Campaign Setup & Configuration
Campaign Product advertising product, campaign WooCommerce product, ad credits product, campaign purchase product, advertising package, campaign billing product Select WooCommerce product for ad campaigns select
Options: All ad campaign products
Ad Campaigns type pricing model, billing method, campaign charging type, CPC vs CPM, pay-per-click, pay-per-impression, cost model, ad pricing structure Choose available campaign pricing models checkbox_multi
Options: Per click, Per views Default: Both selected
Placement & Visibility Options
Ad Campaigns placement ad locations, campaign positions, advertising zones, ad spots, banner placement, sponsored listing positions, ad display areas, campaign visibility zones Select where ads can be displayed checkbox_multi
Options: Home Page section, Search results, Sidebar widget Default: Home, Search, Sidebar, Location, Tag
Per-Click Pricing Configuration
Ad Campaigns price for Home Page home page CPC, homepage click cost, main page advertising rate, front page ad price, homepage campaign cost, home ad pricing Price per click for home page ads number
Ad Campaigns price for Search search results CPC, search page click cost, search advertising rate, SERP ad price, search results campaign cost Price per click for search results ads number
Ad Campaigns price for Sidebar sidebar CPC, widget area click cost, sidebar advertising rate, sidebar ad price, sidebar campaign cost Price per click for sidebar ads number
Per-View Pricing Configuration
Ad Campaigns price for Home per 1k views home page CPM, homepage impression cost, cost per thousand views, home page view rate, homepage CPM pricing, 1000 impressions cost Price per 1000 views for home page ads number
Ad Campaigns price for Search per 1k views search CPM, search impression cost, search results view rate, SERP CPM pricing, search page impression cost Price per 1000 views for search results ads number
Ad Campaigns price for Sidebar per 1k views sidebar CPM, sidebar impression cost, widget area view rate, sidebar CPM pricing, sidebar impression pricing Price per 1000 views for sidebar ads number

License Activation Rules

You can manage your license domains at this link:
License Manager →

Before removing domain from licenser you need to remove theme (not just disable, remove) from old website.


According to Envato’s License Terms, each license you purchase allows you to create one unique end product. For example, a website theme like Listeo can be customized to create one specific website. If you want to create a second website from the same theme, you’ll need to purchase another license. In other words, 1 license = 1 website.

Click For more informations

You can activate the Listeo License on one domain, but as we understand how web development works and it’s crucial to have a test/dev/staging website, these domains below can be activated without any restriction. Just need a valid license key.

localhost
*.dev
*.test
*.local
local.*
*.staging
staging.*
*.example
*.invalid
*.dev.css (DesktopServer)
*.myftpupload.com (GoDaddy)
*.cloudwaysapps.com (Cloudways)
*.wpsandbox.pro (WPSandbox)
*.ngrok.io (tunneling)

 

Adding custom fields to registration form

If you would like to change names or Owner/Guest role, use this method: How to change some texts/words?

Please also check Listeo Core → Registration where you will find options regarding the registration form, this instruction below is only for creating custom fields.


Step 1

First you have to create custom fields. Go to Listeo Editor → User Fields. There are two tabs for Guest and Owner as you can set those fields separately for each role.

Available Fields:
1. Input
2. Dropdown Select
3. Dropdown Multi Select
4. Upload Field
5. Checkbox
6. Multi Checkbox
7. Date Time
8. Textarea

For this guide purpose we will add VAT Number field.

Click the green button Add field, type a name and click OK, you will see box with new field and options for that field. You can switch Type of this field to dropdown, radio, checkbox or even file upload field.

Fields you will create are automatically added to My profile page in Listeo Dashboard.


Step 2

When you are ready click Save Changes and  go to Listeo Editor → Registration Fields. Here you will see the field you’ve just created in the Available Fields section in the right side, you can simply drag&drop it to the fields area, and save.

That way this field will be now added to your registration form. You can change the label or set a new icon for that field.

The field you created will also be visible in WordPress Admin → Users. For example, if you add a file upload field, you can download the file by going to Users, clicking “Edit” on the user you want to access, and finding the field with the attachment.

 

 

How booking works in Listeo?

Listeo Booking System Video Guide

Booking system in Listeo is divided into 3 methods: Rental, Services and Events.
It’s built into the theme and doesn’t require any additional plugins.


Rental (e.g. vehicles, apartments, products)

Ideal for booking tangible assets such as apartments, cars, bikes, or equipment.

Rental Booking Prices and Settings
This is where the listing owner can thoroughly customize their booking settings.

âś… Regular Price and Weekend Price
âś… Reservation Fee: An additional fee for making a reservation
âś… Minimum Stay: Specify the minimum number of days required for booking
âś… Enable Instant Booking: With this option enabled listing owner does not have to approve manually booking request.
âś… Enable Price per Hour: Charge by the hour instead of per night or day -this feature is dedicated to hourly rentals, such as for cars.
âś… Price per Guest regular price and weekend price will be multiplied by the number of guests to estimate the total cost.
âś… Maximum and Minimum Number of Guests
âś… Children Price: Custom price for children by applying a percentage discount
âś… Animal Fee: An additional fee for animals
âś… Mandatory Fees: Add required fees for the booking (e.g., Cleaning Service).

Rental Availability Calendar

The availability calendar allows users to manually block or unblock specific days and set custom prices for individual days. Users also have the option to bulk-select multiple days for easier management.


Services (e.g. restaurants, barbers, doctors)

Designed for appointments like doctor visits, barber bookings, or life coaching sessions. The key feature is the time slot configurator, ensuring precise scheduling.

Time Picker and Time Slots
The available settings are mostly the same as in rental listings.

Time Picker – By default, the booking widget includes a time picker, allowing guests to book freely within opening hours of listing. This method is less precise. To refine it, enable time slots.

Time Slots – Listeo simplifies time slot configuration by automatically generating slots based on previous ones and allowing users to copy them across weekdays, reducing manual effort.

Service Booking Prices and Settings
The available settings are mostly the same as in rental listings.

âś… Regular Price and Weekend Price
âś… Reservation Fee: An additional fee for making a reservation
âś… Enable Instant Booking: With this option enabled listing owner does not have to approve manually booking request.
âś… Enable Price Per Hour – this is quite important setting because it defines price calculation with this option enabled regular price will be multiplied or divided so for example if listing owner set regular price to 100 USD and configured 30 minutes time slots the price for time slot will be 50 USD
âś… Price per Guest price will be multiplied by the number of guests to estimate the total cost
âś… Maximum and Minimum Number of Guests
âś… Mandatory Fees: Add required fees for the booking.

Service Availability Calendar

The availability calendar for services lets users manually block or unblock specific days. It also includes a bulk selection option for managing multiple days at once.


Events (e.g., concerts, conferences)

Events – designed for ticketed occasions like concerts or seminars. Users select a date to secure a spot. This method is tailored for one-time events rather than recurring bookings.

Event Booking Prices and Settings has the least options comparing to services and listings.

âś… Available Tickets
âś… Ticket Price
âś… Reservation Fee: An additional fee for making a reservation
âś… Minimum Stay: Specify the minimum number of days required for booking
âś… Enable Instant Booking: With this option enabled listing owner does not have to approve manually booking request.
âś… Mandatory Fees: Add required fees for the booking (e.g., Camping Pitch.


Extra Services

Extra services are available in all booking methods (Rental, Service, and Event) and are integrated with the pricing table on the listing page. Items in the pricing table can be set as bookable options in the booking widget.

Owner can add for each item/service photo, title, price enable it as a bookable service using toggle switcher. 

Listing owner can specify if it’s gonna be one time fee, multiplied by guest/days or both. He can also add quantity buttons so guest can multiply service in booking


Opening Hours

For rental listing types with hourly bookings enabled (e.g., car rentals), opening hours are crucial because bookings can only be made within the specified opening hours.

For service listing types that use a time picker without predefined time slots, the same principle applies—bookings are only possible within the designated opening hours range.


Listeo Core → Booking

Additional settings for site administrator in Listeo Core → Booking

Option Description
Allow user to book without being logged in User will be registered in the booking form with default role “guest”
Remove Guests options from all booking widgets Guest picker will be removed from booking widget
Remove Coupons option from Booking widget and confirmation Coupons are enabled by default
Allow owners to make bookings  ON/OFF
Count last day of data range in rental bookings By default the last day as the check-out day is not calculated in price
Make First Name field required in booking confirmation form  ON/OFF
Make Last Name field required in booking confirmation form  ON/OFF
Make Email field required in booking confirmation form  ON/OFF
Make Phone field required in booking confirmation form  ON/OFF
Add address fields section to booking confirmation form Used in WooCommerce Orders and required for some payment gateways
Control display of selected Address fields in booking confirmation form Used in WooCommerce Orders and required for some payment gateways

  • Company Name
  • Street Address
  • Street Address 2 (Apartment, suite, unit, etc.)
  • Postcode/ZIP
  • Town
  • Country
  • State
Make selected Address fields required in booking confirmation form Used in WooCommerce Orders and required for some payment gateways

  • Company Name
  • Street Address
  • Street Address 2 (Apartment, suite, unit, etc.)
  • Postcode/ZIP
  • Town
  • Country
  • State
Disable payments in bookings Bookings will have prices but the payments won’t be handled by the site. Disable Wallet page in Liste Core → Pages
Disable extra services type option Those services are enabled by default, if you check any of them now it will disable it on the list. Disabling all will remove that option

  • One time fee
  • Multiply by guests
  • Multiply by days
  • Multiply by guests & days
For “instant booking option” require payment first to confirm the booking Users will have to pay for booking immediately to confirm the booking.
Add 15 minutes lock after booking Add 15 minutes lock after booking a listing to not allow users to book again immediately
Show Expired Bookings in Dashboard page Adds “Expired” subpage to Bookings page in owner Dashboard, with list of expired bookings
Set how long booking will be waiting for payment before expiring Default is 48 hours, set to 0 to disable
Show Host/Guest contact and address info only for Paid Bookings in Dashboard page Contact informations will be hidden for pending bookings
Enable Ticket option It will add downloadable/printable tickets to bookings
Ticket Terms and Conditions Text that will be displayed on the ticket

SMS Notification & OTP verification

Listeo SMS Notification plugins add capabilities to your registration process that can enhance the security and user experience of your application. It also allows you to send notification to users about upcoming bookings, expiring listings or new bookings or reviews.This guide walks you through the steps to configure it.


How to install?

  1. Go to https://purethemes.net/license/ and download Listeo SMS plugin
    You’ll need purchase key: How to find my license key?
  2. Upload listeo-sms.zip in WP Dashboard → Plugin → Add New and install & activate.

How to configure?

  1. Create a Twilio Account: Go to the Twilio website and sign up for an account if you don’t already have one.
  2. Verify Your Email and Phone Number: Complete the verification process for your email and phone number.
  3. Get Twilio API Credentials: Once your account is set up, navigate to the Console Dashboard to find your Account SID and Auth Token. These credentials are required to authenticate API requests.
  4. Copy those information to Listeo Core -> SMS Settings -> Providers, there are settings for Twilio Account SID, Twilio Auth Token and Twilio phone number
  5. And that’s all, now you can turn on which SMS you want to send and configure their content


If you want to test it first without actually spending money on Twilio, you can enable Debug Mode in Listeo Core → SMS Settings, with that enabled you will see the messages sent in Listeo Core → View Debug log

To enable debugging mode go to Listeo Health and enable it under “debugging section”.


What notifications are sent?

All notifications listed in this article:

Automatic Email & SMS Notifications


Additional settings for SMS: Listeo Core → SMS Options

Setting Name Option/Details
SMS Service Configuration
Enable SMS notifications activate SMS, turn on text messages, enable mobile notifications, activate messaging service, SMS functionality toggle, text notification system Activate SMS messaging functionality checkbox
SMS Provider SMS gateway, messaging service, text message provider, SMS API service, messaging platform, SMS vendor, bulk SMS service Choose SMS service provider select
Options: Twilio
API Configuration
Twilio Account SID Twilio account identifier, Twilio ID, account security identifier, Twilio credentials, SID authentication Twilio account identifier text
Twilio Auth Token Twilio secret key, authentication token, API secret, Twilio password, API authentication, security token Twilio authentication token password
Twilio Phone Number sender number, SMS from number, Twilio number, messaging number, outgoing number, SMS sender ID Your Twilio phone number for sending SMS text
OTP & Verification
Enable SMS OTP verification phone verification, mobile number verification, SMS authentication, two-factor SMS, 2FA SMS, phone number validation, mobile OTP Require SMS verification for user registration checkbox
OTP code length verification code digits, OTP length, PIN code length, security code length, verification digits, authentication code size Number of digits in OTP codes number
Range: 4-8 digits Default: 6
OTP expiry time (minutes) verification code validity, OTP timeout, code expiration, validation window, OTP TTL, verification time limit How long OTP codes remain valid number
Range: 1-60 minutes Default: 10
SMS OTP message template verification SMS template, OTP message format, authentication text template, verification SMS content, OTP text format Template for OTP SMS messages textarea
Available tags: {otp_code}, {site_name}, {expiry_minutes}
Default: “Your verification code is: {otp_code}. Valid for {expiry_minutes} minutes.”
SMS Notifications
Send SMS for new bookings booking SMS alert, new reservation SMS, owner booking notification, text alert for bookings, mobile booking notification Notify listing owners via SMS for new bookings checkbox
Send SMS for booking confirmations reservation confirmation SMS, booking success text, confirmation text message, booking approved SMS Send SMS confirmations to users after booking checkbox
Send SMS for booking cancellations cancellation SMS alert, booking cancelled text, cancellation notification SMS, reservation cancelled message Notify about booking cancellations via SMS checkbox
Send SMS for booking status changes status update SMS, booking modification text, status change notification, booking update alert SMS notifications for booking status updates checkbox
New booking SMS template booking notification template, new reservation SMS format, owner alert message, booking SMS content SMS template for new booking notifications textarea
Available tags: {listing_title}, {user_name}, {booking_date}, {site_name}
Booking confirmation SMS template confirmation SMS template, reservation success message, booking approved text, confirmation message format SMS template for booking confirmations textarea
Available tags: {listing_title}, {booking_date}, {booking_details}, {site_name}
Advanced SMS Settings
Default country code phone number prefix, international dialing code, country phone code, default prefix, national code, telephone country code Default country code for phone numbers select
Options: All country codes Default: +1 (US)
SMS rate limiting SMS throttling, message frequency limit, anti-spam SMS, SMS quota, send rate limit, message cap Limit SMS sending frequency checkbox
Maximum SMS per hour hourly SMS limit, messages per hour, hourly quota, SMS rate cap, hourly message limit Maximum SMS messages per hour per user number
Range: 1-100 Default: 10
Log SMS messages SMS logging, message history, SMS tracking, message audit, SMS records, delivery logging Keep logs of sent SMS messages checkbox
Default: ON
SMS log retention (days) log storage duration, message history retention, log expiry, SMS archive period, log cleanup period How long to keep SMS logs number
Range: 1-365 days Default: 30