Documentation
Welcome to PalasGo
Date-based booking plugin for WordPress — calendars, time slots, Stripe payments, branded emails, hotel pickup, and more. Built for tour operators, rental businesses, and experience hosts.
Before anything else: Set your permalink to "Post name" — go to WordPress admin → Settings → Permalinks → select Post name → Save. The REST API that powers the booking calendar will not work without this.
Installation
Upload, activate, and verify the plugin
Quick start
7 steps from zero to your first live booking form
Featured image & tags
Set the card photo and tag products for the carousel
Product carousel
Shortcode and Elementor widget to display product cards
Tour Builder add-on
Full product page layouts, reviews, gallery, FAQ
FAQ
Common questions and troubleshooting answers
Booking calendar
Drop a shortcode on any page. Works in Gutenberg, Elementor, and classic editor.
Stripe Checkout
Test/live mode, webhook sync, FPX support for Malaysian online banking.
Time slots
Sell multiple sessions per day with per-slot capacity and cutoff rules.
Promo codes
Percentage or fixed discounts, usage limits, date ranges.
Hotel pickup
Preset location list with optional per-location surcharges.
Branded emails
Customer and admin notifications styled to your brand colors.
Product carousel
Shortcode and Elementor widget to showcase your tours on any page.
Worker portal
Frontend SPA for tour staff to view bookings without admin access.
Getting started
Installation
Upload and activate PalasGo on your WordPress site.
Requirements: WordPress 6.0 or higher and PHP 7.4 or higher. Check your host's PHP version before installing.
1
Upload the plugin
Go to WordPress admin → Plugins → Add New → Upload Plugin. Choose palasgo.zip and click Install Now.
2
Activate
Click Activate Plugin. PalasGo will automatically create a "Booking Confirmation" page for you.
3
Set permalinks — critical first step
Go to Settings → Permalinks → Post name → Save Changes. Without this, the booking calendar's REST API will not work and dates will not load.
4
Enter your license key
Go to PalasGo → License and enter your key. The booking widget on the frontend will stay hidden until a valid license is active.
5
Run the in-plugin guide
Open PalasGo → Help & Setup to follow the guided 6-step setup inside your WordPress admin.
Getting started
Quick start — 7 steps
From a fresh install to a live booking form, this is the complete setup path.
Complete the Permalink setup first before any of these steps, or the calendar will not work.
1
General settings
Go to PalasGo → Settings → General. Set your currency (default: MYR), booking reference prefix, default capacity, and timezone.
2
Stripe keys
Go to PalasGo → Settings → Stripe. Paste your Publishable Key, Secret Key, and Webhook Secret. Keep Test Mode on while testing.
3
Email settings
Go to PalasGo → Settings → Email. Set the From name, From email, and admin notification email.
4
Branding
Go to PalasGo → Settings → Branding. Pick your brand color — it applies to the booking widget, calendar, buttons, and all customer emails.
5
Create a product
Go to PalasGo → Products → Add New. Add pricing rows, set capacity, and choose which weekdays are open. Set a Featured Image (this is the card photo in the carousel).
6
Configure time slots and cutoff
On the product editor, choose a slot mode, set per-slot capacity, and configure the booking cutoff.
7
Embed the booking widget
Create or edit any WordPress page and paste: [palasgo_booking product_id="123"] — replace 123 with your product's post ID.
Setup
Stripe payments
PalasGo uses Stripe Checkout for online payments. This page covers key setup, webhook configuration, and going live.
1
Get your API keys from Stripe
Log into stripe.com → Developers → API keys. Copy the Publishable key and Secret key. Use test keys first.
2
Paste into PalasGo
Go to PalasGo → Settings → Stripe. Paste both keys. Make sure "Test mode" is toggled on.
3
Add the webhook endpoint
In Stripe: Developers → Webhooks → Add endpoint. Paste your webhook URL and subscribe to all 7 events listed below.
4
Copy the webhook signing secret
Stripe shows a "Signing secret" after you create the endpoint. Paste it into PalasGo → Settings → Stripe → Webhook secret.
5
Test the connection
Go to PalasGo → Tools and click "Test connection" to confirm Stripe is responding correctly.
checkout.session.completed
checkout.session.async_payment_succeeded
checkout.session.async_payment_failed
checkout.session.expired
payment_intent.payment_failed
charge.refunded
charge.dispute.created
How do I switch from test mode to live mode?

In PalasGo → Settings → Stripe, paste your live keys into the "Live mode" fields. Toggle off "Test mode" and save. You also need a separate live webhook endpoint with its own signing secret.

What is FPX and how do I enable it?

FPX is Malaysian online banking (Maybank, CIMB, etc.). Enable it by toggling "FPX enabled" on the Stripe settings tab. You must subscribe to checkout.session.async_payment_succeeded and async_payment_failed webhooks — FPX payments are async and won't confirm without them.

Can I accept bookings without Stripe (pay on arrival)?

Yes. If no Stripe keys are configured, PalasGo automatically uses the "Booking Only" gateway. The customer completes the booking form and the booking is created in a "request received" state without any online payment. You confirm and collect payment manually.

Setup
Email settings
Configure who emails come from, add a logo, and optionally set up SMTP for reliable delivery.
WordPress's default wp_mail() is often unreliable on shared hosting. Installing WP Mail SMTP and connecting a transactional mail service (Brevo, Mailgun, SendGrid, Postmark) is strongly recommended. PalasGo shows a green check on the Email tab when WP Mail SMTP is active.
From name
The sender name customers see in their inbox, e.g. "Palas Adventure & Tour".
From email
The email address PalasGo sends from, e.g. bookings@palasadventure.com.
Admin email
Where new booking notifications go. Can be different from the From email.
Email logo URL
A direct URL to your logo PNG or JPG. Recommended size: 200×60 px.
Which emails does PalasGo send automatically?
  • Customer: request received — booking submitted
  • Customer: confirmation — after payment succeeds
  • Customer: request declined — if you decline
  • Customer: refund / cancellation — when a paid booking is refunded
  • Customer: tour reminder — day before the tour
  • Customer: review request — day after the tour
  • Customer: abandoned payment recovery — for unpaid bookings
  • Admin: new booking notification — every new booking
  • Admin: pending request — for request-to-book products
Setup
Branding
Match the booking experience to your brand — colors apply everywhere automatically, including the widget, calendar, buttons, and all customer emails.
A live preview appears at the bottom of the Branding tab so you can see changes before saving. No CSS editing required.
Primary brand color
Used for the submit button, calendar selected day, email headlines, and accent borders. Default: #7cb342.
Brand color — hover
The darker shade shown when a customer hovers over buttons and links.
Brand color — active/pressed
The deepest shade for button click state and the thank-you page hero gradient.
Soft tint background
A light tint used for selected options, info boxes, and email confirmation panels.
Setup
License
PalasGo requires a valid license key to show the booking widget on the frontend. Tour Builder requires its own separate license key.
You will receive two separate license keys if you buy both PalasGo core and Tour Builder — enter each one in its own license page.
1
Core license: PalasGo → License
Enter the license key you received for PalasGo core and click Activate. A "License active" badge confirms it is valid.
2
Tour Builder license: PalasGo → Tour Builder License
If you purchased Tour Builder, enter its separate key here. The Tour Product Page widget and Reviews module stay hidden until this is active.
What happens if my license expires?

The WordPress admin stays fully accessible. The frontend booking form hides itself. The worker portal becomes read-only. Renewing restores everything immediately.

What if the license server is unreachable?

PalasGo re-verifies every 3 days using a cached transient. If unreachable, a 7-day grace period keeps everything working normally. Tour Builder also has the same 7-day grace period.

Can I move my license to a different site?

Yes. One license covers one site. Go to the License page on the current site and click Deactivate. Then activate it on the new site using the same key. Each license (core and Tour Builder) is deactivated independently.

Products & bookings
Creating products
A "product" is anything customers can book — an ATV tour, island hopping trip, private transfer, car rental, etc.
What is the Pricing section and how do modes work?

Each pricing row has: Label (e.g. "Adult", "Child"), Price, Min/Max qty, Mode (Per unit or Flat), and an On/Off toggle. "Per unit" multiplies the price by qty; "Flat" charges the same price regardless of qty — useful for private charters or fixed-price experiences.

How do I set which days of the week a product is available?

In the Availability metabox on the product editor, toggle on the weekdays when the product runs. Disabled weekdays appear greyed out on the booking calendar.

How do I block out specific dates?

In the Availability metabox, use the Blackout dates picker. Click on any date to add it as a chip. Customers cannot book those dates. You can also close individual time slots on specific dates via session-level blackouts.

How do I set up hotel pickup with surcharges?

Enable hotel pickup in the Pickup location metabox. Add each hotel name and an optional surcharge. The surcharge is added to the booking total live as the customer selects their hotel.

How do add-ons (drone, equipment, extras) work?

Use the Add-ons metabox to add optional extras. Each add-on has a label, price, and type. They appear on the confirmation page, emails, and admin booking detail.

What is the car rental / date-range booking mode?

Enable it in the Car rental / date-range booking metabox. Customers pick a start and end date. Set min/max rental length and how pricing scales: per day, per night, or flat rate.

What is the "Where to go" / meeting point section?

The Where to go metabox lets you set a GPS meeting point using an interactive Leaflet map. This appears on the thank-you page and in customer emails so people know where to go.

Products & bookings
Time slots & cutoff
Sell multiple sessions per day and control how far in advance customers can book.
What are the four time slot modes?

None — no time slot picker; customers just pick a date.

Fixed daily — the same set of slots runs every open day, e.g. 9 AM, 1 PM, 4 PM every day.

Per weekday — different slots on different days, e.g. 9 AM and 1 PM on weekdays, only 9 AM on Saturday.

Custom per date — fully custom slots for specific calendar dates. Falls back to the weekday config for dates without custom settings.

Can each time slot have its own capacity limit?

Yes. Each session can either share the product's daily capacity ceiling or have its own independent capacity number. A slot shows "X left" and "Sold out" tags as bookings fill up.

What booking cutoff modes are available?

Hours before slot — closes booking X hours before the session time. For example, 2-hour cutoff on a 9 AM slot closes it at 7 AM on the day.

By time T the day before — closes booking at a specific time on the day before regardless of slot time, e.g. 11 PM the night before.

How do session-level blackouts work?

Session blackouts let you close a specific time slot on a specific date without cancelling the whole day. For example, close only the 9 AM slot on Christmas Day while leaving the 1 PM slot open. They appear as "Closed" in the slot picker.

Products & bookings
Voucher / promo codes
Create discount codes customers can apply during checkout.
1
Go to PalasGo → Vouchers → Add New
The voucher editor opens with the Voucher Settings metabox.
2
Set the promo code
Enter a code string (e.g. SUMMER20). Codes are saved as uppercase.
3
Choose discount type and amount
Select Percentage (e.g. 10 for 10% off) or Fixed (e.g. 20 for RM 20 off). You can optionally set a maximum discount cap for percentages.
4
Set limits and dates (optional)
Set a minimum spend, start/end date range, total usage limit, and per-customer usage limit. Leave at 0 for unlimited.
5
Publish and activate
Click Publish and ensure the "Active" toggle is on. The code is now live.
Can a voucher apply to only specific products?

Yes. In the Voucher Settings metabox, use the Products multi-select to restrict the voucher to one or more products. Leave it empty to apply to all products.

How does the customer use a promo code?

A promo code field appears on the booking form. The customer types their code and clicks Apply. The discount is validated instantly via the REST API and the live booking total updates.

Products & bookings
Shortcodes
Embed the booking form, product carousel, reviews, and confirmation page using WordPress shortcodes.
</>
[palasgo_booking product_id="123"]
Renders the booking calendar and form for the given product. Replace 123 with your product's post ID. Works in Gutenberg, Elementor, and classic editor.
</>
[palasgo_products]
Renders a product carousel. See the Product Carousel page for all parameters.
</>
[palasgo_reviews]
Renders the reviews widget. See the Reviews module page for all parameters. Requires Tour Builder add-on.
</>
[palasgo_thankyou]
Renders the post-payment confirmation page. This page is created automatically on activation — you should not need to add this manually.
</>
[palasgo_worker_portal]
Renders the Worker Portal. Add to a private page for staff access without WordPress admin.
How do I find my product ID?

Go to PalasGo → Products and click to edit a product. Look at the URL — it will contain post=123. That number is your product ID.

Tour Builder add-on
Tour Builder overview Separate license
Tour Builder is a premium add-on that gives each product a professional full-page experience — Klook/GetYourGuide style layouts with hero gallery, package tabs, inclusions, FAQ, meeting point map, and customer reviews.
Tour Builder requires PalasGo 1.9.0+ and Elementor (free is fine). It requires its own separate license key, purchased separately from PalasGo core.
3 page templates
Style 1 (Klook-inspired), Style 2 (GetYourGuide-inspired), Style 3 (CheckYeti-inspired). Switchable per product page.
Hero gallery
Large main image plus 2–4 sub-images arranged in a grid. Tappable on mobile.
Package tabs
Multiple packages per product — each with its own name, price note, included/excluded list, and booking shortcode slot.
Inclusions & FAQ
Repeater-based included/excluded lists and a collapsible FAQ section.
Meeting point map
Pulls GPS coordinates from the product or from manually entered lat/lng.
Reviews module
Built-in reviews from Google, Viator, Klook, GetYourGuide, Headout, and Trip.com — Shadow-DOM rendered, never breaks your theme.
Tour Product Page widget
An Elementor widget (category: PalasGo Tours) that renders the full product page layout. Drop it on an Elementor page, fill in the fields, and you get a complete tour page without building it from scratch.
Reviews module
Standalone reviews system with its own admin UI, shortcode [palasgo_reviews], and Gutenberg block. Works independently of the Tour Product Page widget — you can use the reviews anywhere on your site.
Style 1 (Klook) — what does it look like?

Style 1 is the original template. It features a sticky section navigation at the top, a hero gallery (main image + 2 sub-images), a rating/reviews/booked count bar, tag pills (e.g. "English/Malay", "Guided Tour"), horizontal package tabs, What To Expect timeline, "Before You Go" notes, FAQ accordion, meeting point map, and an inline reviews section.

Style 2 (GetYourGuide) — what does it look like?

Style 2 is a GetYourGuide-inspired layout. It adds breadcrumbs, a 4-image gallery grid, compact horizontal section tabs (scrollable), a location + hours + details row, expandable package panels (toggle open/close), a "You Should Also Know This" details section, and a company name in the reviews heading (e.g. "Tripkio Reviews").

Style 3 (CheckYeti) — what does it look like?

Style 3 is the newest template, added in v1.2.0. It has a large media gallery, a "Quick facts" sidebar (activity type, languages, notes, meeting place), a cancellation banner, a "Details & Booking" section with a booking list, a guarantee/trust sidebar, a detailed description and requirements section, meeting point map, and reviews. Fully namespaced — theme and Elementor global styles do not distort the layout.

Can I change the template after I've already filled in the content?

Yes. The template picker is a single dropdown in the widget. Your content fields (packages, FAQ, gallery images, etc.) are shared across templates — switching the template only changes the layout. Some fields are template-specific (shown only when the matching template is selected) and those will just be hidden, not deleted.

Tour Builder add-on
Tour Builder setup
How to install, activate, and build your first Tour Product Page.
Before installing: If you previously ran the standalone palasgo-reviews plugin, deactivate it first (do not delete — your review data will be picked up automatically by Tour Builder).
1
Upload the plugin
Go to Plugins → Add New → Upload Plugin. Choose PalasGo-tour-builder-1.2.0.zip and click Install Now, then Activate.
2
Activate the Tour Builder license
Go to PalasGo → Tour Builder License. Enter the Tour Builder license key (separate from your core PalasGo key) and click Activate.
3
Create a page for the tour
Go to Pages → Add New. Give it a title like "ATV Tour Langkawi" and click Edit with Elementor. Set the page template to Elementor Full Width (no theme header/footer inside the widget area).
4
Add the Tour Product Page widget
In the Elementor panel, search for Tour Product Page. It appears under the PalasGo Tours category. Drag it onto a full-width section.
5
Choose your template
In the Template panel (the first panel), select Style 1, Style 2, or Style 3. The widget immediately previews the chosen layout in the editor.
6
Fill in the content sections
Work through each panel: Header & Title, Hero Gallery, Packages, What To Expect, Before You Go, FAQ, Map, Reviews. See the Page Sections Guide page for detail on each.
7
Connect the booking widget
In the Packages panel, each package row has a Booking shortcode field. Paste [palasgo_booking product_id="123"] there (replace 123 with your product ID). This wires the booking calendar into the package tab.
8
Set the Fallback URL on the product
Go to PalasGo → Products → Edit your product. Find the Fallback URL field and paste the URL of the Elementor tour page you just built. This makes the carousel "Book now" button link directly to this page.
Tour Builder add-on
Page sections guide
Every section of the Tour Product Page widget explained — what it does, what to fill in, and tips for each.
Template — choose your page style

The first panel. Select Style 1 (Klook), Style 2 (GetYourGuide), or Style 3 (CheckYeti). Template-specific controls appear and hide automatically — you will only see fields relevant to the selected template. Content you enter in shared fields (packages, FAQ, gallery) carries across all templates.

Header & Title — title, rating, tags

Product Title — the main H1 heading displayed on the page.

Rating Score — displayed as text, e.g. "4.8/5". Enter manually or match your live rating. Shown in Style 1 and Style 3.

Reviews Count Text — e.g. "125 reviews". Shown in Style 1 and Style 3.

Booked Count Text — e.g. "1K+ booked". Style 1 only.

Tags (Style 1 only) — a repeater of short text pills that appear under the title, e.g. "English/Malay", "Guided Tour", "Adventure". Add as many as you like.

Hero Gallery — images at the top of the page

Main Hero Image — the large image on the left on desktop. This is the most important image — use your best photo here.

Sub Image 1 & 2 — stacked on the right side of the main image on desktop. On mobile, all images collapse into a swipeable gallery.

Sub Image 3 & 4 — additional images for Style 2 and Style 3, which use a 4-image or 5-image grid layout.

Recommended: use consistent aspect ratios across all gallery images. At least 1200×800 px for the main image.

Packages — your bookable options

The Packages section is a repeater — click Add Item to add each package. Each package row has:

Package Name — shown as a tab label, e.g. "Standard", "VIP", "Private Charter".
Price Note — short text under the package name, e.g. "From RM 120 / person" or "Best value".
Note — additional note shown in Style 2 panels.
Booking Shortcode — paste [palasgo_booking product_id="123"] here. The booking calendar renders inside this package tab when the customer clicks it. Each package can link to a different product ID if needed.
Included — a text area (one item per line) for what is included, e.g. "Safety equipment", "Instructor", "Photos". Displayed with tick marks.
Excluded — items not included, displayed with cross marks.

What To Expect — itinerary or highlights

A repeater of timeline or highlight items. Each item has: Title (e.g. "Day 1: Arrival", "Helmet fitting"), Text (paragraph describing that step), and an optional Image (a photo of that moment). Used to describe what the experience is like step by step — effective for multi-day packages and guided tours.

Before You Go — know before you book

A repeater of label + text pairs — use this for practical information customers need before booking: requirements, what to bring, age restrictions, cancellation policy, health requirements. Each item has a Label (bold header, e.g. "Age requirement", "Cancellation") and a Text (the detail below it).

FAQ — frequently asked questions

A repeater of question + answer pairs. Renders as a collapsible accordion on the page. Each item has a Question and an Answer. Add as many as needed. These also benefit SEO as FAQ schema can be added by your SEO plugin.

Map — meeting point

Toggle Enable map on. Choose the map source:

From product — automatically pulls the GPS coordinates set in the product's "Where to go" metabox. This keeps the map in sync if you ever update the product location.
Custom coordinates — enter Latitude and Longitude manually. Useful if the Tour Builder page is for a different location than the product's default meeting point.

You can also set the map height separately for desktop and mobile. A text address and map height are configurable for each style.

Reviews — connecting to the reviews module

The Reviews section inside the widget pulls from your reviews database. Configure:

Review tag — filter to only show reviews tagged with a specific slug (optional). Useful when one site has multiple products with separate reviews.
Review limit — how many reviews to show (default: 6).
Layout — grid, slider, list, masonry, or carousel.

You can also add manual fallback reviews using the built-in repeater (Name, Date, Stars, Text). These show when no database reviews exist yet — useful for launching before you have imported reviews.

Style 3 — extra sections (Guarantee, Contact, Quick Facts)

Style 3 has additional sections that only appear when Style 3 is selected:

Guarantee items — a repeater of trust/guarantee points shown in the booking sidebar, e.g. "Free cancellation", "Best price guarantee".
Contact — contact person name, role, and a button label for reaching them.
Quick Facts — Activity type, Languages, a Note (e.g. "No licence needed"), and Meeting place text.
Cancellation Banner — a highlighted text strip at the top of the booking section, e.g. "Free cancellation with full refund up to 24 hours before the activity".

Tour Builder add-on
Reviews module Tour Builder required
Collect and display customer reviews from Google, Viator, Klook, GetYourGuide, Headout, and Trip.com. Rendered in a Shadow DOM so it never conflicts with your theme styling.
Google
Import via Google Places API, or add manually. Can auto-sync if you connect your Place ID.
Viator
Add reviews manually from your Viator product page.
Klook
Add reviews manually from your Klook listing.
GetYourGuide
Add reviews manually from your GYG listing.
Headout
Add reviews manually from your Headout listing.
Trip.com
Add reviews manually from your Trip.com listing.
1
Open Reviews settings
Go to PalasGo → Reviews → Settings. Set your Company Name (shown in the "Verified by [Company]" badge), your Google API Key and Google Place ID if you want Google auto-sync, and the default layout and review limit.
2
Add reviews manually
Go to PalasGo → Reviews → Add New. Select the platform (Google, Viator, Klook, etc.), enter the reviewer's name, rating (1–5 stars), review text, review date, and optionally a review photo URL and source URL back to the original review.
3
Assign tags (optional)
Tag each review with a slug (e.g. "atv", "island-hopping") to filter reviews per product page. Reviews with no tag show everywhere. Reviews with a tag only show when that tag is specified in the shortcode or widget.
4
Set status to Published
Only reviews with status "Published" are shown on the frontend. Set to "Draft" to hide a review without deleting it.
5
Upload platform logos (optional)
In Reviews → Settings, upload a small logo for each platform. These appear as thumbnail icons in the platform tabs of the review widget.
How do I import Google reviews automatically?

Go to PalasGo → Reviews → Settings. Enter your Google API Key (from Google Cloud Console, with Places API enabled) and your Google Place ID (the ID of your business on Google Maps). Once saved, click Sync Google Reviews. PalasGo will pull your latest reviews from Google and import them into the database. Run this sync periodically to keep reviews current.

[palasgo_reviews]
[palasgo_reviews layout="slider" limit="6"]
[palasgo_reviews platform="google" tags="atv" columns="2"]
ParameterDefaultDescription
layoutgridgrid, slider, list, masonry, or carousel.
platformallFilter by platform: google, viator, klook, getyourguide, headout, tripcom, or all.
limit9Maximum number of reviews to show.
min_rating0Only show reviews with this star rating or above (1–5).
columns3Columns in grid layout (1–4).
tags(empty)Filter by review tag slug. Comma-separate for multiple: tags="atv,island-hopping".
show_headeryesShow the aggregate rating header bar.
tabsyesShow platform tabs (only appears when more than one platform has reviews).
autoplayyesAuto-advance in slider/carousel layouts.
interval5000Autoplay speed in milliseconds.
orderbyreview_dateSort: review_date, rating, or sort_order.
orderDESCDESC (newest/highest first) or ASC.
seoyesInject JSON-LD review schema for search engines.
Reviews not showing — what should I check?

Check that: (1) At least one review has status Published. (2) If you are using a tags filter in the shortcode, at least one review is tagged with that slug. (3) The Tour Builder license is active — the shortcode renders nothing on the frontend when the license is inactive.

Can I use the reviews shortcode without the Tour Builder page widget?

Yes. [palasgo_reviews] is fully standalone. You can drop it on any page, post, or Elementor widget — completely independently of the Tour Product Page widget. Useful if you want a reviews section on your homepage, for example.

I previously used the standalone palasgo-reviews plugin — do I lose my data?

No. Tour Builder uses the same database table (wp_palasgo_reviews) and the same settings option as the standalone plugin. Install Tour Builder, activate it, then deactivate the old standalone plugin. All your reviews carry over with zero migration. Do not delete the old plugin until you have confirmed everything works.

Operations
Worker portal
A frontend dashboard for tour guides and field staff to check bookings without WordPress admin access.
1
Create a page for the portal
Go to Pages → Add New. Name it "Staff Portal" and paste [palasgo_worker_portal] into the content. Publish it (you can keep it unlisted or password-protected).
2
Create worker user accounts
Go to Users → Add New. Set the role to Worker (PalasGo adds this role automatically). Share the login credentials and portal page URL with your staff.
3
Workers log in and see their dashboard
Workers see a mobile-friendly dashboard with status tabs (Today, Upcoming, All), date filters, and booking detail modals. They cannot access the WordPress admin.
Can workers approve or cancel bookings?

The worker portal is read-oriented. Administrative actions like confirming, declining, or refunding bookings are done from the WordPress admin by an administrator.

What happens after too many failed login attempts?

PalasGo includes brute-force login protection on the worker portal login form. After a set number of failed attempts, the account is temporarily locked. Admins can reset this from the Users panel.

Operations
Automation emails
PalasGo runs three automatic background email tasks — configure them all from PalasGo → Settings → Automation.
Abandoned booking recovery
Sends a "complete your payment" email after a configurable delay (default: 2 hours) for unpaid bookings. One email per booking max, within 48 hours of the booking.
Tour reminder
Sent the day before the tour with booking details, pickup info, and meeting point.
Review request
Sent the day after the tour asking the customer to leave a review. Configure the review URL globally or per product.
How do I change the abandoned booking recovery delay?

Go to PalasGo → Settings → Automation. Set the "Recovery delay (hours)" field. The default is 2 hours.

Where does the review request link go?

Set a site-wide review URL in PalasGo → Settings → Automation → Review URL. If left empty, PalasGo falls back to the product's own review link, then the product permalink.

Operations
CSV export
Export your booking data as a spreadsheet.
How do I export bookings to CSV?

Go to PalasGo → Bookings. Filter by product and date. Click the Export CSV button to download a spreadsheet of the current view.

What columns are included?

Booking reference, customer name, email, phone, booking date/time, time slot, product, pricing breakdown, total amount, payment status, pickup location, drop-off location, voucher code used, discount amount, source page, retry payment link status, last email sent, and internal admin notes.

Can I add custom columns?

Yes, via WordPress hooks. Use the palasgo_csv_export_headers filter to add column headers, and the palasgo_csv_export_row filter to add values.

Troubleshooting
Frequently asked questions
The most common setup questions and how to fix them.
The booking calendar shows a loading spinner and never loads dates

This almost always means your permalink setting is wrong. Go to WordPress admin → Settings → Permalinks → select Post name → Save Changes. If the problem persists, run PalasGo → Tools to check for other issues.

The booking form is not visible on my page

Check: (1) Your license key is active — go to PalasGo → License. (2) The shortcode includes a valid product ID. (3) The product is published, not in draft.

Customers are not receiving confirmation emails

Install WP Mail SMTP and connect a transactional email service (Brevo, Mailgun, SendGrid, or Postmark). PalasGo shows a green check on the Email settings tab when WP Mail SMTP is correctly configured.

Stripe payment is not confirming / booking stays "pending"

Check: (1) Your webhook endpoint is registered in Stripe → Developers → Webhooks. (2) All 7 required events are subscribed. (3) The webhook signing secret is correctly pasted in PalasGo → Settings → Stripe. Run PalasGo → Tools → Test connection to verify.

How do I refund a customer and cancel the booking?

Go to PalasGo → Bookings → click the booking. The booking detail page shows: "Cancel booking only", "Refund payment only", and "Refund & cancel booking". A refund email is automatically sent to the customer.

The Tour Product Page widget is not visible in Elementor

Check: (1) The Tour Builder plugin is installed and activated. (2) The Tour Builder license is active — go to PalasGo → Tour Builder License. (3) Elementor is installed. (4) Try clearing Elementor cache: Elementor → Tools → Regenerate Files.

Can I resend a confirmation email to a customer?

Yes. Open the booking detail page and look for the "Resend email" options. You can resend the customer confirmation, request received, request declined, or refund emails.

How do I add a booking fee or tax?

Go to PalasGo → Settings → General. Under "Booking fee", choose the type (none, fixed, or percentage). For tax, enter the percentage and a label (e.g. "SST 6%"). Both are added to the live running total on the booking form.

Troubleshooting
Diagnostics
PalasGo includes a built-in health check tool that auto-detects the most common configuration problems.
Go to PalasGo → Tools to run all checks. Share the output with support if you need help diagnosing an issue.
Stripe connection
Verifies your API keys are valid and can reach Stripe. Shows current mode (test/live).
Webhook delivery
Checks that the webhook endpoint URL is reachable and the signing secret matches.
Email pipeline
Confirms WP Mail SMTP is active and shows the last 25 email sends with status.
REST API
Tests that the PalasGo REST API is reachable (requires Post name permalink).
PHP environment
Reports PHP version, memory limit, max execution time, and any version warnings.
Return page
Confirms the thank-you page exists and contains the [palasgo_thankyou] shortcode.
A check shows "Warning" — what does that mean?

A warning (⚠) means the system is partially functional but something is sub-optimal — for example, you're still in test mode on a live site. A failure (✕) means action is required — PalasGo cannot function properly for that subsystem until fixed. Fix failures first, then warnings.